Author Topic: Decompilation Archive  (Read 91533 times)

0 Members and 1 Guest are viewing this topic.

Offline EricOakford

Re: Decompilation Archive
« Reply #165 on: October 05, 2021, 07:36:03 PM »
In that case, you may want to find a copy of the 2 disc King's Quest 15th Anniversary Collector's Edition (1994) since it includes the dual-language KQ5 French floppy disk release that came out after the CD audio version. It retains the original Roland MT-32 midi tracks instead of recordings like the CD version and added digital audio effects present in the CD version that were never included in the original floppy disk release. The code would be more similar to the CD version at least.

I think I've got a better idea: the Amiga version of KQ5! It's also close to the CD version, and I already did a decompilation of the Amiga version of LSL2.

Also, with a bit of trial and error, I've successfully managed to properly decompile a few things that were previously undecompilable. As a result, KQ4 is now entirely in script code! KQ4:handleEvent and Room78:handleEvent were all that was left. This actually freed up quite a bit of heap space.

I've been similarly successful for LSL3, with rm370:handleEvent and rm340's comedian script. Only room 140's RoomScript is left to be decompiled.

There may be bugs in the newly-decompiled code, but at least it's much more serviceable now.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline Daventry

Re: Decompilation Archive
« Reply #166 on: December 14, 2021, 04:01:07 AM »
EricOakford
When you will decompile the Police Quest 3, pay attention that there is a serious error in the English VGA version. The game is impassable. If on the morning of the sixth day you do not give the locket to Marie and come to the Judge with it, then the Judge requires another third piece of evidence. And on this dialogue, the game hangs deadly. The error is missing in other versions: German, Spanish, English EGA. Here is the code of this place. Skipped line (= seconds 10).

(instance givenTwo of rmnScript
   (properties)
   
   (method (changeState newState)
      (switch (= state newState)
         (0 (iEgo init:) (= cycles 1))
         (1
            (= save1 1)
            (proc0_16 iEgo 44 15)
            (= seconds 9)
         )
         (2
            (if global25 (global25 dispose:))
            (iEgo dispose:)
            (= cycles 1)
         )
         (3
            (if (not (global0 has: 37))
               (client setScript: givenThree)
            else
               (= cycles 1)
            )
         )
         (4 (ijudge init:) (= cycles 1))
         (5
            (= save1 1)
            (proc0_16 ijudge 44 16)
//(= seconds 10) --- missed line
         )
         (6
            (if global25 (global25 dispose:))
            (ijudge dispose:)
            (proc0_3)
            (self dispose:)
         )
      )
   )
)

Offline EricOakford

Re: Decompilation Archive
« Reply #167 on: December 16, 2021, 08:11:32 PM »
I've just put up decompilations of the demos for Torin's Passge and RAMA! Slowly, I work my way up to the later part of SCI2.1...

From the ScummVM wiki:
Quote
These are mainly SCI21 game demos of SCI3 games and exhibit behavior where strings and arrays are mixed together (they were cleanly separated in earlier versions). kString subcalls are of a new variant, variant was also used in SCI3.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned


SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.06 seconds with 24 queries.