Rename hudmsg functions

This commit is contained in:
Ryan Dwyer 2020-03-17 17:36:09 +10:00
parent a551473111
commit fadd2e9606
33 changed files with 652 additions and 646 deletions

View File

@ -2002,23 +2002,23 @@ u8 func100e_check_ecm_mines[] = {
label(0x08)
reset_timer
message(CHR_BOND, L_AME(29)) // "ECM Mine placed correctly."
show_hudmsg(CHR_BOND, L_AME(29)) // "ECM Mine placed correctly."
yield
mute_channel(CHANNEL_0)
assign_sound(0x8113, CHANNEL_0)
control_sound_from_object(CHANNEL_0, OBJ_SECURITYHUB, TRUE)
message(CHR_BOND, L_AME(76)) // "Internal security system temporarily disabled."
show_hudmsg(CHR_BOND, L_AME(76)) // "Internal security system temporarily disabled."
set_stage_flag(STAGEFLAG_SECURITYHUB_COMPLETE)
reloop(0x00)
label(0x0a)
reset_timer
message(CHR_BOND, L_AME(29)) // "ECM Mine placed correctly."
show_hudmsg(CHR_BOND, L_AME(29)) // "ECM Mine placed correctly."
yield
mute_channel(CHANNEL_1)
assign_sound(0x8113, CHANNEL_1)
control_sound_from_object(CHANNEL_1, OBJ_EXTCOMMSHUB, TRUE)
message(CHR_BOND, L_AME(77)) // "External communications hub disabled."
show_hudmsg(CHR_BOND, L_AME(77)) // "External communications hub disabled."
set_stage_flag(STAGEFLAG_EXTCOMMSHUB_COMPLETE)
reloop(0x00)
@ -2087,13 +2087,13 @@ u8 func100e_check_ecm_mines[] = {
set_stage_flag(STAGEFLAG_EXTCOMMSHUB_MINES_WASTED)
label(0x8c)
message(CHR_BOND, L_AME(28)) // "Badly placed ECM Mine."
show_hudmsg(CHR_BOND, L_AME(28)) // "Badly placed ECM Mine."
reloop(0x00)
// Mines wasted with both hubs remaining
label(0x8d)
message(CHR_BOND, L_AME(28)) // "Badly placed ECM Mine."
message(CHR_BOND, L_AME(32)) // "CANNOT complete all objectives."
show_hudmsg(CHR_BOND, L_AME(28)) // "Badly placed ECM Mine."
show_hudmsg(CHR_BOND, L_AME(32)) // "CANNOT complete all objectives."
set_stage_flag(STAGEFLAG_SECURITYHUB_MINES_WASTED)
set_stage_flag(STAGEFLAG_EXTCOMMSHUB_MINES_WASTED)
reloop(0x00)
@ -2118,7 +2118,7 @@ u8 func1004_check_lab_lift_located[] = {
label(0x2c)
if_stage_flag_eq(STAGEFLAG_LAB_LIFT_LOCATED, TRUE, /*goto*/ 0x2c)
message(CHR_P1P2, L_AME(78)) // "Laboratory lift located."
show_hudmsg(CHR_P1P2, L_AME(78)) // "Laboratory lift located."
set_stage_flag(STAGEFLAG_LAB_LIFT_LOCATED)
label(0x2c)
yield
@ -2157,7 +2157,7 @@ u8 func1006_check_programmer_dead[] = {
label(0x2c)
if_stage_flag_eq(STAGEFLAG_PROGRAMMER_LOGGED_IN, TRUE, /*goto*/ 0x06)
message(CHR_BOND, L_AME(57)) // "Critical mission personnel killed."
show_hudmsg(CHR_BOND, L_AME(57)) // "Critical mission personnel killed."
set_stage_flag(STAGEFLAG_PROGRAMMER_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -2188,7 +2188,7 @@ u8 func1007_uplinking[] = {
label(0xc0)
if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2c)
message(CHR_TARGET, L_AME(49)) // "Unable to download - Data Uplink needed."
show_hudmsg(CHR_TARGET, L_AME(49)) // "Unable to download - Data Uplink needed."
call_rng
if_rand_lt(60, /*goto*/ 0x0d)
if_rand_lt(120, /*goto*/ 0x0e)
@ -2222,7 +2222,7 @@ u8 func1007_uplinking[] = {
label(0x2c)
if_stage_flag_eq(STAGEFLAG_PROGRAMMER_LOGGED_IN, TRUE, /*goto*/ 0xae)
restart_timer
message(CHR_TARGET, L_AME(46)) // "ACCESS DENIED - password needed."
show_hudmsg(CHR_TARGET, L_AME(46)) // "ACCESS DENIED - password needed."
assign_sound(0x01c0, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_PC, FALSE)
@ -2235,7 +2235,7 @@ u8 func1007_uplinking[] = {
goto_first(0x04)
label(0xae)
message(CHR_TARGET, L_AME(44)) // "File download initiated."
show_hudmsg(CHR_TARGET, L_AME(44)) // "File download initiated."
assign_sound(0x01bf, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_PC, TRUE)
restart_timer
@ -2251,13 +2251,13 @@ u8 func1007_uplinking[] = {
mute_channel(CHANNEL_7)
assign_sound(0x01c1, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_PC, TRUE)
message(CHR_TARGET, L_AME(45)) // "File download completed."
show_hudmsg(CHR_TARGET, L_AME(45)) // "File download completed."
yield
set_stage_flag(STAGEFLAG_DOWNLOAD_COMPLETE)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
message(CHR_TARGET, L_AME(74)) // "Datalink broken - connection terminated."
show_hudmsg(CHR_TARGET, L_AME(74)) // "Datalink broken - connection terminated."
mute_channel(CHANNEL_7)
assign_sound(0x01c0, CHANNEL_6)
play_sound_from_object(CHANNEL_6, OBJ_PC, 0x012c, 0x0190)
@ -2272,7 +2272,7 @@ u8 func1007_uplinking[] = {
reloop(0x04)
label(0x12)
message(CHR_TARGET, L_AME(75)) // "Datalink error - incomplete file download."
show_hudmsg(CHR_TARGET, L_AME(75)) // "Datalink error - incomplete file download."
mute_channel(CHANNEL_7)
assign_sound(0x01c0, CHANNEL_6)
play_sound_from_object(CHANNEL_6, OBJ_PC, 0x012c, 0x0190)
@ -2309,7 +2309,7 @@ u8 func1008_doorswitch[] = {
label(0x2c)
play_sound(0x00ba, -1)
message(CHR_P1P2, L_AME(47)) // "Door unlocked."
show_hudmsg(CHR_P1P2, L_AME(47)) // "Door unlocked."
set_stage_flag(STAGEFLAG_OFFICE_DOOR_UNLOCKED)
unlock_door(OBJ_OFFICEDOOR1, 0x01)
unlock_door(OBJ_OFFICEDOOR2, 0x01)
@ -2337,12 +2337,12 @@ u8 func1009_check_civilians_killed[] = {
endloop(0x04)
label(0x2c)
message(CHR_BOND, L_AME(55)) // "Unacceptable civilian casualties."
show_hudmsg(CHR_BOND, L_AME(55)) // "Unacceptable civilian casualties."
set_stage_flag(STAGEFLAG_CIVILIANS_KILLED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x09)
message(CHR_BOND, L_AME(57)) // "Critical mission personnel killed."
show_hudmsg(CHR_BOND, L_AME(57)) // "Critical mission personnel killed."
set_stage_flag(STAGEFLAG_CIVILIANS_KILLED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2437,7 +2437,7 @@ u8 func100d_check_objects_destroyed[] = {
if_object_in_good_condition(OBJ_SECURITYHUB, /*goto*/ 0x2c)
set_stage_flag(STAGEFLAG_SECURITYHUB_DESTROYED)
mute_channel(CHANNEL_0)
message(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
// PA only - check door switch
label(0x2c)
@ -2446,7 +2446,7 @@ u8 func100d_check_objects_destroyed[] = {
if_stage_flag_eq(STAGEFLAG_DOORSWITCH_DESTROYED, TRUE, /*goto*/ 0x2c)
if_object_in_good_condition(OBJ_DOORSWITCH, /*goto*/ 0x2c)
set_stage_flag(STAGEFLAG_DOORSWITCH_DESTROYED)
message(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
// PA only - check PC
label(0x2c)
@ -2456,7 +2456,7 @@ u8 func100d_check_objects_destroyed[] = {
if_objective_failed(2, /*goto*/ 0x2c)
if_object_in_good_condition(OBJ_PC, /*goto*/ 0x2c)
set_stage_flag(STAGEFLAG_PC_DESTROYED)
message(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
// Check comms hub
label(0x2c)
@ -2464,7 +2464,7 @@ u8 func100d_check_objects_destroyed[] = {
if_object_in_good_condition(OBJ_EXTCOMMSHUB, /*goto*/ 0x2c)
set_stage_flag(STAGEFLAG_EXTCOMMSHUB_DESTROYED)
mute_channel(CHANNEL_1)
message(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_AME(54)) // "Critical mission object destroyed."
label(0x2c)
endloop(0x04)
@ -3289,7 +3289,7 @@ u8 func1011_check_hubs_activated[] = {
reloop(0x04)
label(0x08)
message(CHR_BOND, L_AME(80)) // "ECM Mine needed to disable security hub."
show_hudmsg(CHR_BOND, L_AME(80)) // "ECM Mine needed to disable security hub."
restart_timer
beginloop(0x09)
@ -3297,7 +3297,7 @@ u8 func1011_check_hubs_activated[] = {
endloop(0x09)
label(0x0a)
message(CHR_BOND, L_AME(81)) // "ECM Mine needed to disable comms hub."
show_hudmsg(CHR_BOND, L_AME(81)) // "ECM Mine needed to disable comms hub."
restart_timer
beginloop(0x0b)
@ -3669,7 +3669,7 @@ u8 func101d_disable_cameras[] = {
unset_object_flag(OBJ_CAMERA6, OBJFLAG_DEACTIVATED)
label(0x06)
message(CHR_BOND, L_AME(97)) // "Security system is now back online."
show_hudmsg(CHR_BOND, L_AME(97)) // "Security system is now back online."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -3678,7 +3678,7 @@ u8 func101d_disable_cameras[] = {
* @unregistered
*/
u8 unregistered_function7[] = {
message(CHR_BOND, L_AME(99)) // "2023 AD, 2214 Hours Lucerne Tower - dataDyne HQ"
show_hudmsg(CHR_BOND, L_AME(99)) // "2023 AD, 2214 Hours Lucerne Tower - dataDyne HQ"
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};

View File

@ -1327,7 +1327,7 @@ u8 func1002_check_accessed_foyer_elevator[] = {
label(0x00)
set_stage_flag(STAGEFLAG_ACCESSED_FOYER_ELEVATOR)
message(CHR_TARGET, L_ARK(33)) // "Foyer elevator accessed."
show_hudmsg(CHR_TARGET, L_ARK(33)) // "Foyer elevator accessed."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -1393,13 +1393,13 @@ u8 func1004_elevator_unlocking[] = {
label(0x28)
if_stage_flag_eq(STAGEFLAG_ELEVATOR_UNLOCKED, TRUE, /*goto*/ 0x00)
set_stage_flag(STAGEFLAG_ELEVATOR_PC_DESTROYED)
message(CHR_BOND, L_ARK(45)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_ARK(45)) // "Critical mission object destroyed."
label(0x00)
set_ailist(CHR_SELF, GAILIST_IDLE)
// Computer activated
label(0x20)
message(CHR_TARGET, L_ARK(14)) // "Accessing elevator controls..."
show_hudmsg(CHR_TARGET, L_ARK(14)) // "Accessing elevator controls..."
assign_sound(0x8116, CHANNEL_6)
control_sound_from_object(CHANNEL_6, 0x01, TRUE)
restart_timer
@ -1438,7 +1438,7 @@ u8 func1004_elevator_unlocking[] = {
play_sound(0x81b0, -1)
unlock_door(0x02, 0x01)
unlock_door(0x03, 0x01)
message(CHR_TARGET, L_ARK(34)) // "Office elevator door has been unlocked."
show_hudmsg(CHR_TARGET, L_ARK(34)) // "Office elevator door has been unlocked."
set_stage_flag(STAGEFLAG_ELEVATOR_UNLOCKED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1482,7 +1482,7 @@ u8 func1005_check_bodyguards_dead[] = {
label(0x20)
label(0x26)
message(CHR_BOND, L_ARK(36)) // "Cassandra's bodyguards have been defeated."
show_hudmsg(CHR_BOND, L_ARK(36)) // "Cassandra's bodyguards have been defeated."
set_stage_flag(STAGEFLAG_OBJECTIVE_BODYGUARDS_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1493,7 +1493,7 @@ u8 func1006_check_hovercopter_destroyed[] = {
beginloop(0x1f)
if_object_in_good_condition(OBJ_HOVERCOPTER, /*goto*/ 0x00)
message(CHR_BOND, L_ARK(35)) // "DataDyne Hovercopter eliminated."
show_hudmsg(CHR_BOND, L_ARK(35)) // "DataDyne Hovercopter eliminated."
set_stage_flag(STAGEFLAG_HOVERCOPTER_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x00)
@ -1526,18 +1526,18 @@ u8 func100e_drcaroll_warnings[] = {
// Dead
label(0x21)
label(0x00)
message(CHR_BOND, L_ARK(16)) // "Dr. Caroll has been killed!"
show_hudmsg(CHR_BOND, L_ARK(16)) // "Dr. Caroll has been killed!"
set_stage_flag(STAGEFLAG_DRCAROLL_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
// Shield under 100
label(0x30)
message(CHR_BOND, L_ARK(17)) // "Dr. Caroll is under attack!"
show_hudmsg(CHR_BOND, L_ARK(17)) // "Dr. Caroll is under attack!"
set_stage_flag(STAGEFLAG_DRCAROLL_ATTACKED)
reloop(0x1f)
label(0x31)
message(CHR_BOND, L_ARK(18)) // "Dr. Caroll has been damaged!"
show_hudmsg(CHR_BOND, L_ARK(18)) // "Dr. Caroll has been damaged!"
set_stage_flag(STAGEFLAG_DRCAROLL_DAMAGED)
endloop(0x1f)

View File

@ -102,10 +102,10 @@ u8 func1002_first_walk[] = {
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
display_text(0x00, COLOR_02_WHITE, L_ATE(7)) // "THE DUEL"
show_hudmsg_middle(0x00, COLOR_02_WHITE, L_ATE(7)) // "THE DUEL"
chr_do_animation(ANIM_RELOAD, -1, -1, 0x06, 0x00, CHR_GUARD, 2)
label(0x2d)
message(CHR_BOND, L_ATE(12)) // "Opponent skill level: AGENT"
show_hudmsg(CHR_BOND, L_ATE(12)) // "Opponent skill level: AGENT"
// Wait for camera to stop animating
restart_timer
@ -118,7 +118,7 @@ u8 func1002_first_walk[] = {
// Start walking
label(0x06)
remove_displayed_text
remove_hudmsgs
revoke_control(CHR_BOND, 0)
enter_firstperson
force_walk(CHR_BOND, 0x0275, 40, 5, 0, 100)
@ -169,7 +169,7 @@ u8 func1007_second_walk[] = {
chr_do_animation(ANIM_GRAB_CROTCH, -1, -1, 0x06, 0x00, CHR_JONATHAN, 2)
label(0x2d)
message(CHR_BOND, L_ATE(13)) // "Opponent skill level: SPECIAL AGENT"
show_hudmsg(CHR_BOND, L_ATE(13)) // "Opponent skill level: SPECIAL AGENT"
restart_timer
beginloop(0x08)
@ -181,7 +181,7 @@ u8 func1007_second_walk[] = {
// Start force walk
label(0x06)
label(0x2d)
remove_displayed_text
remove_hudmsgs
revoke_control(CHR_BOND, 0)
enter_firstperson
yield
@ -249,7 +249,7 @@ u8 func1008_third_walk[] = {
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
chr_do_animation(ANIM_HEAD_ROLL, -1, -1, 0x06, 0x00, CHR_TRENT, 2)
label(0x2d)
message(CHR_BOND, L_ATE(14)) // "Opponent skill level: PERFECT AGENT"
show_hudmsg(CHR_BOND, L_ATE(14)) // "Opponent skill level: PERFECT AGENT"
// Wait for cutscene to finish
restart_timer
@ -262,7 +262,7 @@ u8 func1008_third_walk[] = {
// Begin force walk
label(0x06)
remove_displayed_text
remove_hudmsgs
revoke_control(CHR_BOND, 0)
enter_firstperson
force_walk(CHR_BOND, 0x0275, 40, 5, 0, 100)
@ -295,7 +295,7 @@ u8 func1005_main[] = {
endloop(0x04)
label(0x2d)
message(CHR_BOND, L_ATE(9)) // "Well done! You were too quick for him!"
show_hudmsg(CHR_BOND, L_ATE(9)) // "Well done! You were too quick for him!"
set_stage_flag(STAGEFLAG_GUARD_DEAD)
restart_timer
@ -322,7 +322,7 @@ u8 func1005_main[] = {
endloop(0x09)
label(0x2d)
message(CHR_BOND, L_ATE(10)) // "Well done! You were too quick for him!"
show_hudmsg(CHR_BOND, L_ATE(10)) // "Well done! You were too quick for him!"
set_stage_flag(STAGEFLAG_JONATHAN_DEAD)
restart_timer
@ -349,7 +349,7 @@ u8 func1005_main[] = {
endloop(0x0c)
label(0x2d)
message(CHR_BOND, L_ATE(11)) // "Well done! You were too quick for him!"
show_hudmsg(CHR_BOND, L_ATE(11)) // "Well done! You were too quick for him!"
set_stage_flag(STAGEFLAG_TRENT_DEAD)
restart_timer

View File

@ -1054,7 +1054,7 @@ u8 func1008_escapepod[] = {
// Pod destroyed
mute_channel(CHANNEL_0)
message(CHR_BOND, L_AZT(15)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_AZT(15)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_ESCAPEPOD_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1068,7 +1068,7 @@ u8 func1008_escapepod[] = {
label(0x31)
assign_sound(0x8115, CHANNEL_0)
play_sound_from_object(CHANNEL_0, OBJ_ESCAPEPOD, 0x0320, 0x0640)
message(CHR_P1P2, L_AZT(14)) // "Distress beacon has been activated."
show_hudmsg(CHR_P1P2, L_AZT(14)) // "Distress beacon has been activated."
set_stage_flag(STAGEFLAG_BEACON_ACTIVATED)
endloop(0x06)
@ -1085,7 +1085,7 @@ u8 func1009_check_shuttle_destroyed[] = {
beginloop(0x06)
if_object_in_good_condition(OBJ_SKEDAR_SHUTTLE, /*goto*/ 0x31)
message(CHR_BOND, L_AZT(21)) // "Jamming device has been shut down."
show_hudmsg(CHR_BOND, L_AZT(21)) // "Jamming device has been shut down."
set_stage_flag(STAGEFLAG_SKEDAR_SHUTTLE_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x31)
@ -1102,7 +1102,7 @@ u8 func100a_check_president_dead[] = {
endloop(0x06)
label(0x31)
message(CHR_BOND, L_AZT(22)) // "President has been killed."
show_hudmsg(CHR_BOND, L_AZT(22)) // "President has been killed."
set_stage_flag(STAGEFLAG_PRESIDENT_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1116,7 +1116,7 @@ u8 func100b_check_clone_dead[] = {
endloop(0x06)
label(0x31)
message(CHR_BOND, L_AZT(23)) // "Presidential clone has been eliminated."
show_hudmsg(CHR_BOND, L_AZT(23)) // "Presidential clone has been eliminated."
set_stage_flag(STAGEFLAG_CLONE_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1638,7 +1638,7 @@ u8 func041d_president_running[] = {
rebuild_teams
rebuild_squadrons
if_stage_flag_eq(STAGEFLAG_PRESIDENT_RESCUED, TRUE, /*goto*/ 0x31)
message(CHR_TARGET, L_AZT(25)) // "President has been rescued."
show_hudmsg(CHR_TARGET, L_AZT(25)) // "President has been rescued."
set_stage_flag(STAGEFLAG_PRESIDENT_RESCUED)
label(0x31)
set_ailist(CHR_SELF, GAILIST_IDLE)

View File

@ -1372,7 +1372,7 @@ u8 func1005_check_civilians_killed[] = {
endloop(0x00)
label(0x31)
message(CHR_BOND, L_CAVE(26)) // "Innocent civilians have been killed."
show_hudmsg(CHR_BOND, L_CAVE(26)) // "Innocent civilians have been killed."
set_stage_flag(STAGEFLAG_CIVILIANS_KILLED)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1735,7 +1735,7 @@ u8 func1007_console_activation[] = {
set_object_image(OBJ_CONSOLE, 0x00, 0x0f)
set_object_image(OBJ_CONSOLE, 0x01, 0x0f)
set_chr_flag_bankx(0x12, CHRFLAG0_00002000, BANK_0)
message(CHR_P1P2, L_CAVE(35)) // "System shutdown initiated..."
show_hudmsg(CHR_P1P2, L_CAVE(35)) // "System shutdown initiated..."
mute_channel(CHANNEL_1)
assign_sound(0x01b9, CHANNEL_1)
control_sound_from_object(CHANNEL_1, OBJ_CONSOLE, TRUE)
@ -1754,7 +1754,7 @@ u8 func1007_console_activation[] = {
mute_channel(CHANNEL_1)
assign_sound(0x0479, CHANNEL_1)
control_sound_from_object(CHANNEL_1, OBJ_CONSOLE, TRUE)
message(CHR_P1P2, L_CAVE(36)) // "Security systems have been shut down."
show_hudmsg(CHR_P1P2, L_CAVE(36)) // "Security systems have been shut down."
set_stage_flag(STAGEFLAG_SECURITY_SHUT_DOWN)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
restart_timer
@ -1907,7 +1907,7 @@ u8 func1007_console_activation[] = {
endloop(0x07) \
\
label(0x02) \
message(chr, 0x0e25) /* "Weapons have been detected." */ \
show_hudmsg(chr, 0x0e25) /* "Weapons have been detected." */ \
set_stage_flag(STAGEFLAG_WEAPONS_DETECTED) \
label(0x31) \
mute_channel(CHANNEL_6) \
@ -1951,10 +1951,10 @@ u8 func1009_carousel_activation[] = {
// Shut down without depositing
label(0x31)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x09)
message(CHR_BOND, L_CAVE(66)) // "Hover trolley has been shut down."
show_hudmsg(CHR_BOND, L_CAVE(66)) // "Hover trolley has been shut down."
set_stage_flag(STAGEFLAG_TROLLEY_SHUT_DOWN_WITHOUT_BRIEFCASE)
yield
message(CHR_BOND, L_CAVE(67)) // "Equipment cannot be checked in."
show_hudmsg(CHR_BOND, L_CAVE(67)) // "Equipment cannot be checked in."
label(0x09)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1964,7 +1964,7 @@ u8 func1009_carousel_activation[] = {
endloop(0x00)
label(0x02)
message(CHR_P1P2, L_CAVE(38)) // "Suitcase has been deposited."
show_hudmsg(CHR_P1P2, L_CAVE(38)) // "Suitcase has been deposited."
chr_draw_weapon_in_cutscene(CHR_P1P2, WEAPON_UNARMED)
set_stage_flag(STAGEFLAG_SUITCASE_DEPOSITED)
play_sound(0x80aa, CHANNEL_7)
@ -2028,7 +2028,7 @@ u8 func100b_suitcase_scanning[] = {
// Scanned
label(0x02)
message(CHR_BOND, L_CAVE(39)) // "Suitcase has been scanned."
show_hudmsg(CHR_BOND, L_CAVE(39)) // "Suitcase has been scanned."
set_stage_flag(STAGEFLAG_SUITCASE_SCANNED)
// Agent
@ -2358,12 +2358,12 @@ u8 func100d_laser_panel[] = {
label(0x04)
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_LASER_PANEL, TRUE)
message(CHR_P1P2, L_CAVE(45)) // "Laser grid access denied."
show_hudmsg(CHR_P1P2, L_CAVE(45)) // "Laser grid access denied."
endloop(0x00)
label(0x05)
set_stage_flag(STAGEFLAG_LASERS_OVERLOADED)
message(CHR_P1P2, L_CAVE(46)) // "Laser grid system has been overloaded."
show_hudmsg(CHR_P1P2, L_CAVE(46)) // "Laser grid system has been overloaded."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -2392,7 +2392,7 @@ u8 func100e_check_alaskans_killed[] = {
endloop(0x00)
label(0x31)
message(CHR_BOND, L_CAVE(47)) // "Too many neutral casualties inflicted."
show_hudmsg(CHR_BOND, L_CAVE(47)) // "Too many neutral casualties inflicted."
set_stage_flag(STAGEFLAG_TOO_MANY_NEUTRALS_KILLED)
label(0x02)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -3580,7 +3580,7 @@ u8 func101a_check_disguise_used[] = {
endloop(0x00)
label(0x31)
message(CHR_P1P2, L_CAVE(49)) // "Disguise worn."
show_hudmsg(CHR_P1P2, L_CAVE(49)) // "Disguise worn."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -4158,7 +4158,7 @@ u8 func1029_lift_doors[] = {
label(0x31)
if_stage_flag_eq(STAGEFLAG_SECURITY_SHUT_DOWN, TRUE, /*goto*/ 0x05)
message(CHR_P1P2, L_CAVE(61)) // "Lift inoperative - security system is active."
show_hudmsg(CHR_P1P2, L_CAVE(61)) // "Lift inoperative - security system is active."
restart_timer
beginloop(0x04)
@ -4196,7 +4196,7 @@ u8 func102b_check_secretary_dead[] = {
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x31)
message(CHR_BOND, L_CAVE(62)) // "Critical mission personnel disabled."
show_hudmsg(CHR_BOND, L_CAVE(62)) // "Critical mission personnel disabled."
set_stage_flag(STAGEFLAG_SECRETARY_DEAD)
label(0x09)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -4227,7 +4227,7 @@ u8 func102d_check_console_destroyed[] = {
mute_channel(CHANNEL_1)
if_stage_flag_eq(STAGEFLAG_SECURITY_SHUT_DOWN, TRUE, /*goto*/ 0x31)
set_stage_flag(STAGEFLAG_CONSOLE_DESTROYED)
message(CHR_BOND, L_CAVE(63)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_CAVE(63)) // "Critical mission object destroyed."
label(0x31)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -4240,7 +4240,7 @@ u8 func102e_check_base_entered[] = {
endloop(0x00)
label(0x31)
message(CHR_BOND, L_CAVE(64)) // "Entrance to base secured."
show_hudmsg(CHR_BOND, L_CAVE(64)) // "Entrance to base secured."
set_stage_flag(STAGEFLAG_ENTERED_BASE)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist

View File

@ -1059,7 +1059,7 @@ u8 unregistered_function2[] = {
endloop(0x00)
label(0x04)
message(CHR_BOND, L_DAM(16)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_DAM(16)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_00000400)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1087,7 +1087,7 @@ u8 func1009_open_reactor_hatch[] = {
label(0x07)
hide_object(OBJ_REACTOR_HATCH)
set_object_flag2(OBJ_REACTOR_HATCH, OBJFLAG2_INVISIBLE)
message(CHR_P1P2, L_DAM(17)) // "Reactor shutdown control hatch opened."
show_hudmsg(CHR_P1P2, L_DAM(17)) // "Reactor shutdown control hatch opened."
set_stage_flag(STAGEFLAG_REACTOR_HATCH_OPEN)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1097,7 +1097,7 @@ u8 func100a_reactor_switch[] = {
beginloop(0x00)
chr_toggle_p1p2(CHR_SELF)
if_object_in_good_condition(OBJ_REACTOR_SWITCH, /*goto*/ 0x07)
message(CHR_BOND, L_DAM(36)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_DAM(36)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_REACTOR_SWITCH_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1118,7 +1118,7 @@ u8 func100a_reactor_switch[] = {
set_object_image(OBJ_REACTOR_SWITCH, 0x00, 0x12)
set_object_image(OBJ_REACTOR_SWITCH, 0x01, 0x12)
set_object_image(OBJ_REACTOR_SWITCH, 0x02, 0x12)
message(CHR_P1P2, L_DAM(18)) // "Reactor has been shut down."
show_hudmsg(CHR_P1P2, L_DAM(18)) // "Reactor has been shut down."
set_stage_flag(STAGEFLAG_REACTOR_SHUT_DOWN)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1140,7 +1140,7 @@ u8 func100b_check_diving_area_located[] = {
endloop(0x00)
label(0x07)
message(CHR_P1P2, L_DAM(19)) // "Diving control center has been located."
show_hudmsg(CHR_P1P2, L_DAM(19)) // "Diving control center has been located."
set_stage_flag(STAGEFLAG_LOCATED_DIVING_AREA)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1257,7 +1257,7 @@ u8 func100e_check_labtech_dead[] = {
endloop(0x00)
label(0x07)
message(CHR_BOND, L_DAM(20)) // "Critical mission personnel killed."
show_hudmsg(CHR_BOND, L_DAM(20)) // "Critical mission personnel killed."
set_stage_flag(STAGEFLAG_LABTECH_DEAD)
label(0x0b)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1281,7 +1281,7 @@ u8 func100f_check_researchdata_collected[] = {
endloop(0x00)
label(0x07)
message(CHR_BOND, L_DAM(21)) // "Research data has been secured."
show_hudmsg(CHR_BOND, L_DAM(21)) // "Research data has been secured."
set_stage_flag(STAGEFLAG_COLLECTED_RESEARCH_DATA)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1999,7 +1999,7 @@ u8 func0401_pilot[] = {
label(0x07)
if_stage_flag_eq(STAGEFLAG_AUTOPILOT_DISABLED, TRUE, /*goto*/ 0x07)
message(CHR_TARGET, L_DAM(14)) // "Autopilot system has been deactivated."
show_hudmsg(CHR_TARGET, L_DAM(14)) // "Autopilot system has been deactivated."
set_stage_flag(STAGEFLAG_TRIGGER_ANGRY_PILOT)
yield
yield
@ -2016,7 +2016,7 @@ u8 func0401_pilot[] = {
goto_first(0x0b)
label(0x07)
message(CHR_TARGET, L_DAM(15)) // "GPS system has been deactivated."
show_hudmsg(CHR_TARGET, L_DAM(15)) // "GPS system has been deactivated."
set_stage_flag(STAGEFLAG_GPS_DISABLED)
surrender
goto_first(0x0b)
@ -2055,7 +2055,7 @@ u8 func1011_check_pilots_dead[] = {
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x07)
message(CHR_BOND, L_DAM(27)) // "Critical mission personnel have been killed."
show_hudmsg(CHR_BOND, L_DAM(27)) // "Critical mission personnel have been killed."
set_stage_flag(STAGEFLAG_PILOT_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2111,7 +2111,7 @@ u8 func1012_choose_angry_pilot[] = {
// Killed a pilot
label(0x08)
message(CHR_BOND, L_DAM(35)) // "Civilians have been killed."
show_hudmsg(CHR_BOND, L_DAM(35)) // "Civilians have been killed."
set_stage_flag(STAGEFLAG_JO_KILLED_A_PILOT)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2233,7 +2233,7 @@ u8 func1013_lift_switch[] = {
endloop(0x00)
label(0x07)
message(CHR_P1P2, L_DAM(28)) // "Lift door has been unlocked."
show_hudmsg(CHR_P1P2, L_DAM(28)) // "Lift door has been unlocked."
unlock_door(0x18, 0x02)
unlock_door(0x19, 0x02)
open_door(0x18)
@ -2248,7 +2248,7 @@ u8 func1014_moonpool_switch[] = {
chr_toggle_p1p2(CHR_SELF)
if_object_in_good_condition(OBJ_MOONPOOL_SWITCH, /*goto*/ 0x08)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x10)
message(CHR_P1P2, L_DAM(36)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_P1P2, L_DAM(36)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_MOONPOOL_SWITCH_DESTROYED)
label(0x10)
@ -2260,7 +2260,7 @@ u8 func1014_moonpool_switch[] = {
label(0x07)
label(0x07)
message(CHR_P1P2, L_DAM(29)) // "Lift has been activated."
show_hudmsg(CHR_P1P2, L_DAM(29)) // "Lift has been activated."
set_stage_flag(STAGEFLAG_MOONPOOL_ACTIVATED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2410,7 +2410,7 @@ u8 func101a_badhatchswitches[] = {
goto_next(0x04)
label(0x04)
message(CHR_P1P2, L_DAM(31)) // "Unlocking sequence has been reset."
show_hudmsg(CHR_P1P2, L_DAM(31)) // "Unlocking sequence has been reset."
set_stage_flag(STAGEFLAG_HATCHSWITCHES_RESETTING)
restart_timer
@ -2668,7 +2668,7 @@ u8 func101c_check_elvis_dead[] = {
endloop(0x00)
label(0x07)
message(CHR_BOND, L_DAM(33)) // "Elvis has been killed."
show_hudmsg(CHR_BOND, L_DAM(33)) // "Elvis has been killed."
set_stage_flag(STAGEFLAG_ELVIS_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2812,12 +2812,12 @@ u8 func101d_alarm_switches[] = {
label(0x07)
if_alarm_active(/*goto*/ 0x07)
activate_alarm
message(CHR_P1P2, L_DAM(37)) // "Alarm has been activated."
show_hudmsg(CHR_P1P2, L_DAM(37)) // "Alarm has been activated."
goto_next(0x0c)
label(0x07)
deactivate_alarm
message(CHR_BOND, L_DAM(38)) // "Alarm has been deactivated."
show_hudmsg(CHR_BOND, L_DAM(38)) // "Alarm has been deactivated."
goto_next(0x0c)
label(0x0c)

View File

@ -541,7 +541,7 @@ u8 func1008_check_generator[] = {
// Destroyed
mute_channel(CHANNEL_4)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x06)
message(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_GENERATOR_DESTROYED)
label(0x06)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -557,13 +557,13 @@ u8 func1008_check_generator[] = {
mute_channel(CHANNEL_0)
assign_sound(0x8147, CHANNEL_0)
control_sound_from_object(CHANNEL_0, OBJ_GENERATOR, TRUE)
message(CHR_P1P2, L_DEPO(25)) // "Damping field generator shut down."
show_hudmsg(CHR_P1P2, L_DEPO(25)) // "Damping field generator shut down."
set_stage_flag(STAGEFLAG_GENERATOR_SHUT_DOWN2)
set_stage_flag(STAGEFLAG_GENERATOR_SHUT_DOWN)
reloop(0x04)
label(0x09)
message(CHR_P1P2, L_DEPO(26)) // "Generator cannot be restarted."
show_hudmsg(CHR_P1P2, L_DEPO(26)) // "Generator cannot be restarted."
endloop(0x04)
endlist
@ -578,7 +578,7 @@ u8 func1003_laser_switch_1[] = {
if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH1, /*goto*/ 0x08)
if_object_in_good_condition(OBJ_LASERSWITCH1, /*goto*/ 0x2c)
if_stage_flag_eq(STAGEFLAG_LASERSET1_DISABLED, TRUE, /*goto*/ 0x2c)
message(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_LASERSWITCH1_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
@ -590,7 +590,7 @@ u8 func1003_laser_switch_1[] = {
// Deactivated
set_object_image(OBJ_LASERSWITCH1, 0x00, 0x14)
message(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
show_hudmsg(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
set_stage_flag(STAGEFLAG_LASERSET1_DISABLED)
open_door(OBJ_LASER_1A)
open_door(OBJ_LASER_1B)
@ -610,7 +610,7 @@ u8 func1003_laser_switch_1[] = {
// Activated
label(0x09)
message(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
show_hudmsg(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
unset_stage_flag(STAGEFLAG_LASERSET1_DISABLED)
set_object_image(OBJ_LASERSWITCH1, 0x00, 0x13)
close_door(OBJ_LASER_1A)
@ -644,7 +644,7 @@ u8 func1004_laser_switch_2[] = {
if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH2, /*goto*/ 0x08)
if_object_in_good_condition(OBJ_LASERSWITCH2, /*goto*/ 0x2c)
if_stage_flag_eq(STAGEFLAG_LASERSET2_DISABLED, TRUE, /*goto*/ 0x2c)
message(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_LASERSWITCH2_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
@ -657,7 +657,7 @@ u8 func1004_laser_switch_2[] = {
// Deactivated
set_object_image(OBJ_LASERSWITCH2, 0x00, 0x14)
message(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
show_hudmsg(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
set_stage_flag(STAGEFLAG_LASERSET2_DISABLED)
open_door(OBJ_LASER_2A)
open_door(OBJ_LASER_2B)
@ -678,7 +678,7 @@ u8 func1004_laser_switch_2[] = {
// Activated
label(0x09)
set_object_image(OBJ_LASERSWITCH2, 0x00, 0x13)
message(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
show_hudmsg(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
unset_stage_flag(STAGEFLAG_LASERSET2_DISABLED)
close_door(OBJ_LASER_2A)
close_door(OBJ_LASER_2B)
@ -711,7 +711,7 @@ u8 func1005_laser_switch_3[] = {
if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH3, /*goto*/ 0x08)
if_object_in_good_condition(OBJ_LASERSWITCH3, /*goto*/ 0x2c)
if_stage_flag_eq(STAGEFLAG_LASERSET3_DISABLED, TRUE, /*goto*/ 0x2c)
message(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_LASERSWITCH3_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
@ -723,7 +723,7 @@ u8 func1005_laser_switch_3[] = {
// Deactivated
set_object_image(OBJ_LASERSWITCH3, 0x00, 0x14)
message(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
show_hudmsg(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
set_stage_flag(STAGEFLAG_LASERSET3_DISABLED)
open_door(OBJ_LASER_3A)
open_door(OBJ_LASER_3B)
@ -744,7 +744,7 @@ u8 func1005_laser_switch_3[] = {
// Activated
label(0x09)
set_object_image(OBJ_LASERSWITCH3, 0x00, 0x13)
message(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
show_hudmsg(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
unset_stage_flag(STAGEFLAG_LASERSET3_DISABLED)
close_door(OBJ_LASER_3A)
close_door(OBJ_LASER_3B)
@ -777,7 +777,7 @@ u8 func1006_laser_switch_4[] = {
if_chr_activated_object(CHR_P1P2, OBJ_LASERSWITCH4, /*goto*/ 0x08)
if_object_in_good_condition(OBJ_LASERSWITCH4, /*goto*/ 0x2c)
if_stage_flag_eq(STAGEFLAG_LASERSET4_DISABLED, TRUE, /*goto*/ 0x2c)
message(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_DEPO(24)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_LASERSWITCH4_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
@ -789,7 +789,7 @@ u8 func1006_laser_switch_4[] = {
// Deactivated
set_object_image(OBJ_LASERSWITCH4, 0x00, 0x14)
message(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
show_hudmsg(CHR_P1P2, L_DEPO(27)) // "Laser grid unit shut down."
set_stage_flag(STAGEFLAG_LASERSET4_DISABLED)
open_door(OBJ_LASER_4A)
open_door(OBJ_LASER_4B)
@ -810,7 +810,7 @@ u8 func1006_laser_switch_4[] = {
// Activated
label(0x09)
set_object_image(OBJ_LASERSWITCH4, 0x00, 0x13)
message(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
show_hudmsg(CHR_P1P2, L_DEPO(28)) // "Laser grid unit activated."
unset_stage_flag(STAGEFLAG_LASERSET4_DISABLED)
close_door(OBJ_LASER_4A)
close_door(OBJ_LASER_4B)
@ -872,7 +872,7 @@ u8 func1007_init_lasers[] = {
if_stage_flag_eq(STAGEFLAG_LASERSET3_DISABLED, FALSE, /*goto*/ 0x2c)
if_stage_flag_eq(STAGEFLAG_LASERSET4_DISABLED, FALSE, /*goto*/ 0x2c)
if_stage_flag_eq(STAGEFLAG_ALL_LASERS_DISABLED, TRUE, /*goto*/ 0x2c)
message(CHR_BOND, L_DEPO(29)) // "All laser grid systems shut down."
show_hudmsg(CHR_BOND, L_DEPO(29)) // "All laser grid systems shut down."
set_stage_flag(STAGEFLAG_ALL_LASERS_DISABLED)
label(0x2c)
endloop(0x04)
@ -1267,7 +1267,7 @@ u8 func100e_check_conspirators_alerted[] = {
set_ailist(CHR_CASS, AILIST_RUN_FROM_MEETING)
set_ailist(0x1c, AILIST_RUN_FROM_MEETING) // chr doesn't exist
set_ailist(CHR_BLONDE, AILIST_RUN_FROM_MEETING)
message(CHR_BOND, L_DEPO(41)) // "Conspirators have been alerted."
show_hudmsg(CHR_BOND, L_DEPO(41)) // "Conspirators have been alerted."
// Wait until alarm not active
label(0x06)
@ -1296,13 +1296,13 @@ u8 func100f_alarm_switches[] = {
label(0x2c)
if_stage_flag_eq(STAGEFLAG_ALARM_SOUNDING, TRUE, /*goto*/ 0x06)
message(CHR_P1P2, L_DEPO(42)) // "Alarm activated."
show_hudmsg(CHR_P1P2, L_DEPO(42)) // "Alarm activated."
set_stage_flag(STAGEFLAG_ALARM_SOUNDING)
activate_alarm
reloop(0x04)
label(0x06)
message(CHR_P1P2, L_DEPO(43)) // "Alarm deactivated."
show_hudmsg(CHR_P1P2, L_DEPO(43)) // "Alarm deactivated."
unset_stage_flag(STAGEFLAG_ALARM_SOUNDING)
deactivate_alarm
endloop(0x04)
@ -1315,7 +1315,7 @@ u8 func1010_safe_cracking[] = {
beginloop(0x04)
chr_toggle_p1p2(CHR_SELF)
if_object_in_good_condition(OBJ_SAFEKEYPAD, /*goto*/ 0x2c)
message(CHR_BOND, L_DEPO(64)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_DEPO(64)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_SAFEKEYPAD_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
@ -1324,11 +1324,11 @@ u8 func1010_safe_cracking[] = {
label(0x2c)
if_chr_weapon_equipped(CHR_P1P2, WEAPON_DOORDECODER, /*goto*/ 0x2c)
message(CHR_P1P2, L_DEPO(44)) // "Safe door is locked."
show_hudmsg(CHR_P1P2, L_DEPO(44)) // "Safe door is locked."
endloop(0x04)
label(0x2c)
message(CHR_P1P2, L_DEPO(45)) // "Door Decoder attached."
show_hudmsg(CHR_P1P2, L_DEPO(45)) // "Door Decoder attached."
remove_weapon_from_inventory(WEAPON_DOORDECODER)
move_object_to_pad(OBJ_DECODER, 0x0075)
set_stage_flag(STAGEFLAG_DECODER_ATTACHED)
@ -1345,7 +1345,7 @@ u8 func1010_safe_cracking[] = {
play_x_music(CHANNEL_10, 180)
yield
set_countdown_timer(60)
message(CHR_P1P2, L_DEPO(36)) // "Initiating cracking routines."
show_hudmsg(CHR_P1P2, L_DEPO(36)) // "Initiating cracking routines."
yield
show_countdown_timer
start_countdown_timer
@ -1360,7 +1360,7 @@ u8 func1010_safe_cracking[] = {
beginloop(0x08)
if_object_in_good_condition(OBJ_SAFEKEYPAD, /*goto*/ 0x2c)
message(CHR_BOND, L_DEPO(64)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_DEPO(64)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_SAFEKEYPAD_DESTROYED)
hide_countdown_timer
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1373,7 +1373,7 @@ u8 func1010_safe_cracking[] = {
mute_channel(CHANNEL_1)
assign_sound(0x8145, CHANNEL_1)
control_sound_from_object(CHANNEL_1, OBJ_SAFEKEYPAD, TRUE)
message(CHR_P1P2, L_DEPO(37)) // "Door Decoder finished - door unlocked."
show_hudmsg(CHR_P1P2, L_DEPO(37)) // "Door Decoder finished - door unlocked."
unlock_door(OBJ_SAFEDOOR, 0x40)
unset_object_flag2(OBJ_SAFEDOOR, OBJFLAG2_AICANNOTUSE)
open_door(OBJ_SAFEDOOR)
@ -1408,7 +1408,7 @@ u8 func1012_check_for_end[] = {
hide_countdown_timer
stop_countdown_timer
if_all_objectives_complete(/*goto*/ 0x53)
message(CHR_BOND, L_DEPO(51)) // "Objectives incomplete - MISSION FAILED."
show_hudmsg(CHR_BOND, L_DEPO(51)) // "Objectives incomplete - MISSION FAILED."
label(0x2c)
restart_timer

File diff suppressed because it is too large Load Diff

View File

@ -1087,7 +1087,7 @@ u8 func0404_scientist[] = {
if_self_flag_bankx_eq(CHRFLAG0_00004000, TRUE, BANK_0, /*goto*/ 0x2f)
if_object_in_good_condition(OBJ_GOODTERM3, /*goto*/ 0x19)
say_quip(CHR_TARGET, 0x10, 0xff, 0x00, 0xff, 0x81, 0x09, 0x08)
display_text_top_middle(CHR_TARGET, L_EAR(44), COLOR_00_GREEN) // "It appears someone has broken my PC."
show_hudmsg_top_middle(CHR_TARGET, L_EAR(44), COLOR_00_GREEN) // "It appears someone has broken my PC."
goto_next(0x0e)
label(0x19)
@ -1137,7 +1137,7 @@ u8 func0404_scientist[] = {
goto_next(0x0f)
label(0x0f)
message(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
show_hudmsg(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text
chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x10, 0x10, CHR_SELF, 2)
@ -1146,7 +1146,7 @@ u8 func0404_scientist[] = {
endloop(0x0d)
label(0x06)
message(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
show_hudmsg(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
stop_chr
beginloop(0x0e)
@ -1314,7 +1314,7 @@ u8 func1009_weaponscache[] = {
label(0x2f)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x2f)
message(CHR_TARGET, L_EAR(98)) // "Secret weapons compartment opened."
show_hudmsg(CHR_TARGET, L_EAR(98)) // "Secret weapons compartment opened."
play_sound(0x00f7, -1)
assign_sound(0x043b, CHANNEL_5)
control_sound_from_object(CHANNEL_5, OBJ_CMP150_1, TRUE)
@ -1329,7 +1329,7 @@ u8 func1009_weaponscache[] = {
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2f)
message(CHR_TARGET, L_EAR(99)) // "Enemy detected - weapon cache locked."
show_hudmsg(CHR_TARGET, L_EAR(99)) // "Enemy detected - weapon cache locked."
play_sound(0x00f7, -1)
unset_stage_flag(STAGEFLAG_BOT_ACTIVE)
unset_stage_flag(STAGEFLAG_BOT_REPROGRAMMED)
@ -1369,25 +1369,25 @@ u8 func1002_bot_activation_terminal[] = {
play_sound(0x01ca, -1)
assign_sound(0x01c5, CHANNEL_3)
play_sound_from_object(CHANNEL_3, OBJ_PURPLEBOT, 0x0258, 0x0320)
message(CHR_TARGET, L_EAR(15)) // "Maintenance robots activated."
show_hudmsg(CHR_TARGET, L_EAR(15)) // "Maintenance robots activated."
set_stage_flag(STAGEFLAG_BOT_ACTIVE)
set_stage_flag(STAGEFLAG_BOT_ACTIVE_NOPROGRAM)
reloop(0x04)
// Activating after reprogramming
label(0x2f)
message(CHR_TARGET, L_EAR(15)) // "Maintenance robots activated."
show_hudmsg(CHR_TARGET, L_EAR(15)) // "Maintenance robots activated."
set_stage_flag(STAGEFLAG_BOT_ACTIVE)
yield
play_sound(0x00f7, -1)
message(CHR_TARGET, L_EAR(18)) // "Maintenance cycle activated."
show_hudmsg(CHR_TARGET, L_EAR(18)) // "Maintenance cycle activated."
set_stage_flag(STAGEFLAG_BOT_ACTIVE_MAINTENANCE)
reloop(0x04)
// Attempting to deactivate while bot reprogrammed and running
label(0x08)
play_sound(0x00f7, -1)
message(CHR_TARGET, L_EAR(20)) // "Operation not allowed - robots busy."
show_hudmsg(CHR_TARGET, L_EAR(20)) // "Operation not allowed - robots busy."
restart_timer
beginloop(0x09)
@ -1399,7 +1399,7 @@ u8 func1002_bot_activation_terminal[] = {
// Deactivating
label(0x0a)
message(CHR_TARGET, L_EAR(21)) // "Maintenance robots deactivated."
show_hudmsg(CHR_TARGET, L_EAR(21)) // "Maintenance robots deactivated."
unset_stage_flag(STAGEFLAG_BOT_ACTIVE)
unset_stage_flag(STAGEFLAG_BOT_ACTIVE_CLEANING)
unset_stage_flag(STAGEFLAG_BOT_ACTIVE_NOPROGRAM)
@ -1409,7 +1409,7 @@ u8 func1002_bot_activation_terminal[] = {
label(0x0b)
play_sound(0x00f7, -1)
message(CHR_TARGET, L_EAR(23)) // "Maintenance robot system offline."
show_hudmsg(CHR_TARGET, L_EAR(23)) // "Maintenance robot system offline."
endloop(0x04)
endlist
@ -1444,7 +1444,7 @@ u8 func1003_bot_programming_terminal[] = {
// Reprogramming
play_sound(0x00f7, -1)
message(CHR_TARGET, L_EAR(16)) // "Maintenance robots reprogrammed."
show_hudmsg(CHR_TARGET, L_EAR(16)) // "Maintenance robots reprogrammed."
set_stage_flag(STAGEFLAG_BOT_REPROGRAMMED)
if_stage_flag_eq(STAGEFLAG_BOT_ACTIVE, TRUE, /*goto*/ 0x2f)
reloop(0x04)
@ -1452,7 +1452,7 @@ u8 func1003_bot_programming_terminal[] = {
label(0x2f)
yield
play_sound(0x00f7, -1)
message(CHR_TARGET, L_EAR(19)) // "Routine cleaning cycle activated."
show_hudmsg(CHR_TARGET, L_EAR(19)) // "Routine cleaning cycle activated."
set_stage_flag(STAGEFLAG_BOT_ACTIVE_CLEANING)
restart_timer
@ -1466,7 +1466,7 @@ u8 func1003_bot_programming_terminal[] = {
// Attempting to reprogram while bot already reprogrammed and running
label(0x09)
play_sound(0x00f7, -1)
message(CHR_TARGET, L_EAR(20)) // "Operation not allowed - robots busy."
show_hudmsg(CHR_TARGET, L_EAR(20)) // "Operation not allowed - robots busy."
restart_timer
beginloop(0x0a)
@ -1477,7 +1477,7 @@ u8 func1003_bot_programming_terminal[] = {
reloop(0x04)
label(0x0b)
message(CHR_TARGET, L_EAR(23)) // "Maintenance robot system offline."
show_hudmsg(CHR_TARGET, L_EAR(23)) // "Maintenance robot system offline."
endloop(0x04)
endlist
@ -1522,7 +1522,7 @@ u8 func1018_item_pickup_messages[] = {
goto_next(0x2f)
label(0x06)
message(CHR_P1P2, L_EAR(86)) // "Experimental item 1 acquired."
show_hudmsg(CHR_P1P2, L_EAR(86)) // "Experimental item 1 acquired."
set_stage_flag(STAGEFLAG_HAS_K7AVENGER)
label(0x2f)
if_stage_flag_eq(STAGEFLAG_HAS_NIGHTVISION, TRUE, /*goto*/ 0x2f)
@ -1530,7 +1530,7 @@ u8 func1018_item_pickup_messages[] = {
goto_next(0x2f)
label(0x06)
message(CHR_P1P2, L_EAR(87)) // "Experimental item 2 acquired."
show_hudmsg(CHR_P1P2, L_EAR(87)) // "Experimental item 2 acquired."
set_stage_flag(STAGEFLAG_HAS_NIGHTVISION)
label(0x2f)
if_stage_flag_eq(STAGEFLAG_HAS_SHIELD, TRUE, /*goto*/ 0x2f)
@ -1538,7 +1538,7 @@ u8 func1018_item_pickup_messages[] = {
goto_next(0x2f)
label(0x06)
message(CHR_P1P2, L_EAR(88)) // "Experimental item 3 acquired."
show_hudmsg(CHR_P1P2, L_EAR(88)) // "Experimental item 3 acquired."
set_stage_flag(STAGEFLAG_HAS_SHIELD)
label(0x2f)
endloop(0x04)
@ -1600,7 +1600,7 @@ u8 func1005_check_unacceptable_casualties[] = {
label(0x2f)
label(0x0f)
set_stage_flag(STAGEFLAG_UNACCEPTABLE_CASUALTIES)
message(CHR_BOND, L_EAR(26)) // "Unacceptable scientist casualties."
show_hudmsg(CHR_BOND, L_EAR(26)) // "Unacceptable scientist casualties."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -1640,7 +1640,7 @@ u8 func1006_terminal_activation[] = {
// Inactive terminal
label(0x2f)
speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text
message(CHR_TARGET, L_EAR(27)) // "Terminal is not active."
show_hudmsg(CHR_TARGET, L_EAR(27)) // "Terminal is not active."
restart_timer
beginloop(0x56)
@ -1661,11 +1661,11 @@ u8 func1006_terminal_activation[] = {
endloop(0x56)
label(0x06)
message(CHR_TARGET, L_EAR(42)) // "Experiment already powered down."
show_hudmsg(CHR_TARGET, L_EAR(42)) // "Experiment already powered down."
reloop(0x04)
label(0x2f)
message(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
show_hudmsg(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
assign_sound(0x01c3, CHANNEL_5)
control_sound_from_object(CHANNEL_5, OBJ_GOODTERM1, TRUE)
restart_timer
@ -1675,7 +1675,7 @@ u8 func1006_terminal_activation[] = {
endloop(0x0a)
label(0x06)
message(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
show_hudmsg(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT1)
reloop(0x04)
@ -1690,11 +1690,11 @@ u8 func1006_terminal_activation[] = {
endloop(0x57)
label(0x06)
message(CHR_TARGET, L_EAR(42)) // "Experiment already powered down."
show_hudmsg(CHR_TARGET, L_EAR(42)) // "Experiment already powered down."
goto_first(0x04)
label(0x2f)
message(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
show_hudmsg(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
assign_sound(0x01c3, CHANNEL_5)
control_sound_from_object(CHANNEL_5, OBJ_GOODTERM2, TRUE)
restart_timer
@ -1704,7 +1704,7 @@ u8 func1006_terminal_activation[] = {
endloop(0x0e)
label(0x06)
message(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
show_hudmsg(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT2)
reloop(0x04)
@ -1719,11 +1719,11 @@ u8 func1006_terminal_activation[] = {
endloop(0x58)
label(0x06)
message(CHR_TARGET, L_EAR(42)) // "Experiment already powered down."
show_hudmsg(CHR_TARGET, L_EAR(42)) // "Experiment already powered down."
reloop(0x04)
label(0x2f)
message(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
show_hudmsg(CHR_TARGET, L_EAR(28)) // "Powering down active systems."
assign_sound(0x01c3, CHANNEL_5)
control_sound_from_object(CHANNEL_5, OBJ_GOODTERM3, TRUE)
restart_timer
@ -1733,7 +1733,7 @@ u8 func1006_terminal_activation[] = {
endloop(0x10)
label(0x06)
message(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
show_hudmsg(CHR_TARGET, L_EAR(29)) // "Experiment has been shut down."
set_stage_flag(STAGEFLAG_SHUT_DOWN_EXPERIMENT3)
reloop(0x04)
@ -1741,13 +1741,13 @@ u8 func1006_terminal_activation[] = {
label(0x09)
if_alarm_active(/*goto*/ 0x06)
speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text
message(CHR_TARGET, L_EAR(30)) // "Alarm activated."
show_hudmsg(CHR_TARGET, L_EAR(30)) // "Alarm activated."
set_stage_flag(STAGEFLAG_ALARM1_ACTIVE)
activate_alarm
reloop(0x04)
label(0x06)
message(CHR_TARGET, L_EAR(31)) // "Alarm deactivated."
show_hudmsg(CHR_TARGET, L_EAR(31)) // "Alarm deactivated."
unset_stage_flag(STAGEFLAG_ALARM1_ACTIVE)
deactivate_alarm
reloop(0x04)
@ -1756,13 +1756,13 @@ u8 func1006_terminal_activation[] = {
label(0x0b)
if_alarm_active(/*goto*/ 0x06)
speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text
message(CHR_TARGET, L_EAR(30)) // "Alarm activated."
show_hudmsg(CHR_TARGET, L_EAR(30)) // "Alarm activated."
set_stage_flag(STAGEFLAG_ALARM2_ACTIVE)
activate_alarm
reloop(0x04)
label(0x06)
message(CHR_TARGET, L_EAR(31)) // "Alarm deactivated."
show_hudmsg(CHR_TARGET, L_EAR(31)) // "Alarm deactivated."
unset_stage_flag(STAGEFLAG_ALARM2_ACTIVE)
deactivate_alarm
reloop(0x04)
@ -1771,13 +1771,13 @@ u8 func1006_terminal_activation[] = {
label(0x0c)
if_alarm_active(/*goto*/ 0x06)
speak(CHR_TARGET, 0xffff, 0x8118, CHANNEL_9, COLOR_00_GREEN) // unknown text
message(CHR_TARGET, L_EAR(30)) // "Alarm activated."
show_hudmsg(CHR_TARGET, L_EAR(30)) // "Alarm activated."
set_stage_flag(STAGEFLAG_ALARM3_ACTIVE)
activate_alarm
reloop(0x04)
label(0x06)
message(CHR_TARGET, L_EAR(31)) // "Alarm deactivated."
show_hudmsg(CHR_TARGET, L_EAR(31)) // "Alarm deactivated."
unset_stage_flag(STAGEFLAG_ALARM3_ACTIVE)
deactivate_alarm
reloop(0x04)
@ -1804,7 +1804,7 @@ u8 func1007_uplink[] = {
// Activating a second time
speak(CHR_TARGET, 0xffff, 0x8116, CHANNEL_9, COLOR_00_GREEN) // unknown text
message(CHR_TARGET, L_EAR(41)) // "Security door already unlocked."
show_hudmsg(CHR_TARGET, L_EAR(41)) // "Security door already unlocked."
reloop(0x04)
label(0x06)
@ -1812,12 +1812,12 @@ u8 func1007_uplink[] = {
// Activated computer without uplink
speak(CHR_TARGET, 0xffff, 0x8116, CHANNEL_9, COLOR_00_GREEN) // unknown text
message(CHR_TARGET, L_EAR(36)) // "ACCESS DENIED - security code required."
show_hudmsg(CHR_TARGET, L_EAR(36)) // "ACCESS DENIED - security code required."
reloop(0x04)
// Uplinking
label(0x2f)
message(CHR_TARGET, L_EAR(60)) // "Connection established."
show_hudmsg(CHR_TARGET, L_EAR(60)) // "Connection established."
restart_timer
// First second of uplinking
@ -1839,7 +1839,7 @@ u8 func1007_uplink[] = {
endloop(0x08)
label(0x06)
message(CHR_TARGET, L_EAR(37)) // "Searching for password."
show_hudmsg(CHR_TARGET, L_EAR(37)) // "Searching for password."
restart_timer
set_stage_flag(STAGEFLAG_UPLINK_SEARCHING)
assign_sound(0x01bf, CHANNEL_5)
@ -1861,9 +1861,9 @@ u8 func1007_uplink[] = {
mute_channel(CHANNEL_5)
assign_sound(0x01c1, CHANNEL_6)
control_sound_from_object(CHANNEL_6, OBJ_UPLINKPC, TRUE)
message(CHR_TARGET, L_EAR(39)) // "Password located - bypassing lock."
show_hudmsg(CHR_TARGET, L_EAR(39)) // "Password located - bypassing lock."
yield
message(CHR_TARGET, L_EAR(17)) // "Security doors unlocked."
show_hudmsg(CHR_TARGET, L_EAR(17)) // "Security doors unlocked."
set_stage_flag(STAGEFLAG_UPLINK_FINISHED)
unlock_door(OBJ_UPLINKDOOR, 0x02)
@ -1878,7 +1878,7 @@ u8 func1007_uplink[] = {
// Moved away from PC or switched weapon
label(0x09)
message(CHR_TARGET, L_EAR(40)) // "Contact broken - reestablish link."
show_hudmsg(CHR_TARGET, L_EAR(40)) // "Contact broken - reestablish link."
mute_channel(CHANNEL_5)
mute_channel(CHANNEL_6)
assign_sound(0x01c0, CHANNEL_6)
@ -1901,7 +1901,7 @@ u8 func1007_uplink[] = {
endloop(0x0c)
label(0x06)
message(CHR_TARGET, L_EAR(85)) // "Connection broken - experiments still active."
show_hudmsg(CHR_TARGET, L_EAR(85)) // "Connection broken - experiments still active."
mute_channel(CHANNEL_5)
mute_channel(CHANNEL_6)
assign_sound(0x01c0, CHANNEL_6)
@ -1930,13 +1930,13 @@ u8 func1008_check_bot_terminals_destroyed[] = {
if_object_in_good_condition(OBJ_BOT_ACTIVATION_TERMINAL, /*goto*/ 0x2f)
set_stage_flag(STAGEFLAG_BOT_ACTIVATION_TERMINAL_DESTROYED)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x2f)
message(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
label(0x2f)
if_stage_flag_eq(STAGEFLAG_BOT_PROGRAMMING_TERMINAL_DESTROYED, TRUE, /*goto*/ 0x2f)
if_object_in_good_condition(OBJ_BOT_PROGRAMMING_TERMINAL, /*goto*/ 0x2f)
set_stage_flag(STAGEFLAG_BOT_PROGRAMMING_TERMINAL_DESTROYED)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x2f)
message(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
label(0x2f)
endloop(0x04)
@ -2055,7 +2055,7 @@ u8 func100b_check_uplink_pc_destroyed[] = {
if_stage_flag_eq(STAGEFLAG_UPLINK_FINISHED, TRUE, /*goto*/ 0x08)
if_object_in_good_condition(OBJ_UPLINKPC, /*goto*/ 0x2f)
set_stage_flag(STAGEFLAG_UPLINKPC_DESTROYED)
message(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
goto_next(0x08)
label(0x2f)
endloop(0x04)
@ -2202,21 +2202,21 @@ u8 func100e_experiment_terminals_destroyed[] = {
if_stage_flag_eq(STAGEFLAG_GOODTERM_DESTROYED, TRUE, /*goto*/ 0x2f)
if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT1, TRUE, /*goto*/ 0x2f)
set_stage_flag(STAGEFLAG_GOODTERM_DESTROYED)
message(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
label(0x2f)
if_object_in_good_condition(OBJ_GOODTERM2, /*goto*/ 0x2f)
if_stage_flag_eq(STAGEFLAG_GOODTERM_DESTROYED, TRUE, /*goto*/ 0x2f)
if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT2, TRUE, /*goto*/ 0x2f)
set_stage_flag(STAGEFLAG_GOODTERM_DESTROYED)
message(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
label(0x2f)
if_object_in_good_condition(0x09, /*goto*/ 0x2f)
if_stage_flag_eq(STAGEFLAG_GOODTERM_DESTROYED, TRUE, /*goto*/ 0x2f)
if_stage_flag_eq(STAGEFLAG_SHUT_DOWN_EXPERIMENT3, TRUE, /*goto*/ 0x2f)
set_stage_flag(STAGEFLAG_GOODTERM_DESTROYED)
message(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
label(0x2f)
endloop(0x04)
@ -2744,12 +2744,12 @@ u8 func1013_hatch_pc[] = {
label(0x56)
play_sound(0x00f7, -1)
message(CHR_TARGET, L_EAR(61)) // "Maintenance hatch is now open."
show_hudmsg(CHR_TARGET, L_EAR(61)) // "Maintenance hatch is now open."
unlock_door(0x3f, 0x08)
reloop(0x04)
label(0x2f)
message(CHR_TARGET, L_EAR(62)) // "Maintenance hatch is already open."
show_hudmsg(CHR_TARGET, L_EAR(62)) // "Maintenance hatch is already open."
restart_timer
beginloop(0x57)
@ -2777,7 +2777,7 @@ u8 func0415_radioactivity[] = {
reloop(0x04)
label(0x06)
message(CHR_TARGET, L_EAR(63)) // "WARNING - radioactive matter detected."
show_hudmsg(CHR_TARGET, L_EAR(63)) // "WARNING - radioactive matter detected."
restart_timer
label(0x08)
yield
@ -3215,7 +3215,7 @@ u8 func101f_check_bot_destroyed[] = {
if_chr_in_room(CHR_COOP, 0x00, 0x006a, /*goto*/ 0x06)
label(0x0b)
message(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_EAR(22)) // "Critical mission object destroyed."
set_stage_flag(STAGEFLAG_00000008)
set_stage_flag(STAGEFLAG_00000004)
if_stage_flag_eq(STAGEFLAG_HAS_K7AVENGER, TRUE, /*goto*/ 0x2f)

View File

@ -1438,7 +1438,7 @@ u8 func1004_check_negotiator[] = {
endloop(0x04)
label(0x06)
message(CHR_BOND, L_ELD(11)) // "Negotiator has been killed."
show_hudmsg(CHR_BOND, L_ELD(11)) // "Negotiator has been killed."
set_stage_flag(STAGEFLAG_NEGOTIATOR_DEAD)
// PA
@ -1680,7 +1680,7 @@ u8 func0403_negotiator[] = {
endloop(0x08)
label(0x06)
message(CHR_BOND, L_ELD(13)) // "Negotiator has escaped to safety."
show_hudmsg(CHR_BOND, L_ELD(13)) // "Negotiator has escaped to safety."
set_stage_flag(STAGEFLAG_NEGOTIATOR_ESCAPED)
stop_music_channel(CHANNEL_1)
remove_chr(CHR_SELF)
@ -1949,7 +1949,7 @@ u8 func1006_check_snipers_dead[] = {
endloop(0x04)
label(0x2d)
message(CHR_BOND, L_ELD(12)) // "Snipers have been eliminated."
show_hudmsg(CHR_BOND, L_ELD(12)) // "Snipers have been eliminated."
set_stage_flag(STAGEFLAG_SNIPERS_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1965,7 +1965,7 @@ u8 func1007_cooling_switch[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_COOLING_SWITCH, TRUE)
if_stage_flag_eq(STAGEFLAG_COOLING_ACTIVE, TRUE, /*goto*/ 0x06)
message(CHR_P1P2, L_ELD(14)) // "Cooling systems have been activated."
show_hudmsg(CHR_P1P2, L_ELD(14)) // "Cooling systems have been activated."
set_stage_flag(STAGEFLAG_COOLING_ACTIVE)
assign_sound(0x8148, CHANNEL_1)
control_sound_from_object(CHANNEL_1, OBJ_COOLING_SWITCH, TRUE)
@ -1985,12 +1985,12 @@ u8 func1007_cooling_switch[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_COOLING_SWITCH, TRUE)
if_stage_flag_eq(STAGEFLAG_WINDMILL_ACTIVATED, FALSE, /*goto*/ 0x2d)
message(CHR_P1P2, L_ELD(48)) // "Operation denied - windmill is active."
show_hudmsg(CHR_P1P2, L_ELD(48)) // "Operation denied - windmill is active."
goto_next(0x67)
label(0x2d)
assign_sound(0x8149, CHANNEL_1)
control_sound_from_object(CHANNEL_1, OBJ_COOLING_SWITCH, TRUE)
message(CHR_P1P2, L_ELD(15)) // "Cooling systems have been deactivated."
show_hudmsg(CHR_P1P2, L_ELD(15)) // "Cooling systems have been deactivated."
unset_stage_flag(STAGEFLAG_COOLING_ACTIVE)
label(0x67)
restart_timer
@ -2015,7 +2015,7 @@ u8 func1008_power_switch[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_POWER_SWITCH, TRUE)
if_stage_flag_eq(STAGEFLAG_POWER_ACTIVE, TRUE, /*goto*/ 0x06)
message(CHR_P1P2, L_ELD(16)) // "Power systems have been activated."
show_hudmsg(CHR_P1P2, L_ELD(16)) // "Power systems have been activated."
set_stage_flag(STAGEFLAG_POWER_ACTIVE)
assign_sound(0x8148, CHANNEL_0)
control_sound_from_object(CHANNEL_0, OBJ_POWER_SWITCH, TRUE)
@ -2035,12 +2035,12 @@ u8 func1008_power_switch[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_POWER_SWITCH, TRUE)
if_stage_flag_eq(STAGEFLAG_WINDMILL_ACTIVATED, FALSE, /*goto*/ 0x2d)
message(CHR_P1P2, L_ELD(48)) // "Operation denied - windmill is active."
show_hudmsg(CHR_P1P2, L_ELD(48)) // "Operation denied - windmill is active."
goto_next(0x67)
label(0x2d)
assign_sound(0x8149, CHANNEL_0)
control_sound_from_object(CHANNEL_0, OBJ_POWER_SWITCH, TRUE)
message(CHR_P1P2, L_ELD(17)) // "Power systems have been deactivated."
show_hudmsg(CHR_P1P2, L_ELD(17)) // "Power systems have been deactivated."
unset_stage_flag(STAGEFLAG_POWER_ACTIVE)
label(0x67)
restart_timer
@ -2079,7 +2079,7 @@ u8 func1009_windmill_switch[] = {
label(0x2d)
assign_sound(0x0438, CHANNEL_2)
play_sound_from_object(CHANNEL_2, OBJ_WINDMILL_SWITCH, 0x0708, 0x0960)
message(CHR_P1P2, L_ELD(18)) // "Windmill has been reactivated."
show_hudmsg(CHR_P1P2, L_ELD(18)) // "Windmill has been reactivated."
yield
set_stage_flag(STAGEFLAG_WINDMILL_ACTIVATED)
set_object_flag2(OBJ_WINDMILL, OBJFLAG2_AICANNOTUSE)
@ -2107,21 +2107,21 @@ u8 func100a_check_switches_destroyed[] = {
beginloop(0x04)
if_object_in_good_condition(0x03, /*goto*/ 0x2d)
if_stage_flag_eq(STAGEFLAG_COOLING_ACTIVE, TRUE, /*goto*/ 0x2d)
message(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_WINDMILL_SWITCH_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2d)
if_object_in_good_condition(0x04, /*goto*/ 0x2d)
if_stage_flag_eq(STAGEFLAG_POWER_ACTIVE, TRUE, /*goto*/ 0x2d)
message(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_WINDMILL_SWITCH_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2d)
if_object_in_good_condition(0x05, /*goto*/ 0x2d)
if_stage_flag_eq(STAGEFLAG_WINDMILL_ACTIVATED, TRUE, /*goto*/ 0x2d)
message(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_WINDMILL_SWITCH_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -2191,7 +2191,7 @@ u8 func100b_invoke_hackers[] = {
// Timer expired
label(0x06)
message(CHR_BOND, L_ELD(23)) // "Hackers have uploaded vital data."
show_hudmsg(CHR_BOND, L_ELD(23)) // "Hackers have uploaded vital data."
set_stage_flag(STAGEFLAG_HACKERS_SUCCEEDED)
// Hackers dead
@ -2275,7 +2275,7 @@ u8 func100c_check_hackers_dead[] = {
label(0x2d)
if_stage_flag_eq(STAGEFLAG_HACKERS_SUCCEEDED, TRUE, /*goto*/ 0x2d)
message(CHR_BOND, L_ELD(24)) // "Hackers have been eliminated."
show_hudmsg(CHR_BOND, L_ELD(24)) // "Hackers have been eliminated."
set_stage_flag(STAGEFLAG_HACKERS_DEAD)
// Hackers succeeded
@ -2296,7 +2296,7 @@ u8 func100e_check_objectives_complete[] = {
endloop(0x04)
label(0x2d)
message(CHR_P1P2, L_ELD(25)) // "Carrington has been rescued."
show_hudmsg(CHR_P1P2, L_ELD(25)) // "Carrington has been rescued."
set_stage_flag(STAGEFLAG_CARRINGTON_RESCUED)
yield
yield
@ -2305,7 +2305,7 @@ u8 func100e_check_objectives_complete[] = {
hide_countdown_timer
stop_countdown_timer
if_all_objectives_complete(/*goto*/ 0x5c)
message(CHR_BOND, L_ELD(26)) // "All objectives not completed - mission failed."
show_hudmsg(CHR_BOND, L_ELD(26)) // "All objectives not completed - mission failed."
// If all objectives aren't complete, the player is shown the message, but
// if the objective completes within the next 4 seconds you pass the level
@ -2393,7 +2393,7 @@ u8 func1013_check_guard_subdued[] = {
// Captured someone
label(0x06)
if_stage_flag_eq(STAGEFLAG_GUARD_CAPTURED, TRUE, /*goto*/ 0x2e)
message(CHR_BOND, L_ELD(29)) // "Enemy guard has been subdued."
show_hudmsg(CHR_BOND, L_ELD(29)) // "Enemy guard has been subdued."
label(0x2e)
unset_stage_flag(STAGEFLAG_FORGOT_TO_KO_GUARD)
yield
@ -2483,7 +2483,7 @@ u8 func1015_check_computers_destroyed[] = {
endloop(0x04)
label(0x08)
message(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_ELD(21)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_HACKER_PC_DESTROYED)
label(0x09)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -3207,7 +3207,7 @@ u8 func1025_check_basement_entered_without_subdue[] = {
endloop(0x04)
label(0x06)
message(CHR_P1P2, L_ELD(49)) // "Mission unsuccessful - enemy guard not captured."
show_hudmsg(CHR_P1P2, L_ELD(49)) // "Mission unsuccessful - enemy guard not captured."
set_stage_flag(STAGEFLAG_FORGOT_TO_KO_GUARD)
label(0x0d)

View File

@ -777,7 +777,7 @@ u8 func1004_check_hostages_killed[] = {
label(0x08)
if_stage_flag_eq(STAGEFLAG_ENOUGH_HOSTAGES_SAVED, TRUE, /*goto*/ 0x2e)
set_stage_flag(STAGEFLAG_TOO_MANY_HOSTAGES_KILLED)
message(CHR_BOND, L_IMP(16)) // "Too many hostages killed."
show_hudmsg(CHR_BOND, L_IMP(16)) // "Too many hostages killed."
label(0x2e)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -793,7 +793,7 @@ u8 func1005_check_safeinfo_destroyed[] = {
endloop(0x04)
label(0x08)
message(CHR_BOND, L_IMP(18)) // "Sensitive information has been destroyed."
show_hudmsg(CHR_BOND, L_IMP(18)) // "Sensitive information has been destroyed."
set_stage_flag(STAGEFLAG_SAFEINFO_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -818,7 +818,7 @@ u8 func1005_check_safeinfo_destroyed[] = {
/* Switch activated */ \
label(0x08) \
play_sound(0x043a, CHANNEL_7) \
message(CHR_P1P2, 0x220f) /* "Automatic gun activated." */ \
show_hudmsg(CHR_P1P2, 0x220f) /* "Automatic gun activated." */ \
label(0x0e) \
unset_object_flag(autogun, OBJFLAG_DEACTIVATED) \
set_stage_flag(stageflag) \
@ -833,7 +833,7 @@ u8 func1005_check_safeinfo_destroyed[] = {
/* Autogun or switch destroyed */ \
label(0x0b) \
if_difficulty_lt(DIFF_SA, /*goto*/ 0x11) \
message(CHR_BOND, 0x2222) /* "Critical mission object has been destroyed." */ \
show_hudmsg(CHR_BOND, 0x2222) /* "Critical mission object has been destroyed." */ \
set_stage_flag(STAGEFLAG_AUTOGUN_SWITCH_DESTROYED)
@ -1567,7 +1567,7 @@ u8 func100c_check_carrington_dead[] = {
endloop(0x04)
label(0x2e)
message(CHR_BOND, L_IMP(19)) // "Carrington has been killed."
show_hudmsg(CHR_BOND, L_IMP(19)) // "Carrington has been killed."
set_stage_flag(STAGEFLAG_CARRINGTON_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2631,7 +2631,7 @@ u8 func1013_check_hostages_saved[] = {
// All rooms done
label(0x2e)
if_stage_flag_eq(STAGEFLAG_TOO_MANY_HOSTAGES_KILLED, TRUE, /*goto*/ 0x2e)
message(CHR_BOND, L_IMP(17)) // "Hostages have been saved."
show_hudmsg(CHR_BOND, L_IMP(17)) // "Hostages have been saved."
set_stage_flag(STAGEFLAG_ENOUGH_HOSTAGES_SAVED)
label(0x2e)
@ -2937,14 +2937,14 @@ u8 func1015_firingrange_pc[] = {
reloop(0x0a)
label(0x2f)
message(CHR_BOND, L_IMP(34)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_IMP(34)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_FR_PC_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x08)
play_sound(0x8116, -1)
if_objective_complete(1, /*goto*/ 0x08)
message(CHR_P1P2, L_IMP(30)) // "Access denied - authorization failure."
show_hudmsg(CHR_P1P2, L_IMP(30)) // "Access denied - authorization failure."
restart_timer
beginloop(0x0b)
@ -2955,7 +2955,7 @@ u8 func1015_firingrange_pc[] = {
endloop(0x0a)
label(0x08)
message(CHR_P1P2, L_IMP(31)) // "Emergency overrides have been engaged."
show_hudmsg(CHR_P1P2, L_IMP(31)) // "Emergency overrides have been engaged."
unset_object_flag(OBJ_RCP120, OBJFLAG_UNCOLLECTABLE)
unset_object_flag(OBJ_RCP120_GLASS, OBJFLAG_INVINCIBLE)
destroy_object(OBJ_RCP120_GLASS)
@ -3609,7 +3609,7 @@ u8 func1023_check_skeder_shuttle_destroyed[] = {
label(0x2e)
if_stage_flag_eq(STAGEFLAG_BOMB_AIRBORNE, TRUE, /*goto*/ 0x0f)
message(CHR_BOND, L_IMP(39)) // "The bomb has been detonated..."
show_hudmsg(CHR_BOND, L_IMP(39)) // "The bomb has been detonated..."
set_stage_flag(STAGEFLAG_BOMB_EXPLODING_ON_GROUND)
explosions_around_chr(CHR_BOND)
restart_timer
@ -3707,12 +3707,12 @@ u8 func1027_uplink[] = {
label(0x08)
if_chr_weapon_equipped(CHR_TARGET, WEAPON_DATAUPLINK, /*goto*/ 0x2e)
play_sound(0x8116, -1)
message(CHR_TARGET, L_IMP(51)) // "You need the Data Uplink."
show_hudmsg(CHR_TARGET, L_IMP(51)) // "You need the Data Uplink."
reloop(0x04)
// Activated with uplink
label(0x2e)
message(CHR_TARGET, L_IMP(52)) // "Connection has been made."
show_hudmsg(CHR_TARGET, L_IMP(52)) // "Connection has been made."
restart_timer
beginloop(0x0a)
@ -3733,7 +3733,7 @@ u8 func1027_uplink[] = {
// 1 second since uplink
label(0x08)
message(CHR_TARGET, L_IMP(53)) // "Bypassing security systems."
show_hudmsg(CHR_TARGET, L_IMP(53)) // "Bypassing security systems."
restart_timer
assign_sound(0x01bf, CHANNEL_5)
control_sound_from_object(CHANNEL_5, OBJ_SKEDAR_SHUTTLE, TRUE)
@ -3759,9 +3759,9 @@ u8 func1027_uplink[] = {
mute_channel(CHANNEL_5)
assign_sound(0x01c1, CHANNEL_6)
control_sound_from_object(CHANNEL_6, OBJ_SKEDAR_SHUTTLE, TRUE)
message(CHR_TARGET, L_IMP(54)) // "Virus has been downloaded successfully."
show_hudmsg(CHR_TARGET, L_IMP(54)) // "Virus has been downloaded successfully."
yield
message(CHR_TARGET, L_IMP(55)) // "Ship's engines have been activated."
show_hudmsg(CHR_TARGET, L_IMP(55)) // "Ship's engines have been activated."
set_stage_flag(STAGEFLAG_TRIGGER_SHUTTLE_TAKEOFF)
beginloop(0x14)
@ -3774,7 +3774,7 @@ u8 func1027_uplink[] = {
// Connection broken
label(0x0b)
message(CHR_TARGET, L_IMP(56)) // "Connection to ship has been broken."
show_hudmsg(CHR_TARGET, L_IMP(56)) // "Connection to ship has been broken."
mute_channel(CHANNEL_5)
assign_sound(0x01c0, CHANNEL_6)
control_sound_from_object(CHANNEL_6, OBJ_SKEDAR_SHUTTLE, TRUE)

View File

@ -552,7 +552,7 @@ u8 func1019_check_shields_lowered[] = {
if_object_in_good_condition(OBJ_SHIELDCONSOLE1, /*goto*/ 0x06)
if_object_in_good_condition(OBJ_SHIELDCONSOLE2, /*goto*/ 0x06)
if_object_in_good_condition(OBJ_SHIELDCONSOLE3, /*goto*/ 0x06)
message(CHR_BOND, L_LEE(10)) // "Ship's shields have been lowered."
show_hudmsg(CHR_BOND, L_LEE(10)) // "Ship's shields have been lowered."
set_stage_flag(STAGEFLAG_SHIELDS_DISABLED)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x09)
restart_timer
@ -587,7 +587,7 @@ u8 func1004_check_hangar_doors_opened[] = {
if_object_in_good_condition(OBJ_HANGARDOORCONSOLE, /*goto*/ 0x2d)
// Console destroyed
message(CHR_BOND, L_LEE(48)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_LEE(48)) // "Critical mission object destroyed."
set_stage_flag(STAGEFLAG_HANGAR_DOOR_CONSOLE_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -603,7 +603,7 @@ u8 func1004_check_hangar_doors_opened[] = {
// Console activated
label(0x06)
if_stage_flag_eq(STAGEFLAG_SHIELDS_DISABLED, TRUE, /*goto*/ 0x2c)
message(CHR_BOND, L_LEE(47)) // "Hangar doors locked - shields still active."
show_hudmsg(CHR_BOND, L_LEE(47)) // "Hangar doors locked - shields still active."
restart_timer
beginloop(0x65)
@ -615,7 +615,7 @@ u8 func1004_check_hangar_doors_opened[] = {
// PA - console activated after shields disabled
label(0x2c)
message(CHR_P1P2, L_LEE(11)) // "Hangar doors have been opened."
show_hudmsg(CHR_P1P2, L_LEE(11)) // "Hangar doors have been opened."
set_stage_flag(STAGEFLAG_HANGAR_DOORS_OPEN)
// A and SA once shields disabled, or follow through from above
@ -757,7 +757,7 @@ u8 func040e_elvis_give_ar34[] = {
label(0x06)
speak(CHR_P1P2, L_LEE(20), 0x12e2, CHANNEL_6, COLOR_04_ORANGE) // "Take this - you should find it useful..."
give_object_to_chr(OBJ_AR34, CHR_PRESET)
message(CHR_PRESET, L_LEE(21)) // "Received AR34 assault rifle."
show_hudmsg(CHR_PRESET, L_LEE(21)) // "Received AR34 assault rifle."
restart_timer
beginloop(0x0d)
@ -914,7 +914,7 @@ u8 func0409_elvis_follow[] = {
label(0x06)
do_preset_animation(-1)
message(CHR_BOND, L_LEE(13)) // "Navigational information has been retrieved."
show_hudmsg(CHR_BOND, L_LEE(13)) // "Navigational information has been retrieved."
speak(CHR_PRESET, L_LEE(31), 0x12e4, CHANNEL_6, COLOR_04_ORANGE) // "Time to head upwards..."
restart_timer
set_stage_flag(STAGEFLAG_NAVIGATION_ROOM_DONE)
@ -1103,7 +1103,7 @@ u8 func1005_check_elvis_dead[] = {
endloop(0x04)
label(0x2c)
message(CHR_BOND, L_LEE(12)) // "Elvis has been killed."
show_hudmsg(CHR_BOND, L_LEE(12)) // "Elvis has been killed."
set_stage_flag(STAGEFLAG_ELVIS_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1801,7 +1801,7 @@ u8 func0419_hangar_maian[] = {
endloop(0x10)
label(0x06)
message(CHR_BOND, L_LEE(13)) // "Navigational information has been retrieved."
show_hudmsg(CHR_BOND, L_LEE(13)) // "Navigational information has been retrieved."
set_stage_flag(STAGEFLAG_NAVIGATION_ROOM_DONE)
goto_first(0x03)
@ -1943,7 +1943,7 @@ u8 func100c_engineroom[] = {
destroy_object(0x1e)
destroy_object(0x1f)
destroy_object(0x20)
message(CHR_BOND, L_LEE(23)) // "Engines have been disabled."
show_hudmsg(CHR_BOND, L_LEE(23)) // "Engines have been disabled."
set_stage_flag(STAGEFLAG_ENGINES_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2469,7 +2469,7 @@ u8 func1010_check_bridge_captured[] = {
goto_first(0x09)
label(0x2c)
message(CHR_BOND, L_LEE(25)) // "Bridge has been captured."
show_hudmsg(CHR_BOND, L_LEE(25)) // "Bridge has been captured."
set_stage_flag(STAGEFLAG_BRIDGE_CAPTURED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -3547,7 +3547,7 @@ u8 func1021_check_ammo_wasted[] = {
// Ammo wasted
label(0x2c)
set_stage_flag(STAGEFLAG_AMMO_WASTED)
message(CHR_BOND, L_LEE(49)) // "Ammo depleted - consoles can't be destroyed."
show_hudmsg(CHR_BOND, L_LEE(49)) // "Ammo depleted - consoles can't be destroyed."
beginloop(0x66)
if_stage_flag_eq(STAGEFLAG_SHIELDS_DISABLED, TRUE, /*goto*/ 0x2c)

View File

@ -882,7 +882,7 @@ u8 func1007_check_disguise_collected[] = {
u8 func1026_check_records_destroyed[] = {
beginloop(0x04)
if_object_in_good_condition(0x04, /*goto*/ 0x06)
message(CHR_BOND, L_LIP(14)) // "Research records destroyed."
show_hudmsg(CHR_BOND, L_LIP(14)) // "Research records destroyed."
set_stage_flag(STAGEFLAG_RECORDS_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x06)
@ -900,17 +900,17 @@ u8 func1003_uplink_doors[] = {
label(0x2d)
if_stage_flag_eq(STAGEFLAG_DOOR_VIRUS_DOWNLOADED, FALSE, /*goto*/ 0x06)
play_sound(0x8116, -1)
message(CHR_P1P2, L_LIP(48)) // "Virus has already been downloaded."
show_hudmsg(CHR_P1P2, L_LIP(48)) // "Virus has already been downloaded."
reloop(0x04)
label(0x06)
if_chr_weapon_equipped(CHR_P1P2, WEAPON_DATAUPLINK, /*goto*/ 0x2d)
play_sound(0x8116, -1)
message(CHR_P1P2, L_LIP(20)) // "Access to door control systems denied."
show_hudmsg(CHR_P1P2, L_LIP(20)) // "Access to door control systems denied."
reloop(0x04)
label(0x2d)
message(CHR_P1P2, L_LIP(30)) // "Data Uplink connected."
show_hudmsg(CHR_P1P2, L_LIP(30)) // "Data Uplink connected."
restart_timer
beginloop(0x08)
@ -923,7 +923,7 @@ u8 func1003_uplink_doors[] = {
endloop(0x08)
label(0x06)
message(CHR_P1P2, L_LIP(49)) // "Initiating virus download."
show_hudmsg(CHR_P1P2, L_LIP(49)) // "Initiating virus download."
restart_timer
assign_sound(0x01bf, CHANNEL_5)
control_sound_from_object(CHANNEL_5, 0x02, TRUE)
@ -945,13 +945,13 @@ u8 func1003_uplink_doors[] = {
label(0x2d)
assign_sound(0x01c1, CHANNEL_5)
control_sound_from_object(CHANNEL_5, 0x02, TRUE)
message(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
show_hudmsg(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
yield
set_stage_flag(STAGEFLAG_DOOR_VIRUS_DOWNLOADED)
reloop(0x04)
label(0x09)
message(CHR_P1P2, L_LIP(31)) // "Data Uplink connection broken."
show_hudmsg(CHR_P1P2, L_LIP(31)) // "Data Uplink connection broken."
mute_channel(CHANNEL_5)
assign_sound(0x01c0, CHANNEL_6)
control_sound_from_object(CHANNEL_6, 0x02, TRUE)
@ -977,17 +977,17 @@ u8 func1004_uplink_lights[] = {
label(0x2d)
if_stage_flag_eq(STAGEFLAG_LIGHT_VIRUS_DONE, FALSE, /*goto*/ 0x06)
play_sound(0x8116, -1)
message(CHR_P1P2, L_LIP(48)) // "Virus has already been downloaded."
show_hudmsg(CHR_P1P2, L_LIP(48)) // "Virus has already been downloaded."
reloop(0x04)
label(0x06)
if_chr_weapon_equipped(CHR_P1P2, WEAPON_DATAUPLINK, /*goto*/ 0x2d)
play_sound(0x8116, -1)
message(CHR_P1P2, L_LIP(21)) // "Access to light control systems denied."
show_hudmsg(CHR_P1P2, L_LIP(21)) // "Access to light control systems denied."
reloop(0x04)
label(0x2d)
message(CHR_P1P2, L_LIP(30)) // "Data Uplink connected."
show_hudmsg(CHR_P1P2, L_LIP(30)) // "Data Uplink connected."
restart_timer
beginloop(0x08)
@ -1000,7 +1000,7 @@ u8 func1004_uplink_lights[] = {
endloop(0x08)
label(0x06)
message(CHR_P1P2, L_LIP(49)) // "Initiating virus download."
show_hudmsg(CHR_P1P2, L_LIP(49)) // "Initiating virus download."
restart_timer
assign_sound(0x01bf, CHANNEL_5)
control_sound_from_object(CHANNEL_5, 0x01, TRUE)
@ -1022,9 +1022,9 @@ u8 func1004_uplink_lights[] = {
label(0x2d)
assign_sound(0x01c1, CHANNEL_5)
control_sound_from_object(CHANNEL_5, 0x01, TRUE)
message(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
show_hudmsg(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
yield
message(CHR_P1P2, L_LIP(88)) // "Lighting systems overloaded."
show_hudmsg(CHR_P1P2, L_LIP(88)) // "Lighting systems overloaded."
misc_command(0x00c4, 0x0c, 0x6e)
misc_command(0x00c3, 0x0c, 0x6e)
misc_command(0x00c8, 0x0c, 0x6e)
@ -1042,7 +1042,7 @@ u8 func1004_uplink_lights[] = {
reloop(0x04)
label(0x09)
message(CHR_P1P2, L_LIP(31)) // "Data Uplink connection broken."
show_hudmsg(CHR_P1P2, L_LIP(31)) // "Data Uplink connection broken."
mute_channel(CHANNEL_5)
assign_sound(0x01c0, CHANNEL_6)
control_sound_from_object(CHANNEL_6, 0x01, TRUE)
@ -1068,17 +1068,17 @@ u8 func1005_uplink_autoguns[] = {
label(0x2d)
if_stage_flag_eq(STAGEFLAG_LIGHT_VIRUS_DONE, FALSE, /*goto*/ 0x06)
play_sound(0x8116, -1)
message(CHR_P1P2, L_LIP(48)) // "Virus has already been downloaded."
show_hudmsg(CHR_P1P2, L_LIP(48)) // "Virus has already been downloaded."
reloop(0x04)
label(0x06)
if_chr_weapon_equipped(CHR_P1P2, WEAPON_DATAUPLINK, /*goto*/ 0x2d)
play_sound(0x8116, -1)
message(CHR_P1P2, L_LIP(22)) // "Access to security control systems denied."
show_hudmsg(CHR_P1P2, L_LIP(22)) // "Access to security control systems denied."
reloop(0x04)
label(0x2d)
message(CHR_P1P2, L_LIP(30)) // "Data Uplink connected."
show_hudmsg(CHR_P1P2, L_LIP(30)) // "Data Uplink connected."
restart_timer
beginloop(0x08)
@ -1091,7 +1091,7 @@ u8 func1005_uplink_autoguns[] = {
endloop(0x08)
label(0x06)
message(CHR_P1P2, L_LIP(49)) // "Initiating virus download."
show_hudmsg(CHR_P1P2, L_LIP(49)) // "Initiating virus download."
restart_timer
assign_sound(0x01bf, CHANNEL_5)
control_sound_from_object(CHANNEL_5, 0x03, TRUE)
@ -1112,14 +1112,14 @@ u8 func1005_uplink_autoguns[] = {
label(0x2d)
assign_sound(0x01c1, CHANNEL_5)
control_sound_from_object(CHANNEL_5, 0x00, TRUE)
message(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
show_hudmsg(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
yield
message(CHR_P1P2, L_LIP(105)) // "Automatic Defenses Disabled."
show_hudmsg(CHR_P1P2, L_LIP(105)) // "Automatic Defenses Disabled."
set_stage_flag(STAGEFLAG_AUTOGUN_VIRUS_DONE)
reloop(0x04)
label(0x09)
message(CHR_P1P2, L_LIP(31)) // "Data Uplink connection broken."
show_hudmsg(CHR_P1P2, L_LIP(31)) // "Data Uplink connection broken."
mute_channel(CHANNEL_5)
assign_sound(0x01c0, CHANNEL_6)
control_sound_from_object(CHANNEL_6, 0x03, TRUE)
@ -1133,7 +1133,7 @@ u8 func1005_uplink_autoguns[] = {
mute_channel(CHANNEL_6)
reloop(0x04)
message(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
show_hudmsg(CHR_P1P2, L_LIP(23)) // "Virus downloaded to console."
set_stage_flag(STAGEFLAG_AUTOGUN_VIRUS_DONE)
endloop(0x04)
@ -1147,7 +1147,7 @@ u8 func1006_check_lab_accessed[] = {
endloop(0x04)
label(0x06)
message(CHR_P1P2, L_LIP(29)) // "Laboratory accessed successfully."
show_hudmsg(CHR_P1P2, L_LIP(29)) // "Laboratory accessed successfully."
set_stage_flag(STAGEFLAG_ENTERED_LAB)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1584,7 +1584,7 @@ u8 func1009_disguise_timer[] = {
activate_alarm
yield
label(0x2d)
message(CHR_BOND, L_LIP(47)) // "The enemy has discovered the disguise."
show_hudmsg(CHR_BOND, L_LIP(47)) // "The enemy has discovered the disguise."
set_stage_flag(STAGEFLAG_DISGUISE_UNCOVERED)
hide_countdown_timer
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1756,7 +1756,7 @@ u8 func0418_doorman[] = {
label(0x2d)
set_stage_flag(STAGEFLAG_DOORMAN_REJECTED)
message(CHR_TARGET, L_LIP(57)) // "Cannot gain access to autopsy lab."
show_hudmsg(CHR_TARGET, L_LIP(57)) // "Cannot gain access to autopsy lab."
goto_next(0x64)
// Disguised
@ -1791,7 +1791,7 @@ u8 func0418_doorman[] = {
restart_timer
label(0x10)
set_stage_flag(STAGEFLAG_DOORMAN_REJECTED)
message(CHR_TARGET, L_LIP(57)) // "Cannot gain access to autopsy lab."
show_hudmsg(CHR_TARGET, L_LIP(57)) // "Cannot gain access to autopsy lab."
goto_next(0x64)
// Jo disguised and unarmed
@ -1871,7 +1871,7 @@ u8 func100b_check_doorman_dead[] = {
if_chr_in_room(CHR_BOND, 0x00, 0x0088, /*goto*/ 0x06)
if_chr_in_room(CHR_BOND, 0x00, 0x0089, /*goto*/ 0x06)
if_chr_in_room(CHR_BOND, 0x00, 0x008a, /*goto*/ 0x06)
message(CHR_P1P2, L_LIP(56)) // "Critical mission personnel killed."
show_hudmsg(CHR_P1P2, L_LIP(56)) // "Critical mission personnel killed."
restart_timer
beginloop(0x08)
@ -1879,7 +1879,7 @@ u8 func100b_check_doorman_dead[] = {
endloop(0x08)
label(0x2d)
message(CHR_P1P2, L_LIP(57)) // "Cannot gain access to autopsy lab."
show_hudmsg(CHR_P1P2, L_LIP(57)) // "Cannot gain access to autopsy lab."
restart_timer
set_stage_flag(STAGEFLAG_DOORMAN_DEAD)
@ -2141,7 +2141,7 @@ u8 func100e_elvis_timer[] = {
stop_countdown_timer
hide_countdown_timer
set_stage_flag(STAGEFLAG_ELVIS_DEAD)
message(CHR_BOND, L_LIP(64)) // "Elvis has been killed."
show_hudmsg(CHR_BOND, L_LIP(64)) // "Elvis has been killed."
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2d)
@ -2449,7 +2449,7 @@ u8 func1013_check_chamber_switch_destroyed[] = {
beginloop(0x04)
if_object_in_good_condition(OBJ_CHAMBER1_SWITCH, /*goto*/ 0x06)
if_stage_flag_eq(STAGEFLAG_CHAMBER1_RAISED, TRUE, /*goto*/ 0x2d)
message(CHR_BOND, L_LIP(68)) // "Mission critical equipment destroyed."
show_hudmsg(CHR_BOND, L_LIP(68)) // "Mission critical equipment destroyed."
set_stage_flag(STAGEFLAG_CHAMBER_SWITCH_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -2485,7 +2485,7 @@ u8 func1014_check_crate_destroyed[] = {
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2d)
message(CHR_BOND, L_LIP(68)) // "Mission critical equipment destroyed."
show_hudmsg(CHR_BOND, L_LIP(68)) // "Mission critical equipment destroyed."
set_stage_flag(STAGEFLAG_CRATE_DESTROYED)
beginloop(0x08)
@ -2497,7 +2497,7 @@ u8 func1014_check_crate_destroyed[] = {
label(0x2e)
unset_stage_flag(STAGEFLAG_CRATE_DESTROYED)
message(CHR_BOND, L_LIP(89)) // "Alternative entrance to medlabs created."
show_hudmsg(CHR_BOND, L_LIP(89)) // "Alternative entrance to medlabs created."
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x06)
@ -3165,7 +3165,7 @@ u8 func1018_disable_chambers[] = {
control_sound_from_object(CHANNEL_0, chamber, TRUE) \
assign_sound(0x043a, CHANNEL_7) \
control_sound_from_object(CHANNEL_7, switch, TRUE) \
message(CHR_P1P2, 0x2a42) /* "Containment unit raised up." */ \
show_hudmsg(CHR_P1P2, 0x2a42) /* "Containment unit raised up." */ \
set_object_image(switch, 0x00, 0x13) \
unset_object_flag(chamber, OBJFLAG_DEACTIVATED) \
set_stage_flag(stageflag) \
@ -3189,7 +3189,7 @@ u8 func1018_disable_chambers[] = {
control_sound_from_object(CHANNEL_0, chamber, TRUE) \
assign_sound(0x043a, CHANNEL_7) \
control_sound_from_object(CHANNEL_7, switch, TRUE) \
message(CHR_P1P2, 0x2a43) /* "Containment unit lowered down." */ \
show_hudmsg(CHR_P1P2, 0x2a43) /* "Containment unit lowered down." */ \
set_object_image(switch, 0x00, 0x12) \
unset_object_flag(chamber, OBJFLAG_DEACTIVATED) \
unset_stage_flag(stageflag) \
@ -3228,7 +3228,7 @@ u8 func1019_chamber1[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER1_SWITCH, TRUE)
set_object_image(OBJ_CHAMBER1_SWITCH, 0x00, 0x13)
message(CHR_P1P2, L_LIP(66)) // "Containment unit raised up."
show_hudmsg(CHR_P1P2, L_LIP(66)) // "Containment unit raised up."
unset_object_flag(OBJ_CHAMBER1, OBJFLAG_DEACTIVATED)
set_stage_flag(STAGEFLAG_CHAMBER1_RAISED)
restart_timer
@ -3264,7 +3264,7 @@ u8 func1019_chamber1[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER1_SWITCH, TRUE)
set_object_image(OBJ_CHAMBER1_SWITCH, 0x00, 0x12)
message(CHR_P1P2, L_LIP(67)) // "Containment unit lowered down."
show_hudmsg(CHR_P1P2, L_LIP(67)) // "Containment unit lowered down."
unset_object_flag(OBJ_CHAMBER1, OBJFLAG_DEACTIVATED)
unset_stage_flag(STAGEFLAG_CHAMBER1_RAISED)
restart_timer
@ -3299,7 +3299,7 @@ u8 func101a_chamber2[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER2_SWITCH, TRUE)
set_object_image(OBJ_CHAMBER2_SWITCH, 0x00, 0x13)
message(CHR_P1P2, L_LIP(66)) // "Containment unit raised up."
show_hudmsg(CHR_P1P2, L_LIP(66)) // "Containment unit raised up."
unset_object_flag(OBJ_CHAMBER2, OBJFLAG_DEACTIVATED)
set_stage_flag(STAGEFLAG_CHAMBER2_RAISED)
restart_timer
@ -3324,7 +3324,7 @@ u8 func101a_chamber2[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER2_SWITCH, TRUE)
set_object_image(OBJ_CHAMBER2_SWITCH, 0x00, 0x12)
message(CHR_P1P2, L_LIP(67)) // "Containment unit lowered down."
show_hudmsg(CHR_P1P2, L_LIP(67)) // "Containment unit lowered down."
unset_object_flag(OBJ_CHAMBER2, OBJFLAG_DEACTIVATED)
unset_stage_flag(STAGEFLAG_CHAMBER2_RAISED)
restart_timer
@ -3385,7 +3385,7 @@ u8 func1020_chamber8[] = {
control_sound_from_object(CHANNEL_0, OBJ_CHAMBER8, TRUE)
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER8_SWITCH, TRUE)
message(CHR_P1P2, L_LIP(66)) // "Containment unit raised up."
show_hudmsg(CHR_P1P2, L_LIP(66)) // "Containment unit raised up."
set_object_image(OBJ_CHAMBER8_SWITCH, 0x00, 0x13)
unset_object_flag(OBJ_CHAMBER8, OBJFLAG_DEACTIVATED)
set_stage_flag(STAGEFLAG_CHAMBER8_RAISED)
@ -3411,7 +3411,7 @@ u8 func1020_chamber8[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER8_SWITCH, TRUE)
message(CHR_P1P2, L_LIP(67)) // "Containment unit lowered down."
show_hudmsg(CHR_P1P2, L_LIP(67)) // "Containment unit lowered down."
set_object_image(OBJ_CHAMBER8_SWITCH, 0x00, 0x12)
unset_object_flag(OBJ_CHAMBER8, OBJFLAG_DEACTIVATED)
unset_stage_flag(STAGEFLAG_CHAMBER8_RAISED)
@ -3497,7 +3497,7 @@ u8 func1021_xray_scanning[] = {
reloop(0x04)
label(0x06)
message(CHR_P1P2, L_LIP(74)) // "Scanner target acquired."
show_hudmsg(CHR_P1P2, L_LIP(74)) // "Scanner target acquired."
restart_timer
beginloop(0x08)
@ -3506,12 +3506,12 @@ u8 func1021_xray_scanning[] = {
endloop(0x08)
label(0x06)
message(CHR_P1P2, L_LIP(75)) // "Target ID confirmed - XT origin."
show_hudmsg(CHR_P1P2, L_LIP(75)) // "Target ID confirmed - XT origin."
set_stage_flag(STAGEFLAG_XRAY_DONE)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2d)
message(CHR_P1P2, L_LIP(76)) // "Scanner lock lost."
show_hudmsg(CHR_P1P2, L_LIP(76)) // "Scanner lock lost."
endloop(0x04)
endlist
@ -4151,7 +4151,7 @@ u8 func1027_check_disguise_worn[] = {
endloop(0x04)
label(0x2d)
message(CHR_BOND, L_LIP(77)) // "Disguise has been worn."
show_hudmsg(CHR_BOND, L_LIP(77)) // "Disguise has been worn."
set_returnlist(0x00, 0x0401)
set_returnlist(0x01, 0x0402)
set_returnlist(0x02, 0x0403)
@ -4694,7 +4694,7 @@ u8 func1036_check_door_terminal_destroyed[] = {
beginloop(0x0b)
if_object_in_good_condition(OBJ_DOOR_TERMINAL, /*goto*/ 0x2d)
if_stage_flag_eq(STAGEFLAG_DOOR_VIRUS_DOWNLOADED, TRUE, /*goto*/ 0x2e)
message(CHR_BOND, L_LIP(68)) // "Mission critical equipment destroyed."
show_hudmsg(CHR_BOND, L_LIP(68)) // "Mission critical equipment destroyed."
set_stage_flag(STAGEFLAG_UPLINK_TERMINAL_DESTROYED)
label(0x2e)
set_ailist(CHR_SELF, GAILIST_IDLE)

View File

@ -935,25 +935,25 @@ u8 func140e_check_interceptors_destroyed[] = {
if_object_in_good_condition(OBJ_INTERCEPTOR1, /*goto*/ 0x2e)
if_stage_flag_eq(STAGEFLAG_INTERCEPTOR1_DESTROYED, TRUE, /*goto*/ 0x2e)
set_stage_flag(STAGEFLAG_INTERCEPTOR1_DESTROYED)
message(CHR_BOND, L_LUE(19)) // "Robot interceptor disabled."
show_hudmsg(CHR_BOND, L_LUE(19)) // "Robot interceptor disabled."
label(0x2e)
if_object_in_good_condition(OBJ_INTERCEPTOR2, /*goto*/ 0x2e)
if_stage_flag_eq(STAGEFLAG_INTERCEPTOR2_DESTROYED, TRUE, /*goto*/ 0x2e)
set_stage_flag(STAGEFLAG_INTERCEPTOR2_DESTROYED)
message(CHR_BOND, L_LUE(19)) // "Robot interceptor disabled."
show_hudmsg(CHR_BOND, L_LUE(19)) // "Robot interceptor disabled."
label(0x2e)
if_object_in_good_condition(OBJ_INTERCEPTOR3, /*goto*/ 0x2e)
if_stage_flag_eq(STAGEFLAG_INTERCEPTOR3_DESTROYED, TRUE, /*goto*/ 0x2e)
set_stage_flag(STAGEFLAG_INTERCEPTOR3_DESTROYED)
message(CHR_BOND, L_LUE(19)) // "Robot interceptor disabled."
show_hudmsg(CHR_BOND, L_LUE(19)) // "Robot interceptor disabled."
label(0x2e)
if_stage_flag_eq(STAGEFLAG_INTERCEPTOR1_DESTROYED, FALSE, /*goto*/ 0x2e)
if_stage_flag_eq(STAGEFLAG_INTERCEPTOR2_DESTROYED, FALSE, /*goto*/ 0x2e)
if_stage_flag_eq(STAGEFLAG_INTERCEPTOR3_DESTROYED, FALSE, /*goto*/ 0x2e)
message(CHR_BOND, L_LUE(20)) // "All robot interceptors disabled."
show_hudmsg(CHR_BOND, L_LUE(20)) // "All robot interceptors disabled."
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2e)
@ -979,7 +979,7 @@ u8 func100c_maingate_switch[] = {
play_sound_from_entity(CHANNEL_7, OBJ_MAINGATE_SWITCH, 0x012c, 0x0190, 0x00)
set_object_image(OBJ_MAINGATE_SWITCH, 0x00, 0x13)
if_door_state(OBJ_MAINGATE1, (DOORSTATE_OPEN | DOORSTATE_OPENING), /*goto*/ 0x2e)
message(CHR_P1P2, L_LUE(43)) // "Main gate has been opened."
show_hudmsg(CHR_P1P2, L_LUE(43)) // "Main gate has been opened."
open_door(OBJ_MAINGATE1)
open_door(OBJ_MAINGATE2)
restart_timer
@ -995,7 +995,7 @@ u8 func100c_maingate_switch[] = {
assign_sound(0x043f, CHANNEL_7)
play_sound_from_entity(CHANNEL_7, OBJ_MAINGATE_SWITCH, 0x012c, 0x0190, 0x00)
set_object_image(OBJ_MAINGATE_SWITCH, 0x00, 0x12)
message(CHR_P1P2, L_LUE(44)) // "Main gate has been closed."
show_hudmsg(CHR_P1P2, L_LUE(44)) // "Main gate has been closed."
close_door(OBJ_MAINGATE1)
close_door(OBJ_MAINGATE2)
restart_timer
@ -1048,7 +1048,7 @@ u8 func1400_give_bugs[] = {
\
label(0x0a) \
set_stage_flag(STAGEFLAG_COMMSBUG_PLACED) \
message(chr, 0x2c1a) /* "Communications bug placed correctly." */ \
show_hudmsg(chr, 0x2c1a) /* "Communications bug placed correctly." */ \
set_ailist(CHR_SELF, GAILIST_IDLE) \
\
label(0x0b) \
@ -1058,7 +1058,7 @@ u8 func1400_give_bugs[] = {
\
label(0x2e) \
set_stage_flag(STAGEFLAG_COMMSBUG_MISPLACED) \
message(chr, 0x2c1b) /* "Communications bug placed incorrectly." */ \
show_hudmsg(chr, 0x2c1b) /* "Communications bug placed incorrectly." */ \
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1094,7 +1094,7 @@ u8 func1023_check_bug_wasted_coop[] = {
u8 func1004_check_antenna_destroyed[] = {
beginloop(0x04)
if_object_in_good_condition(OBJ_ANTENNA, /*goto*/ 0x2e)
message(CHR_BOND, L_LUE(28)) // "Antenna has been destroyed."
show_hudmsg(CHR_BOND, L_LUE(28)) // "Antenna has been destroyed."
set_stage_flag(STAGEFLAG_ANTENNA_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2e)
@ -1117,7 +1117,7 @@ u8 func1405_antenna_switch[] = {
play_sound_from_object2(CHANNEL_1, OBJ_ANTENNA, 0x00cd, 0x00, 0x02)
set_object_image(OBJ_ANTENNA_SWITCH, 0x00, 0x12)
unset_object_flag(OBJ_ANTENNA, OBJFLAG_DEACTIVATED)
message(CHR_P1P2, L_LUE(30)) // "Antenna lowered."
show_hudmsg(CHR_P1P2, L_LUE(30)) // "Antenna lowered."
set_stage_flag(STAGEFLAG_ANTENNA_LOWERED)
restart_timer
@ -1141,7 +1141,7 @@ u8 func1405_antenna_switch[] = {
set_object_image(OBJ_ANTENNA_SWITCH, 0x00, 0x13)
unset_object_flag(OBJ_ANTENNA, OBJFLAG_DEACTIVATED)
unset_stage_flag(STAGEFLAG_ANTENNA_LOWERED)
message(CHR_P1P2, L_LUE(29)) // "Antenna raised."
show_hudmsg(CHR_P1P2, L_LUE(29)) // "Antenna raised."
restart_timer
beginloop(0x0a)
@ -1172,7 +1172,7 @@ u8 func1006_lift_switches[] = {
assign_sound(0x043f, CHANNEL_7)
play_sound_from_entity(CHANNEL_7, OBJ_LIFT1_SWITCH, 0x012c, 0x0190, 0x00)
if_chr_has_object(CHR_P1P2, OBJ_KEYCARD, /*goto*/ 0x2e)
message(CHR_P1P2, L_LUE(36)) // "Lift access denied - key card needed."
show_hudmsg(CHR_P1P2, L_LUE(36)) // "Lift access denied - key card needed."
goto_next(0x0b)
label(0x2e)
@ -1183,18 +1183,18 @@ u8 func1006_lift_switches[] = {
open_door(0x38)
unlock_door(0x0e, 0x02)
unlock_door(0x38, 0x02)
message(CHR_P1P2, L_LUE(37)) // "Key card accepted - lift operational."
show_hudmsg(CHR_P1P2, L_LUE(37)) // "Key card accepted - lift operational."
goto_next(0x0b)
label(0x06)
message(CHR_P1P2, L_LUE(38)) // "Lift is fully operational."
show_hudmsg(CHR_P1P2, L_LUE(38)) // "Lift is fully operational."
goto_next(0x0b)
label(0x0a)
assign_sound(0x043f, CHANNEL_7)
play_sound_from_entity(CHANNEL_7, OBJ_LIFT2_SWITCH, 0x012c, 0x0190, 0x00)
if_chr_has_object(CHR_BOND, OBJ_KEYCARD, /*goto*/ 0x2e)
message(CHR_P1P2, L_LUE(36)) // "Lift access denied - key card needed."
show_hudmsg(CHR_P1P2, L_LUE(36)) // "Lift access denied - key card needed."
goto_next(0x0b)
label(0x2e)
@ -1207,11 +1207,11 @@ u8 func1006_lift_switches[] = {
yield
unlock_door(0x0f, 0x02)
unlock_door(0x39, 0x02)
message(CHR_P1P2, L_LUE(37)) // "Key card accepted - lift operational."
show_hudmsg(CHR_P1P2, L_LUE(37)) // "Key card accepted - lift operational."
goto_next(0x0b)
label(0x06)
message(CHR_P1P2, L_LUE(38)) // "Lift is fully operational."
show_hudmsg(CHR_P1P2, L_LUE(38)) // "Lift is fully operational."
goto_next(0x0b)
label(0x0b)
@ -1236,7 +1236,7 @@ u8 func1007_check_hangar_accessed[] = {
label(0x06)
set_stage_flag(STAGEFLAG_HANGAR_ACCESSED)
message(CHR_P1P2, L_LUE(39)) // "Hangar has been accessed."
show_hudmsg(CHR_P1P2, L_LUE(39)) // "Hangar has been accessed."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -1253,7 +1253,7 @@ u8 func1008_check_end_level[] = {
endloop(0x09)
label(0x06)
message(CHR_P1P2, L_LUE(40)) // "Met up with CI agent."
show_hudmsg(CHR_P1P2, L_LUE(40)) // "Met up with CI agent."
set_stage_flag(STAGEFLAG_MET_JON)
yield
yield
@ -1287,7 +1287,7 @@ u8 func1009_check_radar_shut_down[] = {
endloop(0x04)
label(0x2e)
message(CHR_BOND, L_LUE(41)) // "Air intercept radar shut down."
show_hudmsg(CHR_BOND, L_LUE(41)) // "Air intercept radar shut down."
mute_channel(CHANNEL_0)
set_stage_flag(STAGEFLAG_RADAR_SHUT_DOWN)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -2370,12 +2370,12 @@ u8 func1011_bunker_explosives[] = {
label(0x2e)
if_chr_weapon_equipped(CHR_P1P2, WEAPON_EXPLOSIVES, /*goto*/ 0x2e)
message(CHR_P1P2, L_LUE(45)) // "Access denied."
show_hudmsg(CHR_P1P2, L_LUE(45)) // "Access denied."
goto_first(0x04)
label(0x2e)
unset_object_flag2(OBJ_EXPLOSIVE_BRICK, OBJFLAG2_INVISIBLE)
message(CHR_P1P2, L_LUE(46)) // "Explosive has been placed."
show_hudmsg(CHR_P1P2, L_LUE(46)) // "Explosive has been placed."
remove_weapon_from_inventory(WEAPON_EXPLOSIVES)
set_stage_flag(STAGEFLAG_EXPLOSIVES_PLACED)
restart_timer
@ -2389,12 +2389,12 @@ u8 func1011_bunker_explosives[] = {
set_countdown_timer(20)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x2e)
if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x06)
message(CHR_P1P2, L_LUE(47)) // "Intruder detected - security system online."
show_hudmsg(CHR_P1P2, L_LUE(47)) // "Intruder detected - security system online."
goto_next(0x06)
// Agent
label(0x2e)
message(CHR_P1P2, L_LUE(75)) // "Foreign object detected - security alerted."
show_hudmsg(CHR_P1P2, L_LUE(75)) // "Foreign object detected - security alerted."
label(0x06)
play_x_music(CHANNEL_10, 20)
yield
@ -2969,7 +2969,7 @@ u8 func1022_check_lift_switches_destroyed[] = {
if_stage_flag_eq(STAGEFLAG_LIFT2_CALLED, TRUE, /*goto*/ 0x06)
if_object_in_good_condition(OBJ_LIFT1_SWITCH, /*goto*/ 0x2e)
if_object_in_good_condition(OBJ_LIFT2_SWITCH, /*goto*/ 0x2e)
message(CHR_BOND, L_LUE(57)) // "Lift access terminals destroyed."
show_hudmsg(CHR_BOND, L_LUE(57)) // "Lift access terminals destroyed."
set_stage_flag(STAGEFLAG_LIFT_SWITCHES_DESTROYED)
goto_next(0x06)
@ -3164,7 +3164,7 @@ u8 func0424_activate_lasers[] = {
if_stage_flag_eq(STAGEFLAG_ANY_LASER_DESTROYED, TRUE, /*goto*/ 0x2e)
set_stage_flag(STAGEFLAG_ANY_LASER_DESTROYED)
if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x2e)
message(CHR_BOND, L_LUE(47)) // "Intruder detected - security system online."
show_hudmsg(CHR_BOND, L_LUE(47)) // "Intruder detected - security system online."
// A and SA
label(0x2e)
@ -3205,7 +3205,7 @@ u8 func102d_check_antenna_switch_destroyed[] = {
label(0x2e)
if_stage_flag_eq(STAGEFLAG_ANTENNA_LOWERED, TRUE, /*goto*/ 0x2e)
message(CHR_BOND, L_LUE(42)) // "Critical mission object destroyed."
show_hudmsg(CHR_BOND, L_LUE(42)) // "Critical mission object destroyed."
set_stage_flag(STAGEFLAG_ANTENNA_DESTROYED)
label(0x2e)
label(0x0e)

View File

@ -891,7 +891,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = {
label(0x06)
say_quip(CHR_BOND, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00)
message(CHR_BOND, L_PAM(30)) // "Teleportals have been reactivated."
show_hudmsg(CHR_BOND, L_PAM(30)) // "Teleportals have been reactivated."
set_stage_flag(STAGEFLAG_TELEPORTALS_ACTIVATED)
set_self_chrflag(CHRCFLAG_01000000)
play_sound(0x8148, -1)
@ -1055,7 +1055,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
label(0x06)
say_quip(CHR_BOND, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00)
set_self_chrflag(CHRCFLAG_01000000)
message(CHR_BOND, L_PAM(20)) // "Cetan megaweapon has been disabled."
show_hudmsg(CHR_BOND, L_PAM(20)) // "Cetan megaweapon has been disabled."
set_stage_flag(STAGEFLAG_AGENT_MEGAWEAPON_DISABLED)
set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED)
set_lights_state(0x006c, 0x03, 0x64, 0xff, 0x78)
@ -1246,7 +1246,7 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = {
label(0x2e)
say_quip(CHR_BOND, 0x2c, 0xff, 0x0f, 0xff, BANK_1, 0x00, 0x00)
set_self_chrflag(CHRCFLAG_01000000)
message(CHR_BOND, L_PAM(20)) // "Cetan megaweapon has been disabled."
show_hudmsg(CHR_BOND, L_PAM(20)) // "Cetan megaweapon has been disabled."
set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED)
try_equip_weapon(MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x04)
label(0x04)
@ -2562,7 +2562,7 @@ u8 func0415_teleport_bond_to_drcaroll[] = {
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
goto_next(0x63)
label(0x07)
message(CHR_BOND, L_PAM(14)) // "Elvis has been killed."
show_hudmsg(CHR_BOND, L_PAM(14)) // "Elvis has been killed."
label(0x62)
@ -2933,7 +2933,7 @@ u8 func0418_teleport_coop_to_drcaroll[] = {
goto_next(0x63)
label(0x07)
message(CHR_BOND, L_PAM(14)) // "Elvis has been killed."
show_hudmsg(CHR_BOND, L_PAM(14)) // "Elvis has been killed."
label(0x62)
beginloop(0x63)
@ -3299,7 +3299,7 @@ u8 func100c_countdown_timer[] = {
// Player escaped
label(0x2e)
message(CHR_P1P2, L_PAM(16)) // "Cetan ship evacuation successful."
show_hudmsg(CHR_P1P2, L_PAM(16)) // "Cetan ship evacuation successful."
set_stage_flag(STAGEFLAG_ESCAPED)
restart_timer
stop_countdown_timer
@ -3341,7 +3341,7 @@ u8 func100e_check_elvis_dead[] = {
endloop(0x04)
label(0x2e)
message(CHR_BOND, L_PAM(14)) // "Elvis has been killed."
show_hudmsg(CHR_BOND, L_PAM(14)) // "Elvis has been killed."
set_stage_flag(STAGEFLAG_ALLY_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -3355,7 +3355,7 @@ u8 func100f_check_drcaroll_dead[] = {
endloop(0x04)
label(0x2e)
message(CHR_BOND, L_PAM(15)) // "Dr. Caroll has been killed."
show_hudmsg(CHR_BOND, L_PAM(15)) // "Dr. Caroll has been killed."
set_stage_flag(STAGEFLAG_ALLY_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -3975,7 +3975,7 @@ u8 func040a_check_pa_canisters_destroyed[] = {
label(0x06)
if_stage_flag_eq(STAGEFLAG_MEGAWEAPON_DISABLED, TRUE, /*goto*/ 0x2e)
message(CHR_BOND, L_PAM(43)) // "Cetan megaweapon has been disabled."
show_hudmsg(CHR_BOND, L_PAM(43)) // "Cetan megaweapon has been disabled."
set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED)
label(0x2e)
open_door(0x0f)
@ -4210,7 +4210,7 @@ u8 func1022_control_room[] = {
goto_first(0x04)
label(0x2e)
message(CHR_P1P2, L_PAM(21)) // "Control Room has been secured."
show_hudmsg(CHR_P1P2, L_PAM(21)) // "Control Room has been secured."
set_stage_flag(STAGEFLAG_BLONDES_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -4730,7 +4730,7 @@ u8 func102d_check_farsight_ammo_wasted[] = {
endloop(0x63)
label(0x2e)
message(CHR_BOND, L_PAM(44)) // "Ammo wasted - unable to disable megaweapon."
show_hudmsg(CHR_BOND, L_PAM(44)) // "Ammo wasted - unable to disable megaweapon."
set_stage_flag(STAGEFLAG_FARSIGHT_AMMO_WASTED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x0d)

View File

@ -774,7 +774,7 @@ u8 func100f_check_mine[] = {
label(0x03)
set_stage_flag(STAGEFLAG_MINE_PLACED)
message(CHR_P1P2, L_PETE(15)) // "Mine placed correctly."
show_hudmsg(CHR_P1P2, L_PETE(15)) // "Mine placed correctly."
// Check that the player hasn't detonated the mine
beginloop(0x2d)
@ -786,12 +786,12 @@ u8 func100f_check_mine[] = {
label(0x04)
set_stage_flag(STAGEFLAG_MINE_WASTED)
message(CHR_P1P2, L_PETE(72)) // "Remote Mine has been wasted."
show_hudmsg(CHR_P1P2, L_PETE(72)) // "Remote Mine has been wasted."
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x07)
set_stage_flag(STAGEFLAG_MINE_WASTED)
message(CHR_P1P2, L_PETE(16)) // "Mine placed incorrectly."
show_hudmsg(CHR_P1P2, L_PETE(16)) // "Mine placed incorrectly."
label(0x0a)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -806,17 +806,17 @@ u8 func1026_uplink[] = {
label(0x03)
if_stage_flag_eq(STAGEFLAG_TAXI_REPROGRAMMED, FALSE, /*goto*/ 0x04)
message(CHR_P1P2, L_PETE(17)) // "Virus already downloaded into NavComp."
show_hudmsg(CHR_P1P2, L_PETE(17)) // "Virus already downloaded into NavComp."
reloop(0x10)
label(0x04)
if_chr_weapon_equipped(CHR_P1P2, WEAPON_DATAUPLINK, /*goto*/ 0x03)
message(CHR_P1P2, L_PETE(18)) // "Hovcab is unresponsive - need Reprogrammer."
show_hudmsg(CHR_P1P2, L_PETE(18)) // "Hovcab is unresponsive - need Reprogrammer."
reloop(0x10)
// Uplinking
label(0x03)
message(CHR_P1P2, L_PETE(19)) // "Accessing hovercab navigation systems."
show_hudmsg(CHR_P1P2, L_PETE(19)) // "Accessing hovercab navigation systems."
assign_sound(0x0456, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_TAXI, TRUE)
restart_timer
@ -827,9 +827,9 @@ u8 func1026_uplink[] = {
endloop(0x05)
label(0x04)
message(CHR_P1P2, L_PETE(20)) // "Virus downloaded successfully."
show_hudmsg(CHR_P1P2, L_PETE(20)) // "Virus downloaded successfully."
yield
message(CHR_P1P2, L_PETE(21)) // "Hovercab navigation systems reprogrammed."
show_hudmsg(CHR_P1P2, L_PETE(21)) // "Hovercab navigation systems reprogrammed."
mute_channel(CHANNEL_7)
assign_sound(0x01c1, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_TAXI, TRUE)
@ -839,7 +839,7 @@ u8 func1026_uplink[] = {
// Moved away while uplinking
label(0x06)
message(CHR_P1P2, L_PETE(22)) // "Connection to hovercab broken."
show_hudmsg(CHR_P1P2, L_PETE(22)) // "Connection to hovercab broken."
mute_channel(CHANNEL_7)
yield
yield
@ -906,7 +906,7 @@ u8 func040d_limo[] = {
if_stage_flag_eq(STAGEFLAG_TRACERBUG_PLACED, TRUE, /*goto*/ 0x03)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x03)
set_stage_flag(STAGEFLAG_LIMO_ESCAPED)
message(CHR_BOND, L_PETE(28)) // "DataDyne limo has escaped."
show_hudmsg(CHR_BOND, L_PETE(28)) // "DataDyne limo has escaped."
label(0x03)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1040,7 +1040,7 @@ u8 func040c_taxi[] = {
label(0x06) \
set_stage_flag(STAGEFLAG_TRACERBUG_PLACED) \
unset_stage_flag(STAGEFLAG_TRACERBUG_WASTED) \
message(chr, 0x3217) /* "Tracer Bug placed correctly." */ \
show_hudmsg(chr, 0x3217) /* "Tracer Bug placed correctly." */ \
restart_timer \
\
beginloop(0x08) \
@ -1063,7 +1063,7 @@ u8 func040c_taxi[] = {
label(0x03) \
dprint 'W','R','O','N','G','3','\n',0, \
set_stage_flag(STAGEFLAG_TRACERBUG_WASTED) \
message(chr, 0x3218) /* "Tracer Bug placed incorrectly." */ \
show_hudmsg(chr, 0x3218) /* "Tracer Bug placed incorrectly." */ \
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1095,7 +1095,7 @@ u8 func1005_check_things_destroyed[] = {
set_stage_flag(STAGEFLAG_LIMO_DESTROYED)
mute_channel(CHANNEL_1)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x03)
message(CHR_BOND, L_PETE(25)) // "Mission critical vehicle destroyed."
show_hudmsg(CHR_BOND, L_PETE(25)) // "Mission critical vehicle destroyed."
// Check taxi
label(0x03)
@ -1104,7 +1104,7 @@ u8 func1005_check_things_destroyed[] = {
if_object_in_good_condition(OBJ_TAXI, /*goto*/ 0x03)
mute_channel(CHANNEL_0)
set_stage_flag(STAGEFLAG_TAXI_DESTROYED)
message(CHR_BOND, L_PETE(25)) // "Mission critical vehicle destroyed."
show_hudmsg(CHR_BOND, L_PETE(25)) // "Mission critical vehicle destroyed."
// Check robot
label(0x03)
@ -1122,7 +1122,7 @@ u8 func1005_check_things_destroyed[] = {
label(0x04)
set_stage_flag(STAGEFLAG_ROBOT_DESTROYED)
message(CHR_BOND, L_PETE(25)) // "Mission critical vehicle destroyed."
show_hudmsg(CHR_BOND, L_PETE(25)) // "Mission critical vehicle destroyed."
label(0x03)
endloop(0x10)
@ -1169,7 +1169,7 @@ u8 func1006_check_for_end[] = {
if_all_objectives_complete(/*goto*/ 0x05)
// Objectives failed
message(CHR_P1P2, L_PETE(26)) // "MISSION FAILED"
show_hudmsg(CHR_P1P2, L_PETE(26)) // "MISSION FAILED"
label(0x03)
restart_timer
@ -1637,7 +1637,7 @@ u8 func0413_bugspotter[] = {
assign_sound(0x044a, CHANNEL_6)
play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01)
set_stage_flag(STAGEFLAG_TRACERBUG_SPOTTED)
message(CHR_BOND, L_PETE(67)) // "Tracer Bug has been spotted."
show_hudmsg(CHR_BOND, L_PETE(67)) // "Tracer Bug has been spotted."
// Wait for talking animation to finish
beginloop(0x05)
@ -1909,7 +1909,7 @@ u8 func041d_fbi[] = {
\
label(0x05) \
set_stage_flag(STAGEFLAG_CIVILIAN_DEAD) \
message(CHR_BOND, 0x321d) /* "Mission failed - unacceptable civilian casualties." */ \
show_hudmsg(CHR_BOND, 0x321d) /* "Mission failed - unacceptable civilian casualties." */ \
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1934,7 +1934,7 @@ u8 func100a_check_cia2_dead[] = {
label(0x05)
set_stage_flag(STAGEFLAG_CIVILIAN_DEAD)
message(CHR_BOND, L_PETE(29)) // "Mission failed - unacceptable civilian casualties."
show_hudmsg(CHR_BOND, L_PETE(29)) // "Mission failed - unacceptable civilian casualties."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -2209,7 +2209,7 @@ u8 func041e_sealer1[] = {
set_stage_flag(STAGEFLAG_ELEVATOR_SEALED)
assign_sound(0x0469, CHANNEL_6)
play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01)
message(CHR_BOND, L_PETE(33)) // "Elevator access sealed."
show_hudmsg(CHR_BOND, L_PETE(33)) // "Elevator access sealed."
chr_do_animation(ANIM_STANDING_TYPE_ONE_HAND, 0, 193, 0x10, 0x10, CHR_SELF, 2)
beginloop(0x06)
@ -2472,12 +2472,12 @@ u8 func1010_elevator_switch[] = {
lock_door(0x10, 0x02)
lock_door(0x11, 0x02)
if_stage_flag_eq(STAGEFLAG_ELEVATOR_SEALED, TRUE, /*goto*/ 0x04)
message(CHR_P1P2, L_PETE(33)) // "Elevator access sealed."
show_hudmsg(CHR_P1P2, L_PETE(33)) // "Elevator access sealed."
set_stage_flag(STAGEFLAG_ELEVATOR_SEALED)
goto_first(0x10)
label(0x04)
message(CHR_P1P2, L_PETE(48)) // "Elevator door cannot be reopened."
show_hudmsg(CHR_P1P2, L_PETE(48)) // "Elevator door cannot be reopened."
goto_first(0x10)
endlist
@ -2509,7 +2509,7 @@ u8 func1014_crash[] = {
move_object_to_pad(OBJ_MINE1, 0x0029)
destroy_object(OBJ_MINE1)
set_stage_flag(STAGEFLAG_DIVERSION_CREATED)
message(CHR_BOND, L_PETE(54)) // "Diversion has been created."
show_hudmsg(CHR_BOND, L_PETE(54)) // "Diversion has been created."
destroy_object(OBJ_TAXI)
restart_timer
@ -3040,7 +3040,7 @@ u8 func101e_check_sealer_guards_dead[] = {
label(0x03)
if_stage_flag_eq(STAGEFLAG_DIVERSION_CREATED, TRUE, /*goto*/ 0x03)
message(CHR_BOND, L_PETE(66)) // "An alternative diversion has been created!"
show_hudmsg(CHR_BOND, L_PETE(66)) // "An alternative diversion has been created!"
unset_stage_flag(STAGEFLAG_TAXI_DESTROYED)
unset_stage_flag(STAGEFLAG_ROBOT_DESTROYED)
set_stage_flag(STAGEFLAG_DIVERSION_CREATED)

View File

@ -663,7 +663,7 @@ u8 func1005_check_neutrals_killed[] = {
endloop(0x04)
label(0x2d)
message(CHR_BOND, L_RIT(20)) // "Too many neutral casualties inflicted."
show_hudmsg(CHR_BOND, L_RIT(20)) // "Too many neutral casualties inflicted."
set_stage_flag(STAGEFLAG_KILLED_NEUTRALS)
label(0x06)
@ -938,7 +938,7 @@ u8 unregistered_function1[] = {
\
/* Commshub damaged */ \
label(0x06) \
message(CHR_BOND, 0x3615) /* "UFO attachment damaged." */ \
show_hudmsg(CHR_BOND, 0x3615) /* "UFO attachment damaged." */ \
set_stage_flag(STAGEFLAG_UFO_ATTACHMENT_DAMAGED) \
unset_stage_flag(STAGEFLAG_BOTH_MINES_WASTED) \
set_ailist(CHR_SELF, GAILIST_IDLE) \
@ -950,7 +950,7 @@ u8 unregistered_function1[] = {
set_ailist(CHR_SELF, GAILIST_IDLE) \
\
label(0x2d) \
message(CHR_BOND, 0x3645) /* "Timed mine has been wasted." */ \
show_hudmsg(CHR_BOND, 0x3645) /* "Timed mine has been wasted." */ \
set_stage_flag(STAGEFLAG_BOTH_MINES_WASTED) \
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1142,8 +1142,8 @@ u8 func100a_autopilot_switch[] = {
set_object_image(OBJ_AUTOPILOT_SWITCH, 0x00, 0x13)
set_stage_flag(STAGEFLAG_PLANE_STABILIZED)
yield
message(CHR_P1P2, L_RIT(24)) // "Air Force One has been stabilized."
message(CHR_P1P2, L_RIT(23)) // "Autopilot has been activated."
show_hudmsg(CHR_P1P2, L_RIT(24)) // "Air Force One has been stabilized."
show_hudmsg(CHR_P1P2, L_RIT(23)) // "Autopilot has been activated."
restart_timer
beginloop(0x0e)
@ -1156,7 +1156,7 @@ u8 func100a_autopilot_switch[] = {
// Switch destroyed
label(0x08)
message(CHR_P1P2, L_RIT(25)) // "Autopilot systems have been destroyed."
show_hudmsg(CHR_P1P2, L_RIT(25)) // "Autopilot systems have been destroyed."
set_stage_flag(STAGEFLAG_AUTOPILOT_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1459,7 +1459,7 @@ u8 func0404_president_running[] = {
play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01)
if_stage_flag_eq(STAGEFLAG_PRESIDENT_INJURED, TRUE, /*goto*/ 0x56)
set_stage_flag(STAGEFLAG_PRESIDENT_INJURED)
message(CHR_BOND, L_RIT(72)) // "The President is under attack."
show_hudmsg(CHR_BOND, L_RIT(72)) // "The President is under attack."
beginloop(0x56)
if_num_times_shot_lt(1, /*goto*/ 0x06)
@ -1629,7 +1629,7 @@ u8 func100b_check_president_dead[] = {
label(0x06)
set_stage_flag(STAGEFLAG_PRESIDENT_DEAD)
message(CHR_BOND, L_RIT(26)) // "The President has been incapacitated."
show_hudmsg(CHR_BOND, L_RIT(26)) // "The President has been incapacitated."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -1861,7 +1861,7 @@ u8 func100c_cockpit[] = {
damage_chr(CHR_PILOT2, 18)
yield
set_stage_flag(STAGEFLAG_PILOTS_DEAD)
message(CHR_BOND, L_RIT(27)) // "Pilots have been killed."
show_hudmsg(CHR_BOND, L_RIT(27)) // "Pilots have been killed."
goto_next(0x06)
// Both takers dead
@ -1895,7 +1895,7 @@ u8 func100c_cockpit[] = {
label(0x0b)
if_stage_flag_eq(STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11)
message(CHR_BOND, L_RIT(29)) // "Air Force One is about to crash."
show_hudmsg(CHR_BOND, L_RIT(29)) // "Air Force One is about to crash."
// Wait until the 50 second mark
beginloop(0x0c)
@ -1923,7 +1923,7 @@ u8 func100c_cockpit[] = {
label(0x2d)
set_object_image(0x03, 0x00, 0x13)
set_stage_flag(STAGEFLAG_PLANE_STABILIZED)
message(CHR_BOND, L_RIT(28)) // "Pilots have been saved."
show_hudmsg(CHR_BOND, L_RIT(28)) // "Pilots have been saved."
reset_ambience
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -3625,7 +3625,7 @@ u8 func101a_equipment_switch[] = {
if_chr_has_object(CHR_P1P2, OBJ_KEYCARD, /*goto*/ 0x2d)
restart_timer
message(CHR_P1P2, L_RIT(63)) // "Access denied - lift key card required."
show_hudmsg(CHR_P1P2, L_RIT(63)) // "Access denied - lift key card required."
beginloop(0x77)
if_timer_gt(120, /*goto*/ 0x06)
@ -3639,7 +3639,7 @@ u8 func101a_equipment_switch[] = {
set_object_image(OBJ_EQUIPMENT_SWITCH, 0x00, 0x13)
set_stage_flag(STAGEFLAG_EQUIPMENT_RAISED)
open_door(0x1c)
message(CHR_P1P2, L_RIT(61)) // "Cargo bay has been raised."
show_hudmsg(CHR_P1P2, L_RIT(61)) // "Cargo bay has been raised."
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_EQUIPMENT_SWITCH, TRUE)
unset_object_flag(0x1b, OBJFLAG_DEACTIVATED)
@ -3690,7 +3690,7 @@ u8 func101b_hoverbike_switch[] = {
label(0x0a)
if_chr_has_object(CHR_P1P2, OBJ_KEYCARD, /*goto*/ 0x2d)
restart_timer
message(CHR_P1P2, L_RIT(63)) // "Access denied - lift key card required."
show_hudmsg(CHR_P1P2, L_RIT(63)) // "Access denied - lift key card required."
beginloop(0x77)
if_timer_gt(120, /*goto*/ 0x06)
@ -3702,7 +3702,7 @@ u8 func101b_hoverbike_switch[] = {
// Activated with keycard
label(0x2d)
set_object_image(OBJ_HOVERBIKE_SWITCH, 0x00, 0x13)
message(CHR_P1P2, L_RIT(60)) // "Cargo bay has been lowered."
show_hudmsg(CHR_P1P2, L_RIT(60)) // "Cargo bay has been lowered."
set_savefile_flag(SAVEFILEFLAG_CRASHSITE_BIKE)
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_HOVERBIKE_SWITCH, TRUE)
@ -3738,7 +3738,7 @@ u8 func101c_check_equipment_switch_destroyed[] = {
label(0x06)
if_stage_flag_eq(STAGEFLAG_EQUIPMENT_RAISED, TRUE, /*goto*/ 0x2d)
set_stage_flag(STAGEFLAG_EQUIPMENT_SWITCH_DESTROYED)
message(CHR_BOND, L_RIT(62)) // "Mission critical object has been destroyed."
show_hudmsg(CHR_BOND, L_RIT(62)) // "Mission critical object has been destroyed."
label(0x2d)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -3833,7 +3833,7 @@ u8 func101d_handle_early_president_death[] = {
u8 func1007_check_pod_destroyed[] = {
beginloop(0x04)
if_object_in_good_condition(OBJ_ESCAPE_POD, /*goto*/ 0x2d)
message(CHR_BOND, L_RIT(62)) // "Mission critical object has been destroyed."
show_hudmsg(CHR_BOND, L_RIT(62)) // "Mission critical object has been destroyed."
set_stage_flag(STAGEFLAG_POD_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2d)
@ -3908,7 +3908,7 @@ u8 func1022_pilots_stabilizing[] = {
endloop(0x93)
label(0x06)
message(CHR_BOND, L_RIT(84)) // "The pilots have stabilized Air Force One."
show_hudmsg(CHR_BOND, L_RIT(84)) // "The pilots have stabilized Air Force One."
set_stage_flag(STAGEFLAG_PLANE_STABILIZED)
label(0x0e)

View File

@ -1131,7 +1131,7 @@ u8 func100d_start_lifts[] = {
u8 func1003_check_experiment_destroyed[] = {
beginloop(0x04)
if_object_in_good_condition(OBJ_EXPERIMENT, /*goto*/ 0x2c)
message(CHR_BOND, L_SEV(7)) // "Medical experiment has been sabotaged."
show_hudmsg(CHR_BOND, L_SEV(7)) // "Medical experiment has been sabotaged."
set_stage_flag(STAGEFLAG_EXPERIMENT_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
@ -1143,7 +1143,7 @@ u8 func1003_check_experiment_destroyed[] = {
u8 func1004_check_saucer_destroyed[] = {
beginloop(0x04)
if_object_in_good_condition(0x3e, /*goto*/ 0x2c)
message(CHR_BOND, L_SEV(8)) // "Captured Maian saucer has been destroyed."
show_hudmsg(CHR_BOND, L_SEV(8)) // "Captured Maian saucer has been destroyed."
set_stage_flag(STAGEFLAG_SAUCER_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2c)
@ -1327,13 +1327,13 @@ u8 func1008_check_console[] = {
label(0x2c)
assign_sound(0x8111, CHANNEL_0)
play_sound_from_object(CHANNEL_0, OBJ_CONSOLE, 0x012c, 0x0190)
message(CHR_BOND, L_SEV(9)) // "Distress signal has been sent."
show_hudmsg(CHR_BOND, L_SEV(9)) // "Distress signal has been sent."
set_stage_flag(STAGEFLAG_CONSOLE_ACTIVATED)
set_ailist(CHR_SELF, GAILIST_IDLE)
// Console destroyed
label(0x08)
message(CHR_BOND, L_SEV(10)) // "Critical mission object has been destroyed."
show_hudmsg(CHR_BOND, L_SEV(10)) // "Critical mission object has been destroyed."
set_stage_flag(STAGEFLAG_CONSOLE_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1486,7 +1486,7 @@ u8 func100b_check_medlab_escapable[] = {
// Player has psychosis gun but ammo depleted
label(0x2c)
message(CHR_BOND, L_SEV(11)) // "Mission failed - cannot escape from medlab."
show_hudmsg(CHR_BOND, L_SEV(11)) // "Mission failed - cannot escape from medlab."
set_stage_flag(STAGEFLAG_TRAPPED_AT_START)
goto_next(0x0e)
@ -1505,7 +1505,7 @@ u8 func100b_check_medlab_escapable[] = {
endloop(0x0e)
label(0x06)
message(CHR_BOND, L_SEV(12)) // "Alternative escape route found."
show_hudmsg(CHR_BOND, L_SEV(12)) // "Alternative escape route found."
unset_stage_flag(STAGEFLAG_TRAPPED_AT_START)
goto_first(0x04)

View File

@ -1047,7 +1047,7 @@ u8 func100c_check_army_defeated[] = {
endloop(0x04)
label(0x2d)
message(CHR_BOND, L_SHO(29)) // "Skedar secret army has been defeated."
show_hudmsg(CHR_BOND, L_SHO(29)) // "Skedar secret army has been defeated."
set_stage_flag(STAGEFLAG_ARMY_DEFEATED)
beginloop(0x91)
@ -1250,7 +1250,7 @@ u8 func1007_bug_throws_bond[] = {
dprint '1',' ','P','L','A','C','E','D','\n',0,
if_stage_flag_eq(STAGEFLAG_PILLAR1_MARKED, TRUE, /*goto*/ 0x0d)
set_stage_flag(STAGEFLAG_PILLAR1_MARKED)
message(CHR_BOND, L_SHO(25)) // "Target Amplifier placed correctly."
show_hudmsg(CHR_BOND, L_SHO(25)) // "Target Amplifier placed correctly."
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x0d)
goto_first(0x03)
@ -1258,7 +1258,7 @@ u8 func1007_bug_throws_bond[] = {
dprint '2',' ','P','L','A','C','E','D','\n',0,
if_stage_flag_eq(STAGEFLAG_PILLAR2_MARKED, TRUE, /*goto*/ 0x0d)
set_stage_flag(STAGEFLAG_PILLAR2_MARKED)
message(CHR_BOND, L_SHO(25)) // "Target Amplifier placed correctly."
show_hudmsg(CHR_BOND, L_SHO(25)) // "Target Amplifier placed correctly."
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x0d)
goto_first(0x03)
@ -1266,7 +1266,7 @@ u8 func1007_bug_throws_bond[] = {
dprint '3',' ','P','L','A','C','E','D','\n',0,
if_stage_flag_eq(STAGEFLAG_PILLAR3_MARKED, TRUE, /*goto*/ 0x0d)
set_stage_flag(STAGEFLAG_PILLAR3_MARKED)
message(CHR_BOND, L_SHO(25)) // "Target Amplifier placed correctly."
show_hudmsg(CHR_BOND, L_SHO(25)) // "Target Amplifier placed correctly."
if_ammo_quantity_lt(CHR_BOND, AMMOTYPE_BUG, 1, /*goto*/ 0x0d)
goto_first(0x03)
@ -1290,7 +1290,7 @@ u8 func1007_bug_throws_bond[] = {
set_stage_flag(STAGEFLAG_BOND_BUGS_WASTED)
if_stage_flag_eq(STAGEFLAG_COOP_BUGS_WASTED, FALSE, /*goto*/ 0x0f)
set_stage_flag(STAGEFLAG_BUG_WASTED)
message(CHR_BOND, L_SHO(26)) // "Target Amplifier placed incorrectly."
show_hudmsg(CHR_BOND, L_SHO(26)) // "Target Amplifier placed incorrectly."
label(0x2d)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1368,7 +1368,7 @@ u8 func101b_bug_throws_coop[] = {
unset_object_flag3(OBJ_PILLAR1, OBJFLAG3_RTRACKED_YELLOW)
if_stage_flag_eq(STAGEFLAG_PILLAR1_MARKED, TRUE, /*goto*/ 0x0d)
set_stage_flag(STAGEFLAG_PILLAR1_MARKED)
message(CHR_COOP, L_SHO(25)) // "Target Amplifier placed correctly."
show_hudmsg(CHR_COOP, L_SHO(25)) // "Target Amplifier placed correctly."
if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x0d)
goto_first(0x03)
@ -1377,7 +1377,7 @@ u8 func101b_bug_throws_coop[] = {
unset_object_flag3(OBJ_PILLAR2, OBJFLAG3_RTRACKED_YELLOW)
if_stage_flag_eq(STAGEFLAG_PILLAR2_MARKED, TRUE, /*goto*/ 0x0d)
set_stage_flag(STAGEFLAG_PILLAR2_MARKED)
message(CHR_COOP, L_SHO(25)) // "Target Amplifier placed correctly."
show_hudmsg(CHR_COOP, L_SHO(25)) // "Target Amplifier placed correctly."
if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x0d)
goto_first(0x03)
@ -1386,7 +1386,7 @@ u8 func101b_bug_throws_coop[] = {
unset_object_flag3(OBJ_PILLAR3, OBJFLAG3_RTRACKED_YELLOW)
if_stage_flag_eq(STAGEFLAG_PILLAR3_MARKED, TRUE, /*goto*/ 0x0d)
set_stage_flag(STAGEFLAG_PILLAR3_MARKED)
message(CHR_COOP, L_SHO(25)) // "Target Amplifier placed correctly."
show_hudmsg(CHR_COOP, L_SHO(25)) // "Target Amplifier placed correctly."
if_ammo_quantity_lt(CHR_COOP, AMMOTYPE_BUG, 1, /*goto*/ 0x0d)
goto_first(0x03)
@ -1409,7 +1409,7 @@ u8 func101b_bug_throws_coop[] = {
set_stage_flag(STAGEFLAG_COOP_BUGS_WASTED)
if_self_flag_bankx_eq(CHRFLAG0_00000010, FALSE, BANK_0, /*goto*/ 0x0f)
set_stage_flag(STAGEFLAG_BUG_WASTED)
message(CHR_COOP, L_SHO(26)) // "Target Amplifier placed incorrectly."
show_hudmsg(CHR_COOP, L_SHO(26)) // "Target Amplifier placed incorrectly."
label(0x2d)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1461,7 +1461,7 @@ u8 func1009_altar[] = {
// At pad, or invalid weapon equipped
label(0x2e)
set_object_flag2(OBJ_ALTAR, OBJFLAG2_00002000)
message(CHR_P1P2, L_SHO(51)) // "Make your sacrifice to the God of War."
show_hudmsg(CHR_P1P2, L_SHO(51)) // "Make your sacrifice to the God of War."
restart_timer
beginloop(0x91)
@ -1540,7 +1540,7 @@ u8 func1009_altar[] = {
label(0x2d)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x2d)
message(CHR_P1P2, L_SHO(27)) // "Generator has been reactivated."
show_hudmsg(CHR_P1P2, L_SHO(27)) // "Generator has been reactivated."
label(0x2d)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1856,7 +1856,7 @@ u8 func100b_check_sanctum_accessed[] = {
endloop(0x04)
label(0x2d)
message(CHR_P1P2, L_SHO(28)) // "Skedar Inner Sanctum has been reached."
show_hudmsg(CHR_P1P2, L_SHO(28)) // "Skedar Inner Sanctum has been reached."
set_stage_flag(STAGEFLAG_ACCESSED_SANCTUM)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -3643,7 +3643,7 @@ u8 unregistered_function1[] = {
label(0x2d)
chr_drop_weapon(CHR_BOND)
message(CHR_BOND, L_SHO(26)) // "Target Amplifier placed incorrectly."
show_hudmsg(CHR_BOND, L_SHO(26)) // "Target Amplifier placed incorrectly."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -3698,12 +3698,12 @@ u8 func1024_check_grenades_wasted[] = {
// Blown up using other means (eg. Phoenix or all guns cheat)
unset_stage_flag(STAGEFLAG_GRENADES_WASTED)
message(CHR_BOND, L_SHO(53)) // "Alternative entrance to Shrine created."
show_hudmsg(CHR_BOND, L_SHO(53)) // "Alternative entrance to Shrine created."
set_ailist(CHR_SELF, GAILIST_IDLE)
label(0x2d)
if_stage_flag_eq(STAGEFLAG_GRENADES_WASTED, TRUE, /*goto*/ 0x2d)
message(CHR_BOND, L_SHO(52)) // "Grenade ammo used up - can't enter Shrine."
show_hudmsg(CHR_BOND, L_SHO(52)) // "Grenade ammo used up - can't enter Shrine."
set_stage_flag(STAGEFLAG_GRENADES_WASTED)
label(0x2d)
endloop(0x09)

View File

@ -907,7 +907,7 @@ u8 func1005_check_leader_dead[] = {
endloop(0x03)
label(0x2d)
message(CHR_BOND, L_STAT(7)) // "Maian leader has been killed."
show_hudmsg(CHR_BOND, L_STAT(7)) // "Maian leader has been killed."
set_stage_flag(STAGEFLAG_LEADER_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -923,7 +923,7 @@ u8 func1009_check_king1_dead[] = {
endloop(0x03)
label(0x2d)
message(CHR_BOND, L_STAT(8)) // "Skedar King has been killed."
show_hudmsg(CHR_BOND, L_STAT(8)) // "Skedar King has been killed."
set_stage_flag(STAGEFLAG_KING1_DEAD)
unlock_door(0x3e, 0x40)
unlock_door(0x3f, 0x40)
@ -942,7 +942,7 @@ u8 func100a_check_king2_dead[] = {
endloop(0x03)
label(0x2d)
message(CHR_BOND, L_STAT(8)) // "Skedar King has been killed."
show_hudmsg(CHR_BOND, L_STAT(8)) // "Skedar King has been killed."
set_stage_flag(STAGEFLAG_KING2_DEAD)
label(0x0e)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -960,7 +960,7 @@ u8 func100b_check_king3_dead[] = {
endloop(0x03)
label(0x2d)
message(CHR_BOND, L_STAT(8)) // "Skedar King has been killed."
show_hudmsg(CHR_BOND, L_STAT(8)) // "Skedar King has been killed."
set_stage_flag(STAGEFLAG_KING3_DEAD)
label(0x0e)
set_ailist(CHR_SELF, GAILIST_IDLE)

View File

@ -1300,7 +1300,7 @@ u8 func0413_jonathan_hangar[] = {
open_door(0x2d)
set_object_flag(0x2c, OBJFLAG_40000000)
set_object_flag(0x2d, OBJFLAG_40000000)
message(CHR_P1P2, L_TRA(39)) // "Inner hangar door is opening."
show_hudmsg(CHR_P1P2, L_TRA(39)) // "Inner hangar door is opening."
label(0x32)
set_self_flag_bankx(CHRFLAG0_00004000, BANK_0)
@ -1326,7 +1326,7 @@ u8 func0413_jonathan_hangar[] = {
open_door(0x2f)
set_object_flag(0x2e, OBJFLAG_40000000)
set_object_flag(0x2f, OBJFLAG_40000000)
message(CHR_P1P2, L_TRA(37)) // "Outer hangar door is opening."
show_hudmsg(CHR_P1P2, L_TRA(37)) // "Outer hangar door is opening."
beginloop(0x20)
set_ailist(CHR_SELF, AILIST_JONATHAN_AFTER_TERMINALS)
@ -1858,7 +1858,7 @@ u8 func100a_check_hangar_accessed[] = {
label(0x06)
set_stage_flag(STAGEFLAG_ENTERED_HANGAR)
message(CHR_P1P2, L_TRA(31)) // "The secret hangar has been located."
show_hudmsg(CHR_P1P2, L_TRA(31)) // "The secret hangar has been located."
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
};
@ -1886,7 +1886,7 @@ u8 func100b_check_jonathan_dead[] = {
label(0x06)
if_stage_flag_eq(STAGEFLAG_STARTED_OUTRO, TRUE, /*goto*/ 0x32)
message(CHR_BOND, L_TRA(29)) // "Jonathan has been killed."
show_hudmsg(CHR_BOND, L_TRA(29)) // "Jonathan has been killed."
set_stage_flag(STAGEFLAG_JON_DEAD)
label(0x32)
@ -1911,7 +1911,7 @@ u8 func100c_medpack_activation[] = {
label(0x32)
set_stage_flag(STAGEFLAG_MEDPACK_STARTED)
message(CHR_P1P2, L_TRA(33)) // "Alien medpack activated."
show_hudmsg(CHR_P1P2, L_TRA(33)) // "Alien medpack activated."
assign_sound(0x814c, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_HOVERBED, TRUE)
restart_timer
@ -1934,7 +1934,7 @@ u8 func100c_medpack_activation[] = {
mute_channel(CHANNEL_7)
assign_sound(0x814e, CHANNEL_7)
control_sound_from_object(CHANNEL_7, 0x00, TRUE)
message(CHR_P1P2, L_TRA(35)) // "Alien medpack has been administered."
show_hudmsg(CHR_P1P2, L_TRA(35)) // "Alien medpack has been administered."
yield
beginloop(0x0c)
@ -2040,13 +2040,13 @@ u8 func100f_terminals[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_TERMINAL1, TRUE)
if_stage_flag_eq(STAGEFLAG_HANGAR_X_MUSIC_STARTED, TRUE, /*goto*/ 0x32)
message(CHR_P1P2, L_TRA(80)) // "Console is not active."
show_hudmsg(CHR_P1P2, L_TRA(80)) // "Console is not active."
goto_next(0x0f)
// Terminal 1 active
label(0x32)
if_stage_flag_eq(STAGEFLAG_INNER_DOOR_OPENING, TRUE, /*goto*/ 0x0f)
message(CHR_P1P2, L_TRA(39)) // "Inner hangar door is opening."
show_hudmsg(CHR_P1P2, L_TRA(39)) // "Inner hangar door is opening."
if_stage_flag_eq(STAGEFLAG_HANGAR_X_MUSIC_STARTED, FALSE, /*goto*/ 0x32)
set_stage_flag(STAGEFLAG_INNER_DOOR_OPENING)
label(0x32)
@ -2061,13 +2061,13 @@ u8 func100f_terminals[] = {
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_TERMINAL2, TRUE)
if_stage_flag_eq(STAGEFLAG_HANGAR_X_MUSIC_STARTED, TRUE, /*goto*/ 0x32)
message(CHR_P1P2, L_TRA(80)) // "Console is not active."
show_hudmsg(CHR_P1P2, L_TRA(80)) // "Console is not active."
goto_next(0x0f)
// Terminal 2 active
label(0x32)
if_stage_flag_eq(STAGEFLAG_OUTER_DOOR_OPENING, TRUE, /*goto*/ 0x0f)
message(CHR_P1P2, L_TRA(37)) // "Outer hangar door is opening."
show_hudmsg(CHR_P1P2, L_TRA(37)) // "Outer hangar door is opening."
if_stage_flag_eq(STAGEFLAG_HANGAR_X_MUSIC_STARTED, FALSE, /*goto*/ 0x32)
set_stage_flag(STAGEFLAG_OUTER_DOOR_OPENING)
label(0x32)
@ -2108,7 +2108,7 @@ u8 func100d_check_terminals_destroyed[] = {
endloop(0x04)
label(0x08)
message(CHR_BOND, L_TRA(36)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_TRA(36)) // "Mission critical object destroyed."
set_stage_flag(STAGEFLAG_HANGAR_TERMINAL_DESTROYED)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2124,7 +2124,7 @@ u8 func100e_check_elvis_dead[] = {
label(0x06)
if_stage_flag_eq(STAGEFLAG_STARTED_OUTRO, TRUE, /*goto*/ 0x32)
set_stage_flag(STAGEFLAG_ELVIS_DEAD)
message(CHR_BOND, L_TRA(30)) // "Elvis has been killed."
show_hudmsg(CHR_BOND, L_TRA(30)) // "Elvis has been killed."
label(0x32)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -2359,7 +2359,7 @@ u8 func1017_check_both_hangar_doors_open[] = {
endloop(0x04)
label(0x32)
message(CHR_BOND, L_TRA(53)) // "The hangar doors are now open."
show_hudmsg(CHR_BOND, L_TRA(53)) // "The hangar doors are now open."
set_stage_flag(STAGEFLAG_BOTH_HANGAR_DOORS_OPEN)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -3292,7 +3292,7 @@ u8 func101a_medpack_switch[] = {
if_object_in_good_condition(OBJ_MEDPACK_SWITCH, /*goto*/ 0x32)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x06)
set_stage_flag(STAGEFLAG_MEDPACK_SWITCH_DESTROYED)
message(CHR_BOND, L_TRA(36)) // "Mission critical object destroyed."
show_hudmsg(CHR_BOND, L_TRA(36)) // "Mission critical object destroyed."
label(0x06)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -3303,7 +3303,7 @@ u8 func101a_medpack_switch[] = {
label(0x32)
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_MEDPACK_SWITCH, TRUE)
message(CHR_P1P2, L_TRA(54)) // "Medical containment doors unlocked."
show_hudmsg(CHR_P1P2, L_TRA(54)) // "Medical containment doors unlocked."
unlock_door(0x12, 0x40)
unlock_door(0x13, 0x40)
set_ailist(CHR_SELF, GAILIST_IDLE)

View File

@ -1464,7 +1464,7 @@ u8 func1004_check_cass_dead[] = {
endloop(0x03)
label(0x2c)
message(CHR_BOND, L_WAX(14)) // "Cassandra has been immobilized."
show_hudmsg(CHR_BOND, L_WAX(14)) // "Cassandra has been immobilized."
set_stage_flag(STAGEFLAG_CASS_DEAD)
set_ailist(CHR_SELF, GAILIST_IDLE)
endlist
@ -1477,7 +1477,7 @@ u8 func1005_check_cass_captured[] = {
if_chr_dying(CHR_CASS, /*goto*/ 0x0d)
if_chr_unloaded(CHR_CASS, /*goto*/ 0x0d)
if_chr_y(CHR_CASS, 0, OPERATOR_LESS_THAN, /*goto*/ 0x2c)
message(CHR_BOND, L_WAX(15)) // "Cassandra has been captured successfully."
show_hudmsg(CHR_BOND, L_WAX(15)) // "Cassandra has been captured successfully."
set_stage_flag(STAGEFLAG_CASS_CAPTURED)
set_ailist(CHR_SELF, GAILIST_IDLE)
@ -1520,7 +1520,7 @@ u8 func1006_lift_disabling[] = {
unset_object_flag(OBJ_CHIEF_LIFT, OBJFLAG_DEACTIVATED)
unset_chr_chrflag(CHR_CHIEF, CHRCFLAG_HIDDEN)
set_ailist(CHR_CHIEF, AILIST_CHIEF)
message(CHR_BOND, L_WAX(25)) // "Lift has been disabled."
show_hudmsg(CHR_BOND, L_WAX(25)) // "Lift has been disabled."
// Wait until chief dead
beginloop(0x08)
@ -1530,7 +1530,7 @@ u8 func1006_lift_disabling[] = {
endloop(0x08)
label(0x2c)
message(CHR_BOND, L_WAX(16)) // "Security chief has been eliminated."
show_hudmsg(CHR_BOND, L_WAX(16)) // "Security chief has been eliminated."
set_stage_flag(STAGEFLAG_CHIEF_DEAD)
restart_timer
@ -1646,7 +1646,7 @@ u8 func1007_bomb_logic[] = {
// Plant bomb
label(0x2c)
message(CHR_BOND, L_WAX(22)) // "Skedar bomb has been placed successfully."
show_hudmsg(CHR_BOND, L_WAX(22)) // "Skedar bomb has been placed successfully."
remove_weapon_from_inventory(WEAPON_SKEDARBOMB)
set_stage_flag(STAGEFLAG_BOMB_PLANTED)
hide_object(OBJ_BOND_BOMB)
@ -1678,7 +1678,7 @@ u8 func1007_bomb_logic[] = {
set_countdown_timer(0)
stop_countdown_timer
set_stage_flag(STAGEFLAG_BOMB_EXPIRED)
message(CHR_BOND, L_WAX(23)) // "Skedar bomb has detonated."
show_hudmsg(CHR_BOND, L_WAX(23)) // "Skedar bomb has detonated."
// Wait 2 seconds
restart_timer
@ -1741,7 +1741,7 @@ u8 func1008_check_bomb_unplantable[] = {
// Fail mission
label(0x2c)
message(CHR_BOND, L_WAX(24)) // "Lift doors locked - bomb cannot be placed."
show_hudmsg(CHR_BOND, L_WAX(24)) // "Lift doors locked - bomb cannot be placed."
set_stage_flag(STAGEFLAG_BOMB_UNPLANTABLE)
// Difficulty is agent or bomb has been planted - return

View File

@ -1584,7 +1584,7 @@ glabel var7f1ada9c
/* f0d07e0: 0c004dad */ jal sprintf
/* f0d07e4: 00403825 */ or $a3,$v0,$zero
/* f0d07e8: 27a4006c */ addiu $a0,$sp,0x6c
/* f0d07ec: 0fc377c7 */ jal currentPlayerQueueMessage
/* f0d07ec: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f0d07f0: 00002825 */ or $a1,$zero,$zero
/* f0d07f4: 10000033 */ beqz $zero,.L0f0d08c4
/* f0d07f8: afa000a0 */ sw $zero,0xa0($sp)

View File

@ -4733,7 +4733,7 @@ glabel aiDuplicateChr
/**
* @cmd 00cb
*/
bool aiMessage(void)
bool aiShowHudmsg(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
char *text = langGet(cmd[4] | (cmd[3] << 8));
@ -4747,7 +4747,7 @@ bool aiMessage(void)
}
setCurrentPlayerNum(playernum);
currentPlayerQueueMessage(text, 0);
hudmsgCreateViaPreset(text, 0);
setCurrentPlayerNum(prevplayernum);
g_Vars.aioffset += 5;
@ -4758,21 +4758,18 @@ bool aiMessage(void)
/**
* @cmd 01a4
*/
bool aiShowText(void)
bool aiShowHudmsgMiddle(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
// cmd[2] = prop
// cmd[3] = color
if (cmd[2] == 0) {
u32 text_id = cmd[5] | (cmd[4] << 8);
char *text = langGet(text_id);
func0f0de034(text, 7, cmd[3]);
hudmsgCreateViaPresetWithColour(text, 7, cmd[3]);
} else if (cmd[2] == 1) {
u32 text_id = cmd[5] | (cmd[4] << 8);
char *text = langGet(text_id);
func0f0de034(text, 8, cmd[3]);
hudmsgCreateViaPresetWithColour(text, 8, cmd[3]);
} else {
hudmsgRemoveAll();
}
@ -4785,7 +4782,7 @@ bool aiShowText(void)
/**
* @cmd 00cc
*/
bool aiShowText2(void)
bool aiShowHudmsgTopMiddle(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
char *text = langGet(cmd[4] | (cmd[3] << 8));
@ -4799,7 +4796,7 @@ bool aiShowText2(void)
}
setCurrentPlayerNum(playernum);
func0f0de034(text, 6, cmd[5]);
hudmsgCreateViaPresetWithColour(text, 6, cmd[5]);
setCurrentPlayerNum(prevplayernum);
g_Vars.aioffset += 6;
@ -7941,7 +7938,7 @@ glabel aiSayQuip
/* f05a8a0: 8fa40080 */ lw $a0,0x80($sp)
/* f05a8a4: 8fae009c */ lw $t6,0x9c($sp)
/* f05a8a8: 24050006 */ addiu $a1,$zero,0x6
/* f05a8ac: 0fc3780d */ jal func0f0de034
/* f05a8ac: 0fc3780d */ jal hudmsgCreateViaPresetWithColour
/* f05a8b0: 91c60009 */ lbu $a2,0x9($t6)
/* f05a8b4: 100000be */ beqz $zero,.L0f05abb0
/* f05a8b8: 00000000 */ sll $zero,$zero,0x0
@ -7964,7 +7961,7 @@ glabel aiSayQuip
/* f05a8f8: 8fa40080 */ lw $a0,0x80($sp)
/* f05a8fc: 8fac009c */ lw $t4,0x9c($sp)
/* f05a900: 24050006 */ addiu $a1,$zero,0x6
/* f05a904: 0fc3780d */ jal func0f0de034
/* f05a904: 0fc3780d */ jal hudmsgCreateViaPresetWithColour
/* f05a908: 91860009 */ lbu $a2,0x9($t4)
/* f05a90c: 100000a8 */ beqz $zero,.L0f05abb0
/* f05a910: 00000000 */ sll $zero,$zero,0x0
@ -8132,7 +8129,7 @@ glabel aiSayQuip
/* f05ab6c: 8fa40080 */ lw $a0,0x80($sp)
/* f05ab70: 8fab009c */ lw $t3,0x9c($sp)
/* f05ab74: 24050006 */ addiu $a1,$zero,0x6
/* f05ab78: 0fc3780d */ jal func0f0de034
/* f05ab78: 0fc3780d */ jal hudmsgCreateViaPresetWithColour
/* f05ab7c: 91660009 */ lbu $a2,0x9($t3)
/* f05ab80: 1000000b */ beqz $zero,.L0f05abb0
/* f05ab84: 00000000 */ sll $zero,$zero,0x0
@ -8339,14 +8336,14 @@ glabel aiSayQuip
//
// if (!audioIsFiltered(audioid)) {
// // 8ac
// func0f0de034(text, 6, cmd[9]);
// hudmsgCreateViaPresetWithColour(text, 6, cmd[9]);
// }
// } else if (cmd[8]) {
// text = langGet(g_QuipTexts[cmd[8] - 1][1 + g_Vars.chrdata->tude]);
//
// if (!audioIsFiltered(audioid)) {
// // 904
// func0f0de034(text, 6, cmd[9]);
// hudmsgCreateViaPresetWithColour(text, 6, cmd[9]);
// }
// }
// } else {
@ -8398,7 +8395,7 @@ glabel aiSayQuip
//
// if (!audioIsFiltered(audioid)) {
// // b78
// func0f0de034(text, 6, cmd[9]);
// hudmsgCreateViaPresetWithColour(text, 6, cmd[9]);
// }
// }
// } else {

View File

@ -3561,7 +3561,7 @@ u8 func0016_show_objective_failed_msg[] = {
// Show message first time
label(0x13)
message(CHR_BOND, L_MISC(69)) // "OBJECTIVES FAILED - abort mission."
show_hudmsg(CHR_BOND, L_MISC(69)) // "OBJECTIVES FAILED - abort mission."
// Wait 60 seconds
restart_timer
@ -3581,7 +3581,7 @@ u8 func0016_show_objective_failed_msg[] = {
// Show message second time
label(0x13)
message(CHR_BOND, L_MISC(69)) // "OBJECTIVES FAILED - abort mission."
show_hudmsg(CHR_BOND, L_MISC(69)) // "OBJECTIVES FAILED - abort mission."
restart_timer
// Wait 2 minutes
@ -3600,7 +3600,7 @@ u8 func0016_show_objective_failed_msg[] = {
// Show message third time
label(0x13)
message(CHR_BOND, L_MISC(69)) // "OBJECTIVES FAILED - abort mission."
show_hudmsg(CHR_BOND, L_MISC(69)) // "OBJECTIVES FAILED - abort mission."
restart_timer
// Wait 5 minutes

View File

@ -226,8 +226,8 @@ bool (*g_CommandPointers[])(void) = {
/*0x00c8*/ aiTryEquipWeapon,
/*0x00c9*/ aiTryEquipHat,
/*0x00ca*/ aiDuplicateChr,
/*0x00cb*/ aiMessage,
/*0x00cc*/ aiShowText2,
/*0x00cb*/ aiShowHudmsg,
/*0x00cc*/ aiShowHudmsgTopMiddle,
/*0x00cd*/ aiSpeak,
/*0x00ce*/ aiPlaySound,
/*0x00cf*/ ai00cf,
@ -443,7 +443,7 @@ bool (*g_CommandPointers[])(void) = {
/*0x01a1*/ aiSetRoomToSearch,
/*0x01a2*/ aiSayCiStaffQuip,
/*0x01a3*/ aiDoPresetAnimation,
/*0x01a4*/ aiShowText,
/*0x01a4*/ aiShowHudmsgMiddle,
/*0x01a5*/ ai01a5,
/*0x01a6*/ aiIfTargetYDifferenceLessThan,
/*0x01a7*/ aiIfChrPropsoundcountZero,

View File

@ -182,7 +182,7 @@ glabel func0f0b05a4
/* f0b0610: 0c004dad */ jal sprintf
/* f0b0614: 8d47001c */ lw $a3,0x1c($t2)
/* f0b0618: 27a40038 */ addiu $a0,$sp,0x38
/* f0b061c: 0fc377c7 */ jal currentPlayerQueueMessage
/* f0b061c: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f0b0620: 00002825 */ or $a1,$zero,$zero
/* f0b0624: 3c08800a */ lui $t0,%hi(g_Vars)
/* f0b0628: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
@ -318,7 +318,7 @@ glabel func0f0b0764
/* f0b07f8: 8fa60028 */ lw $a2,0x28($sp)
/* f0b07fc: 27a40030 */ addiu $a0,$sp,0x30
.L0f0b0800:
/* f0b0800: 0fc377c7 */ jal currentPlayerQueueMessage
/* f0b0800: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f0b0804: 00002825 */ or $a1,$zero,$zero
/* f0b0808: 8fbf001c */ lw $ra,0x1c($sp)
.L0f0b080c:
@ -378,7 +378,7 @@ glabel func0f0b0818
/* f0b08c8: 0c004dad */ jal sprintf
/* f0b08cc: 00403025 */ or $a2,$v0,$zero
/* f0b08d0: 27a40040 */ addiu $a0,$sp,0x40
/* f0b08d4: 0fc377c7 */ jal currentPlayerQueueMessage
/* f0b08d4: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f0b08d8: 00002825 */ or $a1,$zero,$zero
/* f0b08dc: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0b08e0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
@ -675,7 +675,7 @@ glabel func0f0b09f4
/* f0b0cf8: 0c004dad */ jal sprintf
/* f0b0cfc: 00403025 */ or $a2,$v0,$zero
/* f0b0d00: 27a4003c */ addiu $a0,$sp,0x3c
/* f0b0d04: 0fc377c7 */ jal currentPlayerQueueMessage
/* f0b0d04: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f0b0d08: 00002825 */ or $a1,$zero,$zero
.L0f0b0d0c:
/* f0b0d0c: 0fc2c1d9 */ jal func0f0b0764
@ -758,7 +758,7 @@ glabel func0f0b09f4
/* f0b0e1c: 0c004dad */ jal sprintf
/* f0b0e20: 00403025 */ or $a2,$v0,$zero
/* f0b0e24: 27a4003c */ addiu $a0,$sp,0x3c
/* f0b0e28: 0fc377c7 */ jal currentPlayerQueueMessage
/* f0b0e28: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f0b0e2c: 00002825 */ or $a1,$zero,$zero
.L0f0b0e30:
/* f0b0e30: 0fc2c169 */ jal func0f0b05a4

View File

@ -1270,9 +1270,9 @@ glabel func0f0ddeac
/* f0ddf18: 00601025 */ or $v0,$v1,$zero
);
void currentPlayerQueueMessage(char *text, s32 confignum)
void hudmsgCreateViaPreset(char *text, s32 confignum)
{
func0f0deebc(text, confignum,
hudmsgCreate(text, confignum,
g_HudMessageConfigs[confignum].unk00,
g_HudMessageConfigs[confignum].unk01,
g_HudMessageConfigs[confignum].unk02,
@ -1289,7 +1289,7 @@ void currentPlayerQueueMessage(char *text, s32 confignum)
void func0f0ddfa4(char *text, s32 confignum, s32 arg2)
{
func0f0deebc(text, confignum,
hudmsgCreate(text, confignum,
g_HudMessageConfigs[confignum].unk00,
g_HudMessageConfigs[confignum].unk01,
g_HudMessageConfigs[confignum].unk02,
@ -1304,11 +1304,11 @@ void func0f0ddfa4(char *text, s32 confignum, s32 arg2)
-1, arg2);
}
void func0f0de034(char *text, s32 confignum, u8 colournum)
void hudmsgCreateViaPresetWithColour(char *text, s32 confignum, u8 colournum)
{
g_HudMessageConfigs[confignum].colour = g_Colours[colournum];
func0f0deebc(text, confignum,
hudmsgCreate(text, confignum,
g_HudMessageConfigs[confignum].unk00,
g_HudMessageConfigs[confignum].unk01,
g_HudMessageConfigs[confignum].unk02,
@ -1323,9 +1323,9 @@ void func0f0de034(char *text, s32 confignum, u8 colournum)
-1, 0);
}
void func0f0de0d4(char *text, s32 confignum, struct hudmessageconfig *config, s32 arg3)
void hudmsgCreateViaStruct(char *text, s32 confignum, struct hudmessageconfig *config, s32 arg3)
{
func0f0deebc(text, confignum,
hudmsgCreate(text, confignum,
config->unk00,
config->unk01,
config->unk02,
@ -1656,7 +1656,7 @@ glabel func0f0de160
/* f0de5c4: 02c02025 */ or $a0,$s6,$zero
/* f0de5c8: 4600328d */ trunc.w.s $f10,$f6
/* f0de5cc: 44075000 */ mfc1 $a3,$f10
/* f0de5d0: 0fc37835 */ jal func0f0de0d4
/* f0de5d0: 0fc37835 */ jal hudmsgCreateViaStruct
/* f0de5d4: 00000000 */ sll $zero,$zero,0x0
/* f0de5d8: 24090072 */ addiu $t1,$zero,0x72
/* f0de5dc: 240a0052 */ addiu $t2,$zero,0x52
@ -1682,7 +1682,7 @@ glabel func0f0de160
/* f0de628: 8fa504c4 */ lw $a1,0x4c4($sp)
/* f0de62c: 4600818d */ trunc.w.s $f6,$f16
/* f0de630: 44073000 */ mfc1 $a3,$f6
/* f0de634: 0fc37835 */ jal func0f0de0d4
/* f0de634: 0fc37835 */ jal hudmsgCreateViaStruct
/* f0de638: 00000000 */ sll $zero,$zero,0x0
/* f0de63c: 24090072 */ addiu $t1,$zero,0x72
/* f0de640: 240a0052 */ addiu $t2,$zero,0x52
@ -1733,7 +1733,7 @@ glabel func0f0de160
/* f0de6dc: 46049202 */ mul.s $f8,$f18,$f4
/* f0de6e0: 4600440d */ trunc.w.s $f16,$f8
/* f0de6e4: 44078000 */ mfc1 $a3,$f16
/* f0de6e8: 0fc37835 */ jal func0f0de0d4
/* f0de6e8: 0fc37835 */ jal hudmsgCreateViaStruct
/* f0de6ec: 00000000 */ sll $zero,$zero,0x0
/* f0de6f0: 1000001b */ beqz $zero,.L0f0de760
/* f0de6f4: 8fbf006c */ lw $ra,0x6c($sp)
@ -1762,7 +1762,7 @@ glabel func0f0de160
/* f0de748: 860f0018 */ lh $t7,0x18($s0)
/* f0de74c: afa00038 */ sw $zero,0x38($sp)
/* f0de750: afb40034 */ sw $s4,0x34($sp)
/* f0de754: 0fc37baf */ jal func0f0deebc
/* f0de754: 0fc37baf */ jal hudmsgCreate
/* f0de758: afaf0030 */ sw $t7,0x30($sp)
.L0f0de75c:
/* f0de75c: 8fbf006c */ lw $ra,0x6c($sp)
@ -1800,7 +1800,7 @@ glabel func0f0de160
/* f0de7d8: afaa0028 */ sw $t2,0x28($sp)
/* f0de7dc: afab002c */ sw $t3,0x2c($sp)
/* f0de7e0: afac0030 */ sw $t4,0x30($sp)
/* f0de7e4: 0fc37baf */ jal func0f0deebc
/* f0de7e4: 0fc37baf */ jal hudmsgCreate
/* f0de7e8: afad0034 */ sw $t5,0x34($sp)
/* f0de7ec: 8fbf0044 */ lw $ra,0x44($sp)
/* f0de7f0: 27bd0048 */ addiu $sp,$sp,0x48
@ -2320,7 +2320,7 @@ glabel var7f1adec0
);
GLOBAL_ASM(
glabel func0f0deebc
glabel hudmsgCreate
/* f0deebc: 27bdfe08 */ addiu $sp,$sp,-504
/* f0deec0: afb10024 */ sw $s1,0x24($sp)
/* f0deec4: 24110006 */ addiu $s1,$zero,0x6

View File

@ -5036,7 +5036,7 @@ glabel func0f16b96c
/* f16c4b0: 0fc5b9f1 */ jal langGet
/* f16c4b4: 24045844 */ addiu $a0,$zero,0x5844
/* f16c4b8: 00402025 */ or $a0,$v0,$zero
/* f16c4bc: 0fc377c7 */ jal currentPlayerQueueMessage
/* f16c4bc: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f16c4c0: 00002825 */ or $a1,$zero,$zero
/* f16c4c4: 8e99006c */ lw $t9,0x6c($s4)
/* f16c4c8: 26100001 */ addiu $s0,$s0,0x1
@ -5697,7 +5697,7 @@ glabel func0f16b96c
// s32 i;
// for (i = 0; i < PLAYERCOUNT(); i++) {
// setCurrentPlayerNum(i);
// currentPlayerQueueMessage(langGet(L_MISC(68)), 0); // "One minute left."
// hudmsgCreateViaPreset(langGet(L_MISC(68)), 0); // "One minute left."
// }
// }
//

View File

@ -1674,7 +1674,7 @@ glabel func0f19df58
/* f19e008: 0fc677c6 */ jal func0f19df18
/* f19e00c: 90c40001 */ lbu $a0,0x1($a2)
/* f19e010: 00402025 */ or $a0,$v0,$zero
/* f19e014: 0fc377c7 */ jal currentPlayerQueueMessage
/* f19e014: 0fc377c7 */ jal hudmsgCreateViaPreset
/* f19e018: 2405000a */ addiu $a1,$zero,0xa
/* f19e01c: 3c07800b */ lui $a3,%hi(var800acd20)
/* f19e020: 24e7cd20 */ addiu $a3,$a3,%lo(var800acd20)

View File

@ -1804,7 +1804,7 @@
*
* The chr argument should be a player.
*/
#define message(chr, text) \
#define show_hudmsg(chr, text) \
mkshort(0x00cb), \
chr, \
mkshort(text),
@ -1815,7 +1815,7 @@
* The chr argument should be a player.
* The color argument should be a COLOR constant.
*/
#define display_text_top_middle(chr, text, color) \
#define show_hudmsg_top_middle(chr, text, color) \
mkshort(0x00cc), \
chr, \
mkshort(text), \
@ -3451,9 +3451,18 @@
mkshort(0x01a3), \
value,
#define display_text(prop, color, text) \
/**
* Show or remove a HUD message.
*
* If operation is 0, show it in the top middle with infinite duration.
* If operation is 1, show it in the bottom middle with a long duration.
* If operation is 2, remove all HUD messages.
*
* For removing HUD messages, consider using remove_hudmsgs instead.
*/
#define show_hudmsg_middle(operation, color, text) \
mkshort(0x01a4), \
prop, \
operation, \
color, \
mkshort(text),
@ -3981,7 +3990,7 @@
#define reloop(id) goto_first(id)
#define remove_displayed_text display_text(0x02, 0, 0x0002)
#define remove_hudmsgs show_hudmsg_middle(0x02, 0, 0x0002)
#define if_stage_is_not(stage, label) if_stage_lt(stage, label) if_stage_gt(stage, label)

View File

@ -205,8 +205,8 @@
/*0x00c8*/ bool aiTryEquipWeapon(void);
/*0x00c9*/ bool aiTryEquipHat(void);
/*0x00ca*/ bool aiDuplicateChr(void);
/*0x00cb*/ bool aiMessage(void);
/*0x00cc*/ bool aiShowText2(void);
/*0x00cb*/ bool aiShowHudmsg(void);
/*0x00cc*/ bool aiShowHudmsgTopMiddle(void);
/*0x00cd*/ bool aiSpeak(void);
/*0x00ce*/ bool aiPlaySound(void);
/*0x00cf*/ bool ai00cf(void);
@ -387,7 +387,7 @@
/*0x01a1*/ bool aiSetRoomToSearch(void);
/*0x01a2*/ bool aiSayCiStaffQuip(void);
/*0x01a3*/ bool aiDoPresetAnimation(void);
/*0x01a4*/ bool aiShowText(void);
/*0x01a4*/ bool aiShowHudmsgMiddle(void);
/*0x01a5*/ bool ai01a5(void);
/*0x01a6*/ bool aiIfTargetYDifferenceLessThan(void);
/*0x01a7*/ bool aiIfChrPropsoundcountZero(void);

View File

@ -13,13 +13,13 @@ u32 func0f0ddd44(void);
void func0f0ddda0(void);
void hudmsgRemoveAll(void);
u32 func0f0ddeac(void);
void currentPlayerQueueMessage(char *text, s32 confignum);
void hudmsgCreateViaPreset(char *text, s32 confignum);
void func0f0ddfa4(char *text, s32 confignum, s32 arg2);
void func0f0de034(char *text, s32 confignum, u8 colour);
void func0f0de0d4(char *text, s32 confignum, struct hudmessageconfig *config, s32 arg3);
void hudmsgCreateViaPresetWithColour(char *text, s32 confignum, u8 colour);
void hudmsgCreateViaStruct(char *text, s32 confignum, struct hudmessageconfig *config, s32 arg3);
u32 func0f0de160(void);
u32 func0f0de7fc(void);
u32 func0f0deebc(char *text, s32 confignum, u8 conf00, u8 conf01, u8 conf02,
u32 hudmsgCreate(char *text, s32 confignum, u8 conf00, u8 conf01, u8 conf02,
void *conf04, void *conf08, u32 colour, u32 conf10, u8 alignh, s16 conf16,
u8 alignv, s16 conf18, s32 arg14, s32 arg15);
void func0f0df364(void);