Opened 9 years ago

Closed 9 years ago

#5289 closed defect (fixed)

QFG1 EGA: priority/control/view functions crash, debug mode

Reported by: SF/jestar_jokin Owned by: bluegr
Priority: normal Component: Engine: SCI
Keywords: script Cc:
Game: Quest for Glory 1

Description

At any point in the game, type "razzle dazzle root beer" to activate the built-in debug mode. Pressing ALT-P, ALT-C, or ALT-V will cause the game to crash with the following error message:

WARNING: Dummy function kDummy[9] invoked. Params: 1 (0000:0002)!
Kernel function was called, which was considered to be unused - see log for details!

The params change depending on the function:
ALT-P: 0000:0002
ALT-C: 0000:0003
ALT-V: 0000:0001

Correct functionality::
ALT-P: display z-priority view
ALT-C: display control view
ALT-V: display normal view

In addition, ALT-S functionality is missing, as it is overridden by ScummVM's screenshot capability. ALT-S is supposed to cycle through the actors/sprites on the screen, similar to the working ALT-E functionality (which only displays information on the "ego" sprite).

I believe this issue will also affect QFG2 (using debug command "suck blue frog").

Ticket imported from: #3050616. Ticket imported from: bugs/5289.

Attachments (3)

qfg1.001 (15.7 KB ) - added by SF/jestar_jokin 9 years ago.
Game start, debug mode already activated
sciv_000-ctrl-p.png (2.4 KB ) - added by SF/jestar_jokin 9 years ago.
Expected CTRL-P view, from DOSBox
sciv_001-ctrl-c.png (2.0 KB ) - added by SF/jestar_jokin 9 years ago.
Expected CTRL-C view, from DOSBox

Download all attachments as: .zip

Change History (9)

by SF/jestar_jokin, 9 years ago

Attachment: qfg1.001 added

Game start, debug mode already activated

by SF/jestar_jokin, 9 years ago

Attachment: sciv_000-ctrl-p.png added

Expected CTRL-P view, from DOSBox

by SF/jestar_jokin, 9 years ago

Attachment: sciv_001-ctrl-c.png added

Expected CTRL-C view, from DOSBox

comment:1 by SF/jestar_jokin, 9 years ago

Occurs in ScummVM 1.2.0svn52268
Win XP 32-bit
QFG1 v1.200

comment:2 by bluegr, 9 years ago

We know

Debug mode in SCI games uses extra kernel functions, which we haven't implemented - namely, the "Show" kernel command, along with others, which is used to show the priority/control/visual maps in games. We have a much better debugger (Control-D, type "help"), which is why we considered to not implement these at all (kShow is very straightforward, the others aren't). Implementing kShow would be very easy, but I'm unsure of the real benefits, since we got the same "show" command in our debugger.

In any case, if you want the functionality of showing the priority/control/visual map through the SCI debugger, it should be very easy to do (though you can do it from ScummVM's debug console, as mentioned already), however, any additional support for the original SCI debugger is pointless, since ScummVM's debugger is vastly superior to Sierra's

comment:3 by bluegr, 9 years ago

As for Alt-S: it is pointless, the SV utility does a much better job - it can show all game resources in a nice GUI (this is what we use), so we won't do it.

What kind of sprite information does Alt-E show?

comment:4 by SF/jestar_jokin, 9 years ago

ALT-S just shows X, Y, loop, cel, and priority information, next to a picture of each sprite. Nothing especially interesting.

Seeing as ScummVM has a better debugger, it is possible to silently fail when calling the kernel functions, perhaps as a SCI script workaround?

If implementing the Show functions is easy, I may try creating a patch in the future, though I understand this is hardly a high priority.

comment:5 by bluegr, 9 years ago

Implemented kShow in rev #52281, so the alt-p/v/c functionality works now. We probably won't do any other debug related kernel function though, since there are far better tools for this nowadays (plus ScummVM's own debugger)

comment:6 by bluegr, 9 years ago

Owner: set to bluegr
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.