Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - EricOakford

Pages: 1 2 [3] 4 5 ... 9
SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: April 16, 2020, 06:48:18 AM »
SCICompanion's destruction of message resources in QFG1VGA and PQ1VGA is a known issue. I reported it here. Kawa took a look at it, and confirmed that this is the result of Companion not properly supporting the older message resources that this game uses.
Maybe once I finish my new and improved decompilation of the game, I could look into creating a patch to port the game to a newer version of the interpreter, bringing it in line with the Macintosh version from 1994. That could be difficult, though.

SCI Development Tools / Re: Decompilation Archive
« on: April 14, 2020, 10:47:27 AM »
Here's a new one - Space Quest I VGA!

Also, here's an updated decompile of QFG1EGA.
Several bugs have been fixed:
Code: [Select]
Cleaning the stables no longer crashes the game
Entering Meep's Peep no longer crashes the game
The Fairy Ring now works properly
Some code that was undecompilable has been recreated and works properly.
The following new procedure names were taken from their equivalent methods and instances in QFG3 and QFG4.

Code: [Select]
DisposeCode -> StartARoom
AddToScore -> SolvePuzzle
EatRation -> EatMeal
SetGameTime -> FixTime
ReduceSP -> UseStamina
ReduceMP -> UseMana
ReduceHP -> TakeDamage
PrintGameTime -> ShowTime
IncrementGameTime -> AdvanceTime
ChangeEgoWalk -> ChangeGait
SleepUntil -> EgoSleeps
Rest -> EgoRests
GetMaxMana -> MaxMana
GetMaxStamina -> MaxStamina
GetMaxHealth -> MaxHealth
GetTotalWeight ->  WtCarried

Oh, and I decided to post what I did for a KQ6 decompile, if anyone wants to finish it up. Nearly all of the original system scripts are there, as are all of the system globals. Quite a few defines (including talkers and verbs) are present as well.

Now, I think I should get to work on QFG1VGA. With my newly-gained experience, I should run through that one again.

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: April 11, 2020, 11:00:14 PM »
Thanks for the compliments. I really need to get back to that SQ1SCI decompile. After that is done, I'll go back and go over the QFG decompiles again.

SCI Development Tools / Re: SCI01 Template Game
« on: March 17, 2020, 01:24:59 PM »
Nice. Does it also feature scrolling background transitions?

Yes. The show styles are in the interpreter, which in this case is 1.000.172 (from Seasoned Professional EGA). This is a newer version than QFG2 and KQ1SCI's interpreters, which also have scrolling styles. It is also the final interpreter version with both EGA graphics and a parser.

SCI Development Tools / Re: SCI01 Template Game
« on: March 14, 2020, 08:49:41 PM »
Here's my work on LockerGnome Quest: SCI01 Edition. It has been tested to completion, with the game responding to much of the possible parser commands, and includes a file containing output from the Feature Writer, which has been quite useful for writing the room's features.

And right-click looking was actually not a feature included in the original SCI0 template. That's one reason my templates are a huge improvement. :)

SCI Development Tools / Re: SCI01 Template Game
« on: March 13, 2020, 07:08:59 PM »
Many (most?) SCI0/SCI01 official games had right-click look.

Which LockerGnome? Redux had SciAudio.

I'm using Redux's code as the basis, with the SciAudio portions commented out and their relevant scripts unused.
I also made the individual objects in the locker into PicViews by carefully removing them from the picture resource, then placing them into a view resource. This is kind of how QFG1EGA and QFG2 drew various non-moving objects as PicViews, rather than making them part of the picture.

In regards to right-click look... I know that QFG1EGA, QFG2, KQ1SCI, Conquests of Camelot, Codename Iceman, and Colonel's Bequest have this.
The ones that don't are KQ4, LSL2, LSL3, PQ2, and SQ3.

With SCI01, putting the mouseDownHandler in the game is enough to enable right-click mode. With SCI0, I need to research this further.

SCI Development Tools / Re: SCI01 Template Game
« on: March 12, 2020, 08:30:29 PM »
The game now has specific event handlers for keyDown, direction, and mouseDown events. This will allow for right-clicking on objects to "look" at them. Of course, I had to tweak some of the game scripts to accommodate this. as seen here.

I've been working on porting LockerGnome Quest to SCI01 as an example of this. It should be ready soon.

Previously, I mentioned converting the game to Sierra Script. I've actually completed that, and greatly optimized the code as well! Here's a list of things I did:

