This game has a prerelease article
This game has a bugs page
Theme Hospital is a simulation game in which players build and run a hospital curing patients of comical diseases.
There are two level select methods.
- One is using the hidden cursor on the game board screen to select a level represented by a place on the board (after pressing C). Doing so will take the player straight to that level.
- The other method is running the game with the -l x parameter (where x is the level number). This loads the game with a nickname of HORZA and takes the player directly to that level.
|This needs some investigation.|
Discuss ideas and findings on the talk page.
Specifically: Check if there are other dead code functions related to the debug menu.
Present in lang-0.dat (the English file) is a debug menu which does not appear in-game. The string for the menu heading is at offset 42EA, and its items begin at 4453. This menu and its items appear alongside the normal menus (File, Options, Display, and Charts) and their items. This menu is also present in the other language files, but at different offsets. For example, in lang-1.dat (the French file), the menu heading is at 4143.
The menu consists of the following items:
- OBJECT CELLS
- ENTRY CELLS
- KEEP CLEAR CELLS
- NAV BITS
- REMOVE WALLS
- REMOVE OBJECTS
- DISPLAY PAGER
- MAPWHO CHECKING
- PLANT PAGERS
- PORTER PAGERS
- PIXBUF CELLS
- ENTER NAV DEBUG
- SHOW NAV CELLS
- MACHINE PAGERS
- DISPLAY ROOM STATUS
- DISPLAY BIG CELLS
- SHOW HELP HOTSPOTS
- WIN GAME ANIM
- WIN LEVEL ANIM
- LOSE GAME 1 ANIM
- LOSE GAME 2 ANIM
- LOSE GAME 3 ANIM
- LOSE GAME 4 ANIM
- LOSE GAME 5 ANIM
- LOSE GAME 6 ANIM
- LOSE GAME 7 ANIM
The manual of some versions feature screenshots that show this menu.
The menu can be activated by patching the value 01 in one of the following offsets, which can be identified by the build date and version strings in the corresponding binary:
|0x149F56||DOS Demo||Mar 18 1997||Beta v2.0|
|0xC2DFE||Windows Demo||Mar 10 1997||Beta v2.0|
|0x16C40C||DOS Retail||Mar 07 1997||Beta 4|
|0xC295C||Windows Retail||Mar 07 1997||Beta 4|
|0x16F36E||DOS Retail||May 13 1997||Beta 5|
|0xC43FA||Windows Retail||May 13 1997||Beta 5|
Although most menu entries can be toggled, none of the memory variables set by them have read references. There's a single function associated to the entry ENTER NAV DEBUG, that only contains logic to set an unreferenced cursor mode, which falls back to the default cursor mode, represented by the syringe cursor icon.
In the Demo Beta v2.0 builds, most cheat logic has been stripped out, although some references are still present.
The fax machine screen recognized different codes from the retail builds. In particular, code 656120 has a visual feedback that renders the text (!) at the top-left area of the screen.
The main game screen recognizes some keybinds that call a cheat function that contains no logic, accompanied by some loaded strings that appear to be descriptions of the activated cheats. There's no feedback when the cheats are activated, but they can be verified by running with a debugger and placing breakpoints on each instruction where the following strings are loaded:
|Ctrl-Shift-C||OBJECTS POWER TILT!|
When the game is run in French (this can be changed in Hospital.cfg), a crying sound is played when the player opens a staff resignation message. This does not happen when the game is in English.
The Theme series
|DOS||Theme Park (Prototypes) • Theme Hospital|
|Windows||Theme Hospital • Theme Park World • Theme Park Inc.|
|Mac OS Classic||Theme Park World|
|PlayStation||Theme Aquarium • Theme Park World|