Author Topic: Decompilation Archive  (Read 76685 times)

0 Members and 1 Guest are viewing this topic.

Offline OmerMor

Re: Decompilation Archive
« Reply #45 on: November 16, 2019, 02:38:19 AM »
Thanks Eric!

Here's an idea for a fun project which could be based on your decompilations:
Make a mini-games collection with all the little games that weren't packaged as Nick's Picks, e.g. Dag-Nab-It and Mage's Maze from QfG1, Iceman's Dice game, etc.

Offline EricOakford

Re: Decompilation Archive
« Reply #46 on: November 16, 2019, 11:39:17 AM »
Thanks Eric!

Here's an idea for a fun project which could be based on your decompilations:
Make a mini-games collection with all the little games that weren't packaged as Nick's Picks, e.g. Dag-Nab-It and Mage's Maze from QfG1, Iceman's Dice game, etc.

That sounds like a good idea. Of course, QFG1's minigames take Ego's stats into account, so those may be hard to implement.
Things like Iceman's Dice game, Astro Chicken, and LSL3's river ride, on the other hand, would be trivial to put into one package. And no saving or restoring allowed - that takes away the challenge!
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline OmerMor

Re: Decompilation Archive
« Reply #47 on: November 17, 2019, 02:22:04 PM »
Thanks Eric!

Here's an idea for a fun project which could be based on your decompilations:
Make a mini-games collection with all the little games that weren't packaged as Nick's Picks, e.g. Dag-Nab-It and Mage's Maze from QfG1, Iceman's Dice game, etc.

That sounds like a good idea. Of course, QFG1's minigames take Ego's stats into account, so those may be hard to implement.
Things like Iceman's Dice game, Astro Chicken, and LSL3's river ride, on the other hand, would be trivial to put into one package. And no saving or restoring allowed - that takes away the challenge!

If that's of any help, I once made a list of all the mini games I could think of:
https://docs.google.com/spreadsheets/d/1mVmIC16Ku1z5XaXPAO3INQ4Up5DXaO60oWQVmWTjQCk/edit?usp=sharing

Offline Charles

Re: Decompilation Archive
« Reply #48 on: November 18, 2019, 09:19:51 AM »
That sounds like a good idea. Of course, QFG1's minigames take Ego's stats into account, so those may be hard to implement.

I've thought about that one before, and I figure that could be mitigated with a difficulty setting. Easy uses maxxed out stats, hard uses new-character stats, etc... with extra magic potions... maybe a little play-testing to find the right balance between hard and impossible.

Offline MusicallyInspired

Re: Decompilation Archive
« Reply #49 on: November 18, 2019, 10:26:00 AM »
I dream of an "Ultimate Nick's Picks Deluxe" or something with like every Sierra minigame ever in it. How possible would that be? Even across SCI versions. A lot of it would need to be rescripted to be compatible of course. But that'd be something.
Brass Lantern Prop Competition

Offline lskovlun

Re: Decompilation Archive
« Reply #50 on: November 18, 2019, 05:05:30 PM »
I've thought about that one before, and I figure that could be mitigated with a difficulty setting. Easy uses maxxed out stats, hard uses new-character stats, etc... with extra magic potions... maybe a little play-testing to find the right balance between hard and impossible.
Or, if you're working on the formulae/at the source level, simply redo the formulae without any reference to player stats. Find something reasonable/playable.

Offline EricOakford

Re: Decompilation Archive
« Reply #51 on: November 20, 2019, 12:19:06 PM »
Here's a little something random - decompiles of the KQ6 demo and the 1992 Christmas Card!

At this point, there's a new issue I'd come across during my digital archeology: missing system scripts.
For example, in the Christmas Card, the main (and only) game-specific script refers to vital scripts like INTRFACE, PRINT, and DIALOG. Without these scripts, the game's handleEvent: method can't decompile!
Fortunately, with a little work of transplanting the missing decompiled scripts and 997.voc from the EcoQuest 2 demo, that problem is solved. Now both fully compile and play to completion.

One thing I've noticed about the demos is that some of them are practically just stripped-down versions of the full games. As a result, there tend to be unused scripts remaining in the resource files, even those that a demo wouldn't logically use at all. This may just be to ensure that no errors occur from omitted scripts.

Next is LSL3 for sure!

Another note: I think it'd be a good idea to start the whole minigame compilation idea in a new topic.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline EricOakford

