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
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.
 Reply with quote  
Post Fri May 19, 2006 11:54 am 
 View user's profile Send private message
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 Smile

 Reply with quote  
Post Sat May 20, 2006 4:09 am 
 View user's profile Send private message
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 Smile

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.
 Reply with quote  
Post Mon May 22, 2006 6:21 am 
 View user's profile Send private message
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);
}



 Reply with quote  
Post Mon May 22, 2006 11:47 pm 
 View user's profile Send private message
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

 Reply with quote  
Post Tue May 23, 2006 7:15 am 
 View user's profile Send private message
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.)
 Reply with quote  
Post Tue May 23, 2006 7:44 am 
 View user's profile Send private message
Del



Joined: 26 Apr 2006
Posts: 38
 

Of course Smile





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
                         );



 Reply with quote  
Post Tue May 23, 2006 12:59 pm 
 View user's profile Send private message
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.

 Reply with quote  
Post Tue May 23, 2006 9:00 pm 
 View user's profile Send private message
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.

 Reply with quote  
Post Tue May 23, 2006 9:09 pm 
 View user's profile Send private message
timofonic



Joined: 01 Jun 2006
Posts: 254
 

Nice stuff, what about opening a blog or WIKI for your RE experiment? Wink

 Reply with quote  
Post Thu Jun 01, 2006 9:47 pm 
 View user's profile Send private message
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.

 Reply with quote  
Post Thu Jun 01, 2006 11:49 pm 
 View user's profile Send private message MSN Messenger
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.

 Reply with quote  
Post Fri Jun 02, 2006 2:44 am 
 View user's profile Send private message
dreammaster
ScummVM Developer


Joined: 04 Nov 2005
Posts: 208
Location: Melbourne, Victoria, Australia
 

quote:
Originally posted by Del
I have some notes as well that are not on the wiki, that you'd most likely be intersted in.


Cool. I'll look forward to seeing your additions. As I see it, the more games we can put into the Wiki, the better it'll be, because it may encourage others in the future to develop tools for the games, or to go ahead and decompile / make modules for other games into ScummVM Very Happy
 Reply with quote  
Post Fri Jun 02, 2006 3:15 am 
 View user's profile Send private message MSN Messenger
df
ScummVM Developer


Joined: 25 May 2006
Posts: 38
 

quote:
Originally posted by john_doe
quote:
Originally posted by clem
BASS also has some RNC algorithm afaik, I wonder if that is coincidence...


Yes, probably. RNC is a third-party compression algorithm/library that was used by some games around that time (mid 90es). Think of it as the zlib of that time Smile

@Del:
You can find decompression code for RNC method 2 in the BASS sources, I can send you C++ code to decompress method 1 if you want.


aaah rnc! rob northern computing. this guy/company wrote a packer called 'pro-pack' which was pretty cool, you could pack exes or as data files. I remember using this a lot on stuff I wrote.. it was great.

check..

code:

Short: RNC ProPack - multi-format file packer
Version: 2.08
Uploader: iancourt@hotmail.com (Ian Court)
Author: Rob Northen Computing
Type: util/pack

This is the final release of PRO-PACK from Rob Northen Computing. Since Rob Northen Computing are nolonger trading, this utility has become freely distributable.

This may be particularly useful for Amiga users as this is the packer that Sensible Software used for the data files in SWOS. Now you can edit those teams and actually save them back to disk in crunched format - no need to delete other team files to fit edited teams on the disk, and no crashes due to internal buffers being filled!

This is the complete RNC PRO-PACK distribution, directly from Rob  Northen Computing, which also contains useful assembler code.



The archive contains:

PPIBM.EXE                  - File packer (PC 286 version)
PPAMI.EXE                  - file packer (Amiga version)
PP.DOC                     - PRO-PACK manual
SOURCE (dir)               - Assembler unpack source files
    IBMPC (dir)
        RNC_1.ASM          - 8086 Method 1
        RNC_2.ASM          - 8086 Method 2
    MC68000 (dir)
        RNC_1C.S           - MC68000 Method 1 Compact Version (consoles)
        RNC_2C.S           - MC68000 Method 2 Compact Version (consoles)
        RNC_1.S            - MC68000 Method 1
        RNC_2.S            - MC68000 Method 2
    GAMEBOY (dir)
        RNC_2.S            - Z80 GameBoy Method 2
    SUPERNES (dir)
        RNC_1.S            - 65816 Method 1
        RNC_2.S            - 65816 Method 2
    LYNX (dir)
        RNC.MAC            - RNC macros
        RNC_1.SRC          - 65C02 Atari Lynx Method 1
        RNC_2.SRC          - 65C02 Atari Lynx Method 2
    MIPS R4300
        RNC_1.ASM          - Mips R4300 Method 1



 Reply with quote  
Post Fri Jun 02, 2006 12:07 pm 
 View user's profile Send private message
timofonic



Joined: 01 Jun 2006
Posts: 254
 

Any news about this RE effort?

I only found this on the RE wiki: http://rewiki.regengedanken.de/wiki/.SPR

 Reply with quote  
Post Thu Aug 03, 2006 2: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