Author Topic: ShakeScreen problems  (Read 2774 times)

0 Members and 1 Guest are viewing this topic.

Offline doomlazer

ShakeScreen problems
« on: September 20, 2021, 06:36:59 PM »
I'm hoping someone can clarify an issue I've been struggling with for awhile now. I'm having trouble with calls to ShakeScreen. I can't get them to work on any game I've tested through SCICompanion or DosBox.

I thought it might be an interpreter version, as none of the Steam collections seem to have screen shake. I tested KQ4 (cliff north of start) and SQ4 (Ortega) and neither work for me.

I also own GoG KQ4+5+6 version and all ShakeScreen calls seem to work as expected.

The confusing part is that it seems to be a problem with DosBox which doesn't make sense to me. KQIV from GoG uses SCUMMVM, but when I run the GoG version in DosBox.74-3 or SCICompanion the ShakeScreen suddenly stops working.

I've got no problem with SCUMMVM, but I personally prefer DB, so it would be nice if I could get screen shake to work there. Does anyone have any insight on this? Could it really be a DOS emulation problem?

Also, what is the correct way to verify a game's interpreter version?  I can't find where SCICompanion would show that info. It's not under 'version detection'.



Offline Collector

Re: ShakeScreen problems
« Reply #1 on: September 20, 2021, 07:14:55 PM »
Left Shift+right Shift+num pad "-" and the debug will say.
KQII Remake Pic

Offline doomlazer

Re: ShakeScreen problems
« Reply #2 on: September 20, 2021, 08:05:41 PM »
Thank you, I just barely noticed that the version info was shown there before reading your reply.

I'm still stumped as to why ShakeScreen would work in SCUMMVM, but not DosBox if it's the same interpreter and game version. Has anyone ever seen ShakeScreen work in DosBox?


Offline MusicallyInspired

Re: ShakeScreen problems
« Reply #3 on: September 20, 2021, 11:15:56 PM »
I thought I heard that DOSBox doesn't support the shake-screen graphic procedure or whatever? Like whatever it is in DOS or the graphics driver to tell the computer to shake the screen, DOSBox doesn't support it. So, not just Sierra games but any game whatsoever. Unless there is another game that does. But that would be why if so.

EDIT: Shakescreen works in KQ2SCI in DOSBox, so I'm out of ideas.
« Last Edit: September 20, 2021, 11:17:42 PM by MusicallyInspired »
Brass Lantern Prop Competition

Offline doomlazer

Re: ShakeScreen problems
« Reply #4 on: September 21, 2021, 01:03:58 PM »
Thank you, I'll investigate the differences between KQ2SCI in DosBox and KQ4!

Offline lskovlun

Re: ShakeScreen problems
« Reply #5 on: September 21, 2021, 01:54:52 PM »
I'm hoping someone can clarify an issue I've been struggling with for awhile now. I'm having trouble with calls to ShakeScreen. I can't get them to work on any game I've tested through SCICompanion or DosBox.
I just noticed that you're not a regular. Welcome!

How many parameters do you give to ShakeScreen? All versions of ShakeScreen will accept two, SSCI requires at least one, ScummVM seems to be fine with none, but the latter may cause erratic behavior in SSCI. For best results, specify both.

Offline doomlazer

Re: ShakeScreen problems
« Reply #6 on: September 21, 2021, 02:53:32 PM »
Thank you, I just started with SCI in August, so I will try to avoid flooding the place with dumb questions.

I've tried calling it with 0, 1 and 2 params. I have tried using both the name shakeSDown and 1 (or 2,3) for the direction. It just never seems to work in DosBox-74-3. MusicallyInspired, Is there still a download for KQ2SCI? I can't seem to find a working link to compare against. Is KQ2SCI using a more recent version?

I'm testing with interpreter version 0.000.502.

Edit: I started a new SCI0 game from the template and ShakeScreen works as expected in interpreter 0.000.685., so I'm out of date. Is there any documentation about upgrading a game to more recent interpreter version? I guess what I'm asking is why can't I find the ShakeScreen interpreter code through SCICompanion?
« Last Edit: September 21, 2021, 04:15:26 PM by doomlazer »

Offline Kawa

Re: ShakeScreen problems
« Reply #7 on: September 21, 2021, 05:46:53 PM »
If it's a difference like from 0.0.502 to 0.0.685 I image you could get lucky and just replace the EXE file, or you need to also replace the kernel vocab. That's where you use SCI Companion to extract vocab.999 from the 0.0.685 game and import it into the 0.0.502 game you're updating to 0.0.685. You might also want to replace the upgraded game's system scripts.