Re: Decompilation Archive
« Reply #52 on: December 02, 2019, 09:22:10 PM »
Finally, here is LSL3. The game plays fine so far, and I've made sure to fix the speed bugs. I also managed to recreate the death handler.

Here's also a decompile of the Amiga version of LSL2! Its scripts are newer, and I recreated the death handler for that too. Now there is no assembly code at all in this one. Perhaps it can be used to make an ultimate patch for the game, similar to the Amiga sounds update for KQ4.

Finally, here is updated source for SQ3. The game's doit: has been fully recreated in script code thanks to researching Astro Chicken's doit:.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline Collector

Re: Decompilation Archive
« Reply #53 on: December 03, 2019, 06:16:32 AM »
Game and interpreter versions?
KQII Remake Pic

Offline EricOakford

Re: Decompilation Archive
« Reply #54 on: December 03, 2019, 12:32:39 PM »
Game and interpreter versions?

Ah, yes, I forgot to mention that.

LSL3 is version 1.021, interpreter 0.000.572, and SQ3 is version 1.018, interpreter 0.000.685. These are the versions used in compilations and digital distribution.

LSL2 Amiga is version 1.003, interpreter x.yyy.zzz.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline Collector

Re: Decompilation Archive
« Reply #55 on: December 03, 2019, 09:05:59 PM »
Thanks
KQII Remake Pic

Offline EricOakford

Re: Decompilation Archive
« Reply #56 on: December 08, 2019, 07:27:54 PM »
Here are new decompiles of KQ1SCI (demo and full), as well as the demos for HQ1 and Iceman.

The demos all play to completion with no known issues.
HQ1 and Iceman demos use interpreter 0.000.685, while KQ1 (both demo and full) uses S.old.010.

KQ1SCI has an issue where the game sometimes hangs at the rooms where you can plant the beanstalk.
And sometimes, the giant never falls asleep when he gets tired.
These seem to happen intermittently, and I've managed to play through the game to completion with full points.
And one more thing - I manually recreated the death handler.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline EricOakford

Re: Decompilation Archive
« Reply #57 on: December 18, 2019, 08:35:08 PM »
Here are new decompiles of the QFG2 demo and full game (1.105).

The demo plays to completion without any known issues.
The full game, however, is a different story. Script 2 causes the game to glitch up when restoring a save, and 702 (the alley index) freezes the game when entering the alleyways.
It's not possible to visit the Moneychanger without debug (decompilation error in alley 151?), and the prompt to input gold to exchange doesn't appear (this seems to be an issue with INTRFACE.SC)

On the plus side, I did manage to recreate a few disassembly blocks in script code, such as BlueFrogTP, script 810's chAlloc cue: method, and Talker's messages: method. Much of the defines in GAME.SH have been placed into enums, and more global variables have been identified.

And since it's a week away from Christmas, here's a new decompile of Seasoned Professional! It's been tested to compietion.
Now there are no disassembly blocks in this or the QFG2 demo. The reason some functions would not decompile is because they relied on scripts that the game doesn't have. With those scripts spliced in, those functions decompile as intended.

Time for me to move on to SQ4...
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline EricOakford

Re: Decompilation Archive
« Reply #58 on: January 05, 2020, 03:33:14 PM »
And here are decompiles of SQ4 CD, Ms. Astro Chicken, and the LSL1 and LSL5 demos!

The LSL1 demo has wide exports, but SCICompanion didn't realize this at first. That confused me when I found that all the procedures were even-numbered. Once I checked the "Wide exports" option in the version detector, the scripts decompile fine.
The demos and Ms. Astro Chicken play through to completion, and SQ4 CD seems to work okay, with a few bugs related to the fact that the game still uses some of the older dialog classes and procedures (moved into their own scripts)

So, what's next? I guess I'll work on LSL1VGA!
« Last Edit: January 06, 2020, 08:42:45 PM by EricOakford »
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline EricOakford

Re: Decompilation Archive
« Reply #59 on: January 21, 2020, 08:22:04 PM »
Whew! Here are new decompilations of the LSL1, LSL5, SQ1, and PQ3 demos.
Here, I went through the system scripts, and identified all of the temp variables and parameters I could. The demos all play to completion with no known issues.

As for the full LSL1VGA, I've gone through that game's system scripts as well. I should have a ready decompilation of that soon.
« Last Edit: January 21, 2020, 08:32:28 PM by EricOakford »
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.034 seconds with 24 queries.