From bdae3055a4462ad7b7d85e8dee535ef30e710ee3 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 25 Jan 2020 12:42:56 +1000 Subject: [PATCH] Rename/annotate object flags with editor's names --- src/files/setup/setupame.c | 10 +-- src/files/setup/setupark.c | 12 ++-- src/files/setup/setupcave.c | 16 ++--- src/files/setup/setupdam.c | 4 +- src/files/setup/setupdepo.c | 48 ++++++------- src/files/setup/setupdish.c | 50 +++++++------- src/files/setup/setupear.c | 4 +- src/files/setup/setupeld.c | 10 +-- src/files/setup/setupimp.c | 6 +- src/files/setup/setuplee.c | 36 +++++----- src/files/setup/setuplip.c | 20 +++--- src/files/setup/setuppam.c | 10 +-- src/files/setup/setuprit.c | 8 +-- src/files/setup/setupsho.c | 16 ++--- src/files/setup/setuptra.c | 8 +-- src/game/chr/chr.c | 6 +- src/game/chr/chraicommands.c | 22 +++--- src/game/game_066310.c | 2 +- src/include/constants.h | 126 ++++++++++++++++++----------------- 19 files changed, 210 insertions(+), 204 deletions(-) diff --git a/src/files/setup/setupame.c b/src/files/setup/setupame.c index 0c962ba9d..7b551b902 100644 --- a/src/files/setup/setupame.c +++ b/src/files/setup/setupame.c @@ -1735,7 +1735,7 @@ u8 func0414_programmer[] = { restart_timer set_stage_flag(STAGEFLAG_PROGRAMMER_RAN_TO_GUARD) try_set_chrpreset_to_unalerted_teammate(0, /*goto*/ LABEL_RUN_TO_GUARD) - unset_object_flag2(OBJ_LAPTOPGUNDOOR, OBJFLAG2_20000000) + unset_object_flag2(OBJ_LAPTOPGUNDOOR, OBJFLAG2_AICANNOTUSE) jog_to_pad(0x0086) beginloop(0x97) @@ -2295,8 +2295,8 @@ u8 func1008_doorswitch[] = { // A and SA unlock_door(OBJ_OFFICEDOOR1, 0x01) unlock_door(OBJ_OFFICEDOOR2, 0x01) - unset_object_flag2(OBJ_OFFICEDOOR1, OBJFLAG2_20000000) - unset_object_flag2(OBJ_OFFICEDOOR2, OBJFLAG2_20000000) + unset_object_flag2(OBJ_OFFICEDOOR1, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(OBJ_OFFICEDOOR2, OBJFLAG2_AICANNOTUSE) set_stage_flag(STAGEFLAG_OFFICE_DOOR_UNLOCKED) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2313,8 +2313,8 @@ u8 func1008_doorswitch[] = { set_stage_flag(STAGEFLAG_OFFICE_DOOR_UNLOCKED) unlock_door(OBJ_OFFICEDOOR1, 0x01) unlock_door(OBJ_OFFICEDOOR2, 0x01) - unset_object_flag2(OBJ_OFFICEDOOR1, OBJFLAG2_20000000) - unset_object_flag2(OBJ_OFFICEDOOR2, OBJFLAG2_20000000) + unset_object_flag2(OBJ_OFFICEDOOR1, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(OBJ_OFFICEDOOR2, OBJFLAG2_AICANNOTUSE) yield restart_timer diff --git a/src/files/setup/setupark.c b/src/files/setup/setupark.c index b008efb4c..cbcdd8b3b 100644 --- a/src/files/setup/setupark.c +++ b/src/files/setup/setupark.c @@ -1463,7 +1463,7 @@ u8 func1005_check_bodyguards_dead[] = { set_stage_flag(STAGEFLAG_TOP_BODYGUARDS_DEAD) unlock_door(OBJ_TOPROOMDOOR, 0x02) - unset_object_flag2(OBJ_TOPROOMDOOR, OBJFLAG2_20000000) + unset_object_flag2(OBJ_TOPROOMDOOR, OBJFLAG2_AICANNOTUSE) if_difficulty_lt(DIFF_SA, /*goto*/ 0x26) if_alive_goto_00(0x16, 0x20) @@ -1584,7 +1584,7 @@ u8 func1009_init_top_room[] = { endloop(0x1f) label(0x00) - set_object_flag(OBJ_TOPROOMDOOR, OBJFLAG_02000000) + set_object_flag(OBJ_TOPROOMDOOR, OBJFLAG_CANNOT_ACTIVATE) set_chr_target_chr(CHR_CASS, CHR_P1P2) set_chr_target_chr(CHR_TOPGUARD1, CHR_P1P2) set_chr_target_chr(CHR_TOPGUARD2, CHR_P1P2) @@ -1959,7 +1959,7 @@ u8 func040d_cass[] = { endloop(0x25) label(0x26) - unset_object_flag(OBJ_TOPROOMDOOR, OBJFLAG_02000000) + unset_object_flag(OBJ_TOPROOMDOOR, OBJFLAG_CANNOT_ACTIVATE) grant_control(CHR_BOND) close_door(OBJ_TOPROOMDOOR) if_chr_in_room(CHR_BOND, 0x00, 0x0045, /*goto*/ 0x20) @@ -1975,7 +1975,7 @@ u8 func040d_cass[] = { goto_next(0x00) label(0x89) - unset_object_flag(OBJ_TOPROOMDOOR, OBJFLAG_02000000) + unset_object_flag(OBJ_TOPROOMDOOR, OBJFLAG_CANNOT_ACTIVATE) restart_timer beginloop(0x8a) @@ -2108,7 +2108,7 @@ u8 func101f_unlock_top_door[] = { label(0x20) unlock_door(OBJ_TOPROOMDOOR, 0x02) - unset_object_flag2(OBJ_TOPROOMDOOR, OBJFLAG2_20000000) + unset_object_flag2(OBJ_TOPROOMDOOR, OBJFLAG2_AICANNOTUSE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; @@ -2931,7 +2931,7 @@ u8 func101a_set_rocketlauncher_flag[] = { if_difficulty_lt(DIFF_SA, /*goto*/ 0x20) // SA and PA - set_object_flag2(OBJ_ROCKETLAUNCHER, OBJFLAG2_20000000) + set_object_flag2(OBJ_ROCKETLAUNCHER, OBJFLAG2_AICANNOTUSE) label(0x20) set_ailist(CHR_SELF, GAILIST_IDLE) diff --git a/src/files/setup/setupcave.c b/src/files/setup/setupcave.c index 35393d873..648afb77f 100644 --- a/src/files/setup/setupcave.c +++ b/src/files/setup/setupcave.c @@ -3525,17 +3525,17 @@ u8 func1018_safe_switch[] = { set_object_flag(OBJ_SAFEDOOR, OBJFLAG_40000000) unset_object_flag2(OBJ_FLIGHTPLANS, OBJFLAG2_INVISIBLE) - unset_object_flag(OBJ_FLIGHTPLANS, OBJFLAG_00100000) + unset_object_flag(OBJ_FLIGHTPLANS, OBJFLAG_UNCOLLECTABLE) set_object_flag(OBJ_FLIGHTPLANS, OBJFLAG_COLLECTABLE) set_object_flag2(OBJ_FLIGHTPLANS, OBJFLAG2_00001000) // 0x32 = a shield set_object_flag2(0x34, OBJFLAG2_00001000) - unset_object_flag(0x34, OBJFLAG_00100000) + unset_object_flag(0x34, OBJFLAG_UNCOLLECTABLE) // 0x32 = invalid object unset_object_flag2(0x32, OBJFLAG2_INVISIBLE) - unset_object_flag(0x32, OBJFLAG_00100000) + unset_object_flag(0x32, OBJFLAG_UNCOLLECTABLE) label(0x31) @@ -3568,7 +3568,7 @@ u8 func1018_safe_switch_cover[] = { endloop(0x04) label(0x31) - set_object_flag(OBJ_SAFE_SWITCH_COVER, OBJFLAG_02000000) + set_object_flag(OBJ_SAFE_SWITCH_COVER, OBJFLAG_CANNOT_ACTIVATE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; @@ -3953,9 +3953,9 @@ u8 func1023_check_office2_dead[] = { }; u8 func1024_double_dy357[] = { - set_object_flag(0x30, OBJFLAG_00100000) + set_object_flag(0x30, OBJFLAG_UNCOLLECTABLE) set_object_flag2(0x30, OBJFLAG2_INVISIBLE) - set_object_flag(0x31, OBJFLAG_00100000) + set_object_flag(0x31, OBJFLAG_UNCOLLECTABLE) set_object_flag2(0x31, OBJFLAG2_INVISIBLE) beginloop(0x00) @@ -3967,9 +3967,9 @@ u8 func1024_double_dy357[] = { endloop(0x00) label(0x31) - unset_object_flag(0x30, OBJFLAG_00100000) + unset_object_flag(0x30, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x30, OBJFLAG2_INVISIBLE) - unset_object_flag(0x31, OBJFLAG_00100000) + unset_object_flag(0x31, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x31, OBJFLAG2_INVISIBLE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist diff --git a/src/files/setup/setupdam.c b/src/files/setup/setupdam.c index a64b3e0c9..531f59ffd 100644 --- a/src/files/setup/setupdam.c +++ b/src/files/setup/setupdam.c @@ -2843,8 +2843,8 @@ u8 func101e_alarm_images[] = { endloop(0x00) label(0x07) - set_object_flag(0x27, OBJFLAG_00100000) - set_object_flag(0x28, OBJFLAG_00100000) + set_object_flag(0x27, OBJFLAG_UNCOLLECTABLE) + set_object_flag(0x28, OBJFLAG_UNCOLLECTABLE) set_object_flag2(0x27, OBJFLAG2_INVISIBLE) set_object_flag2(0x28, OBJFLAG2_INVISIBLE) set_object_image(0x21, 0x00, 0x0f) diff --git a/src/files/setup/setupdepo.c b/src/files/setup/setupdepo.c index 69d9672b7..e461068cd 100644 --- a/src/files/setup/setupdepo.c +++ b/src/files/setup/setupdepo.c @@ -1110,12 +1110,12 @@ u8 func0402_init_swat2[] = { }; u8 func100a_give_keycards[] = { - set_object_flag(OBJ_KEYCARD1, OBJFLAG_00100000) + set_object_flag(OBJ_KEYCARD1, OBJFLAG_UNCOLLECTABLE) set_object_flag2(OBJ_KEYCARD1, OBJFLAG2_INVISIBLE) - set_object_flag(OBJ_KEYCARD2, OBJFLAG_00100000) + set_object_flag(OBJ_KEYCARD2, OBJFLAG_UNCOLLECTABLE) set_object_flag2(OBJ_KEYCARD2, OBJFLAG2_INVISIBLE) set_object_flag2(OBJ_CROSSBOW, OBJFLAG2_INVISIBLE) - set_object_flag(OBJ_CROSSBOW, OBJFLAG_00100000) + set_object_flag(OBJ_CROSSBOW, OBJFLAG_UNCOLLECTABLE) set_chr_chrflag(CHR_CLOAK_1A, CHRCFLAG_KILLCOUNTABLE) set_chr_chrflag(CHR_CLOAK_1B, CHRCFLAG_KILLCOUNTABLE) @@ -1147,10 +1147,10 @@ u8 func100a_give_keycards[] = { set_target_chr(CHR_CLOAK_1B) label(0x2c) - unset_object_flag(OBJ_KEYCARD1, OBJFLAG_00100000) + unset_object_flag(OBJ_KEYCARD1, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_KEYCARD1, OBJFLAG2_INVISIBLE) unset_object_flag2(OBJ_CROSSBOW, OBJFLAG2_INVISIBLE) - unset_object_flag(OBJ_CROSSBOW, OBJFLAG_00100000) + unset_object_flag(OBJ_CROSSBOW, OBJFLAG_UNCOLLECTABLE) // Wait for the chr who holds the keycard to die beginloop(0x55) @@ -1161,7 +1161,7 @@ u8 func100a_give_keycards[] = { label(0x2c) set_object_flag2(OBJ_CROSSBOW, OBJFLAG2_INVISIBLE) - set_object_flag(OBJ_CROSSBOW, OBJFLAG_00100000) + set_object_flag(OBJ_CROSSBOW, OBJFLAG_UNCOLLECTABLE) hide_object(OBJ_CROSSBOW) beginloop(0x08) @@ -1204,7 +1204,7 @@ u8 func100a_give_keycards[] = { dprint 'G','I','V','E',' ','T','O','7',0, label(0x2c) - unset_object_flag(OBJ_KEYCARD2, OBJFLAG_00100000) + unset_object_flag(OBJ_KEYCARD2, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_KEYCARD2, OBJFLAG2_INVISIBLE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist @@ -1248,18 +1248,18 @@ u8 func100e_check_conspirators_alerted[] = { // These objects are doors label(0x06) - unset_object_flag2(0x3f, OBJFLAG2_20000000) - unset_object_flag2(0x40, OBJFLAG2_20000000) - unset_object_flag2(0x41, OBJFLAG2_20000000) - unset_object_flag2(0x42, OBJFLAG2_20000000) - unset_object_flag2(0x43, OBJFLAG2_20000000) - unset_object_flag2(0x44, OBJFLAG2_20000000) - unset_object_flag2(0x45, OBJFLAG2_20000000) - unset_object_flag2(0x46, OBJFLAG2_20000000) - unset_object_flag2(0x34, OBJFLAG2_20000000) - unset_object_flag2(0x35, OBJFLAG2_20000000) - unset_object_flag2(0x36, OBJFLAG2_20000000) - unset_object_flag2(0x37, OBJFLAG2_20000000) + unset_object_flag2(0x3f, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x40, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x41, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x42, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x43, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x44, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x45, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x46, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x34, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x35, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x36, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x37, OBJFLAG2_AICANNOTUSE) set_stage_flag(STAGEFLAG_ALARM_SOUNDING) if_stage_flag_eq(STAGEFLAG_MEETING_STARTED, TRUE, /*goto*/ 0x06) @@ -1375,7 +1375,7 @@ u8 func1010_safe_cracking[] = { control_sound_from_object(CHANNEL_1, OBJ_SAFEKEYPAD, TRUE) message(CHR_P1P2, 0x1825) // "Door Decoder finished - door unlocked." unlock_door(OBJ_SAFEDOOR, 0x40) - unset_object_flag2(OBJ_SAFEDOOR, OBJFLAG2_20000000) + unset_object_flag2(OBJ_SAFEDOOR, OBJFLAG2_AICANNOTUSE) open_door(OBJ_SAFEDOOR) hide_countdown_timer set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2377,10 +2377,10 @@ u8 func101b_cloak2_entry[] = { lock_door(0x35, 0x10) lock_door(0x36, 0x10) lock_door(0x37, 0x10) - set_object_flag2(0x34, OBJFLAG2_10000000) - set_object_flag2(0x35, OBJFLAG2_10000000) - set_object_flag2(0x36, OBJFLAG2_08000000) - set_object_flag2(0x37, OBJFLAG2_10000000) + set_object_flag2(0x34, OBJFLAG2_LOCKEDBACK) + set_object_flag2(0x35, OBJFLAG2_LOCKEDBACK) + set_object_flag2(0x36, OBJFLAG2_LOCKEDFRONT) + set_object_flag2(0x37, OBJFLAG2_LOCKEDBACK) close_door(0x34) close_door(0x35) close_door(0x36) diff --git a/src/files/setup/setupdish.c b/src/files/setup/setupdish.c index 2507d3187..15cebad2a 100644 --- a/src/files/setup/setupdish.c +++ b/src/files/setup/setupdish.c @@ -810,7 +810,7 @@ u8 func1002_devicetraining_camspy[] = { lock_door(0x89, 0x40) show_object(OBJ_CAMSPY) move_object_to_pad(OBJ_CAMSPY, 0x011d) - unset_object_flag(OBJ_CAMSPY, OBJFLAG_00100000) + unset_object_flag(OBJ_CAMSPY, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_CAMSPY, OBJFLAG2_INVISIBLE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) close_door(0x31) @@ -924,7 +924,7 @@ u8 func1003_devicetraining_nightvision[] = { lock_door(0x89, 0x40) show_object(0x27) move_object_to_pad(0x27, 0x011d) - unset_object_flag(0x27, OBJFLAG_00100000) + unset_object_flag(0x27, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x27, OBJFLAG2_INVISIBLE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) close_door(0x31) @@ -1058,7 +1058,7 @@ u8 func1004_devicetraining_doordecoder[] = { lock_door(0x89, 0x40) show_object(0x28) move_object_to_pad(0x28, 0x011d) - unset_object_flag(0x28, OBJFLAG_00100000) + unset_object_flag(0x28, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x28, OBJFLAG2_INVISIBLE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) close_door(0x31) @@ -1221,7 +1221,7 @@ u8 func1005_devicetraining_xray[] = { dprint 't','r','a','i','n','i','n','g',0, show_object(0x29) move_object_to_pad(0x29, 0x011d) - unset_object_flag(0x29, OBJFLAG_00100000) + unset_object_flag(0x29, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x29, OBJFLAG2_INVISIBLE) unset_object_flag2(0x38, OBJFLAG2_00000001) unset_object_flag2(0x39, OBJFLAG2_00000001) @@ -1244,13 +1244,13 @@ u8 func1005_devicetraining_xray[] = { beginloop(0x86) if_chr_has_weapon_equipped(CHR_BOND, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) - set_object_flag(0x38, OBJFLAG_02000000) - set_object_flag(0x39, OBJFLAG_02000000) + set_object_flag(0x38, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x39, OBJFLAG_CANNOT_ACTIVATE) goto_next(0x30) label(0x2f) - unset_object_flag(0x38, OBJFLAG_02000000) - unset_object_flag(0x39, OBJFLAG_02000000) + unset_object_flag(0x38, OBJFLAG_CANNOT_ACTIVATE) + unset_object_flag(0x39, OBJFLAG_CANNOT_ACTIVATE) label(0x30) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) @@ -1298,13 +1298,13 @@ u8 func1005_devicetraining_xray[] = { set_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) label(0x59) if_chr_has_weapon_equipped(CHR_BOND, WEAPON_XRAYSCANNER, /*goto*/ 0x2f) - set_object_flag(0x38, OBJFLAG_02000000) - set_object_flag(0x39, OBJFLAG_02000000) + set_object_flag(0x38, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x39, OBJFLAG_CANNOT_ACTIVATE) goto_next(0x30) label(0x2f) - unset_object_flag(0x38, OBJFLAG_02000000) - unset_object_flag(0x39, OBJFLAG_02000000) + unset_object_flag(0x38, OBJFLAG_CANNOT_ACTIVATE) + unset_object_flag(0x39, OBJFLAG_CANNOT_ACTIVATE) label(0x30) if_chr_activated_object(CHR_BOND, 0x38, /*goto*/ 0x5b) if_chr_activated_object(CHR_BOND, 0x39, /*goto*/ 0x5c) @@ -1433,7 +1433,7 @@ u8 func1006_devicetraining_disguise[] = { dprint 't','r','a','i','n','i','n','g',0, show_object(0x2a) move_object_to_pad(0x2a, 0x011d) - unset_object_flag(0x2a, OBJFLAG_00100000) + unset_object_flag(0x2a, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x2a, OBJFLAG2_INVISIBLE) set_ailist(0x03, AILIST_GRIMSHAW_DISGUISE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) @@ -1576,7 +1576,7 @@ u8 func1007_devicetrainign_ir[] = { dprint 't','r','a','i','n','i','n','g',0, show_object(0x2b) move_object_to_pad(0x2b, 0x011d) - unset_object_flag(0x2b, OBJFLAG_00100000) + unset_object_flag(0x2b, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x2b, OBJFLAG2_INVISIBLE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) close_door(0x31) @@ -1597,10 +1597,10 @@ u8 func1007_devicetrainign_ir[] = { beginloop(0x86) if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) - set_object_flag(0x37, OBJFLAG_02000000) + set_object_flag(0x37, OBJFLAG_CANNOT_ACTIVATE) goto_next(0x30) label(0x2f) - unset_object_flag(0x37, OBJFLAG_02000000) + unset_object_flag(0x37, OBJFLAG_CANNOT_ACTIVATE) label(0x30) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_chr_activated_object(CHR_BOND, 0x31, /*goto*/ 0x57) @@ -1626,11 +1626,11 @@ u8 func1007_devicetrainign_ir[] = { beginloop(0x8e) if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) - set_object_flag(0x37, OBJFLAG_02000000) + set_object_flag(0x37, OBJFLAG_CANNOT_ACTIVATE) goto_next(0x30) label(0x2f) - unset_object_flag(0x37, OBJFLAG_02000000) + unset_object_flag(0x37, OBJFLAG_CANNOT_ACTIVATE) label(0x30) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) @@ -1646,10 +1646,10 @@ u8 func1007_devicetrainign_ir[] = { beginloop(0x82) if_chr_has_weapon_equipped(CHR_BOND, WEAPON_IRSCANNER, /*goto*/ 0x2f) - set_object_flag(0x37, OBJFLAG_02000000) + set_object_flag(0x37, OBJFLAG_CANNOT_ACTIVATE) goto_next(0x30) label(0x2f) - unset_object_flag(0x37, OBJFLAG_02000000) + unset_object_flag(0x37, OBJFLAG_CANNOT_ACTIVATE) label(0x30) if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90) if_door_state(0x31, (DOORSTATE_OPEN | DOORSTATE_OPENING), /*goto*/ 0x85) @@ -1714,7 +1714,7 @@ u8 func1008_devicetraining_rtracker[] = { dprint 't','r','a','i','n','i','n','g',0, show_object(0x2c) move_object_to_pad(0x2c, 0x011d) - unset_object_flag(0x2c, OBJFLAG_00100000) + unset_object_flag(0x2c, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x2c, OBJFLAG2_INVISIBLE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) close_door(0x31) @@ -1767,7 +1767,7 @@ u8 func1008_devicetraining_rtracker[] = { goto_first(0x8d) label(0x2f) - unset_object_flag(0x36, OBJFLAG_00100000) + unset_object_flag(0x36, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x36, OBJFLAG2_INVISIBLE) show_object(0x36) move_object_to_pad(0x36, 0x011e) @@ -1845,7 +1845,7 @@ u8 func1009_devicetraining_cloak[] = { move_object_to_pad(0x2d, 0x011d) unset_stage_flag(STAGEFLAG_CLOAK_FAILED) unset_stage_flag(STAGEFLAG_CLOAK_COMPLETE) - unset_object_flag(0x2d, OBJFLAG_00100000) + unset_object_flag(0x2d, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x2d, OBJFLAG2_INVISIBLE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) close_door(0x31) @@ -1994,7 +1994,7 @@ u8 func100a_devicetraining_ecmmine[] = { lock_door(0x89, 0x40) show_object(0x2e) move_object_to_pad(0x2e, 0x011d) - unset_object_flag(0x2e, OBJFLAG_00100000) + unset_object_flag(0x2e, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x2e, OBJFLAG2_INVISIBLE) unset_stage_flag(STAGEFLAG_TRIGGER_CANNOTEXIT_MSG) close_door(0x31) @@ -2141,7 +2141,7 @@ u8 func100b_devicetraining_uplink[] = { unset_stage_flag(STAGEFLAG_TRIGGER_DEVICE_FAILURE) show_object(0x2f) move_object_to_pad(0x2f, 0x0131) - unset_object_flag(0x2f, OBJFLAG_00100000) + unset_object_flag(0x2f, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(0x2f, OBJFLAG2_INVISIBLE) dprint 't','r','a','i','n','i','n','g',0, close_door(0x31) diff --git a/src/files/setup/setupear.c b/src/files/setup/setupear.c index 631304867..7f8ad1ba8 100644 --- a/src/files/setup/setupear.c +++ b/src/files/setup/setupear.c @@ -1309,9 +1309,9 @@ u8 func1009_weaponscache[] = { control_sound_from_object(CHANNEL_5, OBJ_CMP150_1, TRUE) hide_object(OBJ_CACHEDOOR1) hide_object(OBJ_CACHEDOOR2) - unset_object_flag(OBJ_CMP150_1, OBJFLAG_00100000) + unset_object_flag(OBJ_CMP150_1, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_CMP150_1, OBJFLAG2_INVISIBLE) - unset_object_flag(OBJ_CMP150_2, OBJFLAG_00100000) + unset_object_flag(OBJ_CMP150_2, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_CMP150_2, OBJFLAG2_INVISIBLE) set_object_flag2(OBJ_CMP150_1, OBJFLAG2_00001000) set_object_flag2(OBJ_CMP150_2, OBJFLAG2_00001000) diff --git a/src/files/setup/setupeld.c b/src/files/setup/setupeld.c index 4f9988ae2..0305f6231 100644 --- a/src/files/setup/setupeld.c +++ b/src/files/setup/setupeld.c @@ -2082,7 +2082,7 @@ u8 func1009_windmill_switch[] = { message(CHR_P1P2, 0x2012) // "Windmill has been reactivated." yield set_stage_flag(STAGEFLAG_WINDMILL_ACTIVATED) - set_object_flag2(OBJ_WINDMILL, OBJFLAG2_20000000) + set_object_flag2(OBJ_WINDMILL, OBJFLAG2_AICANNOTUSE) unlock_door(0x06, 0x02) unlock_door(0x07, 0x02) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -2423,7 +2423,7 @@ u8 func1014_give_keycard[] = { set_chr_chrflag(CHR_BASEMENT7, CHRCFLAG_KILLCOUNTABLE) set_chr_chrflag(CHR_BASEMENT8, CHRCFLAG_KILLCOUNTABLE) set_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_KILLCOUNTABLE) - set_object_flag(OBJ_KEYCARD, OBJFLAG_00100000) + set_object_flag(OBJ_KEYCARD, OBJFLAG_UNCOLLECTABLE) set_object_flag2(OBJ_KEYCARD, OBJFLAG2_INVISIBLE) // Wait until one basement guard remaining @@ -2458,7 +2458,7 @@ u8 func1014_give_keycard[] = { // Gave key label(0x09) - unset_object_flag(OBJ_KEYCARD, OBJFLAG_00100000) + unset_object_flag(OBJ_KEYCARD, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_KEYCARD, OBJFLAG2_INVISIBLE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist @@ -2931,8 +2931,8 @@ u8 func101d_dual_cmp150[] = { endloop(0x08) label(0x2d) - unset_object_flag(OBJ_CMP150_1, OBJFLAG_00100000) - unset_object_flag(OBJ_CMP150_2, OBJFLAG_00100000) + unset_object_flag(OBJ_CMP150_1, OBJFLAG_UNCOLLECTABLE) + unset_object_flag(OBJ_CMP150_2, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_CMP150_1, OBJFLAG2_INVISIBLE) unset_object_flag2(OBJ_CMP150_1, OBJFLAG2_INVISIBLE) diff --git a/src/files/setup/setupimp.c b/src/files/setup/setupimp.c index aacb1756c..544e69afe 100644 --- a/src/files/setup/setupimp.c +++ b/src/files/setup/setupimp.c @@ -2956,7 +2956,7 @@ u8 func1015_firingrange_pc[] = { label(0x08) message(CHR_P1P2, 0x221f) // "Emergency overrides have been engaged." - unset_object_flag(OBJ_RCP120, OBJFLAG_00100000) + unset_object_flag(OBJ_RCP120, OBJFLAG_UNCOLLECTABLE) unset_object_flag(OBJ_RCP120_GLASS, OBJFLAG_INVINCIBLE) destroy_object(OBJ_RCP120_GLASS) set_ailist(CHR_SELF, GAILIST_IDLE) @@ -3686,8 +3686,8 @@ u8 func100e_setup_firingrange_doors[] = { // Unset some flags on them label(0x2e) - unset_object_flag2(0x23, OBJFLAG2_20000000) - unset_object_flag2(0x24, OBJFLAG2_20000000) + unset_object_flag2(0x23, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x24, OBJFLAG2_AICANNOTUSE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; diff --git a/src/files/setup/setuplee.c b/src/files/setup/setuplee.c index fdbcd0cfb..db417fd54 100644 --- a/src/files/setup/setuplee.c +++ b/src/files/setup/setuplee.c @@ -575,10 +575,10 @@ u8 func1019_check_shields_lowered[] = { u8 func1004_check_hangar_doors_opened[] = { yield - set_object_flag(OBJ_HANGARDOOR1, OBJFLAG_02000000) - set_object_flag(OBJ_HANGARDOOR2, OBJFLAG_02000000) - set_object_flag(OBJ_HANGARDOOR3, OBJFLAG_02000000) - set_object_flag(OBJ_HANGARDOOR4, OBJFLAG_02000000) + set_object_flag(OBJ_HANGARDOOR1, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(OBJ_HANGARDOOR2, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(OBJ_HANGARDOOR3, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(OBJ_HANGARDOOR4, OBJFLAG_CANNOT_ACTIVATE) beginloop(0x04) chr_toggle_p1p2(CHR_SELF) @@ -1385,8 +1385,8 @@ u8 func1008_hangar_lifts[] = { // attempting to warp him. beginloop(0x64) set_object_flag(OBJ_HANGARLIFT_ELVIS, OBJFLAG_DEACTIVATED) - unset_object_flag(0x3b, OBJFLAG_02000000) - unset_object_flag(0x3c, OBJFLAG_02000000) + unset_object_flag(0x3b, OBJFLAG_CANNOT_ACTIVATE) + unset_object_flag(0x3c, OBJFLAG_CANNOT_ACTIVATE) unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP) if_chr_y(CHR_ELVIS, 400, OPERATOR_LESS_THAN, /*goto*/ 0x06) goto_next(0x68) @@ -1974,8 +1974,8 @@ u8 func100d_prebridgelift[] = { label(0x2c) label(0x64) set_object_flag(OBJ_PREBRIDGELIFT, OBJFLAG_DEACTIVATED) - unset_object_flag(0x3d, OBJFLAG_02000000) - unset_object_flag(0x3e, OBJFLAG_02000000) + unset_object_flag(0x3d, OBJFLAG_CANNOT_ACTIVATE) + unset_object_flag(0x3e, OBJFLAG_CANNOT_ACTIVATE) // Wait until lift called at bottom by buddy or counterop beginloop(0x68) @@ -2056,8 +2056,8 @@ u8 func100e_bridgelift[] = { // Deactive lift label(0x64) set_object_flag(OBJ_BRIDGELIFT, OBJFLAG_DEACTIVATED) - unset_object_flag(0x2f, OBJFLAG_02000000) - unset_object_flag(0x30, OBJFLAG_02000000) + unset_object_flag(0x2f, OBJFLAG_CANNOT_ACTIVATE) + unset_object_flag(0x30, OBJFLAG_CANNOT_ACTIVATE) // Wait until lift called from below by buddy or counterop beginloop(0x68) @@ -3481,10 +3481,10 @@ u8 func040c_elvis_run_from_engineroom[] = { u8 func101f_enable_bridge_skedar[] = { lock_door(0x41, 0x80) lock_door(0x42, 0x80) - set_object_flag2(0x41, OBJFLAG2_10000000) - set_object_flag2(0x42, OBJFLAG2_08000000) - set_object_flag2(0x41, OBJFLAG2_20000000) - set_object_flag2(0x42, OBJFLAG2_20000000) + set_object_flag2(0x41, OBJFLAG2_LOCKEDBACK) + set_object_flag2(0x42, OBJFLAG2_LOCKEDFRONT) + set_object_flag2(0x41, OBJFLAG2_AICANNOTUSE) + set_object_flag2(0x42, OBJFLAG2_AICANNOTUSE) // Wait until first 4 objectives complete beginloop(0x04) @@ -3508,10 +3508,10 @@ u8 func101f_enable_bridge_skedar[] = { label(0x2c) unlock_door(0x41, 0x80) unlock_door(0x42, 0x80) - unset_object_flag2(0x41, OBJFLAG2_10000000) - unset_object_flag2(0x42, OBJFLAG2_08000000) - unset_object_flag2(0x41, OBJFLAG2_20000000) - unset_object_flag2(0x42, OBJFLAG2_20000000) + unset_object_flag2(0x41, OBJFLAG2_LOCKEDBACK) + unset_object_flag2(0x42, OBJFLAG2_LOCKEDFRONT) + unset_object_flag2(0x41, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x42, OBJFLAG2_AICANNOTUSE) show_chr(0x21) show_chr(0x22) show_chr(CHR_BRIDGE1) diff --git a/src/files/setup/setuplip.c b/src/files/setup/setuplip.c index 72e58234d..dea80f2b4 100644 --- a/src/files/setup/setuplip.c +++ b/src/files/setup/setuplip.c @@ -1597,14 +1597,14 @@ u8 func100a_random_doors[] = { endloop(0x04) label(0x06) - set_object_flag(0x07, OBJFLAG_02000000) - set_object_flag(0x09, OBJFLAG_02000000) - set_object_flag(0x0b, OBJFLAG_02000000) - set_object_flag(0x0d, OBJFLAG_02000000) - set_object_flag(0x08, OBJFLAG_02000000) - set_object_flag(0x0a, OBJFLAG_02000000) - set_object_flag(0x0c, OBJFLAG_02000000) - set_object_flag(0x0e, OBJFLAG_02000000) + set_object_flag(0x07, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x09, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x0b, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x0d, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x08, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x0a, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x0c, OBJFLAG_CANNOT_ACTIVATE) + set_object_flag(0x0e, OBJFLAG_CANNOT_ACTIVATE) beginloop(0x03) // 55 in 256 chance of doing anything on a given frame @@ -1812,8 +1812,8 @@ u8 func0418_doorman[] = { // Unlocking label(0x06) - unset_object_flag2(0x4a, OBJFLAG2_20000000) - unset_object_flag2(0x4b, OBJFLAG2_20000000) + unset_object_flag2(0x4a, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x4b, OBJFLAG2_AICANNOTUSE) unlock_door(0x4a, 0x40) unlock_door(0x4b, 0x40) open_door(0x4a) diff --git a/src/files/setup/setuppam.c b/src/files/setup/setuppam.c index 97116d419..90346211e 100644 --- a/src/files/setup/setuppam.c +++ b/src/files/setup/setuppam.c @@ -4475,7 +4475,7 @@ u8 func102b_proxymines[] = { endloop(0x04) label(0x2e) - set_object_flag(OBJ_PROXYMINES, OBJFLAG_00100000) + set_object_flag(OBJ_PROXYMINES, OBJFLAG_UNCOLLECTABLE) set_object_flag2(OBJ_PROXYMINES, OBJFLAG2_INVISIBLE) label(0x06) @@ -4491,8 +4491,8 @@ u8 func102c_lock_doors[] = { // PA lock_door(0xb1, 0x80) lock_door(0xb2, 0x80) - set_object_flag2(0xb1, OBJFLAG2_20000000) - set_object_flag2(0xb2, OBJFLAG2_20000000) + set_object_flag2(0xb1, OBJFLAG2_AICANNOTUSE) + set_object_flag2(0xb2, OBJFLAG2_AICANNOTUSE) // A and SA label(0x2e) @@ -4591,8 +4591,8 @@ u8 func102f_unlock_drcaroll_door[] = { label(0x2e) unlock_door(0x75, 0x02) unlock_door(0x76, 0x02) - unset_object_flag2(0x75, OBJFLAG2_20000000) - unset_object_flag2(0x76, OBJFLAG2_20000000) + unset_object_flag2(0x75, OBJFLAG2_AICANNOTUSE) + unset_object_flag2(0x76, OBJFLAG2_AICANNOTUSE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; diff --git a/src/files/setup/setuprit.c b/src/files/setup/setuprit.c index 304ced247..f34b514fe 100644 --- a/src/files/setup/setuprit.c +++ b/src/files/setup/setuprit.c @@ -572,13 +572,13 @@ u8 func1024_give_objects[] = { label(0x2d) set_object_flag2(OBJ_DATAUPLINK_BOND, OBJFLAG2_INVISIBLE) - set_object_flag(OBJ_DATAUPLINK_BOND, OBJFLAG_00100000) + set_object_flag(OBJ_DATAUPLINK_BOND, OBJFLAG_UNCOLLECTABLE) set_object_flag2(OBJ_REMOTEMINE_BOND, OBJFLAG2_INVISIBLE) - set_object_flag(OBJ_REMOTEMINE_BOND, OBJFLAG_00100000) + set_object_flag(OBJ_REMOTEMINE_BOND, OBJFLAG_UNCOLLECTABLE) set_object_flag2(OBJ_DATAUPLINK_COOP, OBJFLAG2_INVISIBLE) - set_object_flag(OBJ_DATAUPLINK_COOP, OBJFLAG_00100000) + set_object_flag(OBJ_DATAUPLINK_COOP, OBJFLAG_UNCOLLECTABLE) set_object_flag2(OBJ_REMOTEMINE_COOP, OBJFLAG2_INVISIBLE) - set_object_flag(OBJ_REMOTEMINE_COOP, OBJFLAG_00100000) + set_object_flag(OBJ_REMOTEMINE_COOP, OBJFLAG_UNCOLLECTABLE) beginloop(0x04) chr_toggle_p1p2(CHR_SELF) diff --git a/src/files/setup/setupsho.c b/src/files/setup/setupsho.c index 273c2d33e..9467f7bc6 100644 --- a/src/files/setup/setupsho.c +++ b/src/files/setup/setupsho.c @@ -1055,8 +1055,8 @@ u8 func100c_check_army_defeated[] = { endloop(0x91) label(0x2d) - unset_object_flag2(0x45, OBJFLAG2_08000000) - unset_object_flag2(0x46, OBJFLAG2_10000000) + unset_object_flag2(0x45, OBJFLAG2_LOCKEDFRONT) + unset_object_flag2(0x46, OBJFLAG2_LOCKEDBACK) set_ailist(CHR_SELF, GAILIST_IDLE) endlist }; @@ -3585,9 +3585,9 @@ u8 func1020_show_phoenix[] = { if_object_in_good_condition(0x2c, /*goto*/ 0x2d) if_object_in_good_condition(0x2d, /*goto*/ 0x2d) if_object_in_good_condition(0x2e, /*goto*/ 0x2d) - unset_object_flag(OBJ_PHOENIX1, OBJFLAG_00100000) + unset_object_flag(OBJ_PHOENIX1, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_PHOENIX1, OBJFLAG2_INVISIBLE) - unset_object_flag(OBJ_PHOENIX2, OBJFLAG_00100000) + unset_object_flag(OBJ_PHOENIX2, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_PHOENIX2, OBJFLAG2_INVISIBLE) set_ailist(CHR_SELF, GAILIST_IDLE) label(0x2d) @@ -3615,8 +3615,8 @@ u8 func1021_handle_mine[] = { u8 func1022_armyroom_exitdoors[] = { yield - set_object_flag2(0x45, OBJFLAG2_08000000) - set_object_flag2(0x46, OBJFLAG2_10000000) + set_object_flag2(0x45, OBJFLAG2_LOCKEDFRONT) + set_object_flag2(0x46, OBJFLAG2_LOCKEDBACK) if_difficulty_gt(DIFF_SA, /*goto*/ 0x2d) // A and SA @@ -3625,8 +3625,8 @@ u8 func1022_armyroom_exitdoors[] = { endloop(0x91) label(0x06) - unset_object_flag2(0x45, OBJFLAG2_08000000) - unset_object_flag2(0x46, OBJFLAG2_10000000) + unset_object_flag2(0x45, OBJFLAG2_LOCKEDFRONT) + unset_object_flag2(0x46, OBJFLAG2_LOCKEDBACK) // All difficulties label(0x2d) diff --git a/src/files/setup/setuptra.c b/src/files/setup/setuptra.c index 1a441cb56..b228070dc 100644 --- a/src/files/setup/setuptra.c +++ b/src/files/setup/setuptra.c @@ -742,8 +742,8 @@ u8 func1005_jon_msgs_meetup[] = { label(0x06) set_stage_flag(STAGEFLAG_ELVIS_STASHED) mute_channel(CHANNEL_0) - unset_object_flag2(0x0d, OBJFLAG2_08000000) - set_object_flag2(0x0d, OBJFLAG2_10000000) + unset_object_flag2(0x0d, OBJFLAG2_LOCKEDFRONT) + set_object_flag2(0x0d, OBJFLAG2_LOCKEDBACK) unlock_door(0x0d, 0x20) release_grabbed_object(CHR_BOND) yield @@ -2967,7 +2967,7 @@ u8 func0c01_midcutscene[] = { set_object_flag3(0x11, OBJFLAG3_00000010) object_do_animation(0x01cf, 0x11, 0x04ff, 0xfe) - unset_object_flag2(0x0a, OBJFLAG2_20000000) + unset_object_flag2(0x0a, OBJFLAG2_AICANNOTUSE) unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE) unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE) set_ailist(CHR_JONATHAN, AILIST_JONATHAN_HANGAR) @@ -3581,7 +3581,7 @@ u8 func102f_toggle_remotemines[] = { set_ailist(CHR_SELF, GAILIST_IDLE) label(0x06) - unset_object_flag(OBJ_REMOTEMINES, OBJFLAG_00100000) + unset_object_flag(OBJ_REMOTEMINES, OBJFLAG_UNCOLLECTABLE) unset_object_flag2(OBJ_REMOTEMINES, OBJFLAG2_INVISIBLE) set_ailist(CHR_SELF, GAILIST_IDLE) endlist diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 66a42174b..dbc09a36a 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -12543,7 +12543,7 @@ struct prop *chrGetEquippedWeaponPropWithCheck(struct chrdata *chr, s32 hand) if (prop) { struct weaponobj *weapon = prop->weapon; - if (!weaponHasFlag(weapon->weapon_id, 0x00000010)) { + if (!weaponHasFlag(weapon->weapon_id, WEAPONFLAG_00000010)) { prop = NULL; } } @@ -33291,7 +33291,7 @@ s32 chrConsiderGrenadeThrow(struct chrdata *chr, u32 entitytype, u32 entityid) if (prop) { weapon = prop->weapon; - weapon->hidden |= 0x00000800; + weapon->hidden |= OBJHFLAG_00000800; chrThrowGrenade(chr, rightprop == NULL ? 0 : 1, true); chr->act_throwgrenade.entitytype = entitytype; chr->act_throwgrenade.entityid = entityid; @@ -49032,7 +49032,7 @@ bool chrHasStageFlag(struct chrdata *chr, u32 flag) bool chrHasHiddenFlag00000002(struct chrdata *chr) { - return (chr->hidden & 0x00000002) != 0; + return (chr->hidden & CHRHFLAG_00000002) != 0; } void chrRestartTimer(struct chrdata *chr) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 73ecd3e4a..407a8fd97 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -2960,7 +2960,7 @@ bool aiIfGunUnclaimed(void) struct weaponobj *weapon = g_Vars.chrdata->gunprop->weapon; if (weapon && weapon->prop) { - weapon->flags |= 0x00400000; + weapon->flags |= OBJFLAG_00400000; g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[4]); } else { g_Vars.aioffset += 5; @@ -3160,7 +3160,7 @@ bool aiDestroyObject(void) struct defaultobj *entity = obj->prop->obj; if (entity->obj == 0xeb) { - obj->flags = (obj->flags & 0xfffeffff) | 0x20000; + obj->flags = (obj->flags & ~OBJFLAG_00010000) | OBJFLAG_INVINCIBLE; func0f129900(entity->prop, &entity->prop->pos, &entity->prop->rooms[0], 3, 0); func0f12e714(entity->prop, 0x16); } else { @@ -3259,12 +3259,12 @@ bool aiChrDropWeapon(void) } else if (chr && chr->prop) { if (chr->weapons_held[0]) { func0f082964(chr->weapons_held[0], 1); - chr->hidden = chr->hidden | 0x00000001; + chr->hidden |= CHRHFLAG_00000001; } if (chr->weapons_held[1]) { func0f082964(chr->weapons_held[1], 1); - chr->hidden = chr->hidden | 0x00000001; + chr->hidden |= CHRHFLAG_00000001; } } @@ -13927,15 +13927,15 @@ bool aiMiscellaneous(void) var8006ae28 = value; break; case 5: - g_RoomPtrs[room_id].flags &= ~0x00004000; + g_RoomPtrs[room_id].flags &= ~ROOMFLAG_00004000; if (value) { - g_RoomPtrs[room_id].flags |= 0x00004000; + g_RoomPtrs[room_id].flags |= ROOMFLAG_00004000; } break; case 6: - g_RoomPtrs[room_id].flags &= ~0x00008000; + g_RoomPtrs[room_id].flags &= ~ROOMFLAG_00008000; if (value) { - g_RoomPtrs[room_id].flags |= 0x00008000; + g_RoomPtrs[room_id].flags |= ROOMFLAG_00008000; } break; case 7: @@ -13947,9 +13947,9 @@ bool aiMiscellaneous(void) case 9: for (i = 1; i < g_Vars.roomcount; i++) { if (value) { - g_RoomPtrs[i].flags |= 0x00004000; + g_RoomPtrs[i].flags |= ROOMFLAG_00004000; } else { - g_RoomPtrs[i].flags &= ~0x00004000; + g_RoomPtrs[i].flags &= ~ROOMFLAG_00004000; } } break; @@ -14111,7 +14111,7 @@ bool aiChrKill(void) chr->act_dead.unk034 = 0; chr->act_dead.unk03c = 0; chr->sleep = 0; - chr->chrflags |= 0x04000000 | 0x00010000; + chr->chrflags |= CHRCFLAG_04000000 | CHRCFLAG_00010000; } g_Vars.aioffset += 3; diff --git a/src/game/game_066310.c b/src/game/game_066310.c index 80610ea63..bd92162e7 100644 --- a/src/game/game_066310.c +++ b/src/game/game_066310.c @@ -46188,7 +46188,7 @@ void func0f08e0c4(struct doorobj *door) if (door->doortype == DOORTYPE_8) { struct obj44 *obj44 = door->base.unk44; - door->base.flags |= OBJFLAG_02000000; + door->base.flags |= OBJFLAG_CANNOT_ACTIVATE; door->perimfrac = 0; if (obj44 && (door->base.flags & OBJFLAG_00000100)) { diff --git a/src/include/constants.h b/src/include/constants.h index fe3212bdf..436f19618 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -237,7 +237,7 @@ #define CHRFLAG1_80000000 0x80000000 // Globals // chr->hidden -#define CHRHFLAG_00000001 0x00000001 // Not used in scripts - sunglasses? +#define CHRHFLAG_00000001 0x00000001 // Set when chr drops weapon #define CHRHFLAG_00000002 0x00000002 // Not used in scripts #define CHRHFLAG_00000004 0x00000004 // Related to firing - hand 1 #define CHRHFLAG_00000008 0x00000008 // Related to firing - hand 0 @@ -618,72 +618,72 @@ #define NUM_WEAPONS 94 // obj->flags -#define OBJFLAG_00000001 0x00000001 // Not used in scripts -#define OBJFLAG_00000002 0x00000002 // Not used in scripts -#define OBJFLAG_00000004 0x00000004 // Not used in scripts -#define OBJFLAG_00000008 0x00000008 // Not used in scripts -#define OBJFLAG_00000010 0x00000010 // Not used in scripts -#define OBJFLAG_00000020 0x00000020 // Not used in scripts -#define OBJFLAG_00000040 0x00000040 // Not used in scripts -#define OBJFLAG_00000080 0x00000080 // Not used in scripts -#define OBJFLAG_00000100 0x00000100 // G5 mines, Air Base brown door, AF1 grate and escape door, Defense shuttle, Ruins mines, MBR lift door -#define OBJFLAG_00000200 0x00000200 // Not used in scripts +#define OBJFLAG_00000001 0x00000001 // Editor: "Fall to Ground" +#define OBJFLAG_00000002 0x00000002 // Editor: "In Air Rotated 90 Deg Upside-Down" +#define OBJFLAG_00000004 0x00000004 // Editor: "In Air Upside-Down" +#define OBJFLAG_00000008 0x00000008 // Editor: "In Air" +#define OBJFLAG_00000010 0x00000010 // Editor: "Scale to Pad Bounds" +#define OBJFLAG_00000020 0x00000020 // Editor: "X to Pad Bounds" +#define OBJFLAG_00000040 0x00000040 // Editor: "Y to Pad Bounds" +#define OBJFLAG_00000080 0x00000080 // Editor: "Z to Pad Bounds" +#define OBJFLAG_00000100 0x00000100 // G5 mines, Air Base brown door, AF1 grate and escape door, Defense shuttle, Ruins mines, MBR lift door. Editor suggests "Force Collisions" but this seems wrong +#define OBJFLAG_00000200 0x00000200 // Editor: "Special Environment Mapping" #define OBJFLAG_ILLUMINATED 0x00000400 -#define OBJFLAG_00000800 0x00000800 // Not used in scripts -#define OBJFLAG_00001000 0x00001000 // Not used in scripts -#define OBJFLAG_00002000 0x00002000 // AF1 commhubs -#define OBJFLAG_00004000 0x00004000 // Not used in scripts -#define OBJFLAG_00008000 0x00008000 // Not used in scripts +#define OBJFLAG_00000800 0x00000800 // Editor: "Free Standing Glass" +#define OBJFLAG_00001000 0x00001000 // Editor: "Absolute Position" +#define OBJFLAG_00002000 0x00002000 // AF1 commhubs. Editor suggests "Weapon Not Dropped" +#define OBJFLAG_00004000 0x00004000 // Editor: "Assigned to Actor" +#define OBJFLAG_00008000 0x00008000 // Editor: "Embedded Object" #define OBJFLAG_00010000 0x00010000 // Not used in scripts #define OBJFLAG_INVINCIBLE 0x00020000 #define OBJFLAG_COLLECTABLE 0x00040000 #define OBJFLAG_00080000 0x00080000 // Not used in scripts -#define OBJFLAG_00100000 0x00100000 // Lots of stages - mainly keycards? -#define OBJFLAG_00200000 0x00200000 // Not used in scripts +#define OBJFLAG_UNCOLLECTABLE 0x00100000 +#define OBJFLAG_00200000 0x00200000 // Editor: "Bounce and Destroy If Shot" #define OBJFLAG_00400000 0x00400000 // Not used in scripts #define OBJFLAG_00800000 0x00800000 // Not used in scripts -#define OBJFLAG_01000000 0x01000000 // Not used in scripts -#define OBJFLAG_02000000 0x02000000 // Extraction "winddoor", Rescue doors, Air Base lift door, Attack Ship hanger doors, CI xray comhubs -#define OBJFLAG_04000000 0x04000000 // Not used in scripts +#define OBJFLAG_01000000 0x01000000 // Editor: "Embedded Object" +#define OBJFLAG_CANNOT_ACTIVATE 0x02000000 // Makes it do nothing if player presses B on object. Used mostly for doors. +#define OBJFLAG_04000000 0x04000000 // Editor: "AI Sees Through Door/Object" #define OBJFLAG_08000000 0x08000000 // Not used in scripts #define OBJFLAG_DEACTIVATED 0x10000000 -#define OBJFLAG_20000000 0x20000000 // Not used in scripts -#define OBJFLAG_40000000 0x40000000 // Used quite a lot +#define OBJFLAG_20000000 0x20000000 // Editor: "Door Opens Backwards/Special Function/Conceal Weapon" +#define OBJFLAG_40000000 0x40000000 // Editor: "Door open by default/Empty weapon" #define OBJFLAG_INTERCEPTOR_DISABLED 0x80000000 // obj->flags2 -#define OBJFLAG2_00000001 0x00000001 // Used only in CI Training -#define OBJFLAG2_00000002 0x00000002 // Ruins spikes -#define OBJFLAG2_00000004 0x00000004 // Defense hostage doors - openable by AI? -#define OBJFLAG2_00000008 0x00000008 // Not used in scripts -#define OBJFLAG2_00000010 0x00000010 // Not used in scripts -#define OBJFLAG2_00000020 0x00000020 // Not used in scripts -#define OBJFLAG2_00000040 0x00000040 // Not used in scripts -#define OBJFLAG2_00000080 0x00000080 // Not used in scripts -#define OBJFLAG2_00000100 0x00000100 // Not used in scripts -#define OBJFLAG2_00000200 0x00000200 // Not used in scripts -#define OBJFLAG2_00000400 0x00000400 // Not used in scripts -#define OBJFLAG2_00000800 0x00000800 // Not used in scripts -#define OBJFLAG2_00001000 0x00001000 // Investigation CMP150s, Air Base safe item and shield -#define OBJFLAG2_00002000 0x00002000 // Ruins commhub -#define OBJFLAG2_00004000 0x00004000 // Not used in scripts -#define OBJFLAG2_00008000 0x00008000 // Not used in scripts -#define OBJFLAG2_00010000 0x00010000 // Not used in scripts -#define OBJFLAG2_00020000 0x00020000 // G5 mine, Air Base mine -#define OBJFLAG2_00040000 0x00040000 // Only used in CI training -#define OBJFLAG2_INVISIBLE 0x00080000 -#define OBJFLAG2_00100000 0x00100000 // Not used in scripts -#define OBJFLAG2_00200000 0x00200000 // Ruins spikes -#define OBJFLAG2_00400000 0x00400000 // Not used in scripts -#define OBJFLAG2_00800000 0x00800000 // Not used in scripts -#define OBJFLAG2_01000000 0x01000000 // Not used in scripts -#define OBJFLAG2_02000000 0x02000000 // Not used in scripts -#define OBJFLAG2_04000000 0x04000000 // Used quite a lot - gravity? -#define OBJFLAG2_08000000 0x08000000 // Locked door? -#define OBJFLAG2_10000000 0x10000000 // Locked door? -#define OBJFLAG2_20000000 0x20000000 // Locked door? Or indestructible by counter op? -#define OBJFLAG2_40000000 0x40000000 // Used by doors -#define OBJFLAG2_80000000 0x80000000 // Attack Ship glass +#define OBJFLAG2_00000001 0x00000001 // Used only in CI Training +#define OBJFLAG2_00000002 0x00000002 // Ruins spikes +#define OBJFLAG2_00000004 0x00000004 // Defense hostage doors - openable by AI? +#define OBJFLAG2_00000008 0x00000008 // Editor: "Don't load in Multiplayer" +#define OBJFLAG2_00000010 0x00000010 // Editor: "Don't Load on Agent Mode" +#define OBJFLAG2_00000020 0x00000020 // Editor: "Don't Load on Secret Agent Mode" +#define OBJFLAG2_00000040 0x00000040 // Editor: "Don't Load on Perfect Agent Mode" +#define OBJFLAG2_00000080 0x00000080 // Not used in scripts +#define OBJFLAG2_00000100 0x00000100 // Editor: "Immobile" +#define OBJFLAG2_00000200 0x00000200 // Editor: "Mines" +#define OBJFLAG2_00000400 0x00000400 // Not used in scripts +#define OBJFLAG2_00000800 0x00000800 // Editor: "Don't activate if clipping gap Jo/Object" +#define OBJFLAG2_00001000 0x00001000 // Investigation CMP150s, Air Base safe item and shield +#define OBJFLAG2_00002000 0x00002000 // Ruins commhub - used as a "shown message" flag +#define OBJFLAG2_00004000 0x00004000 // Editor: "Immune to Gunfire" +#define OBJFLAG2_SHOOTTHROUGH 0x00008000 +#define OBJFLAG2_DRAWONTOP 0x00010000 +#define OBJFLAG2_00020000 0x00020000 // G5 mine, Air Base mine +#define OBJFLAG2_00040000 0x00040000 // Only used in CI training +#define OBJFLAG2_INVISIBLE 0x00080000 +#define OBJFLAG2_00100000 0x00100000 // Editor: "Bulletproof Glass" +#define OBJFLAG2_00200000 0x00200000 // Editor: "Immune to Explosions" (Ruins spikes) +#define OBJFLAG2_00400000 0x00400000 // Editor: "Don't load on 2P (coop/anti)" +#define OBJFLAG2_00800000 0x00800000 // Editor: "Don't load on 3P" +#define OBJFLAG2_01000000 0x01000000 // Editor: "Don't load on 4P" +#define OBJFLAG2_THROWTHROUGH 0x02000000 // Rockets/mines/grenades etc pass through object +#define OBJFLAG2_04000000 0x04000000 // Used quite a lot - gravity? +#define OBJFLAG2_LOCKEDFRONT 0x08000000 // One-way door lock +#define OBJFLAG2_LOCKEDBACK 0x10000000 // One-way door lock +#define OBJFLAG2_AICANNOTUSE 0x20000000 +#define OBJFLAG2_40000000 0x40000000 // Used by doors +#define OBJFLAG2_80000000 0x80000000 // Attack Ship glass // obj->flags3 #define OBJFLAG3_PUSHABLE 0x00000001 @@ -696,13 +696,13 @@ #define OBJFLAG3_00000080 0x00000080 // Not used in scripts #define OBJFLAG3_00000100 0x00000100 // Not used in scripts #define OBJFLAG3_00000200 0x00000200 // Not used in scripts -#define OBJFLAG3_NO_COLLISION 0x00000400 +#define OBJFLAG3_WALKTRHOUGH 0x00000400 #define OBJFLAG3_RTRACKED_BLUE 0x00000800 -#define OBJFLAG3_00001000 0x00001000 // Show shield around object (always) +#define OBJFLAG3_SHOWSHIELD 0x00001000 // Show shield effect around object (always) #define OBJFLAG3_00002000 0x00002000 // Not used in scripts #define OBJFLAG3_00004000 0x00004000 // Not used in scripts #define OBJFLAG3_00008000 0x00008000 // Not used in scripts -#define OBJFLAG3_00010000 0x00010000 // Not used in scripts +#define OBJFLAG3_00010000 0x00010000 // Editor: "Can be activated" #define OBJFLAG3_00020000 0x00020000 // Not used in scripts #define OBJFLAG3_00040000 0x00040000 // Not used in scripts #define OBJFLAG3_00080000 0x00080000 // Not used in scripts @@ -714,14 +714,15 @@ #define OBJFLAG3_02000000 0x02000000 // Not used in scripts #define OBJFLAG3_04000000 0x04000000 // Not used in scripts #define OBJFLAG3_08000000 0x08000000 // Not used in scripts -#define OBJFLAG3_10000000 0x10000000 // Not used in scripts +#define OBJFLAG3_10000000 0x10000000 // Editor: "Keep Collisions After Fully Destroyed" #define OBJFLAG3_20000000 0x20000000 // Not used in scripts -#define OBJFLAG3_40000000 0x40000000 // Not used in scripts +#define OBJFLAG3_40000000 0x40000000 // Editor: "Door Highlighted IR Scanner" #define OBJFLAG3_80000000 0x80000000 // Not used in scripts // obj->hidden #define OBJHFLAG_00000080 0x00000080 #define OBJHFLAG_00000200 0x00000200 +#define OBJHFLAG_00000800 0x00000800 #define OBJHFLAG_ACTIVATED_BY_BOND 0x00004000 #define OBJHFLAG_ACTIVATED_BY_COOP 0x00040000 #define OBJHFLAG_00200000 0x00200000 @@ -853,6 +854,9 @@ #define RACE_EYESPY 3 #define RACE_ROBOT 4 +#define ROOMFLAG_00004000 0x00004000 +#define ROOMFLAG_00008000 0x00008000 + #define SAVEFILEFLAG_USED_TRANSFERPAK 0x23 #define SAVEFILEFLAG_CI_TOUR_DONE 0x24 #define SAVEFILEFLAG_CI_HOLO7_DONE 0x29 @@ -1146,6 +1150,8 @@ #define WEAPON_5C 0x5c #define WEAPON_SUICIDEPILL 0x5d +#define WEAPONFLAG_00000010 0x00000010 + // Heads and bodies #define HEAD_RANDOM -1 #define BODY_DJBOND 0x00