| Curse of Enchantia |
| Author
|
Thread |
 |
|
cappuchok
Joined: 31 Oct 2005
Posts: 131
|
quote: Originally posted by Del quote: Originally posted by cappuchok A quick look through MobyGames seems to suggest that one or both of the original programmers are now working at Mass Media (website).
Where did you see that? I tried looking for Ian Sabine & Rob Toone, but didn't find anything?
It takes some cross-referencing and some guesswork... Clicking on "Robert Toone" in the credits list for Curse of Enchantia on MobyGames gives a list of the titles on which he has been credited, in reverse chronological order. The company name listed beside each is the publisher, so to see the developer requires you have to click on the game title. Out of the four titles on which he's been credited since Enchantia, three were definitely developed by Mass Media Inc. With Ian Sabine things are a little more sketchy as only the latest game he was credited on was developed by Mass Media.
|
Fri May 19, 2006 11:54 am |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
Ah, right. I only made a cursory glance over the mobygames stats. I'll try contacting Mass Media tomorrow and see if there's any interest 
|
Sat May 20, 2006 4:09 am |
|
|
cappuchok
Joined: 31 Oct 2005
Posts: 131
|
quote: Originally posted by Del Ah, right. I only made a cursory glance over the mobygames stats. I'll try contacting Mass Media tomorrow and see if there's any interest 
I think Core might still hold the copyrights, or possibly Eidos, so there's probably nothing Mass Media as a company can do about it, but maybe if one of the original programmers work there they might have appropriate contacts inside Core that can help you out. On the other hand they might have cut ties alltogether with Core in which case you will probably need to contact Core directly somehow - they have a mailing form on their website, for example.
|
Mon May 22, 2006 6:21 am |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
Some tests. They are quite dark for some reason, so there's also some other palette modifications going on, which I am working on. I used to following quick & dirty perl script to create the images:
code: #!/usr/bin/perl
use GD;
use warnings;
use diagnostics;
my $pal = shift || &usage;
my $dat = shift || &usage;
my $out = shift || &usage;
my $image = new GD::Image(320, 200);
#Open the PALette and create the color-table
open (PAL, $pal) or die $pal;
$offset = 0;
until ( eof(PAL) ) {
read(PAL, $record, 3) == 3 or die "short read\n";
$col = unpack("H6", $record);
$color = $image->colorResolve(
hex(substr($col,0,2)),
hex(substr($col,2,2)),
hex(substr($col,4,2))
);
$colors{substr("00".(sprintf "%x", $offset++), -2)} = $color;
}
#Open the DATa and set pixels to correct color from table
open (DAT, $dat) or die $dat;
$a = 0;
while ( not eof(DAT) ) {
read(DAT, $record, 1) == 1 or die "short read\n";
$index = substr("00".unpack("H2", $record),-2);
$y = int($a / 320);
$x = $a++ % 320;
$color = $colors{$index};
$image->setPixel($x,$y,$color);
}
#Create png-file
open (OUT, ">", $out) or die "$out: $!";
binmode OUT;
print OUT $image->png;
close(OUT);
sub usage {
warn "Usage: $0 .PAL-file .DAT-file out.png\n";
warn "The .DAT-file must be de-RNC'd\n";
exit(0);
}
|
Mon May 22, 2006 11:47 pm |
|
|
clem
Joined: 31 Oct 2005
Posts: 2185
|
I'm not that great a programmer, but probaby you need to bitshift the rgb pal values to make it lighter? Just a guess though.
clem
|
Tue May 23, 2006 7:15 am |
|
|
john_doe
ScummVM Developer

Joined: 04 Nov 2005
Posts: 114
Location: Stuttgart, Germany |
quote: Originally posted by clem I'm not that great a programmer, but probaby you need to bitshift the rgb pal values to make it lighter? Just a guess though.
clem
That would be my guess, too.
Shift the rgb components 2 bits left each.
(VGA uses only 6 bits for each component while PNG uses full 8 bits.)
|
Tue May 23, 2006 7:44 am |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
Of course
I know very little about VGA & DOS internals, so these parts are still new to me... The change is this:
code: $color = $image->colorResolve(
hex(substr($col,0,2)) << 2,
hex(substr($col,2,2)) << 2,
hex(substr($col,4,2)) << 2
);
|
Tue May 23, 2006 12:59 pm |
|
|
Ian Sabine
Joined: 23 May 2006
Posts: 6
|
Greeting gents, nice work so far.
This brings back very old memories as it was my first game!
Someone mentioned that they thought it was written in Borland C, in fact it was written in 100% assembler, 80186 I believe.
|
Tue May 23, 2006 9:00 pm |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
Hi, nice to meet you!
Thanks for the headsup on the 100% assembly. It helps to know that it's coded by hand.
I'm currently working on identifying file-opens and renaming labels in the disassembly, to get a better overall view of the structure of the program. There's quite a bit of work ahead, but I am beginning to get an idea of how to go about it. I've identified the parts that contain the introduction and the RNC-unpacking.
|
Tue May 23, 2006 9:09 pm |
|
|
timofonic
Joined: 01 Jun 2006
Posts: 254
|
Nice stuff, what about opening a blog or WIKI for your RE experiment? 
|
Thu Jun 01, 2006 9:47 pm |
|
|
dreammaster
ScummVM Developer

Joined: 04 Nov 2005
Posts: 208
Location: Melbourne, Victoria, Australia |
There's always the new Reverse Engineering Wiki at http://rewiki.regengedanken.de/wiki/Main_Page
I confess that I'd already put in an entry for the .SPR file format based on your forum posting. It could certainly use some fleshing out if you're interested.
|
Thu Jun 01, 2006 11:49 pm |
|
|
Del
Joined: 26 Apr 2006
Posts: 38
|
Thanks dreammaster, I've been really busy with work these last few weeks, I have a lot of notes in text files that will be put into the wiki as soon as I have 10 minutes of spare time. Seems like you're doing quite well also! We have to compare notes at some point.
I have some notes as well that are not on the wiki, that you'd most likely be intersted in.
|
Fri Jun 02, 2006 2:44 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
|
|