Now, going from a 0.000 interpreter (SCI0) to S.old (SCI01), that's where the real differences start appearing. And let's forget about just drop-in upgrading to 1.000 (SCI10).

Offline doomlazer

Re: ShakeScreen problems
« Reply #8 on: September 21, 2021, 05:52:23 PM »
Thank you, Kawa. Dropping in a .685 version of SCIV.exe does launch and report interpreter version 0.0.685. I'm sure it would need to be tested for issues though. Your suggestion is helpful for me in understanding the relationship between SCIV.exe and the system scripts/vocab files.

Thankfully, I just barely figured out that it's not an interpreter version problem, it's the video driver.

By default, the Steam Collections and GoG include a RESOURCES.CFG file set to use the MCGA320.DRV. I guess ShakeScreen must not be supported on that driver, because editing the config to use EGA320.DRV, which they include, fixes the issue.
« Last Edit: September 21, 2021, 05:55:21 PM by doomlazer »

Offline Kawa

Re: ShakeScreen problems
« Reply #9 on: September 21, 2021, 05:57:30 PM »
Oh that's on me, I completely forgot that ShakeScreen is implemented by the driver.

Still, if Eric's recent comments are any indication updating the interpreter might be a good idea regardless for other reasons.

Offline doomlazer

Re: ShakeScreen problems
« Reply #10 on: September 21, 2021, 06:08:08 PM »
No problemo! I saw that EO might work on the KQ4 interpreter version, so I'll probably focus on other issues and check back on his progress down the road.

I mostly just wanted ShakeScreen working because it's so unsatisfying to fall from the top of a stairwell without it.
« Last Edit: September 21, 2021, 06:11:03 PM by doomlazer »

Offline EricOakford

Re: ShakeScreen problems
« Reply #11 on: September 21, 2021, 07:31:25 PM »
Yes, I've been working on upgrades for KQ4 and LSL2. The updated system scripts split various classes into their own scripts. For instance, Reverse, Wander, Follow, and Chase were moved from Motion into their own scripts. This allows for them to be disposed on room change and free up precious heap.
From the official SCI updates:
Quote
6/1/89 Pablo
 MORE HEAP!!! The following classes have been taken out of motion.sc and
 system.sc and placed in their own files: reverse, chase, follow, wander,
 timer and timeout. This saves 1700 bytes (!!!) in rooms that don't use
 these classes.

 MODULARITY is the word of the day, if you find other system code that
 should be in a file of its own please bring it up, everyone may benefit.

Indeed, what's unique about the Amiga version of LSL2 (1.003; newest DOS version is 1.002) is that it uses drastically updated scripts. This is where I got the idea for the upgrades, and my decompilation of LSL2 Amiga will be the basis for the LSl2 upgrade.

Going from 0.000.409 (LSL2) or 0.000.502 (KQ4) to 0.000.685 (from the Iceman demo) required the updated vocabs. Thankfully, the existing vocab.000 still works.

Speaking of which, I think I'll go play LSL3 (0.000.572) with interpreter version 0.000.685, just for fun. I think it'll work fine; I didn't have any issues with QFG1EGA (0.000.629)
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline doomlazer

Re: ShakeScreen problems
« Reply #12 on: September 21, 2021, 07:52:21 PM »
What is the word on LSL7? I read somewhere that was the last SCI game and the interpreter was heavily modified at that point. Has anyone tried decompiling the scripts?

LSL7 is probably my all time favorite Sierra game.

Offline EricOakford

Re: ShakeScreen problems
« Reply #13 on: September 21, 2021, 08:03:43 PM »
What is the word on LSL7? I read somewhere that was the last SCI game and the interpreter was heavily modified at that point. Has anyone tried decompiling the scripts?

LSL7 is probably my all time favorite Sierra game.

That could be a while. SCI32 support isn't fully there in Companion.
My SCI templates
SCI0 SCI0.1 SCI1.0 SCI1.1
SCI2.1 planned

Offline MusicallyInspired

Re: ShakeScreen problems
« Reply #14 on: September 21, 2021, 11:37:42 PM »
No, but you can still decompile scripts from SCI32 games. I've never tried doing it with LSL7 before though.
Brass Lantern Prop Competition


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

Page created in 0.147 seconds with 30 queries.