86
edits
(Initial import of HWM Debug Mode FAQ (SCI portion)) |
(removed line breaks) |
||
Line 6: | Line 6: | ||
=== Intro === | === Intro === | ||
This FAQ will explain the several debug modes found in Sierra On-Line | This FAQ will explain the several debug modes found in Sierra On-Line adventure games. | ||
Before you read, keep in mind the following things: | Before you read, keep in mind the following things: | ||
Line 13: | Line 12: | ||
- References to "ego" mean "the main character" or the object you control. | - References to "ego" mean "the main character" or the object you control. | ||
- Any brackets, asterisks or quotation marks should NOT be typed in. They're | - Any brackets, asterisks or quotation marks should NOT be typed in. They're only used to clarify. | ||
- Anything between brackets means it's either a key or a combination of | - Anything between brackets means it's either a key or a combination of keys. So: | ||
[CTRL + D] means you push the CONTROL-key and the D-key AT THE SAME TIME. | [CTRL + D] means you push the CONTROL-key and the D-key AT THE SAME TIME. | ||
Line 23: | Line 20: | ||
- Between quotation marks means it should be typed in. | - Between quotation marks means it should be typed in. | ||
- Words between asterisks should be replaced with a proper word/object/thing. | - Words between asterisks should be replaced with a proper word/object/thing. So: | ||
"PITCH *object name*" means you should type the object you want to get, | "PITCH *object name*" means you should type the object you want to get, e.g. "PITCH WIG". | ||
And while you might know, Sierra games use an "interpreter". This basically | And while you might know, Sierra games use an "interpreter". This basically is a program/system which translates the program statements (in byte-code) into executable machine code one line at a time as the program is running; as opposed to a compiler, which translates the entire program before the program is executed. The different interpreters used by Sierra for their games are described in the next chapter. | ||
This FAQ only covers the debug modes of IBM PC versions, however, some of | This FAQ only covers the debug modes of IBM PC versions, however, some of them might work on the other systems too. | ||
==== SCI0 ==== | ==== SCI0 ==== | ||
Line 45: | Line 34: | ||
Video: 320x200 resolution, 16 colors (and dithering) | Video: 320x200 resolution, 16 colors (and dithering) | ||
Audio: MIDI | Audio: MIDI | ||
Platform: IBM PC (including PCjr & TANDY), Commodore AMIGA, Atari ST & | Platform: IBM PC (including PCjr & TANDY), Commodore AMIGA, Atari ST & Apple Macintosh | ||
Period: 1988-1990 | Period: 1988-1990 | ||
Line 136: | Line 124: | ||
=== Debug mode in SCI0 games === | === Debug mode in SCI0 games === | ||
Nearly all SCI0 games have an internal debugger, meaning a build-in debugger | Nearly all SCI0 games have an internal debugger, meaning a build-in debugger in the game's interpreter. Next to that, some games also have a script debugger. Like with AGI games, a script debugger is a debug script located directly in the game code itself, rather than in the interpreter's code. | ||
==== Internal Debugger ==== | ==== Internal Debugger ==== | ||
The internal debugger is activated by pressing [SHIFT + SHIFT + MINUS]. So | The internal debugger is activated by pressing [SHIFT + SHIFT + MINUS]. So both SHIFTs and the MINUS key located at the NUMERIC keypad AT ONCE. The debugger is/was mainly useful for programmers, but some things like changing variables can be easily done. | ||
Options: | Options: | ||
Line 176: | Line 157: | ||
Note that these are case sensitive, so [CAPS LOCK] should be de-activated. | Note that these are case sensitive, so [CAPS LOCK] should be de-activated. | ||
Example: The room number is controlled by global variable 13. When the debug | Example: The room number is controlled by global variable 13. When the debug is activated, push [G]. It will ask which global variable should be changed. Enter "13". Now it will show the current value of the variable. Change this to your preferred, valid room number. Exit the debugger to see the effect. | ||
==== Script Debugger ==== | ==== Script Debugger ==== | ||
The script debugger is a bit more interesting and often more extensive. Not | The script debugger is a bit more interesting and often more extensive. Not all games have a script debugger, some of them were likely removed before the final release of the game in question. However, a fair amount of games still have it. The script debugger is in most cases activated by typing a certain sentence in the game. This sentence differs from game to game. | ||
When there isn't a sentence to type, but a debug is present in the game, it | When there isn't a sentence to type, but a debug is present in the game, it can be activated by changing the value of a certain global variable. An example of doing this is given in the previous chapter "Internal Debugger". | ||
Note that in some games, the debug mode will be activated on room change. | Note that in some games, the debug mode will be activated on room change. | ||
When the script debugger is activated, the following general commands are | When the script debugger is activated, the following general commands are available: | ||
[CTRL + left mouse click] - Instant movement (of ego) * | [CTRL + left mouse click] - Instant movement (of ego) * | ||
Line 205: | Line 176: | ||
===== Game specific: King's Quest 4 ===== | ===== Game specific: King's Quest 4 ===== | ||
To activate the debug mode, type: "overtime nosleep". An extra menu item will | To activate the debug mode, type: "overtime nosleep". An extra menu item will be activated on room change. | ||
The following options are available: | The following options are available: | ||
Line 231: | Line 201: | ||
[ALT + left mouse click] - Show ego information | [ALT + left mouse click] - Show ego information | ||
Most options are also available in the debug menu item. The menu option | Most options are also available in the debug menu item. The menu option "Clicks" will (de-)activate the debug options triggered by mouse. | ||
===== Game Specific: Leisure Suit Larry 2 ===== | ===== Game Specific: Leisure Suit Larry 2 ===== | ||
There are two ways of activating this debug mode, depending on the version | There are two ways of activating this debug mode, depending on the version of your copy of the game. | ||
With v1.000.011, the debug mode can be activated by typing: "praise lord" | With v1.000.011, the debug mode can be activated by typing: "praise lord" | ||
The debug mode will be activated when entering a new room. | The debug mode will be activated when entering a new room. | ||
Although "praise lord" works too in v1.002.000 (the one included in the | Although "praise lord" works too in v1.002.000 (the one included in the Leisure Suit Larry collections), it offers another method. At the copy-protection sequence at the start of the game, a phone number is asked. Enter "555-0724" to pass the copy-protection and get the debug mode activated. | ||
The following options are available: | The following options are available: | ||
Line 269: | Line 233: | ||
===== Game Specific: Leisure Suit Larry 3 ===== | ===== Game Specific: Leisure Suit Larry 3 ===== | ||
To activate the debug mode, type: "ascot backdrop". The debug mode will be | To activate the debug mode, type: "ascot backdrop". The debug mode will be activated when entering a new room. | ||
The following options are available: | The following options are available: | ||
Line 289: | Line 252: | ||
[ALT + M] - Show memory | [ALT + M] - Show memory | ||
* Before this will work, you'll have to place the SCI picture resource of | * Before this will work, you'll have to place the SCI picture resource of the room you want to test in the game directory and rename it to "PIC.999". That specific picture/room will be shown and can be tested in the game. | ||
Also, the self-running demo of LSL3 has the same debug mode, apart from a | Also, the self-running demo of LSL3 has the same debug mode, apart from a room-selector on the beginning. It can be activated by extracting SCRIPT.000 from the RESOURCE files (the easiest way being SCI DECODER v1.0) and in addition changing the byte at offset 0x00000064 to "00" (instead of the original "01"). Beware that it's not really worth it, since it's pretty much the same deal and lots of missing resources cause it to crash easily. | ||
===== Game specific: Mixed-up Mother Goose ===== | ===== Game specific: Mixed-up Mother Goose ===== | ||
Since the input is disabled, use the internal debugger to change the value | Since the input is disabled, use the internal debugger to change the value of global variable 100 to 1. | ||
The following options are available: | The following options are available: | ||
Line 317: | Line 272: | ||
[ALT + left mouse click] - Show ego information | [ALT + left mouse click] - Show ego information | ||
A useless (but interesting for some nonetheless) debug menu is still partly | A useless (but interesting for some nonetheless) debug menu is still partly in the game's scripts. It can be activated by extracting SCRIPT.000 from the RESOURCE files (the easiest way being SCI DECODER v1.0) and in addition changing the byte at offset 0x000026C7 to "01" (instead of the original "00"). This will activate the debug mode at the start of the game, which will also initialize the extra pulldown menu's. | ||
===== Game specific: Police Quest 2 ===== | ===== Game specific: Police Quest 2 ===== | ||
Police Quest 2 should respond to the sentence: "kiss angel 187", but somehow | Police Quest 2 should respond to the sentence: "kiss angel 187", but somehow it doesn't work. So use the internal debugger to change the value of global variable 101 to 1. | ||
The following options are available: | The following options are available: | ||
Line 410: | Line 358: | ||
=== Debug mode in SCI1 games === | === Debug mode in SCI1 games === | ||
SCI1 is a whole different story. The internal debugger has been removed from | SCI1 is a whole different story. The internal debugger has been removed from pretty much every (public) release of the games. You can still use the key combination [SHIFT + SHIFT + MINUS], but it will throw you out of the game, due to the absence of the debugger. That said, internal SCI1 debuggers are not non-existant (really early versions, like the interpreter used with "Jones in the Fast Lane" still have their debugger) and work just like the SCI0 ones. | ||
However, script debuggers have survived in a bunch of games. The way of | However, script debuggers have survived in a bunch of games. The way of activating them depends mainly on the version of the SCI interpreter. | ||
SCI1 games (interpreter version < 1.001.000) do not have a standard way of activating the script debugger (atleast, I haven't found one yet). | |||
SCI11 games (interpreter versions > 1.001.000) are activated by extracting the debug script from the packed RESOURCE files. Some kind of routine checks if the file is present in the game directory (and not just in the RESOURCE files) and the debug mode gets activated. An empty file won't do the trick, since the external scripts override the ones in the packed resource. | |||
SCI11 games (interpreter versions > 1.001.000) are activated by extracting | |||
==== Internal Debugger ==== | ==== Internal Debugger ==== | ||
Since the SCI1 internal debugger is pretty much the same as the one found in | Since the SCI1 internal debugger is pretty much the same as the one found in the SCI0 games, refer to chapter 4.1 on its usage. Currently, the following SCI1 games with an internal debugger are known: | ||
Jones in the Fast Lane (both CGA/EGA/Tandy and VGA disk releases) | Jones in the Fast Lane (both CGA/EGA/Tandy and VGA disk releases) | ||
Line 440: | Line 374: | ||
Mixed-Up Mother Goose (1990 CD-ROM version) | Mixed-Up Mother Goose (1990 CD-ROM version) | ||
Sometimes an interpreter can be swapped with another one, to use within | Sometimes an interpreter can be swapped with another one, to use within other games, but often the games get too buggy to play. As of yet, trail-and-error is the key here. | ||
==== SCI version < 1.001.000 (SCI1) ==== | ==== SCI version < 1.001.000 (SCI1) ==== | ||
Line 450: | Line 382: | ||
===== Game specific: Police Quest 3 ===== | ===== Game specific: Police Quest 3 ===== | ||
Rename/remove the file "version" in your PQ3 directory, or set the attribute | Rename/remove the file "version" in your PQ3 directory, or set the attribute to "read-only". | ||
This will give you some options at the beginning to configure which flags | This will give you some options at the beginning to configure which flags should be set and where/when you will start the game. | ||
===== Game specific: Space Quest 4 (beta) ===== | ===== Game specific: Space Quest 4 (beta) ===== | ||
Somewhere in 1991, the cracking group The Humble Guys released a beta version | Somewhere in 1991, the cracking group The Humble Guys released a beta version of Space Quest 4. I suspect it had version number 1.052 (I found some saves of the beta), but the first sales release had that too, so far for that lead. | ||
However, someone named "Beamer" typed up a list back then describing the | However, someone named "Beamer" typed up a list back then describing the functions and based on that, I made this following list: | ||
[ALT + A] - Show ego information ** | [ALT + A] - Show ego information ** | ||
Line 483: | Line 410: | ||
* This option is removed and crashes the game | * This option is removed and crashes the game | ||
** Seems like either Sierra or the author of the original text file swapped | ** Seems like either Sierra or the author of the original text file swapped the keys for "Show cast" and "Show ego information" | ||
==== SCI version > 1.001.000 (SCI11) ==== | ==== SCI version > 1.001.000 (SCI11) ==== | ||
At the time of writing, VAG's SCIResDump can be used for games using an | At the time of writing, VAG's SCIResDump can be used for games using an interpreter > 1.001.000. This is a bit tricky, but beats any other manual method. Refer to its documentation on further use. When dumping the files, it would be advisable to dump, apart from the SCR file, the accompanying HEP and TEX file. Some debug modes will not work properly without them. | ||
Besides giving you the usual debug options, some games will give the | Besides giving you the usual debug options, some games will give the "Where to?" dialog. Basically, this is a dialog giving you the opportuninty to set various flags/variables at the beginning of the game, so you can for example start halfway in the game or so. | ||
===== Game specific: EcoQuest 2 ===== | ===== Game specific: EcoQuest 2 ===== | ||
Line 503: | Line 422: | ||
The "magic" script is 98. Extract 98.SCR & 98.HEP | The "magic" script is 98. Extract 98.SCR & 98.HEP | ||
This debug mode however, is partially removed or something. Only the "Where | This debug mode however, is partially removed or something. Only the "Where to?" room select dialog on start will appear, the rest of the keys won't work. | ||
===== Game specific: Freddy Pharkas: Frontier Pharmacist ===== | ===== Game specific: Freddy Pharkas: Frontier Pharmacist ===== | ||
The "magic" script is 10. However, this script cannot be found in the English | The "magic" script is 10. However, this script cannot be found in the English release of Freddy Pharkas. Extract 10.SCR/10.HEP/10.TEX from the RESOURCE.MSG file (instead of the usual RESOURCE.000) in a NON-ENGLISH(!) release. I've tested this with the German, Spanish and French release. The extracted script will work with every version of the game, also the English one. | ||
It activates the following options: | It activates the following options: | ||
Line 556: | Line 469: | ||
===== Game specific: Leisure Suit Larry 6 ===== | ===== Game specific: Leisure Suit Larry 6 ===== | ||
The "magic" script is 911. Extract 911.SCR/911.HEP/911.TEX. Besides giving | The "magic" script is 911. Extract 911.SCR/911.HEP/911.TEX. Besides giving you a "Where to?" dialog at the beginning, it activates the following options: | ||
[ALT + A] - Show cast (information about all objects on screen) | [ALT + A] - Show cast (information about all objects on screen) | ||
Line 623: | Line 534: | ||
===== Game specific: Police Quest (SCI remake) ===== | ===== Game specific: Police Quest (SCI remake) ===== | ||
The "magic" script is 899. Extract 899.SCR/899.HEP/899.TEX. To activate the | The "magic" script is 899. Extract 899.SCR/899.HEP/899.TEX. To activate the debug mode in this case, they should be first renamed to 702.SCR/702.HEP/702.TEX. | ||
It activates the following options: | It activates the following options: | ||
Line 663: | Line 572: | ||
===== Game specific: Quest for Glory (SCI remake) ===== | ===== Game specific: Quest for Glory (SCI remake) ===== | ||
The "magic" script is 298. However, it's not available anymore in the game's | The "magic" script is 298. However, it's not available anymore in the game's resource files. So to activate the debug mode, debug scripts from another game should be used. You can use the script from either Laura Bow 2 or Police Quest (SCI remake). They should be first renamed to 298.SCR/298.HEP/298.TEX. | ||
Now the "Where to?" dialog works, while the remaining functions don't. | Now the "Where to?" dialog works, while the remaining functions don't. Perhaps the scripts used are not fully compatible with this game. | ||
===== Game specific: Space Quest 5 (beta) ===== | ===== Game specific: Space Quest 5 (beta) ===== | ||
The Space Quest series seem to be the major victim of leaked betas at Sierra. | The Space Quest series seem to be the major victim of leaked betas at Sierra. A Space Quest 5 beta version was released by some group, back in 1993. This beta was actually a reviewer's copy, included a script debugger (but no internal debugger) and works just like most of them. | ||
The version in question is version 0.028, it has the following commands: | The version in question is version 0.028, it has the following commands: | ||
Line 694: | Line 595: | ||
===== Game specific: The Dagger of Amon Ra ===== | ===== Game specific: The Dagger of Amon Ra ===== | ||
This probably is the buggiest debug mode, thus not really interesting. What | This probably is the buggiest debug mode, thus not really interesting. What is somewhat interesting though, is that the "magic" script (10), cannot be found in the game's resource files, yet, the script somehow turned up on the web. So download it and copy 10.SCR/10.HEP/10.TEX to the game directory. | ||
It somewhat activates the following options: | It somewhat activates the following options: | ||
Line 741: | Line 639: | ||
=== SCI32 === | === SCI32 === | ||
In the beginning, SCI32 games had the same activation procedure as SCI11 | In the beginning, SCI32 games had the same activation procedure as SCI11 games. In this FAQ, this will be called the "Traditional" method. However, at a certain point, this procedure got replaced by the so-called "CLASSES" method. Both are explained below. | ||
==== Internal Debugger ==== | ==== Internal Debugger ==== | ||
There is currently one SCI32 interpreter known with an internal debugger. | There is currently one SCI32 interpreter known with an internal debugger. It's bundled with a rare Gabriel Knight 2 demo and can be activated by pushing the [`] key, usually above [TAB]. | ||
Options: | Options: | ||
Line 795: | Line 688: | ||
Note that these are case sensitive, so [CAPS LOCK] should be de-activated. | Note that these are case sensitive, so [CAPS LOCK] should be de-activated. | ||
This particular interpreter also support the following command line | This particular interpreter also support the following command line parameters: | ||
-c - Cursor display for resource loading (e.g. -c958 for cursor 958) | -c - Cursor display for resource loading (e.g. -c958 for cursor 958) | ||
Line 809: | Line 701: | ||
==== "Traditional" method ==== | ==== "Traditional" method ==== | ||
The "Traditional" method is the same method as the SCI11 one: It relies on | The "Traditional" method is the same method as the SCI11 one: It relies on extracting scripts from the RESOURCE or RESMAP file. Again, at the time of writing, VAG's SCIResDump is the tool to use. Please refer to its documention on further use. | ||
===== Game specific: Gabriel Knight (CD-ROM version) ===== | ===== Game specific: Gabriel Knight (CD-ROM version) ===== | ||
Line 910: | Line 799: | ||
===== Game specific: Police Quest 4 (CD-ROM version) ===== | ===== Game specific: Police Quest 4 (CD-ROM version) ===== | ||
This isn't exactly the "traditional" method, but it does involve external | This isn't exactly the "traditional" method, but it does involve external scripts. Activate the debug mode by renaming/removing 4.SCR | ||
[ALT + A] - Show cast (information about all objects on screen) | [ALT + A] - Show cast (information about all objects on screen) | ||
Line 985: | Line 873: | ||
==== "CLASSES" method ==== | ==== "CLASSES" method ==== | ||
The later SCI32 games (1995-1997) use the "CLASSES" method. They depend on | The later SCI32 games (1995-1997) use the "CLASSES" method. They depend on a file in the game directory, called "CLASSES". This can be an empty file. It's checked on existance by some code in the script, if found, the debug mode gets activated. "AUTOTP" as an empty file will function too sometimes, however its purpose is not fully clear to me. | ||
Note that the CLASSES file should NOT have an extension (like .txt, etc.) | Note that the CLASSES file should NOT have an extension (like .txt, etc.) | ||
Line 995: | Line 879: | ||
===== Game specific: Gabriel Knight 2 ===== | ===== Game specific: Gabriel Knight 2 ===== | ||
Activate the debug mode usings the "CLASSES" method. Besides giving you a | Activate the debug mode usings the "CLASSES" method. Besides giving you a "Where to?" dialog at the beginning, it activates the following options: | ||
[ALT + A] - Reload room | [ALT + A] - Reload room | ||
Line 1,016: | Line 899: | ||
[SHIFT + /] - Help | [SHIFT + /] - Help | ||
There are some more debug/tester functions in this game. They can be accessed | There are some more debug/tester functions in this game. They can be accessed by teleporting to room 98. This will activate "The Elite Tester V1.0": | ||
[ALT + A] - AVI player * | [ALT + A] - AVI player * | ||
Line 1,073: | Line 955: | ||
===== Game specific: Leisure Suit Larry 7 ===== | ===== Game specific: Leisure Suit Larry 7 ===== | ||
Activate the debug mode usings the "CLASSES" method and when in the game, | Activate the debug mode usings the "CLASSES" method and when in the game, press both SHIFTs and the PLUS key located at the NUMERIC keypad AT ONCE. It activates the following options: | ||
[ALT + A] - Add view | [ALT + A] - Add view | ||
Line 1,117: | Line 997: | ||
===== Game specific: Space Quest 6 ===== | ===== Game specific: Space Quest 6 ===== | ||
Activate the debug mode usings the "CLASSES" method. Besides giving you a | Activate the debug mode usings the "CLASSES" method. Besides giving you a "Where to?" dialog at the beginning, it activates the following options: | ||
[ALT + A] - Show cast (information about all objects on screen) | [ALT + A] - Show cast (information about all objects on screen) | ||
Line 1,141: | Line 1,020: | ||
==== Other method(s) ==== | ==== Other method(s) ==== | ||
One game (currently) hasn't got the usual debug mode. Nevertheless, it's not | One game (currently) hasn't got the usual debug mode. Nevertheless, it's not really an "easter egg" either, so this section was created. | ||
===== Game specific: Leisure Suit Larry 6 (SVGA CD-ROM version) ===== | ===== Game specific: Leisure Suit Larry 6 (SVGA CD-ROM version) ===== | ||
This game has no real debug mode (anymore), but yet it had some leftovers of | This game has no real debug mode (anymore), but yet it had some leftovers of one, which were actually worth to mention. Trigger certain actions by clicking 4 times with the "hand icon" on the following list of objects: | ||
FRONT DESK LOBBY: | FRONT DESK LOBBY: | ||
Line 1,160: | Line 1,036: | ||
HALL WITH ELEVATOR: | HALL WITH ELEVATOR: | ||
Plant above elevator - Shablee has the gown and gives Larry the condom and | Plant above elevator - Shablee has the gown and gives Larry the condom and champagne | ||
LARRY'S ROOM: | LARRY'S ROOM: | ||
Line 1,170: | Line 1,045: | ||
LARRY'S TOILET: | LARRY'S TOILET: | ||
Towel rack - Gives the towel, toilet cover, toilet paper, hand | Towel rack - Gives the towel, toilet cover, toilet paper, hand creme, brochure and the wash cloth. | ||
STAIRS LEADING TO BEACH: | STAIRS LEADING TO BEACH: | ||
Line 1,179: | Line 1,053: | ||
PART OF THE LOBBY WITH SWIMMING POOL ENTRANCE TO THE NORTH: | PART OF THE LOBBY WITH SWIMMING POOL ENTRANCE TO THE NORTH: | ||
Right sculpture - Gives the swim suit, your room key and the inflatable | Right sculpture - Gives the swim suit, your room key and the inflatable beaver | ||
END OF THE LOBBY (TO THE EAST): | END OF THE LOBBY (TO THE EAST): | ||
Line 1,193: | Line 1,066: | ||
Interesting fact: | Interesting fact: | ||
When clicking 4 times on the big tree, to activate the "Shablee sequence", | When clicking 4 times on the big tree, to activate the "Shablee sequence", somehow the debug mode gets activated (sort of), because the game will react to key combinations used in debug. However, being removed, it will terminate the game directly with the error "cannot find 911.hep". Also, clicking 4 times will be reduced to 2 times. | ||
=== Suspected of having a debug mode === | === Suspected of having a debug mode === | ||
The following games have some references to debug options, yet no way found | The following games have some references to debug options, yet no way found to activate them, if they can be activated at all: | ||
EcoQuest: The Search for Cetus | EcoQuest: The Search for Cetus |
edits