We just reached 20,000 articles on this wiki!
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Theme Hospital

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Theme Hospital

Developer: Bullfrog Productions
Publisher: Electronic Arts
Platforms: Windows, DOS
Released internationally: March 1997


DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
RegionIcon.png This game has regional differences.


PrereleaseIcon.png This game has a prerelease article
BugsIcon.png 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.

Sub-Pages

Read about prerelease information and/or media for this game.
Prerelease Info
Read about notable bugs and errors in this game.
Bugs

Level Select

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.


(Source: GameSpot)

Debug Menu

Elementary, my dear Cactus.
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.


(Source: Abandonware Forums thread)
Themehospital-debugmenu.png

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:

Offset Release Build Date Version
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.


(Source: QUFB)

Cheat Leftovers

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:

Keybind String
D TILT!
Shift-C MONEY TILT!
Ctrl-C OBJECTS TILT!
Ctrl-Shift-C OBJECTS POWER TILT!


(Source: QUFB)

Regional Differences

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.