Sanitarium Engine - All help is welcome

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
User avatar
alexfont
Posts: 34
Joined: Thu Apr 13, 2006 9:04 pm
Location: Ireland
Contact:

Sanitarium Engine - All help is welcome

Post by alexfont »

For some time I've been reversing Sanitarium in my free times.
It enabled me to make some GUI applications to edit it, like transltion tool, resource pack and unpack tool and graphic viewer.

Recently I was looking to decipher its scene format and figure out some nice stuffs that actually could make me create a Sanitarium level appear, but without any interaction yet.

So, instead of making a Scene viewer/editor, I was thinking about starting the work I was supposed to make in openAsylum project with SCUMMVM.
As far as I saw from SCUMMVM, it is a perfect base engine to include Sanitarium engine.

The main aspect of this thread is if anyone wants to help me building this engine for this brilliant game. Alone will be difficult since I've got a job and can't work a lot of time per day for it. So, anyone? :)

I don't know yet all aspects of the engine, neither the file formats, but I know some that could lead us into a fair start.

File formats I've known so far:

Packs:
- Resource files (entirely)
- Music files (entirely)
- Scene files (about 10%/15% decipher)

Single files:
- Graphic files (about 95% decipher) - include static images, animations images, fonts and icons.
- Palette files (entirely)

Standard formats:
- WAV Riff files (all sounds in game use it)
- SMK (use Smacker for video files)

I'm now studying how SCUMMVM works.

---

Edited:
Project already begun and its being integrated into ScummVM engine.
Its now called asylumengine and its svn repository can be found here: http://code.google.com/p/asylumengine/
Last edited by alexfont on Sun Jun 07, 2009 8:30 pm, edited 2 times in total.
User avatar
maximus
Posts: 102
Joined: Sun Jan 06, 2008 4:17 pm
Location: Toronto, Ontario

Post by maximus »

As soon as it came out, Sanitarium quickly became one of my favourite games of all time (kinda like Silver or The Longest Journey).

I'd love to work on this with you, though I'm kinda in the same boat (full time job, plus contract work on the side so not a lot of time to commit).

I found this article pretty interesting though. It does give a little insight into how Sanitarium was written, and may help efforts a tad ;)
User avatar
alexfont
Posts: 34
Joined: Thu Apr 13, 2006 9:04 pm
Location: Ireland
Contact:

Post by alexfont »

It happened the same with me. Its also one of my favourite games.

Thanks for showing interesting in helping me. Any help, even few from time to time is always welcome. I hope with scummvm we can boost a bit at beginning, better than start from scratch. I'll try to investigate more about how the scummvm team work to know how we can start doing things.

That article is indeed interesting. I already read it a lot of times. It really gives us a great input on how the game was build indeed.
User avatar
alexfont
Posts: 34
Joined: Thu Apr 13, 2006 9:04 pm
Location: Ireland
Contact:

Post by alexfont »

Already manage to create the first steps to add a new engine into ScummVM. Now its time to create the game engine.
User avatar
marticus
Posts: 77
Joined: Sat Nov 26, 2005 11:32 am

Post by marticus »

This is me rejoicing.
I just the whole thing.
User avatar
Raziel
ScummVM Porter
Posts: 1538
Joined: Tue Oct 25, 2005 8:27 am
Location: a dying planet
Contact:

Post by Raziel »

Oh, cool

Be sure to get a blog at Planet ScummVM to keep us updated...
User avatar
sev
ScummVM Lead
Posts: 2304
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: Sanitarium Engine - All help is welcome

Post by sev »

alexfont wrote:So, instead of making a Scene viewer/editor, I was thinking about starting the work I was supposed to make in openAsylum project with SCUMMVM.
As far as I saw from SCUMMVM, it is a perfect base engine to include Sanitarium engine.
Those are really good news! I could give you advices on how ScummVM works and perhaps with occasional coding.


Eugene
User avatar
maximus
Posts: 102
Joined: Sun Jan 06, 2008 4:17 pm
Location: Toronto, Ontario

Re: Sanitarium Engine - All help is welcome

Post by maximus »

sev wrote: Those are really good news! I could give you advices on how ScummVM works and perhaps with occasional coding.


Eugene
Hey Sev, that's even greater news :) The project's currently underway here.

This is in the early stages (getting resources and drawing code hashed out), but maybe if the link is public, it'll motivate us to keep working :D
Crimsonskies
Posts: 21
Joined: Sat Mar 01, 2008 11:20 pm

Post by Crimsonskies »

I've never been able to play Sanitarium since I own a Mac but if you guys can get it running in ScummVM that would be great! :D

Good luck! I can't wait to see what you guys come up with.
User avatar
alexfont
Posts: 34
Joined: Thu Apr 13, 2006 9:04 pm
Location: Ireland
Contact:

Post by alexfont »

Thanks everyone.
I edited the first post to give input about the new engine repository.

We've been working since 1 week now, and I think the result is not bad for now. We're building the pillars of the engine with the essential stuffs now, and hope soon add and improve the classes already build.

While maximus was working at resources and graphic assets, I was setting up a screen base class and menu to blit things on screen and try the assets. So currently we already have the main menu background image displayed with a missing gamma correction.

The next step will be to create a Gamma correction method since all engine is based on that. My currently attempt failed to work well.
User avatar
Raziel
ScummVM Porter
Posts: 1538
Joined: Tue Oct 25, 2005 8:27 am
Location: a dying planet
Contact:

Post by Raziel »

Not that i'm very much into ScummVM engines, but isn't there a global gamma correction for all the engines to use?
And if not, why?
Does every engine who "needs" to use one have to re-invent the wheel for that purpose?

Just wondering
Last edited by Raziel on Sun Jun 07, 2009 9:25 pm, edited 1 time in total.
User avatar
Longcat
Posts: 1061
Joined: Sat Sep 23, 2006 3:15 pm

Post by Longcat »

Just wanted to say that I think this is really great:)

Sanitarium has always been a bit buggy.
User avatar
alexfont
Posts: 34
Joined: Thu Apr 13, 2006 9:04 pm
Location: Ireland
Contact:

Post by alexfont »

Raziel wrote:Not that i'm very much into ScummVM engines, but isn't there a global gamma correction for all the engines to use?
And if not, why?
Does every engine who "needs" to use one have to re-invent the wheel for that purpose?

Just wondering
It seams it doesn't have. From what I try to search there aren't any function that give me what I'm looking for.

While searching I saw someone made some time ago a patch to allow gamma correction to SDL backend but I think it was rejected.


Thanks Jonatan ;)
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

alexfont wrote:
Raziel wrote:Not that i'm very much into ScummVM engines, but isn't there a global gamma correction for all the engines to use?
And if not, why?
Does every engine who "needs" to use one have to re-invent the wheel for that purpose?

Just wondering
It seams it doesn't have. From what I try to search there aren't any function that give me what I'm looking for.

While searching I saw someone made some time ago a patch to allow gamma correction to SDL backend but I think it was rejected.


Thanks Jonatan ;)
That would be me. If it is rejected, it will be for specific reasons, as it was a quick 'n dirty patch I did anyway to get it working. Plus, the gamma functionality is really handled by the graphics card drivers afaik.

Anyway, I would be glad to help in my spare time, though the game itself is... disturbing to say the least :)
User avatar
alexfont
Posts: 34
Joined: Thu Apr 13, 2006 9:04 pm
Location: Ireland
Contact:

Post by alexfont »

Yeah, so it seams we really need to do it ourselfs in the engine.
We gotta something better now, but not yet exactly like the original.

Thanks for your help ;)
Post Reply