| Curse of Enchantia |
| Author
|
Thread |
 |
|
Del
Joined: 26 Apr 2006
Posts: 38
|
quote: Originally posted by The Madventurer Any news about this RE effort?
I only found this on the RE wiki: http://rewiki.regengedanken.de/wiki/.SPR
I've been extremely busy over the summer so I haven't worked much on REing aside from what is documented here in the thread and on the wiki.
I'm looking at various RLE algorithms as it is likely that is what is used in the .BRD (Brad) and .SPR files. If I remember correctly I've named about 30-35% of the labels in the disassembly.
I also have notes on the overall structure of the executable, but in terms of completeness, I'm only about 10% into completely reverse engineering.
|
Thu Aug 03, 2006 9:54 am |
|
|
Ian Sabine
Joined: 23 May 2006
Posts: 6
|
I never used any specific RLE algorithms, but they are RLE. The first 2 halfwords should be an offset from the home position (usually bottom center), followed by the bounding width and height (which could be different for each frame of animation). They might even be bytes, can't remember.
OTOH here's what I think I used.
num = width * height
while (num > 0)
{
read byte -> count
if (count < 0)
{
read byte -> value
copy value into next -count pixels
num += count
}
else
{
copy count+1 pixels
num -= count+1
}
}
Also bear in mind that mode X was used, so there might be a factor of 4 used in places.
|
Wed Sep 06, 2006 8:22 pm |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
When you say halfword, do you then mean byte? Or am I misremembering wordlength on the Intel processor, because they seem to start with two 16b values that denote width & height, then followed by two more 16b values that appear to be the offsets.
At the moment I'm writing some small tools for quickly extracting a specific sprite/etc's values so I can look them over without the clutter of having everything in a hex editor. I'll try to swap in the pseudocode and see what happens 
|
Wed Sep 06, 2006 11:19 pm |
|
|
Ian Sabine
Joined: 23 May 2006
Posts: 6
|
By halfword, I shoulda said 2 bytes
I'm just thinking in terms of a word being 4 bytes (32 bits).
|
Wed Sep 13, 2006 7:42 pm |
|
|
timofonic
Joined: 01 Jun 2006
Posts: 254
|
Any news? Maybe this game shares engine with other Core Design adventure game, Universe...
|
Sun Apr 29, 2007 2:07 pm |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
no news I'm afraid. I'm stuck at the moment so I've taken some time off. I had some hard drive troubles, so I'm unable to run IDA at the moment. I'll let you know when I'm back to working on CoE.
As far as I know, it's not an engine per se, as Ian Sabine said the whole thing is coded by hand in machine code. While the interfaces of Curse and Universe are similar, I doubt there are code similarities (perhaps some file formats are the same, but that is probably all.)
|
Mon May 14, 2007 2:29 am |
|
|
Ian Sabine
Joined: 23 May 2006
Posts: 6
|
You are correct, the entire game (Universe) was written from scratch. Probably the only code shared would be the RNC unpacker
Del, how's it going?
|
Thu Jun 28, 2007 6:52 am |
|
|
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
I've been contacted by another guy who's also working on reverse engineering Enchantia. He's made a lot more progress than me, but we're comparing notes at the moment.
Just a quick FYI for the persons still interested in what goes on here 
|
Wed Jan 16, 2008 10:52 pm |
|
|
|
|
timofonic
Joined: 01 Jun 2006
Posts: 254
|
Very nice news! I would like to see this game being supported in ScummVM in the future.
Just show some screenshots from the "COE Team", we get bored and need to see new stuff in the works
This will be a very good snack until the definitive assimilation happens and adventure games conquer the world... CabalVM
|
Thu Jan 17, 2008 10:28 am |
|
|
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
Well I was bored so I've written a skeleton engine.
Doesn't do anything yet, I'm just trying to get a feel for how ScummVM does things, what the important classes are, etc. Also getting reacquainted with C++, as it's been years since I've done any work in that language.
By the way, the quux examples on the HOWTO-Engines page on the wiki are pretty outdated. It was quicker to just have another engine open in an editor window and go from there.
|
Tue Jan 22, 2008 4:49 am |
|
|
Retrogamer
Joined: 27 Jan 2008
Posts: 18
Location: Richmond, Virginia, United States |
Did Core only ever make 2 point-and-click adventure games? I know that by 1995 they had pretty much moved on to the 3d realm with Tomb Raider. There was a detective game that Core published called "The Big Red Adventure," but it was developed by Dynabyte. I'm just wondering because maybe one of those had some code in common with Curse or Universe.
|
Tue Jan 29, 2008 6:02 pm |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
Those two (Enchantia & Universe) are the only Core-developed adventure games that I know of. And Ian Sabine said they don't share any code except perhaps RNC-compressed files, so I doubt there's anything to gather.
|
Wed Jan 30, 2008 10:14 am |
|
|
|
Forum Rules:
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|
Powered by phpBB © 2001, 2006 phpBB Group
Forum design by ScummVM team, icons by raina
|
|