22 #ifndef SWORD1_SWORDDEFS_H 23 #define SWORD1_SWORDDEFS_H 25 #include "common/scummsys.h" 30 #define DEFAULT_FRAME_TIME 80 // 80ms, for exactly 12.5Hz 31 #define FAST_FRAME_TIME 10 // 10ms, for 100Hz 32 #define SLOW_FRAME_TIME 500 // 500ms, for 2Hz 33 #define PAUSE_FRAME_RATE 12 // This frame time is only used in fnPauseSeconds(), like for the original 34 #define TIMER_RATE 100 35 #define TIMER_USEC 1000000 / TIMER_RATE 36 #define PALETTE_FADE_RATE 60 37 #define PALETTE_FADE_USEC 16667 38 #define SCREEN_WIDTH 640 39 #define SCREEN_DEPTH 400 40 #define SCREEN_FULL_DEPTH 480 // Including top and bottom 40+40 px spaces for menu bars 41 #define SCREEN_LEFT_EDGE 128 42 #define SCREEN_RIGHT_EDGE (128+SCREEN_WIDTH-1) 43 #define SCREEN_TOP_EDGE 128 44 #define SCREEN_BOTTOM_EDGE (128+SCREEN_DEPTH-1) 48 #define TYPE_NON_MEGA 4 58 #define STAT_SHRINK 64 59 #define STAT_BOOKMARK 128 60 #define STAT_TALK_WAIT 256 61 #define STAT_OVERRIDE 512 64 #define LOGIC_script 1 65 #define LOGIC_AR_animate 2 66 #define LOGIC_interaction 3 67 #define LOGIC_speech 4 68 #define LOGIC_full_anim 5 71 #define LOGIC_wait_for_sync 8 73 #define LOGIC_restart 10 74 #define LOGIC_bookmark 11 75 #define LOGIC_wait_for_talk 12 76 #define LOGIC_start_talk 13 77 #define LOGIC_choose 14 78 #define LOGIC_new_script 15 79 #define LOGIC_pause_for_event 16 86 #define TOTAL_pockets 52 87 #define TOTAL_subjects (375-256+1) 88 #define BASE_SUBJECT 256 90 #define TOTAL_SECTIONS 150 //number of sections, rooms + mega sections 91 #define TOTAL_ROOMS 100 //total number of rooms 92 #define ITM_PER_SEC 0x10000 //65536 items per section -> was originally called "SIZE" 93 #define ITM_ID 0xFFFF //& with this -> originally "NuSIZE" 95 #define MAX_text_obs 2 //text compacts 96 #define TEXT_sect 149 //text compacts exist in section 149, probably after all the megas 98 #include "common/pack-start.h" 105 uint32 decomp_length;
109 uint8 runTimeComp[4];
144 uint32 spriteOffset[2];
147 #include "common/pack-end.h" 159 FLAG_CD1 = (1 << TYPE_CD1),
160 FLAG_CD2 = (1 << TYPE_CD2),
161 FLAG_DEMO = (1 << TYPE_DEMO),
162 FLAG_IMMED = (1 << TYPE_IMMED),
163 FLAG_SPEECH1 = (1 << TYPE_SPEECH1),
164 FLAG_SPEECH2 = (1 << TYPE_SPEECH2),
183 #define PLAYER 8388608 184 #define GEORGE 8388608 186 #define BENOIR 8585216 187 #define ROSSO 8716288 188 #define DUANE 8781824 190 #define ALBERT 9568256 210 #define POLISHED_CHALICE 8 211 #define PHOTOGRAPH 10 214 #define LIFTING_KEYS 18 215 #define MANUSCRIPT 19 217 #define ROSSO_CARD 27 223 #define PRESSURE_GAUGE 24 225 #define TOILET_KEY 28 227 #define TOILET_BRUSH 33 231 #define SC58_PATH_X 225 232 #define SC58_PATH_Y 369 234 #define FLOOR_1 65536 235 #define FLOOR_2 131072 236 #define FLOOR_3 196608 237 #define FLOOR_4 262144 238 #define FLOOR_5 327680 239 #define FLOOR_6 393216 240 #define FLOOR_7 458752 241 #define FLOOR_8 524288 242 #define FLOOR_9 589824 243 #define FLOOR_10 655360 244 #define FLOOR_11 720896 245 #define FLOOR_12 786432 246 #define FLOOR_13 851968 247 #define FLOOR_14 917504 248 #define FLOOR_15 983040 249 #define FLOOR_16 1048576 250 #define FLOOR_17 1114112 251 #define FLOOR_18 1179648 252 #define FLOOR_19 1245184 253 #define FLOOR_20 1310720 254 #define FLOOR_21 1376256 255 #define FLOOR_22 1441792 256 #define FLOOR_23 1507328 257 #define FLOOR_24 1572864 258 #define FLOOR_25 1638400 259 #define FLOOR_26 1703936 260 #define FLOOR_27 1769472 261 #define FLOOR_28 1835008 262 #define FLOOR_29 1900544 263 #define FLOOR_31 2031616 264 #define FLOOR_32 2097152 265 #define FLOOR_33 2162688 266 #define FLOOR_34 2228224 267 #define FLOOR_35 2293760 268 #define FLOOR_36 2359296 269 #define FLOOR_37 2424832 270 #define FLOOR_38 2490368 271 #define FLOOR_39 2555904 272 #define FLOOR_40 2621440 273 #define FLOOR_41 2686976 274 #define FLOOR_42 2752512 275 #define FLOOR_43 2818048 276 #define FLOOR_45 2949120 277 #define FLOOR_46 3014656 278 #define FLOOR_47 3080192 279 #define FLOOR_48 3145728 280 #define FLOOR_49 3211264 281 #define FLOOR_50 3276800 282 #define FLOOR_53 3473408 283 #define FLOOR_54 3538944 284 #define FLOOR_55 3604480 285 #define FLOOR_56 3670016 286 #define FLOOR_57 3735552 287 #define FLOOR_58 3801088 288 #define FLOOR_59 3866624 289 #define FLOOR_60 3932160 290 #define LEFT_FLOOR_61 3997697 291 #define FLOOR_62 4063232 292 #define FLOOR_63 4128768 293 #define FLOOR_65 4259840 294 #define FLOOR_66 4325376 295 #define FLOOR_67 4390912 296 #define FLOOR_69 4521984 297 #define RIGHT_FLOOR_71 4653060 298 #define FLOOR_72 4718592 299 #define FLOOR_73 4784128 300 #define FLOOR_74 4849664 301 #define FLOOR_75 4915200 302 #define FLOOR_76 4980736 303 #define FLOOR_77 5046272 304 #define FLOOR_78 5111808 305 #define FLOOR_79 5177344 306 #define FLOOR_80 5242880 307 #define FLOOR_86 5636096 308 #define FLOOR_91 5963776 309 #define FLOOR_99 6488064 312 #define menu_bible 69 313 #define menu_newspaper 1 314 #define menu_hazel_wand 2 315 #define menu_beer_towel 68 316 #define menu_beer_towel_wet 4 317 #define menu_beer_towel_damp 5 318 #define menu_beer_towel_dried 6 319 #define menu_hotel_key 7 321 #define menu_statuette 9 322 #define menu_red_nose_first 10 323 #define menu_red_nose_second 11 324 #define menu_polished_chalice 12 325 #define menu_dollar_bill 13 326 #define menu_photograph 14 327 #define menu_keyring_first 15 328 #define menu_keyring_second 70 329 #define menu_keyring_third 17 330 #define menu_fuse_wire 18 332 #define menu_statuette_paint 20 333 #define menu_stick 21 334 #define menu_excav_key 71 335 #define menu_false_key 72 336 #define menu_painted_key 73 337 #define menu_lab_pass 25 338 #define menu_lifting_keys 26 339 #define menu_manuscript 27 340 #define menu_match_book 28 341 #define menu_suit_material 29 342 #define menu_stick_towel 30 343 #define menu_plaster 31 344 #define menu_pressure_gauge 32 345 #define menu_railway_ticket 33 346 #define menu_buzzer 74 347 #define menu_rosso_card 75 348 #define menu_toilet_key 36 350 #define menu_soap_imp 77 351 #define menu_soap_plas 78 352 #define menu_stone_key 79 353 #define menu_chalice 41 354 #define menu_tissue 42 355 #define menu_toilet_brush 80 356 #define menu_toilet_chain 44 357 #define menu_towel 45 358 #define menu_tripod 46 360 #define menu_towel_cut 48 361 #define menu_mirror 82 362 #define menu_tissue_charred 50 363 #define menu_cog_1 51 364 #define menu_cog_2 52 365 #define menu_handle 83 369 #define menu_flashlight 57 371 #define IT_MCODE 1 // Call an mcode routine 372 #define IT_PUSHNUMBER 2 // push a number on the stack 373 #define IT_PUSHVARIABLE 3 // push a variable on the stack 375 #define IT_FIRSTOPERATOR 4 // Operators come after this and must stay in the same order for precedence table 377 #define IT_NOTEQUAL 4 383 #define IT_LESSTHAN 10 388 #define IT_GTE 15 // >= 389 #define IT_LTE 16 // <= 390 #define IT_DEVIDE 17 // <= 391 #define IT_GT 18 // > 393 #define IT_SCRIPTEND 20 395 #define IT_POPLONGOFFSET 22 396 #define IT_PUSHLONGOFFSET 23 397 #define IT_SKIPONFALSE 24 400 #define IT_SKIPONTRUE 27 402 #define IT_RESTARTSCRIPT 30 403 #define IT_POPWORDOFFSET 31 404 #define IT_PUSHWORDOFFSET 32 406 enum ScriptVariableNames {
414 GEORGE_DOING_REST_ANIM,
458 GEORGE_ALLOWED_REST_ANIMS,
482 OPENED_MANHOLE_2_BEFORE,
483 SEARCHED_PLANTARD_FLAG,
494 SEEN_DRESS_SHOP_FLAG,
497 MANUSCRIPT_ON_TABLE_10_FLAG,
499 PIERMONT_AT_PIANO_FLAG,
507 SEARCHED_TROUSERS_17,
515 CLOSED_WINDOW_28_FLAG,
522 ENTERED_MUSEUM_28_FLAG,
523 SARCOPHAGUS_DOOR_29_OPEN,
552 WET_BEER_TOWEL_TIMER,
576 LIFTING_KEYS_IN_HOLE_23,
582 SEEN_LADDER_SEQUENCE,
591 ENTERED_CELLAR_BEFORE,
599 GEORGE_TALKING_TO_PEARL,
602 EXPLAINED_RETURNING_KEYS,
604 TOILET_CHAIN_50_TAKEN,
605 TOWEL_DISPENSER_50_OPEN,
607 CUBICLE_DOOR_50_OPEN,
619 VISITED_COUNTESS_56_AGAIN,
621 CHESS_PIECE_56_GIVEN,
623 PRESSURE_GAUGE_57_FLAG,
638 LECTERN_CANDLES_59_LIT,
640 GARDENER_60_POSITION,
641 GARDENER_60_CHECKING_DOGS,
644 SEEN_LEFT_ROCKFALL_61,
648 GEORGE_HOLDING_PIECE,
664 LEFT_TREE_POINTER_71_FLAG,
665 RIGHT_TREE_POINTER_71_FLAG,
667 MACHINERY_HANDLE_FLAG,
675 DEMON_RIGHT_COG_FLAG,
682 ALBERT_BRIEFCASE_FLAG,
685 ALBERT_CHANTELLE_FLAG,
691 ALBERT_PLANTARD_FLAG,
700 ARTO_IRRITATION_FLAG,
708 ASSASSIN_CHURCH_FLAG,
711 ASSASSIN_TEMPLAR_FLAG,
719 BASHER_COMPLAIN_FLAG,
735 CHANTELLE_BRIEFCASE_FLAG,
736 CHANTELLE_CLOWN_FLAG,
737 CHANTELLE_DOCTOR_FLAG,
739 CHANTELLE_FAINT_FLAG,
740 CHANTELLE_NEWSPAPER_FLAG,
741 CHANTELLE_PLANTARD_FLAG,
743 CHANTELLE_WAKE_COUNTER,
762 CONSULT_CHALICE_FLAG,
765 CONSULT_LIFTKEY_FLAG,
766 CONSULT_MARQUET_FLAG,
772 COSTUMIER_BUZZER_FLAG,
773 COSTUMIER_CLOWN_FLAG,
774 COSTUMIER_PHOTO_FLAG,
775 COSTUMIER_PLANTARD_FLAG,
776 COSTUMIER_TISSUE_FLAG,
782 DOYLE_FLASHLIGHT_FLAG,
787 DOYLE_LEPRECHAUN_FLAG,
790 DOYLE_PHOTOGRAPH_FLAG,
803 DUANE_MANUSCRIPT_FLAG,
807 DUANE_STATUETTE_FLAG,
825 FARMER_FLASHLIGHT_FLAG,
829 FARMER_LIFTKEYS_FLAG,
845 FLOWER_LIFTKEYS_FLAG,
852 GARDENER_COUNTESS_FLAG,
853 GARDENER_CHALICE_FLAG,
854 GARDENER_FLOPPO_FLAG,
855 GARDENER_GOODBYE_FLAG,
858 GARDENER_SPEECH_FLAG,
859 GARDENER_TEMPLAR_FLAG,
861 GATEKEEPER_TALK_FLAG,
873 GENDARME_TISSUE_FLAG,
874 GENDARME_WEASEL_FLAG,
876 GOINFRE_EXHIBIT_FLAG,
879 GOINFRE_LOBINEAU_FLAG,
881 GOINFRE_SARCOPHAGUS_FLAG,
883 GOINFRE_TEMPLAR_FLAG,
891 GORILLA_PLANTARD_FLAG,
900 JUGGLER_JUGGLER_FLAG,
901 JUGGLER_TEMPLAR_FLAG,
908 LATVIAN_LIFTKEYS_FLAG,
909 LATVIAN_MATCHBOOK_FLAG,
913 LATVIAN_PLANTARD_FLAG,
921 LEARY_FLAPALERT_FLAG,
939 LOBINEAU_ARTEFACT_FLAG,
945 LOBINEAU_MANUSCRIPT_FLAG,
946 LOBINEAU_MATCHBOOK_FLAG,
947 LOBINEAU_MONTFAUCON_FLAG,
950 LOBINEAU_PEAGRAM_FLAG,
951 LOBINEAU_STATUE_FLAG,
953 LOBINEAU_TEMPLAR_FLAG,
955 LOBINEAU_TRIPOD_FLAG,
966 MAGUIRE_LEPRECHAUN_FLAG,
968 MAGUIRE_PEAGRAM_FLAG,
1009 NEJO_HENDERSONS_FLAG,
1014 NEJO_PRESSURE_GAUGE_FLAG,
1023 NICO_BRIEFCASE_FLAG,
1040 NICO_MANUSCRIPT_FLAG,
1042 NICO_MATCHBOOK_FLAG,
1044 NICO_NEWSPAPER_FLAG,
1055 NICO_RINGING_BACK_FLAG,
1069 NICO_LEAVING_CAFE_SCREEN,
1074 NURSE_INTERRUPTION_FLAG,
1078 OBRIEN_FLASHLIGHT_FLAG,
1084 OBRIEN_MAGUIRE_FLAG,
1086 OBRIEN_PEAGRAM_FLAG,
1088 OBRIEN_TEMPLAR_FLAG,
1097 PAINTER_DISTRACTION_FLAG,
1098 PAINTER_PAINTER_FLAG,
1099 PAINTER_TEMPLAR_FLAG,
1100 PAINTER_CONTROL_FLAG,
1118 PIERMONT_ASSASSIN_FLAG,
1119 PIERMONT_BUZZER_FLAG,
1120 PIERMONT_CLOWN_FLAG,
1124 PIERMONT_KEY_ALERT_FLAG,
1128 PIERMONT_PHOTO_FLAG,
1129 PIERMONT_PIERMONT_FLAG,
1130 PIERMONT_TEMPLAR_FLAG,
1132 PIERMONT_TISSUE_FLAG,
1133 PIERMONT_WEASEL_FLAG,
1135 PRIEST_CHALICE_FLAG,
1136 PRIEST_CHALICE2_FLAG,
1137 PRIEST_TEMPLAR_FLAG,
1150 RON_FLASHLIGHT_FLAG,
1168 ROSSO_MATCHBOOK_FLAG,
1174 ROSSO_PLANTARD_FLAG,
1181 ROZZER_JUGGLER_FLAG,
1182 ROZZER_MANHOLE_FLAG,
1183 ROZZER_PLASTER_FLAG,
1185 ROZZER_TEMPLAR_FLAG,
1215 STATUE_GUARD_CONTROL_FLAG,
1217 STATUE_GUARD_GUARD_FLAG,
1220 STATUE_GUARD_TEMPLAR_FLAG,
1221 STATUE_GUARD_THERMO_FLAG,
1223 STATUE_GUARD_TALK_FLAG,
1224 STATUE_GUARD_CDT_FLAG,
1225 TCLERK_PIERMONT_FLAG,
1230 TODRYK_OPINION_FLAG,
1232 TODRYK_PLANTARD_FLAG,
1243 ULTAR_HENDERSONS_FLAG,
1244 ULTAR_KLAUSNER_FLAG,
1245 ULTAR_LAB_PASS_FLAG,
1246 ULTAR_LIFTING_KEYS_FLAG,
1249 ULTAR_PHOTOGRAPH_FLAG,
1251 ULTAR_PRESSURE_GAUGE_FLAG,
1252 ULTAR_RED_NOSE_FLAG,
1254 ULTAR_STATUETTE_FLAG,
1255 ULTAR_STATUETTE_PAINT_FLAG,
1259 ULTAR_TOILET_BRUSH_FLAG,
1260 ULTAR_TOILET_CHAIN_FLAG,
1261 ULTAR_TOILET_KEY_FLAG,
1265 COUNTESS_56A_SUBJECT_FLAG,
1266 COUNTESS_56A_GOODBYE_FLAG,
1267 COUNTESS_56B_GOODBYE_FLAG,
1288 WEASEL_PLANTARD_FLAG,
1294 WORKMAN_PHONE_ALERT_FLAG,
1295 WORKMAN_PLANTARD_FLAG,
1299 WORKMAN_TOOLBOX_FLAG,
1324 CHURCH_ARRIVAL_FLAG,
1326 AEROPORT_ADDRESS_FLAG,
1327 CHANTELLE_BRANDY_FLAG,
1331 CONSULTANT_STOP_FLAG,
1332 COSTUMES_ADDRESS_FLAG,
1333 COSTUMES_PHONE_FLAG,
1338 HOSPITAL_ADDRESS_FLAG,
1339 HOSPITAL_VISIT_FLAG,
1348 MACDEVITTS_PHONE_FLAG,
1349 MANUSCRIPT_ALERT_FLAG,
1350 MANUSCRIPT_VIEW_FLAG,
1353 MONTFACN_ADDRESS_FLAG,
1354 MONTFAUCON_CONTROL_FLAG,
1355 MUSEUM_ADDRESS_FLAG,
1356 MUSEUM_CLOSING_FLAG,
1358 NERVAL_ADDRESS_FLAG,
1362 NICO_GONE_HOME_FLAG,
1365 NURSE_TELEPHONE_FLAG,
1371 POLICE_ADDRESS_FLAG,
1378 SARCOPHAGUS_ALERT_FLAG,
1382 SEEN_BRIEFCASE_FLAG,
1412 PUB_INTERRUPTION_FLAG,
1442 ASSASSIN_KILLED_FLAG,
1444 DOOR_SC69_ALERT_FLAG,
1453 MASTER_39_TALK_FLAG,
1461 LATVIAN_39_TALK_FLAG,
1462 LATVIAN_39_CDT_FLAG,
1463 EKLUND_39_TALK_FLAG,
1588 #define SAND_25 1638407 1589 #define HOLDING_REPLICA_25 1638408 1590 #define GMASTER_79 5177345 1591 #define SCR_george_rest_anim_script (0 * 0x10000 + 1) 1592 #define SCR_std_off (0*0x10000 + 6) 1593 #define SCR_exit0 (0*0x10000 + 7) 1594 #define SCR_exit1 (0*0x10000 + 8) 1595 #define SCR_exit2 (0*0x10000 + 9) 1596 #define SCR_exit3 (0*0x10000 + 10) 1597 #define SCR_exit4 (0*0x10000 + 11) 1598 #define SCR_exit5 (0*0x10000 + 12) 1599 #define SCR_exit6 (0*0x10000 + 13) 1600 #define SCR_exit7 (0*0x10000 + 14) 1601 #define SCR_exit8 (0*0x10000 + 15) 1602 #define SCR_exit9 (0*0x10000 + 16) 1603 #define LEFT_SCROLL_POINTER 8388610 1604 #define RIGHT_SCROLL_POINTER 8388611 1605 #define FLOOR_63 4128768 1606 #define ROOF_63 4128779 1607 #define GUARD_ROOF_63 4128781 1608 #define LEFT_TREE_POINTER_71 4653058 1609 #define RIGHT_TREE_POINTER_71 4653059 1610 #define SCR_menu_look (0*0x10000 + 24) 1611 #define SCR_icon_combine_script (0*0x10000 + 25) 1615 #endif //SWORDDEFS_H Definition: sworddefs.h:141
Definition: animation.h:38
Definition: sworddefs.h:123
Definition: sworddefs.h:129
Definition: sworddefs.h:167