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 ... 9
Look what I've done - I upgraded SCI Quest!

Lots of changes have been made to more closely match the original SCI code. Any SQ5 remnant that is not used has been removed, and the status line is drawn entirely by the kernel, to name a few. The game has been tested to completion.

Get it here.

SCI Development Tools / Re: VGA Parser Template - Save / Restore
« on: July 21, 2020, 06:20:38 PM »
Here's a change I made to Save, in the end of SRDialog:init. Note the "self open: wTitled 15". For some reason, the VGA interpreter (but not the EGA one) doesn't dispose the dialog fully when the window priority is set to 15. It was changed to -1 for SCI1.0 to prevent saving the priority map.

However, this creates another problem - any views that were under the dialog get redrawn if a Print message is displayed in their area.

This change is coded to only affect the VGA interpreter; if it's EGA, it works the same as before.

Code: [Select]
;Add the text to the dialog, and resize.
add: textI,
;open: wTitled 15
;EO: This prevents the VGA interpreter from crashing when
; bringing up the save/restore dialog. However, this creates
; the side-effect of actors popping into the dialog box if
; a Print message is displayed.
(if (Btst fIsVGA)
(self open: wTitled -1)
(self open: wTitled 15)

(return TRUE)

SCI Development Tools / Re: VGA Parser Template - Save / Restore
« on: July 21, 2020, 11:33:16 AM »
Okay, I tested the save script in both EGA and VGA versions of Seasoned Professional. The save/restore dialog works as intended in the EGA version, while its graphics stay on screen in the VGA version. My guess is it's the difference in how the EGA and VGA and interpreters do things graphically. Perhaps I should slightly update that script for VGA compatibility, using bits of the SCI1.0 Save script.

SCI Development Tools / Re: VGA Parser Template - Save / Restore
« on: July 20, 2020, 06:51:15 PM »
I think the problem is that the graphics are still in EGA, not VGA. Further, this is largely unexplored territory here, as no Sierra games ever had VGA graphics and a parser at the same time. I'll need to look into this further.

SCI Syntax Help / Re: Old SCI0 Template Save Bug
« on: July 18, 2020, 06:13:31 PM »
It's a clean fix and holy shit that's a sneaky one haha
It's sneaky and goes right back to SCI Studio. That means this is handwritten, not decompiled code. It was rewritten from an ASM block.

Naturally, when you only have disassembled code for reference, mistakes can be made. With original source for reference, these can be discovered and fixed.

SCI Syntax Help / Re: Old SCI0 Template Save Bug
« on: July 14, 2020, 09:47:49 PM »
Are there any other disassembly blocks left in the templates?

SCI0, SCI01, and SCI11 have no disassembly blocks at all.

SCI10 only has three - in Logger, PolyEdit, and Talker. I can resolve Talker and thus allow for talking portraits. PolyEdit and Logger? Probably not needed.

SCI Syntax Help / Re: Old SCI0 Template Save Bug
« on: July 14, 2020, 06:29:52 PM »
I published my SCI0 scripts here:
Unfortunately I don't have any SCI01 scripts.
I do have some SCI1 versions of SAVE.SC which I haven't published yet.
I'll attach all my versions here.

Just updated my SCI1.0 decompilations and template. Now saving works in all of my templates, and two disassembly blocks are history!

The SCI01 Save script is pretty much the same as the SCI0 one, just with the file kernel functions merged into one, so we're not missing much there.

SCI Syntax Help / Re: Old SCI0 Template Save Bug
« on: July 12, 2020, 09:56:42 PM »
I've been bitten by this before as well.  EricOakford - you managed a workaround for SCI01, would that (or a similar approach) work for SCI0?

No workaround here - the old template's save bug may be related to a newer issue I had in the SCI01 template. Specifically, SRDialog:doit. It can't be decompiled and thus falls back to disassembly. Somewhere in there, something didn't disasemble correctly, resulting in the duplicate saves bug.

The newer templates shouldn't have this problem to begin with, as they use the original source scripts as a basis. With SCI01, all that was needed was changes for the new FileIO function.

SCI Syntax Help / Re: Converting sciAudio to Sierra Script
« on: June 24, 2020, 06:26:13 PM »
@Eric: My main concern with that would be not finding the root cause (in the compiler) and therefore still risking problems with local variables elsewhere. The manifestation of such problems would be highly variable (hah) and difficult to diagnose. Also, if everything is in temporary vars (on the stack), there's the risk of stack overflows.

Okay, I admit it's not a perfect fix, but it's only temporary, since this is a compiler issue. I could also reduce the ,msgBuf array to 100. There's no need for it to be any higher.

I've been working on a new version of LockerGnome Quest Redux in Sierra Script, with the music and sound intact, and replacing MouseLookObj with Sierra's original RFeature and a mouseDown event handler, as was done in QFG1EGA. It seems to be going along well.

6/25/2020 UPDATE: Here it is. The game plays to completion (with voice and music!), but the game crashes with an opcode error at the very end.

SCI Syntax Help / Re: Converting sciAudio to Sierra Script
« on: June 24, 2020, 11:34:27 AM »
Both versions now work correctly. The problem was related to msgBuf being a local variable. By changing it to a temp variable, this is no longer an issue.
Basically, from what I can tell, the script just writes out a file, and the sciAudio daemon then reads that file and plays the sound given. So it seems only the script needed modification.

SCI Syntax Help / Converting sciAudio to Sierra Script
« on: June 22, 2020, 06:55:11 PM »
I have taken the liberty of converting the sciAudio script to Sierra Script. Here is a basic game that serves one purpose only: test a sound then quit.

It's in both SCI0 and SCI01 form.

And no changes to the actual sciAudio program were needed.

6/24/2020 EDIT: Both AudTests work correctly now! I changed msgBuf from a local variable into a temp variable. Also, sciAudio is now an instance of Object (if no superclass is given, it's an instance of RootObj)

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: June 22, 2020, 09:58:57 AM »
I know that the Macintosh version plays the end music just fine.

Also, I seem to recall that in the DOS version, the music plays okay if set to Adlib or PC Speaker (and possibly MT-32). My best guess is that this particular track was not updated for the newer General MIDI driver, hence silence.

SCI Development Tools / Re: Decompilation Archive
« on: June 04, 2020, 10:35:17 AM »
Yes, it seems to work properly now. There's a similar instance of this in the Monolith Burger menu in SQ3.

If we could convert all of the fan games to Sierra Script then we could dump all of the backwards compatibility stuff and leave Studio and its script in the past.

I have actually been doing this, like I did with LockerGnome Quest and Betrayed Alliance Book I. With my templates and decompilations, I've done away with the Studio defines, using the original Sierra defines instead. With backtic sequences now being case-sensitive, I can finally dump

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: June 02, 2020, 06:38:34 PM »
I've put up a significantly updated decompilation of QFG1VGA here. It hasn't been tested yet.

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: May 14, 2020, 12:12:13 AM »
I defined it in script 000.

Are you sure it's at a higher index than any other global flag?

I don't know what that means so, no i'm not sure.

That is, it's the last global in the list. But since this is a bit flag, you should probably have it be "SEARCHED_FRED_TREASURE" (the name I gave it in If it's not there, make sure it's the last flag in the list!)

Pages: [1] 2 3 ... 9

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

Page created in 0.099 seconds with 21 queries.