Code: [Select]
Converted all scripts to Sierra Script.
Replaced all system scripts with the ones from my newer SCI0 template. This caused the loss of the custom window, which  now needs to be a specific instance.
SCIAudio has been moved into script number 803, due to its third-party nature.
SetUpEgo is now NormalEgo, and no longer relies on the SetUpActor procedure.
Ego standing still is now implemented with the StopWalk class.
The game's doit: has been removed, using only the generic Game's doit:.
ProgramControl is now HandsOff, and PlayerControl is now HandsOn. They automatically set the cursor now, so any instances of SetCursor in the scripts have been removed.
Several global variables have been replaced with event flags managed by Bset, Btst, and Bclr, and are stored in the gameFlags array.
Script 204, the "use inventory items in rooms" region, is no longer used. It had been duplicated in various rooms. These duplicates have been removed. Using and looking at inventory items is now handled in the Main script.
The HighPrint and LowPrint procedures have been added, allowing for text messages to be displayed in consistent locations on the screen.
Instead of temporarily changing the global text and back color for various messages, and then changing them back afterwards, these messages now use specific window instances with customized text and back colors. On that subject, specialized Print procedures for talking characters have been added.
Text.000 has been reorganized, and the contents of Text.204 have been moved to the

I think the biggest challenge will be to make SCIAudio work in Sierra Script. For now, I'm running the game in plain DOSBox, and using the Sound resources for music.
I'll send you the updated game. This will be quite important in anticipation for the SCI01 sequel.

SCI Development Tools / Re: SCI01 Template Game
« on: February 26, 2020, 08:41:56 PM »
I fixed a major bug in USER.SC, which was the result of a missing line of code!
Specifically, it's in User's said: method, which is supposed to allow the parser to work with verbMessager. So if you were wondering why doVerb wasn't working, this is the reason, and it's been fixed now.

Also, I've made the handleEvent: method in Main a lot simpler, specifically the "look at inventory items" code.

So, if you're using the template, be sure to update your USER.SC file!

SCI Syntax Help / Re: SCI Audio - how to set up a music on/off toggle
« on: February 18, 2020, 09:37:42 AM »
I'm a little confused still. In the properties I see the following (In Studio Script, which I'm using for BA 1)

Have you considered converting to Sierra script? It would be a good excuse to familiarize yourself with it.
I'm using Sierra Script for the follow-up, but this one was written in the old code and I don't want to go through the process of transcribing it again and then dealing with the compilation errors.

Leave that to me. I've been working to convert the game to Sierra Script. I've already replaced the system scripts with those from my newer SCI0 template, and have moved the sciAudio, InitRooms, and Dying scripts into the 800 range (since they're not actually system scripts). Things like the custom window will have to be re-implemented into specific instances.

SCI Development Tools / Re: SCI01 Template Game
« on: January 27, 2020, 08:56:48 PM »
A major update!
Going back to the decompiled SCI0 system scripts and comparing them with their SCI01 counterparts using ExamDiff, I have managed to fill in the blanks for nearly every system script. The temp variables and parameters have been identified.
I'd gotten this idea from my recent decompilations of the LSL1, LSL5, SQ1VGA, and PQ3 demos, where I took the extra step in painstakingly identifying all the params and temps I could in their system scripts.
Also, while I'd done this earlier, I'd also created a subclass of InvItem in the main script. This subclass will allow item descriptions to be placed in a Text resource, saving on heap space and simplifying potential translations.

And there you go, the definitive template for SCI parser games is just about complete!

To answer Doan Sephim's question: The reason you see duplicate resources may be because I set the template to be managed as patch files. This is for source control purposes. The interpreter prioritizes patch files over the contents of RESOURCE.000. I have been using Kawa's SCICompanion build.

SCI Development Tools / Re: Decompilation Archive
« on: January 26, 2020, 02:19:23 PM »
And here is the decompilation for LSL1VGA, version 2.1.

So far, there are no known issues, and I've fixed a few script errors I found while playing.
For example, I realized that with the DSelector class, I mistakenly identified the type as "dSelected" instead of the correct "dSelector". This made the list of save games not appear in the save/restore dialog. Obviously, I didn't catch that with the demos.

Next up, SQ1VGA!

SCI Development Tools / Re: Decompilation Archive
« 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.

SCI Development Tools / Re: Decompilation Archive
« 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!

SCI Development Tools / Re: Decompilation Archive
« 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...

Pages: 1 2 [3] 4 5 ... 9

SMF 2.0.14 | SMF © 2017, Simple Machines
Simple Audio Video Embedder

Page created in 0.11 seconds with 21 queries.