-
-
Save Jither/c9b416aea9c5ac8ee9684500d5005289 to your computer and use it in GitHub Desktop.
Symbols
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
include "./shared.symbols" | |
include "./mm-shared.symbols" | |
game | |
{ | |
; The max actor number of the game goes here. Can be determined by looking at where referenced object numbers start, or referenced actor numbers end. | |
; This is used for determining if an object symbol is actually referencing an actor | |
max-actor = 25 | |
} | |
variables | |
{ | |
selected-actor :Actor = 0 ; Actually, in SCUMM 0-2, this was named selected-kid | |
complex-operand = 1 | |
camera-x :Coordinate = 2 | |
message-going :Boolean = 3 | |
selected-room :Room = 4 | |
override-hit :Boolean = 5 | |
music-playing = 6 ; or machine-speed? (change between Zak and MM) | |
chars-printed = 7 | |
current-verb :Verb = 8 ; current verb being executed | |
current-noun1 :Object = 9 ; current noun1 being executed | |
current-noun2 :Object = 10 ; current noun2 being executed | |
number-actors = 11 | |
current-lights = 12 | |
current-side = 13 ; not used in MM PC | |
indirect1 = 14 ; used for indirect addressing of variables | |
indirect2 = 15 ; not used in MM PC | |
indirect3 = 16 ; not used in MM PC | |
music-flag = 17 ; not used in MM PC | |
legal-verb :Boolean = 18 | |
actor-range-min = 19 | |
actor-range-max = 20 | |
userface-flag = 21 | |
dest-object :Object = 22 | |
camera-min :Coordinate = 23 | |
camera-max :Coordinate = 24 | |
min-jiffies :Number = 25 | |
selected-verb :Verb = 26 ; current verb selected (before it's executed) | |
selected-noun1 :Object = 27 ; current noun1 selected (before it's executed) | |
selected-noun2 :Object = 28 ; current noun2 selected (before it's executed) | |
selected-prep = 29 ; current preposition in sentence | |
cursor-x :Coordinate = 30 | |
cursor-y :Coordinate = 31 | |
touched-zone = 32 | |
touched-verb :Verb = 33 | |
exec-sentence-flag :Boolean = 34 | |
touched-object :Object = 35 | |
real-selected-room :Room = 36 ; not used in MM PC | |
last-sound :Sound = 37 ; not used in MM PC | |
revert-verb :Verb = 38 ; verb to revert to after an action | |
key-hit = 39 | |
override-key = 40 ; I think... | |
; var 44-46 not used | |
kid-forced-on-you :Actor = 47 ; That would be Dave | |
chosen-kid-1 :Actor = 48 | |
chosen-kid-2 :Actor = 49 | |
flashlight-batteries :BatteryStatus = 50 | |
ednas-number-digit-1 = 51 | |
ednas-number-digit-2 = 52 | |
ednas-number-digit-3 = 53 | |
ednas-number-digit-4 = 54 | |
safe-combination-digit-1 = 55 | |
safe-combination-digit-2 = 56 | |
safe-combination-digit-3 = 57 | |
safe-combination-digit-4 = 58 | |
lab-code-digit-1 = 59 | |
lab-code-digit-2 = 60 | |
lab-code-digit-3 = 61 | |
lab-code-digit-4 = 62 | |
correct-digit-1 = 63 | |
correct-digit-2 = 64 | |
correct-digit-3 = 65 | |
correct-digit-4 = 66 | |
failed-keycode :Boolean = 67 | |
entered-digit = 68 | |
entering-keycode = 69 | |
actor1 :Actor = 70 | |
x = 71 | |
y = 72 | |
kid-spotted-by-edna :Actor = 73 | |
called-edna-before :Boolean = 74 | |
called-meteor-police-times = 75 | |
meteor-police-number = 76 | |
meteor-police-number-digit-1 = 77 | |
meteor-police-number-digit-2 = 78 | |
meteor-police-number-digit-3 = 79 | |
meteor-police-number-digit-4 = 80 | |
envelope-unsealed = 81 | |
content-in-envelope = 82 | |
envelope-stamped :Boolean = 83 | |
envelope-opened :Boolean = 84 | |
microwave-content = 85 | |
who-recorded-demo = 86 | |
doorbell-rang-before :Boolean = 87 | |
weird-ed-x = 88 | |
weird-ed-y = 89 | |
weird-ed-dest-x = 90 ; For Ed walking through house | |
weird-ed-dest-y = 91 | |
var-* = 92 ; TODO: 0 = ed hasn't got package, 1 = ed got it, 2 = package waiting at mailbox? | |
showed-plans-to-weird-ed :Boolean = 93 | |
record-on-victrola :Sound = 94 | |
cause-of-death :CauseOfDeath = 95 | |
who-dies :Actor = 96 | |
number-of-dead-kids = 97 | |
food-items-given-to-green = 98 | |
done-feeding-green :Boolean = 99 | |
got-stamps :Boolean = 100 | |
contract-status :ContractStatus = 101 | |
heard-about-greens-depression :Boolean = 102 | |
package-is-being-delivered :Boolean = 103 | |
envelope-is-addressed :Boolean = 104 | |
var-* :Boolean = 105 ; Something to do with green being on second floor | |
var-* :Boolean = 106 | |
; var 107 not in use | |
var-* = 108 | |
foo = 109 ; Likely to be the actual name - this variable is reused a LOT (and for different types) | |
bar = 110 ; Also likely to be the actual name | |
selected = 111 ; Reused variable - for number of selected kids on start menu, selecting keycodes randomly etc. - so "selected" is its likely original name | |
kid-spotted-by-purple :Actor = 112 | |
actor2 :Actor = 113 | |
actor-meeting-green :Actor = 114 | |
dave-is-dead :Boolean = 115 | |
actor3 :Actor = 116 | |
seen-skeleton-before :Boolean = 117 | |
var-* :Boolean = 118 | |
var-* = 119 | |
var-* :Boolean = 120 | |
var-* = 121 | |
var-* = 122 | |
current-object :Object = 123 ; Used as "argument" from a couple of verb scripts to global scripts to indicate the object being interacted with | |
saveload-status = 124 | |
var-* :Boolean = 125 | |
var-* :Boolean = 126 | |
room-to-check :Room = 127 ; "Argument" to is-room-vacant (script-138) | |
var-* :Boolean = 128 | |
var-* :Boolean = 129 | |
safe-opened-before :Boolean = 130 | |
var-* :Boolean = 131 | |
fred-wants-hamster-scheduled :Boolean = 132 | |
library-right-lamp-on :Boolean = 133 | |
library-left-lamp-on :Boolean = 134 | |
var-* :Boolean = 135 | |
var-* :Boolean = 136 | |
var-* :Room = 137 | |
entered-house :Boolean = 138 | |
actor-holding-door :Actor = 139 | |
actor-holding-door-x = 140 | |
actor-holding-door-y = 141 | |
flashlight-battery-life = 142 | |
weird-ed-downstairs-reason :DownstairsReason = 143 | |
first-time-opened-refrigerator:Boolean = 144 | |
; 145-149 not in use | |
var-* :Boolean = 150 | |
var-* :Boolean = 151 | |
garage-is-ruined :Boolean = 152 | |
green-got-recording-contract :Boolean = 153 | |
var-* :Boolean = 154 | |
develop-film-step = 155 | |
flashlight-on :Boolean = 156 | |
tape-content :Sound = 157 | |
; 158-159 not in use | |
memoir-quality :MemoirQuality = 160 | |
edna-on-phone :Boolean = 161 | |
meteor-status :MeteorStatus = 162 | |
; 163 not in use | |
telescope-position = 164 | |
pulling-shower-curtain :Boolean = 165 | |
glass-jar-content = 166 | |
victrola-playing :Boolean = 167 | |
sponge-content = 168 | |
seen-martian :Boolean = 169 | |
telescope-turns-left = 170 | |
developer-tray-content = 171 | |
ham-radio-on :Boolean = 172 | |
living-room-radio-on :Boolean = 173 | |
plant-status = 174 | |
meteor-controls-computer :Boolean = 175 ; Indicates that the player is not allowed to switch kids or save (also used in other places than the end game). | |
; 176-189 unused | |
copycrap-row = 190 | |
copycrap-column = 191 | |
copycrap-attempts = 192 | |
gave-plant-pepsi = 193 | |
; 194 unused | |
copycrap-letter = 195 | |
; 196 unused | |
copycrap-section = 197 | |
} | |
bit-variables | |
{ | |
room-is-dark = 2816 | |
antagonized-weird-ed = 2936 | |
used-hunk-o-matic = 2944 | |
kid-is-busy = 2952 ; Kid is caught and being led to the dungeon - or dead. | |
room-always-lit = 2872 ; Rooms that are outside or in the basement where light isn't affected by power being shut down | |
friends-with-green = 2960 | |
has-seen-marketeer-commercial = 2968 | |
} | |
objects | |
{ | |
record-from-victrola = 30 | |
envelope-in-microwave = 31 | |
mating-calls-record = 32 | |
demo-tape = 33 | |
hamster-in-cage = 34 | |
piggy-bank = 35 | |
dime-1 = 36 | |
dime-2 = 37 | |
dime-3 = 38 | |
door-weird-eds-room-exit = 39 | |
mansion-lights-1 = 40 | |
mansion-lights-2 = 41 | |
mansion-lights-3 = 42 | |
mansion-lights-4 = 43 | |
mansion-lights-5 = 44 | |
meteor-object = 45 | |
mushroom-cloud-1 = 46 | |
mushroom-cloud-2 = 47 | |
mushroom-cloud-3 = 48 | |
mushroom-cloud-4 = 49 | |
; [openable] (and [switchable] and eventually [reversed]) are intended to let the decompiler | |
; know what state names to use for specific objects. | |
; This "mailbox" object shows exactly why the keyword isn't something like [door], but rather [openable]. ;-) | |
mailbox = 50 [openable] | |
mailbox-flag = 51 | |
bushes-left = 52 | |
grating = 53 | |
door-mat = 54 | |
key = 55 | |
film = 56 | |
package = 57 | |
envelope = 58 | |
cement-slab = 59 | |
contract = 60 | |
front-door-ext = 61 [openable] | |
tombstone-1 = 62 | |
tombstone-2 = 63 | |
tombstone-3 = 64 | |
puddle-of-developer = 65 | |
water-walve = 66 | |
front-door-int-left = 67 [openable] | |
door-hall-to-kitchen = 68 [openable] | |
door-hall-to-cellar = 69 [openable] | |
door-hall-to-living-room = 70 [openable] | |
door-living-room-to-hall = 71 [openable] | |
old-fashion-radio = 72 | |
radio-tube = 73 | |
glass-chandelier = 74 | |
broken-chandelier = 75 | |
old-rusty-key = 76 | |
cabinet-door = 77 [openable] | |
window-living-room-left = 78 | |
window-living-room-right = 79 | |
cassette-tape = 80 | |
door-kitchen-to-hall = 81 [openable] | |
door-kitchen-to-dining-room = 82 [openable] | |
jar-of-water = 83 | |
flashlight = 84 | |
microwave-oven = 85 [openable] | |
hamster-in-microwave = 86 | |
exploded-hamster = 87 | |
faucet = 88 | |
refrigerator = 89 [openable] | |
cheese = 90 | |
lettuce = 91 | |
broken-bottles-of-ketchup = 92 | |
can-of-pepsi = 93 | |
chainsaw = 94 | |
door-dining-room-to-kitchen = 95 [openable] | |
old-rotting-turkey = 96 | |
week-old-roast = 97 | |
door-dining-room-to-storage = 98 [openable] | |
door-plant-room-exit = 99 | |
man-eating-plant = 100 | |
paint-blotch = 101 | |
door-with-ladder = 102 [openable] | |
door-ednas-room-exit = 103 [openable] | |
card-key = 104 | |
ednas-phone = 105 | |
crater = 106 | |
small-key = 107 | |
gate = 108 [openable] | |
door-teds-room-exit = 109 [openable] | |
sarcophagus = 110 | |
hunk-o-matic = 111 | |
door-to-bathroom = 112 | |
door-bathroom-exit = 113 [openable] | |
toilet-lid = 114 | |
shower-curtain-1 = 115 | |
shower-curtain-2 = 116 | |
shower-curtain-3 = 117 | |
water-faucet = 118 | |
ednas-number-1 = 119 | |
ednas-number-2 = 120 | |
ednas-number-3 = 121 | |
ednas-number-4 = 122 | |
sponge = 123 | |
door-storage-to-dining-room = 124 [openable] | |
door-to-pool = 125 [openable] | |
door-to-library = 126 [openable] | |
bottle-of-developer = 127 | |
tentacle-chow = 128 | |
canned-goods = 129 | |
fruit-drinks = 130 | |
storage-floor-grate = 131 | |
glass-jar = 132 | |
old-batteries = 133 | |
rocket-engine-glow-left = 134 | |
door-library-exit = 135 [openable] | |
library-phone = 136 | |
door-pool-to-storage = 137 [openable] | |
gate-pool-to-garage = 138 [openable] | |
swimming-pool = 139 | |
radio = 140 | |
glowing-key = 141 | |
radio-at-pool-bottom = 142 | |
gate-garage-to-pool = 143 [openable] | |
garage-door-1 = 144 | |
garage-door-2 = 145 | |
garage-door-3 = 146 | |
garage-door-4 = 147 | |
garage-door-5 = 148 | |
garage-door-6 = 149 | |
garage-door-7 = 150 | |
trunk = 151 [openable] | |
tools = 152 | |
water-faucet-handle = 153 | |
stairs-cellar-exit = 154 | |
door-to-dungeon = 155 [openable] | |
fuse-box = 156 | |
circuit-breakers = 157 | |
silver-key = 158 | |
door-dungeon-exit = 159 [openable] | |
outer-lab-door = 160 [openable] | |
top-padlock = 161 | |
bottom-padlock = 162 | |
inner-lab-door = 163 [openable] | |
mondo-stereo = 164 | |
stamps = 165 | |
lab-door-left = 166 [openable] | |
batteries = 167 | |
lab-door-right = 168 [openable] | |
door-zom-b-matic-exit = 169 [openable] | |
locker = 170 | |
pool-ladder-bottom = 171 | |
pool-ladder = 172 | |
safe-combination-1 = 173 | |
safe-combination-2 = 174 | |
safe-combination-3 = 175 | |
meteor-room-switch = 176 | |
door-meteor-room-right = 177 [openable] | |
cold-can-of-pepsi = 178 | |
stairs-to-hall = 179 | |
door-to-painting-room = 180 [openable] | |
door-to-music-room = 181 [openable] | |
steel-security-door = 182 [openable] | |
painting-of-fred = 183 | |
painting-of-edna = 184 | |
door-music-room-exit = 185 [openable] | |
rocket-engine-glow-right = 186 | |
vase-on-piano = 187 | |
old-record = 188 ; On crate in music room | |
cassette-tape-in-library = 189 | |
tv-in-music-room = 190 [switchable] | |
cassette-recorder = 191 | |
cassette-tape-in-music-room = 192 | |
door-statue-room-to-hall = 193 [openable] | |
stairs-to-second-floor = 194 | |
door-to-medical-lab = 195 [openable] | |
door-to-arcade = 196 [openable] | |
door-painting-room-exit = 197 [openable] | |
bowl-of-wax-fruit = 198 | |
paint-brush = 199 | |
paint-remover = 200 | |
door-arcade-exit = 201 [openable] | |
video-fever-screen = 202 [switchable] ; These objects encompass the screen of each game (and graphics for it) | |
disco-crazy-screen = 203 [switchable] | |
alien-slime-screen = 204 [switchable] | |
die-enemy-die-screen = 205 [switchable] | |
meteor-mess-screen = 206 [switchable] | |
kill-thrill-screen = 207 [switchable] | |
door-medical-lab-exit = 208 [openable] | |
desk-drawer = 209 | |
manuscript = 210 | |
dime-in-freds-room = 211 | |
radio-tube-in-freds-room = 212 | |
hatch-greens-room = 213 | |
badge = 214 | |
yellow-key = 215 | |
cassette-tape-in-greens-room = 216 | |
hatch-safe-room = 217 | |
painting-covering-safe = 218 | |
wall-safe = 219 [openable] | |
safe-combination-4 = 220 | |
quarter-in-safe = 221 | |
sealed-envelope-in-safe = 222 | |
hatch-in-boarded-up-room = 223 | |
meteor-police-vessel = 224 | |
cut-wires = 225 | |
martian-left-arm = 226 ; My left | |
martian-right-arm = 227 | |
cassette-player = 228 | |
door-to-second-floor = 229 [openable] | |
stairs-hall = 230 | |
ednas-ladder = 231 | |
hatch-to-observatory = 232 | |
water = 233 | |
crawl-space-grate = 234 | |
freds-ladder = 235 | |
coin-box-1 = 236 ; a coin box in each arcade game | |
coin-box-2 = 237 | |
coin-box-3 = 238 | |
coin-box-4 = 239 | |
coin-box-5 = 240 | |
coin-box-6 = 241 | |
quarter-1 = 242 ; a quarter in each coin box | |
quarter-2 = 243 | |
quarter-3 = 244 | |
quarter-4 = 245 | |
quarter-5 = 246 | |
quarter-6 = 247 | |
freds-hiscore-1 = 248 | |
freds-hiscore-2 = 249 | |
freds-hiscore-3 = 250 | |
freds-hiscore-4 = 251 | |
hole-in-floor = 252 | |
bathroom-sink = 253 | |
loose-panel = 254 | |
door-to-meteor-room = 255 [openable] | |
ednas-number-0 = 256 | |
exit-mansion-ext-right = 257 | |
exit-mansion-gate-left = 258 | |
marketeer-office-window = 259 | |
select-syd = 260 ; buttons in start menu | |
select-razor = 261 | |
select-michael = 262 | |
select-bernard = 263 | |
select-wendy = 264 | |
select-jeff = 265 | |
marketeer-address-blink = 266 | |
door-meteor-room-left = 267 [openable] | |
meteor-in-trunk = 268 | |
radiation-suit = 269 | |
pennant = 270 | |
fighter-jet-model = 271 | |
x-wing-model = 272 | |
strategic-commando-chart = 273 | |
weird-eds-bed = 274 | |
weird-eds-window = 275 | |
mailbox-open = 276 | |
bushes-right = 277 | |
mansion-gate-sign = 278 | |
shower-curtain-4 = 279 | |
floor-grating = 280 | |
license-plate = 281 | |
grandfather-clock = 282 | |
vase-hall-right = 283 | |
vase-hall-left = 284 | |
empty-pool-ladder = 285 | |
couch = 286 | |
left-of-room = 287 ; in Mark E. Teer's office | |
red-button = 288 | |
kitchen-window = 289 | |
very-dull-knives = 290 | |
stove = 291 | |
blood = 292 | |
dining-chair-left = 293 | |
dining-chair-right = 294 | |
candle-left = 295 | |
candle-middle = 296 | |
candle-right = 297 | |
dining-room-lamp = 298 | |
key-asterisk = 299 | |
key-0 = 300 | |
key-hash = 301 | |
fireplace = 302 | |
family-portrait = 303 | |
pot-for-plant = 304 | |
light-in-safe-room = 305 | |
ednas-desk = 306 | |
ednas-cracked-mirror = 307 | |
ceiling-mirror = 308 | |
ceiling-lamp = 309 | |
ednas-bed = 310 | |
picture-of-dr-fred = 311 | |
corridor-plant-left = 312 | |
night-stand = 313 | |
ednas-plant = 314 | |
corridor-plant-middle = 315 | |
teds-tv = 316 | |
teds-pillow = 317 | |
playboy-calendar = 318 | |
mummy-poster = 319 | |
surplus-body-parts = 320 | |
cracked-mirror-bathroom = 321 | |
corridor-plant-right = 322 | |
toilet = 323 | |
pull-chain = 324 | |
bathroom-window = 325 | |
shelves = 326 | |
lamp-right = 327 | |
lamp-left = 328 | |
staircase = 329 | |
chuck-the-plant = 330 | |
chair-in-library = 331 | |
front-door-int-right = 332 | |
pool-chair = 333 | |
old-tree = 334 | |
light-switch = 335 | |
pool-chair-bottom = 336 | |
drain = 337 | |
exposed-cooling-rods = 338 | |
pool-slime = 339 | |
weird-edsel = 340 | |
rocket-engine-left = 341 | |
rocket-engine-right = 342 | |
rear-window-sign = 343 | |
bumper-sticker = 344 | |
shelf = 345 | |
cellar-slime = 346 | |
furnace = 347 | |
nuclear-reactor = 348 | |
skeleton = 349 | |
barred-window-left = 350 | |
gargoyle-right = 351 | |
barred-window-right = 352 | |
gargoyle-left = 353 | |
candle-holder = 354 | |
reactor-control-panel = 355 | |
periscope = 356 | |
pepsi-machine = 357 | |
zom-b-matic = 358 | |
zom-b-matic-left-spot = 359 | |
zom-b-matic-right-spot = 360 | |
purple-slime = 361 | |
wall-lamp = 362 | |
; 363 not in use | |
piano-bench = 364 | |
piano = 365 | |
victrola = 366 | |
speaker = 367 | |
statue = 368 | |
plaque-on-statue = 369 | |
easel = 370 | |
unfinished-painting = 371 | |
crate = 372 | |
dried-purple-slime = 373 | |
sketch = 374 | |
air-hockey-table = 375 | |
star-wars-poster = 376 | |
mail-a-med-diploma = 377 | |
docs-r-us-diploma = 378 | |
desk-lamp = 379 | |
medical-lab-desk = 380 | |
black-board = 381 | |
examination-table = 382 | |
real-skeleton = 383 | |
medical-diagram = 384 | |
medical-cabinet = 385 | |
lovely-plant = 386 | |
window-second-floor-right = 387 | |
window-second-floor-middle = 388 | |
window-second-floor-left = 389 | |
enlarger = 390 | |
developer-tray = 391 | |
dark-room-desk = 392 | |
file-drawers = 393 | |
doorbell = 394 | |
select-dave = 395 ; button in start-menu | |
picture-of-edna = 396 | |
wanted-poster = 397 | |
tube-socket = 398 | |
ham-radio = 399 | |
freds-bed = 400 | |
left-speaker = 401 | |
right-speaker = 402 | |
start-game = 403 ; button in start menu | |
ron-poster = 404 | |
disco-sucks-poster = 405 | |
greens-bed = 406 | |
boarded-up-window = 407 | |
light-in-boarded-up-room = 408 | |
astronomy-chart = 409 | |
telescope-control-panel = 410 | |
left-telescope-button = 411 | |
right-telescope-button = 412 | |
telescope = 413 | |
coin-slot = 414 | |
card-slot = 415 | |
typewriter = 416 | |
typewriter-desk = 417 | |
less-man-eating-plant = 418 | |
medical-chart = 419 | |
red-light = 420 | |
scrawled-number = 421 | |
wires = 422 | |
map-of-house = 423 | |
zom-b-matic-control-panel = 424 | |
zom-button-1 = 425 | |
zom-button-2 = 426 | |
zom-button-3 = 427 | |
zom-button-4 = 428 | |
key-1 = 429 | |
key-2 = 430 | |
key-3 = 431 | |
key-4 = 432 | |
key-5 = 433 | |
key-6 = 434 | |
key-7 = 435 | |
key-8 = 436 | |
key-9 = 437 | |
video-fever-game = 438 ; These graphic-less objects encompass the entire arcade machine | |
disco-crazy-game = 439 | |
alien-slime-game = 440 | |
die-enemy-die-game = 441 | |
meteor-mess-game = 442 | |
kill-thrill-game = 443 | |
perfume = 444 | |
heart-shaped-pillow = 445 | |
picture-from-greens-mom = 446 | |
out-of-order-sign = 447 | |
gravy-stain = 448 | |
save-game-button = 449 | |
load-game-button = 450 | |
continue-button = 451 | |
key-in-chandelier = 452 | |
loose-brick = 453 | |
grandfather-clock-tick = 454 | |
grandfather-clock-tock = 455 | |
stairs-second-to-first-floor = 456 | |
stairs-second-to-third-floor = 457 | |
door-to-dark-room = 458 [openable] | |
door-to-second-floor = 459 [openable] | |
door-to-freds-room = 460 [openable] | |
door-to-ednas-room = 461 [openable] | |
door-to-weird-eds-room = 462 [openable] | |
door-to-teds-room = 463 [openable] | |
door-to-plant-room = 464 [openable] | |
door-freds-room-exit = 465 [openable] | |
; 466-499 not in use | |
keypad = 500 | |
warning-sign = 501 | |
; 502-519 not in use | |
symbol-key-0 = 520 | |
symbol-key-1 = 521 | |
symbol-key-2 = 522 | |
symbol-key-3 = 523 | |
symbol-key-4 = 524 | |
symbol-key-5 = 525 | |
symbol-key-6 = 526 | |
symbol-key-7 = 527 | |
symbol-key-8 = 528 | |
symbol-key-9 = 529 | |
symbol-key-10 = 530 | |
symbol-key-11 = 531 | |
; 532-539 not in use | |
keypad-in-statue-room = 540 | |
} | |
scripts | |
{ | |
boot-script = 1 | |
sentence = 2 | |
default-responses = 3 | |
build-sentence = 4 | |
empty-script-5 = 5 | |
; script 6-8 not in use | |
demo = 9 | |
open-door = 10 | |
close-door = 11 | |
open-garage-door = 14 | |
read-memoir = 15 | |
revise-memoir = 16 | |
microwave-hamster = 17 | |
reveal-ted = 18 | |
let-ted-have-his-privacy = 19 | |
play-mating-call-in-music-room = 20 | |
play-mating-call-in-living-room = 21 | |
look-through-telescope = 23 | |
grandfather-clock-tick-tock = 24 | |
turn-on-arcade-game = 25 | |
turn-off-arcade-game = 26 | |
play-meteor-mess = 27 | |
play-arcade-game = 28 | |
use-hunk-o-matic = 29 | |
dial-phone-number = 30 | |
phone-ringing = 31 | |
sorry-wrong-number = 32 | |
hang-up-phone = 33 | |
hang-up-when-leaving-phone = 34 | |
edna-answers-phone = 35 | |
caught-by-edna = 37 | |
call-meteor-police = 41 | |
call-meteor-police-success = 42 | |
meteor-police-arrives = 43 | |
enter-keycode = 44 | |
open-wall-safe = 45 | |
enter-lab-door-keycode = 46 | |
fred-reacts-to-power-shut-down = 47 | |
purple-patrol = 48 | |
purple-chases-kid = 49 | |
; script 50 unused | |
green-roaming-second-floor = 51 | |
plant-burp = 52 | |
read-wanted-poster = 53 | |
grow-plant = 54 | |
update-room-light = 55 | |
close-dungeon-exit = 56 | |
play-cricket-sound = 57 ; empty loop in this version, but that's what it's for | |
start-microwave = 58 | |
use-item-in-microwave = 59 | |
wait-a-minute = 60 | |
kill-a-kid = 61 | |
game-over = 62 | |
win-game = 63 | |
turned-off-response = 64 | |
machine-locked-response = 65 | |
require-special-key-response = 66 | |
firmly-attached-response = 67 | |
door-closed-response = 68 | |
door-locked-response = 69 | |
too-heavy-response = 70 | |
cant-unlock-response = 71 | |
; script 72 unused | |
its-empty-response = 73 | |
turn-on-microwave = 74 | |
drain-or-fill-pool = 75 | |
open-film = 76 | |
develop-prints = 77 | |
use-water-faucet = 78 | |
update-jar-name = 79 | |
update-sponge-name = 80 | |
update-jar-and-env-name = 81 | |
update-flashlight-name = 82 | |
update-developer-tray-name = 83 | |
update-envelope-name = 84 | |
open-envelope = 85 | |
use-envelope = 86 | |
send-weird-ed-downstairs = 87 | |
weird-ed-chases-kid = 88 | |
weird-ed-in-dungeon = 89 | |
thank-kid-for-delivery = 90 | |
give-package-to-weird-ed = 92 | |
give-film-to-weird-ed = 93 | |
give-hamster = 94 | |
weird-ed-picks-up-package = 95 ; ... if it's still there... | |
hatching-plan-with-weird-ed = 96 | |
impatient-doorbell-ringing = 97 ; If the player rings the doorbell again while Ed is going downstairs for his package | |
send-weird-ed-to-his-room = 98 | |
weird-ed-helps-with-purple = 99 | |
play-piano = 100 | |
schedule-fred-playing-meteor-mess = 101 | |
generate-lab-code = 102 | |
give-food = 103 ; Yes, this includes exploded rodents | |
give-drink = 104 | |
deliver-envelope = 105 | |
marketeer-reacts-to-envelope-contents = 106 | |
give-tape-to-green = 107 | |
green-is-so-depressed = 108 | |
play-tape = 109 | |
give-contract = 110 | |
schedule-package-delivery = 111 | |
marketeer-commercial = 112 | |
use-typewriter = 113 | |
select-kid = 114 | |
green-helps-with-purple = 115 | |
touch-stuff-in-weird-eds-room = 116 | |
purple-guards-lab = 117 | |
give-contract-to-meteor = 118 | |
show-contract-to-purple = 119 | |
opening = 120 | |
script-* = 121 ; Another open door script... | |
script-* = 122 ; Another close door script... | |
countdown = 123 | |
talkshow-ending = 124 | |
fred-arms-self-destruct = 125 | |
disable-mind-control = 126 | |
fred-paces = 127 | |
meteor-shoots-radiation-waves = 128 | |
sandy-wiggling = 129 ; I think. This keeps a chore running every second if the player isn't moving. It's likely the same "wiggling" chore as seen on C64? | |
send-car-to-space = 130 | |
arrival-at-mansion = 131 | |
read-contract = 132 | |
update-saveload-message = 133 | |
script-* = 134 ; Some chore on loop while carrying meteor | |
opening-meteor-fall = 135 | |
dispatch-meteor-police = 136 | |
open-dungeon-exit = 137 | |
is-room-vacant = 138 ; Sets result (var-128) to 0 if no kids (main actors) are in the room | |
schedule-ed-is-worried = 139 | |
ed-is-worried = 140 ; The One Where Weird Ed has been noticing things... | |
schedule-fred-talks-to-edna = 141 | |
fred-talks-to-edna = 142 ; The One Where Fred notifies Edna about upcoming power shut down | |
power-shut-down = 143 | |
schedule-fred-wants-hamster = 144 | |
fred-wants-hamster = 145 ; The One Where Fred... erm, the meteor, wants to borrow Weird Ed's hamster | |
get-kid-position-in-dungeon = 146 | |
enter-zom-b-matic-room = 147 | |
meanwhile-in-lab-1 = 148 ; The One Where Fred talks to Sandy | |
hold-cellar-door-open = 149 | |
check-flashlight = 150 | |
weird-ed-in-kitchen = 151 | |
script-* = 152 | |
spotted-by-edna-in-kitchen = 153 | |
empty-script = 154 | |
meanwhile-in-lab-2 = 155 ; The One Where the machine is ready | |
schedule-meanwhile-in-lab-2 = 156 | |
give-badge-to-purple = 157 | |
script-* = 158 | |
green-follows-kid = 159 | |
script-* = 162 | |
setup-verbs = 164 | |
setup-verbs-new-kid = 165 | |
bernard-tampers-with-copycrap = 166 | |
calculate-copycrap = 167 | |
keep-security-door-closed = 168 | |
demo-dr-fred-paces = 169 | |
demo-lab-scene = 170 | |
demo-sandy-examines-books = 171 | |
demo-purple-follows-sandy = 172 | |
demo-review-quotes = 173 | |
demo-opening = 175 | |
} | |
; ******************************************************************************************** | |
; shared.symbols - an included file with all the annotations shared between (mostly) all games | |
; ******************************************************************************************** | |
; The owner-of commands have some reserved values: 0, 14 and 15 for SCUMM 0-6; 0, 254 and 255 for SCUMM 7-8 | |
; These defines are used when the argument to owner-of - or the result of the owner-of function - is | |
; one of these values. Otherwise, actor defines are used. | |
owners | |
{ | |
nuked = 0 | |
nobody = 14 | |
in-the-room = 15 | |
} | |
verbs | |
{ | |
default-verb = 255 | |
} | |
states | |
{ | |
OFF = 0 | |
ON = 1 | |
; The additional state names would eventually have some annotation like | |
; CLOSED = 0 when openable | |
; - with [openable] being defined per object as seen further up. | |
} | |
classes | |
{ | |
UNSET = 0 | |
UNPICKUPABLE = 1 | |
PICKUPABLE = 0x81 | |
TOUCHABLE = 2 ; touchable is the default - hence "off" | |
UNTOUCHABLE = 0x82 | |
UNLOCKED = 3 | |
LOCKED = 0x83 | |
} | |
booleans | |
{ | |
false = 0 | |
true = 1 | |
} | |
chores | |
{ | |
face-left = 244 | |
face-right = 245 | |
face-front = 246 | |
face-back = 247 | |
turn-left = 248 | |
turn-right = 249 | |
turn-front = 250 | |
turn-back = 251 | |
stop-walking = 252 | |
} | |
colors | |
{ | |
black = 0 | |
blue = 1 | |
green = 2 | |
cyan = 3 | |
red = 4 | |
magenta = 5 ; this was also often defined as purple | |
brown = 6 | |
light-grey = 7 | |
dark-grey = 8 | |
light-blue = 9 | |
light-green = 10 | |
light-cyan = 11 | |
light-red = 12 ; this was also often defined as peach and/or orange | |
light-magenta = 13 ; this was also often defined as light-purple | |
yellow = 14 | |
white = 15 | |
} | |
; *************************************************************************************** | |
; mm-shared.symbols - an included file with all the annotations shared between C64 and PC | |
; *************************************************************************************** | |
; These "type" annotations are used to define names for numeric values that likely had a | |
; defined name in the original scripts. The type name is used above to let the decompiler | |
; know what names to use when comparing to or assigning specific variables. | |
type DownstairsReason | |
{ | |
doorbell = 1 | |
hungry = 2 | |
} | |
type MemoirQuality | |
{ | |
unrevised = 0 | |
bad-revision = 1 ; revised by anyone not Wendy | |
good-revision = 2 ; revised by Wendy | |
} | |
type BatteryStatus | |
{ | |
dead-batteries = 0 | |
old-batteries = 1 | |
new-batteries = 2 | |
} | |
type ContractStatus | |
{ | |
unsigned = 0 | |
signed-meteor = 1 | |
signed-kid = 2 | |
signed-green = 3 | |
shown-to-meteor = 4 | |
} | |
type MeteorStatus | |
{ | |
in-lab = 0 | |
with-kid = 1 | |
in-trunk = 2 | |
arrested = 3 | |
} | |
type CauseOfDeath | |
{ | |
radioactive-steam = 1 | |
drowning-in-pool = 2 | |
ed-seeing-hamster = 3 | |
death-by-tentacle = 4 | |
flesh-eating-plant = 6 | |
} | |
rooms | |
{ | |
mansion-exterior = 1 | |
bottom-of-pool = 2 | |
living-room = 3 | |
dungeon = 4 | |
library = 5 | |
pool = 6 | |
kitchen = 7 | |
cellar = 8 | |
safe-room = 9 | |
hall = 10 | |
first-floor = 11 ; upstairs from the hall | |
second-floor = 12 ; where you first meet Green | |
statue-room = 13 | |
painting-room = 14 ; where Fred tried to paint the meteor | |
boarded-up-room = 15 ; with the cut wire to the arcade | |
garage = 16 | |
music-room = 17 | |
arcade = 18 | |
ednas-room = 19 | |
greens-room = 20 | |
freds-room = 21 | |
medical-lab = 22 | |
dark-room = 23 | |
bathroom = 24 | |
teds-room = 25 | |
weird-eds-room = 26 | |
plant-room = 27 | |
observatory = 28 | |
crawl-space = 29 | |
zom-b-matic-room = 30 | |
lab = 31 | |
the-moon = 32 | |
mansion-panorama = 33 | |
periscope-view = 34 | |
telescope-view = 35 | |
storage-room = 36 | |
dining-room = 37 | |
third-floor = 38 ; corridor of family bedrooms | |
hiscore = 39 | |
tv-screen = 40 | |
marketeer-office = 41 | |
talkshow = 42 | |
keypad-room = 43 | |
mansion-gate = 44 | |
boot = 45 | |
mansion-roof = 46 | |
mansion-from-afar = 47 | |
car-in-space = 48 | |
maniac-mansion-logo = 49 | |
save-load = 50 | |
meteor-room = 51 | |
garage-ruin = 52 | |
} | |
actors | |
{ | |
syd = 1 | |
razor = 2 | |
dave = 3 | |
michael = 4 | |
bernard = 5 | |
wendy = 6 | |
jeff = 7 | |
; Here's an example of how "aliases" are defined - this is used by the decompiler | |
; to determine if it should use kid-in-radiation-suit or end-kids based on the context. | |
kid-in-radiation-suit = 8 | |
end-kids = 8 when operator is comparison | |
dr-fred = 9 | |
nurse-edna = 10 | |
weird-ed = 11 | |
dead-cousin-ted = 12 | |
purple-tentacle = 13 | |
green-tentacle = 14 | |
meteor-police-officer = 15 | |
meteor = 16 | |
marketeer = 17 | |
talkshow-host = 18 | |
plant = 19 | |
radiation-wave = 20 | |
car = 21 | |
falling-meteor = 22 | |
sandy = 23 | |
} | |
costumes | |
{ | |
syd-costume = 1 | |
razor-costume = 2 | |
dave-costume = 3 | |
michael-costume = 4 | |
bernard-costume = 5 | |
wendy-costume = 6 | |
jeff-costume = 7 | |
dr-fred-costume = 9 | |
nurse-edna-costume = 10 | |
weird-ed-costume = 11 | |
dead-cousin-ted-costume = 12 | |
purple-tentacle-costume = 13 | |
green-tentacle-costume = 14 | |
meteor-police-costume = 15 | |
meteor-costume = 16 | |
marketeer-costume = 17 | |
talkshow-host-costume = 18 | |
plant-costume = 19 | |
car-costume = 21 | |
falling-meteor-costume = 22 | |
sandy-costume = 23 | |
} | |
sounds | |
{ | |
unused-sound-* = 1 ; Unused sound (including on C64) loaded in mansion exterior rooms | |
unused-sound-* = 2 ; Unused sound (including on C64) loaded in music room | |
unused-sound-* = 3 ; Unused sound (including on C64) loaded in bathroom | |
unused-sound-* = 4 ; Unused sound (including on C64) loaded in storage room | |
unused-sound-* = 5 ; Unused sound (including on C64) loaded in mansion exterior | |
footstep-sound = 6 | |
flush-sound = 7 | |
open-door-sound = 8 | |
close-door-sound = 9 | |
shatter-sound = 10 | |
coin-spent-sound = 11 ; Probably - started when playing an arcade game | |
switch-sound = 12 | |
security-door-open-sound = 13 | |
microwave-bing-sound = 14 | |
whirr-sound = 15 ; Used for both microwave and telescope rotating | |
splat-sound = 16 | |
faucet-sound = 17 | |
shower-sound = 18 | |
button-beep-sound = 19 | |
radio-sound-1 = 20 | |
phone-dial-tone = 21 | |
wrong-number-tone = 22 | |
ednas-phone-ringing-tone = 23 | |
library-phone-ringing-tone = 24 | |
tentacle-mating-call = 25 | |
break-glass-sound = 26 | |
alert-sound = 27 | |
tick-tock-sound = 28 | |
radio-sound-2 = 29 | |
hunk-o-matic-up-sound = 30 | |
hunk-o-matic-down-sound = 31 | |
radiation-sound = 32 ; Played when at bottom of pool with circuit-breakers engaged | |
alarm-sound = 33 ; Used for meltdown alarm and copy protection failure | |
shower-curtain-sound = 34 | |
meteor-mess-sound = 35 | |
tentacle-collision-sound = 36 | |
meteor-police-incoming-sound = 37 | |
cricket-sound = 38 | |
doorbell-sound = 39 | |
garage-door-sound = 40 | |
develop-film-sound = 41 | |
dungeon-door-close-sound = 42 | |
pool-walve-turn-sound = 43 | |
old-record-sound = 44 | |
typewriter-sound = 45 | |
unused-sound-* = 46 ; Unused sound (including on C64) loaded in boot | |
mating-call-on-tape-sound = 47 | |
old-record-on-tape-sound = 48 | |
kid-recording-on-tape-sound = 49 | |
kid-recording-sound = 50 | |
greens-song-on-tape = 51 ; Unused on PC (end-theme used instead) | |
greens-song = 52 ; Unused on PC (end-theme used instead) | |
window-shatter-sound = 53 | |
button-press-sound = 54 | |
end-theme = 55 | |
meteor-falling-sound = 56 ; Unused on PC | |
boom-sound = 57 | |
maniac-mansion-theme = 58 | |
mind-control-sound = 59 | |
countdown-alert-sound = 60 | |
mind-control-off-sound = 61 | |
radiation-wave-sound = 62 | |
tentacle-hop-sound = 63 | |
rocket-engine-sound = 64 | |
lift-off-sound = 65 | |
meteor-shout-sound = 66 ; Maybe? Plays over the talk sound when giving him his contract, plays alone when it's not his contract | |
meteor-talk-sound = 67 | |
drop-meteor-in-trunk-sound = 68 | |
meltdown-explosion-sound = 69 | |
} | |
verbs | |
{ | |
open = 1 | |
close = 2 | |
give = 3 | |
turn-on = 4 | |
turn-off = 5 | |
fix = 6 | |
new-kid = 7 | |
unlock = 8 | |
push = 9 | |
pull = 10 | |
use = 11 | |
read = 12 | |
walk-to = 13 | |
pick-up = 14 | |
what-is = 15 | |
lock = 16 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment