> I have made a little research on the SCI1 engine (I have looked at the one
> used in the QFG1 VGA remake) and I have found a few things (differences)
> >from SCI0 in the RESOURCE.xxx
> and RESOURCE.MAP format. I did not figure out the decompression algorithm
> yet (someone
> mentioned here PKWARE I think). Anyone interested in the details ? (I can
> post it here if anyone is interested).
hello freesci-developers,
i'm not sure that it's what you want (i always mix SCI0, SCI01, SCI1, SCIV
and SCI32), but i successfully made an unpacker for Gabriel Knight 1 (SCIV i
think, but i'am not sure).
however, i used a disassembled routine in the EXE (blame me on that).
it's something called "STACPACK".
then i tried to make a sciv-decompiler, but i failed ... it's just a too
complex language.
however, it's very interesting.
so, if anyone is interested in that (work-in-progress-)stuff, i'll upload it
somewhere.
it includes parsing and unpacking of the resource.000, and loading and
disassembling the .HEP and .SCR files, and begins to decompile then.
a sample output:
reading 128 opcodes...
successful read class table, 169 classes.
Loading Classes............................OK
Used Scripts: 0.SCR 9.SCR 12.SCR 14.SCR 15.SCR 18.SCR 20.SCR 21.SCR 22.SCR
51.SCR 91.SCR 301.SCR 302.SCR 401.SCR 490.SCR 501.SCR 701.SCR 710.SCR
[...]
64976.SCR 64977.SCR 64979.SCR 64980.SCR 64983.SCR 64984.SCR 64985.SCR
64986.SCR 64987.SCR 64988.SCR 64989.SCR 64990.SCR 64991.SCR 64992.SCR
64993.SCR 64994.SCR 64995.SCR 64996.SCR 64998.SCR 64999.SCR
(95 total)
Dumping class/object information...
Object myP: Print
{
properties:
-objID-=0x1234;
[...]
classButton=0x0;
classEdit=0x0;
classIcon=0x0;
classText=0x0;
methods:
function init(...)
{
if (!myP.plane)
myP.plane=g38.new();
myP.dialog.mouseHiliting(1);
myP.plane.picture(-2);
return Print.init();
}
};
Object arrowCursor: Cursor
{
...
however, the (sometimes recursive) decompiling engine is not the best, but
tries to parse the most stuff, even IFs and ELSEs etc.
(also available: a gk3 decompressor/decompiler at
http://www.on-luebeck.de/~tmbinc/gk3/gk3.zip, but this has off course
nothing to do with SCI)
so sorry for being a bit offtopic
felix domke