ScummVM logo Forum Index - ScummVM website - Contact us - Buy Supported Games: GOG.comDotEmu  Rules - Search - Register - Login curved edge
Folder Forum Index > The Junkyard > Curse of Enchantia Goto page Previous  1, 2, 3, 4, 5  Next
Curse of Enchantia
  Author    Thread Reply to topic
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.
 Reply with quote  
Post Thu Aug 03, 2006 9:54 am 
 View user's profile Send private message
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.

 Reply with quote  
Post Wed Sep 06, 2006 8:22 pm 
 View user's profile Send private message
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 Smile

 Reply with quote  
Post Wed Sep 06, 2006 11:19 pm 
 View user's profile Send private message
Ian Sabine



Joined: 23 May 2006
Posts: 6
 

By halfword, I shoulda said 2 bytes Smile
I'm just thinking in terms of a word being 4 bytes (32 bits).

 Reply with quote  
Post Wed Sep 13, 2006 7:42 pm 
 View user's profile Send private message
timofonic



Joined: 01 Jun 2006
Posts: 254
 

Any news? Maybe this game shares engine with other Core Design adventure game, Universe...

 Reply with quote  
Post Sun Apr 29, 2007 2:07 pm 
 View user's profile Send private message
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.)

 Reply with quote  
Post Mon May 14, 2007 2:29 am 
 View user's profile Send private message
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 Smile

Del, how's it going?

 Reply with quote  
Post Thu Jun 28, 2007 6:52 am 
 View user's profile Send private message
Del



Joined: 26 Apr 2006
Posts: 38
 

quote:
Originally posted by Ian Sabine
You are correct, the entire game (Universe) was written from scratch. Probably the only code shared would be the RNC unpacker Smile

Del, how's it going?


Well I have a partially working sprite decoder going. It chokes a bit but the output sometimes looks right. Nothing to show yet, though. One thing I'm wondering about is whether the stuff that comes between the end of the RLE and the beginning of the next sprite is garbage or if it's used for anything.

Still making slight progress on commenting the disassembly, but I was just at Roskilde Festival so my brain is a bit mushy at the moment Very Happy

It's all very baby steps as it's the first reverse engineering project I've worked on outside of a classroom environment.
 Reply with quote  
Post Wed Jul 11, 2007 10:56 pm 
 View user's profile Send private message
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 Smile

 Reply with quote  
Post Wed Jan 16, 2008 10:52 pm 
 View user's profile Send private message
Raziel
ScummVM Porter


Joined: 25 Oct 2005
Posts: 709
Location: www.amigans.net
 

quote:
Originally posted by Del
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 Smile

You could drag him in here, so he might get the same warm shower of acception you get .. err, well you know Wink
 Reply with quote  
Post Thu Jan 17, 2008 8:32 am 
 View user's profile Send private message Visit poster's website
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 Wink

This will be a very good snack until the definitive assimilation happens and adventure games conquer the world... CabalVM

 Reply with quote  
Post Thu Jan 17, 2008 10:28 am 
 View user's profile Send private message
Del



Joined: 26 Apr 2006
Posts: 38
 

Oh he knows of the thread (found me through it). I'm sure he'll post something if he feels like it.

There's no new code at the moment, only a more thoroughly commented disassemble. But that's a huge step of the way to be sure.

Here's a screenshot Wink



Once it's fully (or nearly so) commented, we can start writing an actual engine.

 Reply with quote  
Post Thu Jan 17, 2008 11:11 am 
 View user's profile Send private message
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.

 Reply with quote  
Post Tue Jan 22, 2008 4:49 am 
 View user's profile Send private message
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.

 Reply with quote  
Post Tue Jan 29, 2008 6:02 pm 
 View user's profile Send private message
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.

 Reply with quote  
Post Wed Jan 30, 2008 10:14 am 
 View user's profile Send private message
  Display posts from previous:      
Reply to topic

Forum Jump:
 
Goto page Previous  1, 2, 3, 4, 5  Next


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
curved edge   curved edge