> 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


Reply via email to