Rename chr flag constants and commands to better describe which properties they apply to

This commit is contained in:
Ryan Dwyer
2019-12-20 23:02:59 +10:00
parent b9b886344a
commit 5d2cf3ef85
28 changed files with 2231 additions and 2231 deletions
+111 -111
View File
@@ -1050,7 +1050,7 @@ u8 unregistered_function[] = {
*/
u8 func0402_guard_with_chrflag[] = {
set_return_function(CHR_SELF, 0x0402)
set_self_flag_bank3(CHRFLAG3_00000200)
set_self_chrflag(CHRCFLAG_00000200)
set_function(CHR_SELF, GFUNC_UNALERTED_0001)
endfunction
};
@@ -1060,7 +1060,7 @@ u8 func0402_guard_with_chrflag[] = {
*/
u8 func0403_shielded_guard[] = {
set_shield(200)
set_self_flag_bank3(CHRFLAG3_00000200)
set_self_chrflag(CHRCFLAG_00000200)
set_function(CHR_SELF, GFUNC_CHOOSE_TARGET)
endfunction
};
@@ -1423,7 +1423,7 @@ u8 func0412_init_secretary[] = {
u8 func0411_secretary[] = {
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
set_chr_flag_bank2(CHR_SECRETARY, CHRFLAG2_00100000)
set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_00100000)
chr_move_to_pad(CHR_SECRETARY, 0x01c3, 0x00, /*goto*/ 0x2c)
dprint 'D','E','T','E','C','T',' ','4',0,
label(0x2c)
@@ -1548,7 +1548,7 @@ u8 func0414_programmer[] = {
label(0x2c)
set_reaction_speed(100)
set_onshot_function(FUNC_PROGRAMMER)
set_chr_flag_bank3(CHR_PROGRAMMER, CHRFLAG3_00000080)
set_chr_chrflag(CHR_PROGRAMMER, CHRCFLAG_00000080)
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x06)
if_chr_unloaded(CHR_SELF, /*goto*/ 0x06)
@@ -1959,7 +1959,7 @@ u8 func0413_c318[] = {
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
set_alertness(255)
set_self_flag_bank3(CHRFLAG3_00000200)
set_self_chrflag(CHRCFLAG_00000200)
rebuild_teams
rebuild_squadrons
set_function(CHR_SELF, GFUNC_UNALERTED_0001)
@@ -2476,9 +2476,9 @@ u8 func100d_check_objects_destroyed[] = {
u8 func1002_objectives_failed_msg[] = {
yield
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_PROGRAMMER, CHRFLAG3_04000000)
set_chr_chrflag(CHR_CASS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_04000000)
set_chr_chrflag(CHR_PROGRAMMER, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -2496,9 +2496,9 @@ u8 func1002_objectives_failed_msg[] = {
u8 func041b_intro_041b[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00c9)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP2)
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
object_do_animation(0x00ca, OBJ_JUMPSHIP2, 0x04ff, 0xff)
@@ -2526,9 +2526,9 @@ u8 func041b_intro_041b[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP2)
hide_object(OBJ_POLICECAR)
hide_object(OBJ_HOVERCOP3)
@@ -2543,9 +2543,9 @@ u8 func041b_intro_041b[] = {
u8 func041a_intro_041a[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00c7)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP2)
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
object_do_animation(0x00c8, OBJ_JUMPSHIP2, 0x04ff, 0xff)
@@ -2571,9 +2571,9 @@ u8 func041a_intro_041a[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP2)
hide_object(OBJ_HOVERTAXI2)
hide_object(OBJ_HOVERCOP3)
@@ -2589,9 +2589,9 @@ u8 func041a_intro_041a[] = {
u8 func0419_intro_0419[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00c5)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP2)
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
object_do_animation(0x00c6, OBJ_JUMPSHIP2, 0x04ff, 0xff)
@@ -2608,9 +2608,9 @@ u8 func0419_intro_0419[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP2)
hide_object(OBJ_HOVERTAXI1)
hide_object(OBJ_HOVERCOP3)
@@ -2623,9 +2623,9 @@ u8 func0419_intro_0419[] = {
u8 func041c_intro_041c[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00cb)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP2)
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
object_do_animation(0x00cc, OBJ_JUMPSHIP2, 0x04ff, 0xff)
@@ -2651,9 +2651,9 @@ u8 func041c_intro_041c[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP2)
hide_object(OBJ_HOVERTAXI1)
hide_object(0x1d)
@@ -2671,9 +2671,9 @@ u8 func041c_intro_041c[] = {
u8 func041d_intro_041d[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00cd)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP2)
set_object_flag_bank2(OBJ_JUMPSHIP2, OBJECTFLAG2_00000010)
object_do_animation(0x00ce, OBJ_JUMPSHIP2, 0x01ff, 0xff)
@@ -2687,9 +2687,9 @@ u8 func041d_intro_041d[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP2)
hide_object(OBJ_HOVERTAXI1)
hide_object(0x1d)
@@ -2817,9 +2817,9 @@ u8 func0421_intro_0421[] = {
u8 func0422_intro_0423[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00ee)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x00ef, OBJ_JUMPSHIP1, 0x04ff, 0xff)
@@ -2828,9 +2828,9 @@ u8 func0422_intro_0423[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
set_tinted_glass_enabled(FALSE)
label(0x36)
@@ -2841,27 +2841,27 @@ u8 func0422_intro_0423[] = {
u8 func0422_intro_0424[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00fc)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x00fd, OBJ_JUMPSHIP1, 0x04ff, 0xff)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SECRETARY, CHRFLAG2_00020000)
set_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_SECRETARY, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SECRETARY, CHRHFLAG_00020000)
animation(0x00fe, -1, -1, 0x06, 0x00, CHR_SECRETARY, 4)
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_SECRETARY, CHRCFLAG_UNPLAYABLE)
label(0x36)
set_function(CHR_SELF, FUNC_INTRO_0425)
endfunction
@@ -2870,9 +2870,9 @@ u8 func0422_intro_0424[] = {
u8 func0422_intro_0425[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x00ff)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x0100, OBJ_JUMPSHIP1, 0x04ff, 0xff)
@@ -2882,9 +2882,9 @@ u8 func0422_intro_0425[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
hide_object(OBJ_BANNER1)
hide_object(OBJ_BANNER2)
@@ -2896,9 +2896,9 @@ u8 func0422_intro_0425[] = {
u8 func0422_intro_0426[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x012e)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x012f, OBJ_JUMPSHIP1, 0x04ff, 0xff)
@@ -2912,9 +2912,9 @@ u8 func0422_intro_0426[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
hide_object(OBJ_BANNER1)
hide_object(OBJ_BANNER2)
@@ -2926,9 +2926,9 @@ u8 func0422_intro_0426[] = {
u8 func0422_intro_0427[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x0133)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x0134, OBJ_JUMPSHIP1, 0x04ff, 0xff)
@@ -2945,9 +2945,9 @@ u8 func0422_intro_0427[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
hide_object(OBJ_ROPE)
hide_object(OBJ_BANNER1)
@@ -2960,9 +2960,9 @@ u8 func0422_intro_0427[] = {
u8 func0422_intro_0428[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x0103)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x0104, OBJ_JUMPSHIP1, 0x04ff, 0xff)
@@ -2980,9 +2980,9 @@ u8 func0422_intro_0428[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
unset_object_flag_bank1(OBJ_HOVERCOP1, OBJECTFLAG1_INVISIBLE)
unset_object_flag_bank1(OBJ_HOVERCOP2, OBJECTFLAG1_INVISIBLE)
@@ -3002,9 +3002,9 @@ u8 func0422_intro_0428[] = {
u8 func0422_intro_0429[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x0105)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x0106, OBJ_JUMPSHIP1, 0x04ff, 0xff)
@@ -3013,9 +3013,9 @@ u8 func0422_intro_0429[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
set_tinted_glass_enabled(FALSE)
label(0x36)
@@ -3026,13 +3026,13 @@ u8 func0422_intro_0429[] = {
u8 func0422_intro_042a[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x0107)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x0108, OBJ_JUMPSHIP1, 0x04ff, 0xff)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0109, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_hud_visible(CHR_BOND, TRUE)
show_object(OBJ_ROPE)
@@ -3042,8 +3042,8 @@ u8 func0422_intro_042a[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
hide_object(OBJ_ROPE)
label(0x36)
@@ -3054,13 +3054,13 @@ u8 func0422_intro_042a[] = {
u8 func0422_intro_042b[] = {
if_controller_button_pressed(/*goto*/ 0x36)
camera_movement(0x010b)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
show_object(OBJ_JUMPSHIP1)
set_object_flag_bank2(OBJ_JUMPSHIP1, OBJECTFLAG2_00000010)
object_do_animation(0x010c, OBJ_JUMPSHIP1, 0x04ff, 0xff)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x010d, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_hud_visible(CHR_BOND, TRUE)
show_object(OBJ_ROPE)
@@ -3076,8 +3076,8 @@ u8 func0422_intro_042b[] = {
wait_for_camera_finished
label(0x06)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_JUMPSHIP1)
hide_object(OBJ_ROPE)
hide_object(OBJ_BANNER1)
@@ -3096,10 +3096,10 @@ u8 func0422_intro_042d[] = {
camera_movement(0x0155)
cmd0175(60)
if_controller_button_pressed(/*goto*/ 0x36)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0156, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_hud_visible(CHR_BOND, FALSE)
@@ -3115,10 +3115,10 @@ u8 func0422_intro_042d[] = {
// @bug: Copy/paste error - should be banner 2
set_object_flag_bank2(OBJ_BANNER1, OBJECTFLAG2_00000010)
object_do_animation(0x0162, OBJ_BANNER2, 0x08ff, 0xff)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0156, -2, -1, 0x06, 0x00, CHR_BOND, 2)
set_chr_hud_visible(CHR_BOND, FALSE)
mute_channel(CHANNEL_7)
@@ -3149,12 +3149,12 @@ u8 func0416_outro_from_menu[] = {
u8 func0416_outro[] = {
camera_movement(0x00f2)
set_music_track(MUSIC_DEFECTION_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x00f3, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
restart_timer
unset_stage_flag(STAGEFLAG_LAB_ELEVATOR_CLOSED)
+74 -74
View File
@@ -525,7 +525,7 @@ u8 func0403_stop_and_idle[] = {
};
u8 func0404_init_drcaroll[] = {
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
set_shield(100)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
@@ -539,7 +539,7 @@ u8 func0402_start_drcaroll[] = {
u8 func0401_drcaroll_following[] = {
set_onshot_function(FUNC_DRCAROLL_FOLLOWING)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
stop_chr
set_target_chr(CHR_BOND)
try_run_to_target_chr_with_hand_up(/*goto*/ 0x00)
@@ -685,7 +685,7 @@ u8 func0405_drcaroll_waiting[] = {
label(0x00)
dprint 'D','R',' ','C','H','A','N','G','E','L','I','S','T','\n',0,
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00100000)
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00100000)
chr_move_to_pad(CHR_DRCAROLL, 0x01ca, 0x00, /*goto*/ 0x00)
dprint 'M','O','V','E',' ','F','A','I','L','\n',0,
label(0x00)
@@ -872,7 +872,7 @@ u8 func0411_top_guard_blinded[] = {
};
u8 func0406_general_combat[] = {
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_onshot_function(FUNC_GENERAL_COMBAT)
if_has_gun(CHR_SELF, /*goto*/ 0x20)
@@ -908,7 +908,7 @@ u8 func0406_general_combat[] = {
// Just got injured
label(0x00)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED)
restart_timer
beginloop(0x0c)
@@ -924,7 +924,7 @@ u8 func0406_general_combat[] = {
// Not injured, or injury recovery finished
label(0x21)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
label(0x14)
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x00)
@@ -987,7 +987,7 @@ u8 func0406_general_combat[] = {
endloop(0x10)
label(0x15)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x2a)
if_chr_distance_lt(250, /*goto*/ 0x29)
if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x20)
@@ -1570,12 +1570,12 @@ u8 func1008_trigger_hovercopter_roof[] = {
};
u8 func1009_init_top_room[] = {
set_chr_flag_bank3(CHR_TOPGUARD1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TOPGUARD2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TOPGUARD3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TOPGUARD4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TOPGUARD5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TOPGUARD1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TOPGUARD2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TOPGUARD3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TOPGUARD4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TOPGUARD5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x1f)
chr_toggle_p1p2(CHR_SELF)
@@ -1591,11 +1591,11 @@ u8 func1009_init_top_room[] = {
set_chr_target_chr(CHR_TOPGUARD3, CHR_P1P2)
set_chr_target_chr(CHR_TOPGUARD4, CHR_P1P2)
set_chr_target_chr(CHR_TOPGUARD5, CHR_P1P2)
unset_chr_flag_bank3(CHR_TOPGUARD1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TOPGUARD2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TOPGUARD3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TOPGUARD4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TOPGUARD5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TOPGUARD1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TOPGUARD2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TOPGUARD3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TOPGUARD4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TOPGUARD5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_team(CHR_CASS, TEAM_ENEMY)
set_chr_team(CHR_TOPGUARD1, TEAM_ENEMY)
set_chr_team(CHR_TOPGUARD2, TEAM_ENEMY)
@@ -1636,9 +1636,9 @@ u8 func0409_tech_conversation[] = {
if_door_state(0x11, DOORSTATEBIT_OPEN, /*goto*/ 0x00)
if_alertness(99, OPERATOR_GREATER_THAN, /*goto*/ 0x33)
dprint 'T','E','C','H',' ','1',' ','L','O','O','P','\n',0,
set_chr_flag_bank3(CHR_TECH1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TECH2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_RLSHOCK, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TECH1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TECH2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_RLSHOCK, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
endloop(0x01)
// Player activated door or door is fully open
@@ -1649,9 +1649,9 @@ u8 func0409_tech_conversation[] = {
set_chr_team(CHR_RLSHOCK, TEAM_ENEMY)
rebuild_teams
rebuild_squadrons
unset_chr_flag_bank3(CHR_TECH1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TECH2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_RLSHOCK, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TECH1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TECH2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_RLSHOCK, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_RLSHOCK, GFUNC_UNALERTED)
restart_timer
animation(0x0204, -1, -1, 0x02, 0x14, 0x10, 2)
@@ -1925,8 +1925,8 @@ u8 func040a_tech2[] = {
u8 func040d_cass[] = {
set_shield(100)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNEXPLODABLE)
set_target_chr(CHR_P1P2)
beginloop(0x3b)
@@ -2088,7 +2088,7 @@ u8 func040d_cass[] = {
endloop(0x2c)
label(0x2d)
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00100000)
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00100000)
remove_cass_necklace(CHR_CASS)
chr_move_to_pad(CHR_CASS, 0x0205, 0x00, /*goto*/ 0x00)
dprint 'M','O','V','E',' ','F','A','I','L','\n',0,
@@ -2300,16 +2300,16 @@ u8 func100d_intro[] = {
set_music_track(MUSIC_EXTRACTION_INTRO)
camera_movement(0x0138)
cmd0175(60)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0139, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(0x00, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(0x00, CHRFLAG2_00020000)
set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
animation(0x013d, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4)
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
animation(0x013a, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4)
unset_stage_flag(STAGEFLAG_00800000)
restart_timer
@@ -2378,20 +2378,20 @@ u8 func100d_intro[] = {
mute_channel(CHANNEL_10)
mute_channel(CHANNEL_7)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0139, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
animation(0x013d, -2, -1, 0x06, 0x00, CHR_DRCAROLL, 2)
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_00010000)
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_00010000)
animation(0x013a, -2, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2)
restart_default_music
@@ -2413,45 +2413,45 @@ u8 func0412_outro[] = {
set_object_flag_bank1(OBJ_HOVERCOPTER, OBJECTFLAG1_INVISIBLE)
hide_object(OBJ_HOVERCOPTER)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
dprint 'c','u','t',' ','s','c','e','n','e',' ','2',0,
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
remove_cass_necklace(CHR_CASS)
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_OUTRO_GUARD1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_OUTRO_GUARD2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_DRCAROLL, GFUNC_IDLE)
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
animation(0x015d, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4)
set_function(CHR_CASS, FUNC_CASS_OUTRO)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
animation(0x0159, -1, -1, 0x06, 0x00, CHR_CASS, 4)
set_function(CHR_MRBLONDE, GFUNC_IDLE)
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_00020000)
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000)
animation(0x015a, -1, -1, 0x06, 0x00, CHR_MRBLONDE, 4)
set_function(CHR_OUTRO_GUARD1, GFUNC_IDLE)
set_chr_flag_bank3(CHR_OUTRO_GUARD1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_OUTRO_GUARD1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_OUTRO_GUARD1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_OUTRO_GUARD1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_OUTRO_GUARD1, CHRHFLAG_00020000)
animation(0x015b, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD1, 4)
set_function(CHR_OUTRO_GUARD2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_OUTRO_GUARD2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_OUTRO_GUARD2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_OUTRO_GUARD2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_OUTRO_GUARD2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_OUTRO_GUARD2, CHRHFLAG_00020000)
animation(0x015c, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD2, 4)
show_object(OBJ_JUMPSHIP)
@@ -2459,9 +2459,9 @@ u8 func0412_outro[] = {
set_object_flag_bank1(OBJ_JUMPSHIP, OBJECTFLAG1_04000000)
object_do_animation(0x015e, OBJ_JUMPSHIP, 0x04ff, 0xff)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x0158, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
show_nonessential_chrs(FALSE)
restart_timer
@@ -2677,8 +2677,8 @@ u8 func040d_cass_outro[] = {
u8 func1001_objectives_failed_msg[] = {
yield
set_chr_flag_bank3(CHR_TECH1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_TECH2, CHRFLAG3_04000000)
set_chr_chrflag(CHR_TECH1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_TECH2, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -2909,7 +2909,7 @@ u8 func1017_remove_special_shock[] = {
u8 func1018_give_magnum[] = {
beginloop(0x1f)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x00)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x00)
endloop(0x1f)
// This seems wrong. The magnum is actually given to the special shock...
+29 -29
View File
@@ -96,12 +96,12 @@ u8 func1001_objectives_failed[] = {
};
u8 func1002_first_walk[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
camera_movement(0x0488)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
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, 0x5e07) // "THE DUEL"
animation(ANIM_RELOAD, -1, -1, 0x06, 0x00, CHR_GUARD, 2)
label(0x2d)
@@ -159,13 +159,13 @@ u8 func1007_second_walk[] = {
goto_first(0x8f)
label(0x2d)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNEXPLODABLE)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNEXPLODABLE)
yield
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(ANIM_GRAB_CROTCH, -1, -1, 0x06, 0x00, CHR_JONATHAN, 2)
label(0x2d)
@@ -240,13 +240,13 @@ u8 func1008_third_walk[] = {
goto_first(0x8f)
label(0x2d)
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNEXPLODABLE)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_UNEXPLODABLE)
yield
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(ANIM_HEAD_ROLL, -1, -1, 0x06, 0x00, CHR_TRENT, 2)
label(0x2d)
message(CHR_BOND, 0x5e0e) // "Opponent skill level: PERFECT AGENT"
@@ -393,7 +393,7 @@ u8 func1006_check_objectives_complete[] = {
u8 func0402_guard_combat[] = {
set_onshot_function(FUNC_GUARD_COMBAT)
if_just_injured(CHR_SELF, /*goto*/ 0x03)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00008000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00008000)
// Wait 2 seconds or for guard to come into view
restart_timer
@@ -447,7 +447,7 @@ u8 func0402_guard_combat[] = {
u8 func0403_jon_combat[] = {
set_onshot_function(FUNC_JON_COMBAT)
if_just_injured(CHR_SELF, /*goto*/ 0x58)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00008000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00008000)
restart_timer
beginloop(0x04)
@@ -486,7 +486,7 @@ u8 func0403_jon_combat[] = {
u8 func0404_trent_combat[] = {
set_onshot_function(FUNC_TRENT_COMBAT)
if_just_injured(CHR_SELF, /*goto*/ 0x03)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00008000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00008000)
restart_timer
beginloop(0x04)
@@ -524,7 +524,7 @@ u8 func0404_trent_combat[] = {
};
u8 func0405_guard_init[] = {
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
set_accuracy(200)
set_reaction_speed(50)
set_chr_health(CHR_SELF, 20)
@@ -536,31 +536,31 @@ u8 func0405_guard_init[] = {
};
u8 func0406_jon_init[] = {
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
set_accuracy(200)
set_reaction_speed(75)
set_chr_health(CHR_SELF, 40)
set_armor(0)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0407_trent_init[] = {
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
set_accuracy(200)
set_reaction_speed(75)
set_chr_health(CHR_SELF, 40)
set_armor(0)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+63 -63
View File
@@ -380,9 +380,9 @@ struct path paths[] = {
u8 func1001_objectives_failed_msg[] = {
yield
set_chr_flag_bank3(CHR_PRES_CLONE, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_04000000)
set_chr_chrflag(CHR_PRES_CLONE, CHRCFLAG_04000000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -401,14 +401,14 @@ u8 func1011_setup_snow[] = {
};
u8 func1002_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_CRASHSITE_INTRO)
camera_movement(0x01b5)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01b6, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_hud_visible(CHR_BOND, TRUE)
@@ -510,10 +510,10 @@ u8 func1002_intro[] = {
mute_channel(CHANNEL_6)
mute_channel(CHANNEL_5)
mute_channel(CHANNEL_10)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01b6, -2, -1, 0x06, 0x00, CHR_BOND, 2)
restart_default_music
reset_ambience
@@ -549,51 +549,51 @@ u8 func0402_outro[] = {
label(0x08)
camera_movement(0x01d9)
set_music_track(MUSIC_CRASHSITE_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_function(CHR_TARGET, GFUNC_IDLE)
remove_chr(CHR_ELVIS)
set_function(CHR_ELVIS, GFUNC_IDLE)
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_PRESIDENT, GFUNC_IDLE)
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
animation(0x01df, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
set_chr_flag_bank3(CHR_SKEDAR, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_SKEDAR, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_00020000)
set_chr_chrflag(CHR_SKEDAR, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_SKEDAR, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_00020000)
animation(0x01da, -1, -1, 0x06, 0x00, CHR_SKEDAR, 4)
set_chr_flag_bank3(CHR_ELVIS_OUTRO, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_ELVIS_OUTRO, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS_OUTRO, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS_OUTRO, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS_OUTRO, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS_OUTRO, CHRHFLAG_00020000)
animation(0x01db, -1, -1, 0x06, 0x00, CHR_ELVIS_OUTRO, 4)
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TRENT, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
animation(0x01dc, -1, -1, 0x06, 0x00, CHR_TRENT, 4)
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_MRBLONDE, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_00020000)
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_MRBLONDE, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_00020000)
animation(0x01dd, -1, -1, 0x06, 0x00, CHR_MRBLONDE, 4)
set_chr_flag_bank3(CHR_PRESIDENT_OUTRO, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_PRESIDENT_OUTRO, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_PRESIDENT_OUTRO, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_PRESIDENT_OUTRO, CHRFLAG2_00020000)
set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_PRESIDENT_OUTRO, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_PRESIDENT_OUTRO, CHRHFLAG_00020000)
animation(0x01de, -1, -1, 0x06, 0x00, CHR_PRESIDENT_OUTRO, 4)
show_object(0x00)
@@ -703,11 +703,11 @@ u8 func0402_outro[] = {
wait_until(4054, 0x86)
play_sound(0x05a0, CHANNEL_5)
play_sound(0x005c, CHANNEL_10)
set_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_CLOAKED)
set_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_CLOAKED)
wait_until(4100, 0x95)
unset_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_CLOAKED)
unset_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_CLOAKED)
play_sound(0x052a, CHANNEL_10)
wait_until(4200, 0x78)
@@ -727,11 +727,11 @@ u8 func0402_outro[] = {
play_sound(0x05a1, CHANNEL_7)
wait_until(4544, 0x96)
set_chr_flag_bank2(CHR_SKEDAR, CHRFLAG2_CLOAKED)
set_chr_hiddenflag(CHR_SKEDAR, CHRHFLAG_CLOAKED)
wait_until(4566, 0x8c)
play_sound(0x005b, CHANNEL_10)
unset_chr_flag_bank2(CHR_MRBLONDE, CHRFLAG2_CLOAKED)
unset_chr_hiddenflag(CHR_MRBLONDE, CHRHFLAG_CLOAKED)
wait_until(4576, 0x8d)
@@ -1124,13 +1124,13 @@ u8 func100b_check_clone_dead[] = {
u8 func0403_init_elvis[] = {
set_shield(100)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_accuracy(100)
set_reaction_speed(100)
set_armor(1000)
set_chr_health(CHR_SELF, 1000)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
assign_path(12)
start_path
set_function(CHR_SELF, FUNC_ELVIS)
@@ -1249,7 +1249,7 @@ u8 func0405_unused[] = {
u8 func0417_init_robot[] = {
set_accuracy(40)
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00020000)
set_chr_health(CHR_SELF, 250)
set_function(CHR_SELF, FUNC_ROBOT)
endfunction
@@ -1258,7 +1258,7 @@ u8 func0417_init_robot[] = {
u8 func0418_robot[] = {
set_onshot_function(FUNC_ROBOT)
label(0x66)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
if_chr_dying(CHR_SELF, /*goto*/ 0x11)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x11)
if_chr_unloaded(CHR_SELF, /*goto*/ 0x08)
@@ -1358,7 +1358,7 @@ u8 func0418_robot[] = {
* Assigned to two stripes guards.
*/
u8 func0414_spawner[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_chrflag(CHRCFLAG_00000002)
beginloop(0x06)
chr_toggle_p1p2(CHR_SELF)
@@ -1398,22 +1398,22 @@ u8 func0414_spawner[] = {
};
u8 func0419_unused[] = {
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0422_hide[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func041a_pres_clone[] = {
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00020000)
set_self_chrflag(CHRCFLAG_00080000)
beginloop(0x06)
chr_toggle_p1p2(CHR_SELF)
@@ -1450,7 +1450,7 @@ u8 func041a_pres_clone[] = {
};
u8 func041b_init_president[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
set_chr_health(CHR_SELF, 300)
set_shield(0)
set_function(CHR_SELF, FUNC_PRESIDENT_WAITING)
@@ -1491,7 +1491,7 @@ u8 func041c_president_waiting[] = {
};
u8 func041d_president_running[] = {
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
set_alertness(100)
set_onshot_function(FUNC_PRESIDENT_RUNNING)
dprint 'R','E','S','T','A','R','T','\n',0,
@@ -1706,9 +1706,9 @@ u8 func100e_check_robots_left[] = {
u8 func041e_trent_waiting[] = {
set_accuracy(0)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_shield(100)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
beginloop(0x06)
chr_toggle_p1p2(CHR_SELF)
@@ -1782,8 +1782,8 @@ u8 func041f_trent_shooting[] = {
};
u8 func0420_trent_running[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00080000)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_stage_flag(STAGEFLAG_TRENT_RUNNING)
restart_timer
run_to_pad(0x0027)
@@ -1812,7 +1812,7 @@ u8 func0420_trent_running[] = {
// Player definitely not in sight
label(0x08)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+152 -152
View File
@@ -727,31 +727,31 @@ struct path paths[] = {
u8 func1002_objectives_failed_msg[] = {
yield
give_object_to_chr(OBJ_UNIFORM, CHR_STEWARDESS)
set_chr_flag_bank3(0x00, CHRFLAG3_04000000)
set_chr_flag_bank3(0x01, CHRFLAG3_04000000)
set_chr_flag_bank3(0x02, CHRFLAG3_04000000)
set_chr_flag_bank3(0x03, CHRFLAG3_04000000)
set_chr_flag_bank3(0x04, CHRFLAG3_04000000)
set_chr_flag_bank3(0x05, CHRFLAG3_04000000)
set_chr_flag_bank3(0x06, CHRFLAG3_04000000)
set_chr_flag_bank3(0x07, CHRFLAG3_04000000)
set_chr_flag_bank3(0x08, CHRFLAG3_04000000)
set_chr_flag_bank3(0x09, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0a, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0b, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0c, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0d, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0e, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0f, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_SECRETARY, CHRFLAG3_04000000)
set_chr_flag_bank3(0x3a, CHRFLAG3_04000000)
set_chr_flag_bank3(0x3b, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_OFFICE1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_OFFICE2, CHRFLAG3_04000000)
set_chr_flag_bank3(0x44, CHRFLAG3_04000000)
set_chr_flag_bank3(0x45, CHRFLAG3_04000000)
set_chr_flag_bank3(0x46, CHRFLAG3_04000000)
set_chr_chrflag(0x00, CHRCFLAG_04000000)
set_chr_chrflag(0x01, CHRCFLAG_04000000)
set_chr_chrflag(0x02, CHRCFLAG_04000000)
set_chr_chrflag(0x03, CHRCFLAG_04000000)
set_chr_chrflag(0x04, CHRCFLAG_04000000)
set_chr_chrflag(0x05, CHRCFLAG_04000000)
set_chr_chrflag(0x06, CHRCFLAG_04000000)
set_chr_chrflag(0x07, CHRCFLAG_04000000)
set_chr_chrflag(0x08, CHRCFLAG_04000000)
set_chr_chrflag(0x09, CHRCFLAG_04000000)
set_chr_chrflag(0x0a, CHRCFLAG_04000000)
set_chr_chrflag(0x0b, CHRCFLAG_04000000)
set_chr_chrflag(0x0c, CHRCFLAG_04000000)
set_chr_chrflag(0x0d, CHRCFLAG_04000000)
set_chr_chrflag(0x0e, CHRCFLAG_04000000)
set_chr_chrflag(0x0f, CHRCFLAG_04000000)
set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_SECRETARY, CHRCFLAG_04000000)
set_chr_chrflag(0x3a, CHRCFLAG_04000000)
set_chr_chrflag(0x3b, CHRCFLAG_04000000)
set_chr_chrflag(CHR_OFFICE1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_OFFICE2, CHRCFLAG_04000000)
set_chr_chrflag(0x44, CHRCFLAG_04000000)
set_chr_chrflag(0x45, CHRCFLAG_04000000)
set_chr_chrflag(0x46, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -779,30 +779,30 @@ u8 unregistered_function1[] = {
*/
u8 func0401_unused_cutscene[] = {
chr_draw_weapon_in_cutscene(CHR_BOND, WEAPON_FALCON2)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_AIRBASE_OUTRO_LONG)
camera_movement(0x016b)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0170, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_hud_visible(CHR_BOND, TRUE)
set_chr_flag_bank3(0x00, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x00, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x00, CHRFLAG2_00020000)
set_chr_chrflag(0x00, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x00, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
animation(0x016c, -1, -1, 0x06, 0x00, 0x00, 4)
set_chr_flag_bank3(0x01, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x01, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x01, CHRFLAG2_00020000)
set_chr_chrflag(0x01, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x01, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x01, CHRHFLAG_00020000)
animation(0x016d, -1, -1, 0x06, 0x00, 0x01, 4)
set_chr_flag_bank3(0x02, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x02, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x02, CHRFLAG2_00020000)
set_chr_chrflag(0x02, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x02, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x02, CHRHFLAG_00020000)
animation(0x016e, -1, -1, 0x06, 0x00, 0x02, 4)
set_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_STEWARDESS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_STEWARDESS, CHRHFLAG_00020000)
animation(0x016f, -1, -1, 0x06, 0x00, CHR_STEWARDESS, 4)
fade_to_color(0x000000ff, 0)
fade_to_color(0x00000000, 90)
@@ -821,8 +821,8 @@ u8 func0401_unused_cutscene[] = {
label(0x48)
label(0x02)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_function(0x00, 0x0405)
set_function(0x01, 0x0405)
remove_chr(0x02)
@@ -838,14 +838,14 @@ u8 func0425_outro[] = {
fade_to_color(0x00000000, 110)
camera_movement(0x031a)
set_music_track(MUSIC_AIRBASE_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_flag_bank3(CHR_OUTRO_NSA, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_OUTRO_NSA, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_OUTRO_NSA, CHRFLAG2_00020000)
set_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_OUTRO_NSA, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_OUTRO_NSA, CHRHFLAG_00020000)
animation(0x031b, -1, -1, 0x06, 0x00, CHR_OUTRO_NSA, 4)
show_object(OBJ_PLANE)
@@ -904,8 +904,8 @@ u8 func0425_outro[] = {
label(0x48)
mute_channel(CHANNEL_10)
label(0x02)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
hide_object(OBJ_PLANE)
end_level
set_function(CHR_SELF, GFUNC_IDLE)
@@ -913,7 +913,7 @@ u8 func0425_outro[] = {
};
u8 func0402_init_stripes[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1035,8 +1035,8 @@ u8 func1004_guard_activation[] = {
#define enable_takeover_guard2(chr, function) \
show_chr(chr) \
set_function(chr, function) \
unset_chr_flag_bank2(chr, CHRFLAG2_40000000) \
unset_chr_flag_bank3(chr, CHRFLAG3_HIDDEN) \
unset_chr_hiddenflag(chr, CHRHFLAG_40000000) \
unset_chr_chrflag(chr, CHRCFLAG_HIDDEN) \
yield
@@ -1087,8 +1087,8 @@ u8 func1004_guard_activation[] = {
#define enable_bottom_guard(chr) \
show_chr(chr) \
set_function(chr, FUNC_INIT_POSTTAKEOVER_GUARD) \
unset_chr_flag_bank2(chr, CHRFLAG2_40000000) \
unset_chr_flag_bank3(chr, CHRFLAG3_HIDDEN) \
unset_chr_hiddenflag(chr, CHRHFLAG_40000000) \
unset_chr_chrflag(chr, CHRCFLAG_HIDDEN) \
yield
@@ -1341,7 +1341,7 @@ u8 func0407_stewardess[] = {
};
u8 func0406_become_unalerted[] = {
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
label(0x00)
yield
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x02)
@@ -1707,7 +1707,7 @@ u8 func0408_secretary[] = {
u8 unregistered_function2[] = {
beginloop(0x00)
chr_toggle_p1p2(CHR_SELF)
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x02)
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x02)
endloop(0x00)
label(0x02)
@@ -1756,7 +1756,7 @@ u8 func1007_console_activation[] = {
control_sound_from_object(CHANNEL_1, OBJ_CONSOLE, TRUE)
message(CHR_P1P2, 0x0e24) // "Security systems have been shut down."
set_stage_flag(STAGEFLAG_SECURITY_SHUT_DOWN)
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
restart_timer
beginloop(0x05)
@@ -2048,7 +2048,7 @@ u8 func040d_init_office1[] = {
u8 func0409_office1[] = {
#define LABEL_RUN_TO_FOYER 0x4f
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_morale(0)
set_onshot_function(FUNC_OFFICE1)
if_chr_dying(CHR_SELF, /*goto*/ 0x02)
@@ -2185,7 +2185,7 @@ u8 func040e_init_office2[] = {
};
u8 func040a_office2[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_morale(0)
set_onshot_function(FUNC_OFFICE2)
if_chr_dying(CHR_SELF, /*goto*/ 0x02)
@@ -2369,22 +2369,22 @@ u8 func100d_laser_panel[] = {
};
u8 func100e_check_alaskans_killed[] = {
set_chr_flag_bank3(0x00, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x01, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x02, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x03, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x04, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x05, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x06, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x07, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x08, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x09, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0a, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0b, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0c, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0d, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0e, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0f, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(0x00, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x01, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x02, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x03, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x04, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x05, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x06, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x07, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x08, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x09, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0a, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0b, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0c, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0d, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0e, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0f, CHRCFLAG_KILLCOUNTABLE)
beginloop(0x00)
if_stage_flag_eq(STAGEFLAG_SECURITY_SHUT_DOWN, TRUE, /*goto*/ 0x02)
@@ -2410,8 +2410,8 @@ u8 func0410_unused[] = {
set_armor(0)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00000040)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000040)
set_chr_chrflag(CHR_SELF, CHRCFLAG_00040000)
set_function(CHR_SELF, FUNC_NSA)
endfunction
};
@@ -2591,7 +2591,7 @@ u8 func040f_nsa[] = {
u8 func0412_init_takeover_lackey[] = {
set_onshot_function(GFUNC_ALERTED)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_chr_dodge_rating(2, 0x0a)
set_accuracy(60)
set_reaction_speed(80)
@@ -2654,8 +2654,8 @@ u8 func0411_takeover_lackey[] = {
endloop(0x09)
label(0x02)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISE_UNCOVERED)
set_function(CHR_SELF, GFUNC_ALERTED)
endfunction
};
@@ -2720,7 +2720,7 @@ u8 func0414_officeworker[] = {
// After takeover
label(0x07)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x6d)
set_chr_flag_bank2(0x3a, CHRFLAG2_00100000)
set_chr_hiddenflag(0x3a, CHRHFLAG_00100000)
chr_move_to_pad(0x3a, 0x00d7, 0x00, /*goto*/ 0x31)
label(0x31)
@@ -2897,7 +2897,7 @@ u8 func0403_unused[] = {
set_armor(40)
set_recovery_speed(30)
set_shield(0)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2909,10 +2909,10 @@ u8 func1015_unhide_laser_guards[] = {
hide_chr(0x3f)
hide_chr(0x40)
hide_chr(0x41)
set_chr_flag_bank3(0x3e, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x3f, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x40, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x41, CHRFLAG3_HIDDEN)
set_chr_chrflag(0x3e, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x3f, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x40, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x41, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
// Unreachable
@@ -2921,10 +2921,10 @@ u8 func1015_unhide_laser_guards[] = {
endloop(0x00)
label(0x02)
unset_chr_flag_bank3(0x3e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x3f, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x40, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x41, CHRFLAG3_HIDDEN)
unset_chr_chrflag(0x3e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x3f, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x40, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x41, CHRCFLAG_HIDDEN)
show_chr(0x3e)
set_function(0x3e, 0x0404)
show_chr(0x3f)
@@ -3062,8 +3062,8 @@ u8 func0426_init_alaskan_guard[] = {
* Assigned to stripes guards and NSA lackeys during takeover.
*/
u8 func0427_init_posttakeover_guard[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_chr_team(CHR_SELF, TEAM_04)
set_chr_dodge_rating(2, 0x0a)
set_accuracy(12)
@@ -3096,8 +3096,8 @@ u8 func0428_posttakeover_guard[] = {
if_within_units_of_sight(30, /*goto*/ 0x31)
label(0x02)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_flag_bank3(CHRFLAG3_00040000)
unset_self_chrflag(CHRCFLAG_HIDDEN)
unset_self_chrflag(CHRCFLAG_00040000)
set_function(CHR_SELF, FUNC_BECOME_UNALERTED)
label(0x31)
@@ -3139,9 +3139,9 @@ u8 func042a_foyer_spawner[] = {
set_armor(40)
set_recovery_speed(30)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x00)
chr_toggle_p1p2(CHR_SELF)
@@ -3164,7 +3164,7 @@ u8 func042a_foyer_spawner[] = {
set_function(CHR_SELF, FUNC_FOYER_CLONE)
label(0x6a)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x6a)
reloop(0x00)
@@ -3576,7 +3576,7 @@ u8 func1018_safe_switch_cover[] = {
u8 func101a_check_disguise_used[] = {
beginloop(0x00)
chr_toggle_p1p2(CHR_SELF)
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x31)
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x31)
endloop(0x00)
label(0x31)
@@ -3587,38 +3587,38 @@ u8 func101a_check_disguise_used[] = {
u8 func1003_intro[] = {
label(0x31)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_AIRBASE_INTRO)
camera_movement(0x01e5)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01e6, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_hud_visible(CHR_BOND, TRUE)
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TRENT, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
animation(0x01e7, -1, -1, 0x06, 0x00, CHR_TRENT, 4)
set_chr_flag_bank3(0x48, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x48, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x48, CHRFLAG2_00020000)
set_chr_chrflag(0x48, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x48, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x48, CHRHFLAG_00020000)
animation(0x01e8, -1, -1, 0x06, 0x00, 0x48, 4)
set_chr_flag_bank3(0x49, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x49, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x49, CHRFLAG2_00020000)
set_chr_chrflag(0x49, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x49, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x49, CHRHFLAG_00020000)
animation(0x01e9, -1, -1, 0x06, 0x00, 0x49, 4)
set_chr_flag_bank3(0x4a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x4a, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x4a, CHRFLAG2_00020000)
set_chr_chrflag(0x4a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x4a, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x4a, CHRHFLAG_00020000)
animation(0x01ea, -1, -1, 0x06, 0x00, 0x4a, 4)
set_chr_flag_bank3(0x4b, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x4b, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x4b, CHRFLAG2_00020000)
set_chr_chrflag(0x4b, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x4b, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x4b, CHRHFLAG_00020000)
animation(0x01eb, -1, -1, 0x06, 0x00, 0x4b, 4)
set_chr_flag_bank3(0x4c, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x4c, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x4c, CHRFLAG2_00020000)
set_chr_chrflag(0x4c, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x4c, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x4c, CHRHFLAG_00020000)
animation(0x01ec, -1, -1, 0x06, 0x00, 0x4c, 4)
show_object(0x22)
set_object_flag_bank1(0x22, OBJECTFLAG1_04000000)
@@ -3821,25 +3821,25 @@ u8 func1003_intro[] = {
hide_object(0x22)
hide_object(0x2f)
label(0x02)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x48, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x49, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x4a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x4b, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x4c, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x48, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x49, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x4a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x4b, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x4c, CHRCFLAG_UNPLAYABLE)
remove_chr(CHR_TRENT)
remove_chr(0x48)
remove_chr(0x4a)
remove_chr(0x4b)
remove_chr(0x4c)
set_chr_flag_bank3(0x49, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x49, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x49, CHRFLAG2_00020000)
set_chr_chrflag(0x49, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x49, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x49, CHRHFLAG_00020000)
animation(0x01e9, -2, -1, 0x06, 0x00, 0x49, 2)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01e6, -2, -1, 0x06, 0x00, CHR_BOND, 2)
set_chr_hud_visible(CHR_BOND, FALSE)
unset_object_flag_bank1(0x22, OBJECTFLAG1_04000000)
@@ -3980,7 +3980,7 @@ u8 func1024_double_dy357[] = {
*/
u8 func0416_watch_flag[] = {
beginloop(0x00)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_40000000, /*goto*/ 0x31)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_40000000, /*goto*/ 0x31)
dprint 'F','L','A','G',' ','N','O','T',' ','S','E','T','\n',0,
reloop(0x00)
@@ -4001,7 +4001,7 @@ u8 func101a_check_disguise_used2[] = {
dprint 'D','I','S','G','U','I','S','E','D',' ','U','P','\n',0,
beginloop(0x04)
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x31)
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x31)
endloop(0x04)
label(0x31)
@@ -4028,7 +4028,7 @@ u8 func1026_check_alarm_destroyed[] = {
};
u8 func0417_remove_or_unalert[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
label(0x00)
yield
@@ -4054,7 +4054,7 @@ u8 func0417_remove_or_unalert[] = {
};
u8 func0418_remove_or_cower[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
label(0x00)
yield
set_target_chr(CHR_BOND)
@@ -4252,9 +4252,9 @@ u8 func102f_undisguise_on_alarm[] = {
endloop(0x00)
label(0x31)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x31)
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISE_UNCOVERED)
label(0x31)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
@@ -4319,28 +4319,28 @@ u8 func1032_unhide_guards_near_plane[] = {
label(0x31)
show_chr(0x1b)
set_function(0x1b, 0x0422)
unset_chr_flag_bank2(0x1b, CHRFLAG2_40000000)
unset_chr_flag_bank3(0x1b, CHRFLAG3_HIDDEN)
unset_chr_hiddenflag(0x1b, CHRHFLAG_40000000)
unset_chr_chrflag(0x1b, CHRCFLAG_HIDDEN)
yield
show_chr(0x19)
set_function(0x19, FUNC_INIT_POSTTAKEOVER_GUARD)
unset_chr_flag_bank2(0x19, CHRFLAG2_40000000)
unset_chr_flag_bank3(0x19, CHRFLAG3_HIDDEN)
unset_chr_hiddenflag(0x19, CHRHFLAG_40000000)
unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN)
yield
show_chr(0x1d)
set_function(0x1d, FUNC_INIT_POSTTAKEOVER_GUARD)
unset_chr_flag_bank2(0x1d, CHRFLAG2_40000000)
unset_chr_flag_bank3(0x1d, CHRFLAG3_HIDDEN)
unset_chr_hiddenflag(0x1d, CHRHFLAG_40000000)
unset_chr_chrflag(0x1d, CHRCFLAG_HIDDEN)
yield
show_chr(0x1e)
set_function(0x1e, FUNC_INIT_POSTTAKEOVER_GUARD)
unset_chr_flag_bank2(0x1e, CHRFLAG2_40000000)
unset_chr_flag_bank3(0x1e, CHRFLAG3_HIDDEN)
unset_chr_hiddenflag(0x1e, CHRHFLAG_40000000)
unset_chr_chrflag(0x1e, CHRCFLAG_HIDDEN)
yield
show_chr(0x20)
set_function(0x20, FUNC_INIT_POSTTAKEOVER_GUARD)
unset_chr_flag_bank2(0x20, CHRFLAG2_40000000)
unset_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
unset_chr_hiddenflag(0x20, CHRHFLAG_40000000)
unset_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+132 -132
View File
@@ -641,14 +641,14 @@ struct path paths[] = {
u8 func1001_objectives_failed_msg[] = {
yield
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_01000000)
set_chr_flag_bank3(CHR_LABTECH1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH2, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH3, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_PILOT1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_PILOT2, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_PILOT3, CHRFLAG3_04000000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_01000000)
set_chr_chrflag(CHR_LABTECH1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH2, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH3, CHRCFLAG_04000000)
set_chr_chrflag(CHR_PILOT1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_PILOT2, CHRCFLAG_04000000)
set_chr_chrflag(CHR_PILOT3, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -675,20 +675,20 @@ u8 func0408_guard_unalerted[] = {
u8 func1002_intro[] = {
set_music_track(MUSIC_PELAGIC_INTRO)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
camera_movement(0x02ce)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x02cf, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02d0, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
animation(0x02d1, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4)
restart_timer
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
@@ -799,15 +799,15 @@ u8 func1002_intro[] = {
label(0x39)
mute_channel(CHANNEL_10)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x02cf, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02d0, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
hide_chr(CHR_INTRO_GUARD)
enter_firstperson
yield
@@ -828,18 +828,18 @@ u8 func1002_intro[] = {
u8 func0c01_outro[] = {
camera_movement(0x02e2)
set_music_track(MUSIC_PELAGIC_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x02e3, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
set_function(CHR_ELVIS, GFUNC_IDLE)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02e4, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
show_object(OBJ_OUTRO_SUBMARINE)
@@ -990,11 +990,11 @@ u8 func0c01_outro[] = {
endloop(0x0b)
label(0x39)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x02cf, -2, -1, 0x06, 0x00, CHR_P1P2, 2)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02d0, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
end_level
set_function(CHR_SELF, GFUNC_IDLE)
@@ -1174,8 +1174,8 @@ u8 func100c_check_end_level[] = {
label(0x07)
if_stage_flag_eq(STAGEFLAG_ELVIS_APPEARED_AT_MOONPOOL, TRUE, /*goto*/ 0x00)
set_stage_flag(STAGEFLAG_ELVIS_APPEARED_AT_MOONPOOL)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_ELVIS, FUNC_ELVIS_AT_MOONPOOL)
beginloop(0x00)
@@ -1334,7 +1334,7 @@ u8 func0407_start_path02[] = {
u8 func040e_init_labtech1[] = {
set_self_flag_bank3(CHRFLAG3_04000000)
set_self_chrflag(CHRCFLAG_04000000)
set_chr_health(CHR_SELF, 1)
set_function(CHR_SELF, FUNC_LABTECH1)
endfunction
@@ -1409,7 +1409,7 @@ u8 func040b_labtech1[] = {
};
u8 func040f_init_labtech2[] = {
set_self_flag_bank3(CHRFLAG3_04000000)
set_self_chrflag(CHRCFLAG_04000000)
set_chr_health(CHR_SELF, 1)
set_function(CHR_SELF, FUNC_LABTECH2)
endfunction
@@ -1484,7 +1484,7 @@ u8 func040c_labtech2[] = {
};
u8 func0410_init_labtech3[] = {
set_self_flag_bank3(CHRFLAG3_04000000)
set_self_chrflag(CHRCFLAG_04000000)
set_chr_health(CHR_SELF, 1)
set_function(CHR_SELF, FUNC_LABTECH3)
endfunction
@@ -1658,8 +1658,8 @@ u8 func0411_labtech_alerted[] = {
};
u8 func0412_hide[] = {
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1667,14 +1667,14 @@ u8 func0412_hide[] = {
u8 func1010_alarm_responders[] = {
yield
yield
set_chr_flag_bank2(0x57, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x58, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x59, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x5a, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x5b, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x5c, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x5d, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x5e, CHRFLAG2_CLOAKED)
set_chr_hiddenflag(0x57, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x58, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x59, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x5a, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x5b, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x5c, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x5d, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x5e, CHRHFLAG_CLOAKED)
hide_chr(0x57)
hide_chr(0x58)
hide_chr(0x59)
@@ -1683,23 +1683,23 @@ u8 func1010_alarm_responders[] = {
hide_chr(0x5c)
hide_chr(0x5d)
hide_chr(0x5e)
set_chr_flag_bank2(0x04, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x25, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x06, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x08, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x0a, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x0c, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x0e, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x10, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x12, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x14, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x16, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x18, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x1a, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x1c, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x1e, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x20, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(0x22, CHRFLAG2_CLOAKED)
set_chr_hiddenflag(0x04, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x25, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x06, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x08, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x0a, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x0c, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x0e, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x10, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x12, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x14, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x16, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x18, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x1a, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x1c, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x1e, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x20, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(0x22, CHRHFLAG_CLOAKED)
hide_chr(0x04)
hide_chr(0x25)
hide_chr(0x06)
@@ -1805,56 +1805,56 @@ u8 func1010_alarm_responders[] = {
set_function(0x20, FUNC_GUARD_UNALERTED)
set_function(0x22, FUNC_GUARD_UNALERTED)
yield
unset_chr_flag_bank3(0x57, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x58, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x59, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x5a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x5b, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x5c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x5d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x5e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x57, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x58, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x59, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x5a, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x5b, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x5c, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x5d, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x5e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x04, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x25, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x06, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x08, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x0a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x0c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x0e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x10, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x12, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x14, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x18, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x1a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x1c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x1e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x04, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x25, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x06, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x08, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0a, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x10, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x18, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1a, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1c, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN)
unset_chr_chrflag(0x57, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x58, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x59, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x5a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x5b, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x5c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x5d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x5e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x57, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x58, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x59, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x5a, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x5b, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x5c, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x5d, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x5e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x04, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x25, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x06, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x08, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x0a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x0c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x0e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x10, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x12, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x14, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x18, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x20, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x22, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x04, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x25, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x06, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x08, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0a, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0c, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x10, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x18, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1c, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x22, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2066,9 +2066,9 @@ u8 func1011_check_pilots_dead[] = {
* the selected pilot is dead, try the next one and so on in order 1, 2, 3.
*/
u8 func1012_choose_angry_pilot[] = {
set_chr_flag_bank3(CHR_PILOT1, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_PILOT2, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_PILOT3, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_PILOT1, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_PILOT2, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_PILOT3, CHRCFLAG_KILLCOUNTABLE)
beginloop(0x00)
if_kill_count_gt(0, /*goto*/ 0x08)
@@ -2086,7 +2086,7 @@ u8 func1012_choose_angry_pilot[] = {
if_chr_dying(CHR_PILOT1, /*goto*/ 0x3b)
if_chr_death_animation_finished(CHR_PILOT1, /*goto*/ 0x3b)
if_chr_unloaded(CHR_PILOT1, /*goto*/ 0x3b)
if_chr_flag_bankx(CHR_PILOT1, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3b)
if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3b)
set_function(CHR_PILOT1, FUNC_ANGRY_PILOT)
set_function(CHR_SELF, GFUNC_IDLE)
@@ -2094,7 +2094,7 @@ u8 func1012_choose_angry_pilot[] = {
if_chr_dying(CHR_PILOT2, /*goto*/ 0x3c)
if_chr_death_animation_finished(CHR_PILOT2, /*goto*/ 0x3c)
if_chr_unloaded(CHR_PILOT2, /*goto*/ 0x3c)
if_chr_flag_bankx(CHR_PILOT2, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3c)
if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x3c)
set_function(CHR_PILOT2, FUNC_ANGRY_PILOT)
set_function(CHR_SELF, GFUNC_IDLE)
@@ -2102,7 +2102,7 @@ u8 func1012_choose_angry_pilot[] = {
if_chr_dying(CHR_PILOT3, /*goto*/ 0x04)
if_chr_death_animation_finished(CHR_PILOT3, /*goto*/ 0x04)
if_chr_unloaded(CHR_PILOT3, /*goto*/ 0x04)
if_chr_flag_bankx(CHR_PILOT3, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x04)
if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_08000000, BANK_0, /*goto*/ 0x04)
set_function(CHR_PILOT3, FUNC_ANGRY_PILOT)
set_function(CHR_SELF, GFUNC_IDLE)
@@ -2125,7 +2125,7 @@ u8 func0404_angry_pilot[] = {
rebuild_teams
rebuild_squadrons
unset_self_flag_bankx(CHRFLAG0_00100000, BANK_0)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_onshot_function(FUNC_ANGRY_PILOT)
if_chr_dying(CHR_SELF, /*goto*/ 0x07)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x07)
@@ -2161,7 +2161,7 @@ u8 func0404_angry_pilot[] = {
if_chr_dying(CHR_PILOT1, /*goto*/ 0x3b)
if_chr_death_animation_finished(CHR_PILOT1, /*goto*/ 0x3b)
if_chr_unloaded(CHR_PILOT1, /*goto*/ 0x3b)
if_chr_flag_bankx(CHR_PILOT1, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3b)
if_chr_has_flag_bankx(CHR_PILOT1, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3b)
set_target_chr(CHR_PILOT1)
goto_next(0x00)
@@ -2169,7 +2169,7 @@ u8 func0404_angry_pilot[] = {
if_chr_dying(CHR_PILOT2, /*goto*/ 0x3c)
if_chr_death_animation_finished(CHR_PILOT2, /*goto*/ 0x3c)
if_chr_unloaded(CHR_PILOT2, /*goto*/ 0x3c)
if_chr_flag_bankx(CHR_PILOT2, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3c)
if_chr_has_flag_bankx(CHR_PILOT2, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x3c)
set_target_chr(CHR_PILOT2)
goto_next(0x00)
@@ -2177,7 +2177,7 @@ u8 func0404_angry_pilot[] = {
if_chr_dying(CHR_PILOT3, /*goto*/ 0x04)
if_chr_death_animation_finished(CHR_PILOT3, /*goto*/ 0x04)
if_chr_unloaded(CHR_PILOT3, /*goto*/ 0x04)
if_chr_flag_bankx(CHR_PILOT3, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x04)
if_chr_has_flag_bankx(CHR_PILOT3, CHRFLAG0_00000004, BANK_0, /*goto*/ 0x04)
set_target_chr(CHR_PILOT3)
goto_next(0x00)
@@ -2571,8 +2571,8 @@ u8 func0415_elvis_at_start[] = {
label(0x04)
stop_chr
set_stage_flag(STAGEFLAG_ELVIS_WARPED_FROM_START)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_armor(2000)
set_chr_health(CHR_SELF, 1)
set_function(CHR_SELF, GFUNC_IDLE)
+69 -69
View File
@@ -1040,7 +1040,7 @@ u8 func1009_spawner_during_decode[] = {
};
#define init_swat \
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000) \
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) \
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) \
set_chr_dodge_rating(2, 0x0a) \
set_accuracy(15) \
@@ -1053,11 +1053,11 @@ u8 func1009_spawner_during_decode[] = {
label(0x06) \
set_chr_team(CHR_SELF, TEAM_ENEMY) \
set_squadron(SQUADRON_09) \
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE) \
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE) \
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0) \
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0) \
set_alertness(90) \
set_self_flag_bank3(CHRFLAG3_00000200) \
set_self_chrflag(CHRCFLAG_00000200) \
rebuild_teams \
rebuild_squadrons \
run_to_pad(0x004e)
@@ -1117,12 +1117,12 @@ u8 func100a_give_keycards[] = {
set_object_flag_bank1(OBJ_CROSSBOW, OBJECTFLAG1_INVISIBLE)
set_object_flag_bank0(OBJ_CROSSBOW, OBJECTFLAG0_00100000)
set_chr_flag_bank3(CHR_CLOAK_1A, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_CLOAK_1B, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_CLOAK_2A, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_CLOAK_2B, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_CLOAK_2C, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_CLOAK_2D, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_CLOAK_1A, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_CLOAK_1B, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_CLOAK_2A, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_CLOAK_2B, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_CLOAK_2C, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_CLOAK_2D, CHRCFLAG_KILLCOUNTABLE)
// Wait for trigger
beginloop(0x04)
@@ -1549,19 +1549,19 @@ u8 func1017_check_lasers_closed[] = {
};
u8 func040d_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_INTRO)
camera_movement(0x0165)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0166, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_INTRO_VICTIM, CHRFLAG2_00020000)
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000)
animation(0x0167, -1, -1, 0x06, 0x00, CHR_INTRO_VICTIM, 4)
restart_timer
@@ -1763,16 +1763,16 @@ u8 func040d_intro[] = {
endloop(0x08)
label(0x54)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0166, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_INTRO_VICTIM, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_INTRO_VICTIM, CHRFLAG3_00010000)
unset_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_INTRO_VICTIM, CHRHFLAG_00020000)
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_INTRO_VICTIM, CHRCFLAG_00010000)
animation(0x0167, -2, -1, 0x06, 0x00, CHR_INTRO_VICTIM, 2)
restart_default_music
@@ -1802,8 +1802,8 @@ u8 func040d_intro[] = {
u8 func040e_meeting_cutscene[] = {
deactivate_alarm
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_MIDCUTSCENE)
camera_movement(0x0191)
set_stage_flag(STAGEFLAG_MEETING_STARTED)
@@ -1812,24 +1812,24 @@ u8 func040e_meeting_cutscene[] = {
set_function(CHR_TRENT, GFUNC_IDLE)
set_function(CHR_STRIPES, GFUNC_IDLE)
set_chr_flag_bank3(CHR_BLONDE, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_BLONDE, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_BLONDE, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BLONDE, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_BLONDE, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_00020000)
animation(0x0192, -1, -1, 0x06, 0x00, CHR_BLONDE, 4)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
animation(0x0193, -1, -1, 0x06, 0x00, CHR_CASS, 4)
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TRENT, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TRENT, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TRENT, CHRHFLAG_00020000)
animation(0x0194, -1, -1, 0x06, 0x00, CHR_TRENT, 4)
set_chr_flag_bank3(CHR_STRIPES, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_STRIPES, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_STRIPES, CHRFLAG2_00020000)
set_chr_chrflag(CHR_STRIPES, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_STRIPES, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_STRIPES, CHRHFLAG_00020000)
animation(0x0195, -1, -1, 0x06, 0x00, CHR_STRIPES, 4)
restart_timer
@@ -2036,8 +2036,8 @@ u8 func040e_meeting_cutscene[] = {
mute_channel(CHANNEL_7)
mute_channel(CHANNEL_6)
mute_channel(CHANNEL_5)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
restart_timer
label(0x06)
set_function(CHR_CASS, FUNC_WALK_FROM_MEETING)
@@ -2072,12 +2072,12 @@ u8 func040f_outro_from_menu[] = {
u8 func040f_outro[] = {
camera_movement(0x0196)
set_music_track(MUSIC_G5_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x0197, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
set_chr_hud_visible(CHR_P1P2, TRUE)
restart_timer
@@ -2310,7 +2310,7 @@ u8 func0412_cloak_guard[] = {
goto_first(0x03)
label(0x10)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED, /*goto*/ 0x2c)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED, /*goto*/ 0x2c)
set_function(CHR_SELF, GFUNC_IDLE)
label(0x2c)
@@ -2322,7 +2322,7 @@ u8 func0412_cloak_guard[] = {
u8 func0413_cloak1_guard[] = {
yield
set_onshot_function(FUNC_CLOAK_GUARD)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
label(0x06)
set_reaction_speed(100)
set_onshot_function(FUNC_CLOAK_GUARD)
@@ -2340,8 +2340,8 @@ u8 func0413_cloak1_guard[] = {
endloop(0x04)
label(0x06)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_cloaked(CHR_SELF, TRUE, TRUE)
set_function(CHR_SELF, FUNC_CLOAK_GUARD)
endfunction
@@ -2350,7 +2350,7 @@ u8 func0413_cloak1_guard[] = {
u8 func0414_init_cloak2_guard[] = {
stop_chr
set_onshot_function(FUNC_CLOAK_GUARD)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_dodge_rating(2, 0x0a)
set_accuracy(5)
set_reaction_speed(25)
@@ -2358,8 +2358,8 @@ u8 func0414_init_cloak2_guard[] = {
set_armor(0)
set_recovery_speed(0)
set_shield(0)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_cloaked(CHR_SELF, TRUE, TRUE)
set_function(CHR_SELF, FUNC_CLOAK_GUARD)
endfunction
@@ -2498,10 +2498,10 @@ u8 func101b_cloak2_entry[] = {
set_lights_state(0x000a, 0x01, 0xff, 0x00, 0x00)
label(0x07)
unset_chr_flag_bank3(CHR_CLOAK_2A, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_CLOAK_2B, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_CLOAK_2C, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_CLOAK_2D, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_CLOAK_2A, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_CLOAK_2B, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_CLOAK_2C, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_CLOAK_2D, CHRCFLAG_HIDDEN)
set_function(CHR_CLOAK_2A, FUNC_CLOAK2_GUARD)
set_function(CHR_CLOAK_2B, FUNC_CLOAK2_GUARD)
set_function(CHR_CLOAK_2C, FUNC_CLOAK2_GUARD)
@@ -2511,7 +2511,7 @@ u8 func101b_cloak2_entry[] = {
};
u8 func0405_cloak2_hide[] = {
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2937,8 +2937,8 @@ u8 func1026_unlock_doors[] = {
u8 func0410_invincible[] = {
label(0x04)
yield
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2946,9 +2946,9 @@ u8 func0410_invincible[] = {
u8 func0411_hide[] = {
label(0x04)
yield
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3030,13 +3030,13 @@ u8 func102a_8174[] = {
endloop(0x08)
label(0x2c)
set_chr_flag_bank2(0x07, CHRFLAG2_08000000)
set_chr_flag_bank2(0x0c, CHRFLAG2_08000000)
set_chr_flag_bank2(0x0d, CHRFLAG2_08000000)
set_chr_flag_bank2(0x0e, CHRFLAG2_08000000)
set_chr_flag_bank2(0x0f, CHRFLAG2_08000000)
set_chr_flag_bank2(0x10, CHRFLAG2_08000000)
set_chr_flag_bank2(0x11, CHRFLAG2_08000000)
set_chr_hiddenflag(0x07, CHRHFLAG_08000000)
set_chr_hiddenflag(0x0c, CHRHFLAG_08000000)
set_chr_hiddenflag(0x0d, CHRHFLAG_08000000)
set_chr_hiddenflag(0x0e, CHRHFLAG_08000000)
set_chr_hiddenflag(0x0f, CHRHFLAG_08000000)
set_chr_hiddenflag(0x10, CHRHFLAG_08000000)
set_chr_hiddenflag(0x11, CHRHFLAG_08000000)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+55 -55
View File
@@ -711,80 +711,80 @@ u8 func041e_colleague[] = {
};
u8 func041f_colleague1[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(0)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0420_colleague2[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(1)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0421_colleague3[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(2)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0422_colleague4[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(3)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0423_colleague5[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(4)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0424_colleague6[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(5)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0425_colleague7[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(6)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0426_colleague8[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(7)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0427_colleague9[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(8)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
};
u8 func0428_colleague10[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_morale(9)
set_function(CHR_SELF, FUNC_COLLEAGUE)
endfunction
@@ -1424,7 +1424,7 @@ u8 func1006_devicetraining_disguise[] = {
endloop(0x08)
label(0x81)
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
unset_stage_flag(STAGEFLAG_DISGUISE_FAILED)
unset_stage_flag(STAGEFLAG_DISGUISE_COMPLETE)
lock_door(0x31, 0x40)
@@ -1473,14 +1473,14 @@ u8 func1006_devicetraining_disguise[] = {
label(0x2f)
label(0x8d)
remove_displayed_text
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f)
display_text(0x01, COLOR_04_ORANGE, 0x1c3d) // "Select the Disguise. - Hold A Button. - Use Control Stick to change selection. - Highlight Disguise and release A Button."
restart_timer
beginloop(0x8e)
if_stage_flag_eq(STAGEFLAG_DISGUISE_FAILED, TRUE, /*goto*/ 0x0a)
if_stage_flag_eq(STAGEFLAG_DEVICE_ABORTING, TRUE, /*goto*/ 0x90)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f)
if_timer_gt(1200, /*goto*/ 0x06)
endloop(0x8e)
@@ -2509,7 +2509,7 @@ u8 func0429_grimshaw_disguise[] = {
endloop(0x5b)
label(0x06)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2f)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2f)
do_special_animation(-1)
speak(CHR_TARGET, 0x1c2c, 0x1518, CHANNEL_6, COLOR_05_GREEN) // "Go away, Joanna. You're not fooling anybody!"
@@ -2572,7 +2572,7 @@ u8 func100c_cloak_detection[] = {
label(0x06)
dprint 'G','O','T','T','H','R','U',0,
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_CLOAKED, /*goto*/ 0x30)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_CLOAKED, /*goto*/ 0x30)
activate_alarm
yield
restart_timer
@@ -2874,8 +2874,8 @@ u8 func101b_ir_door[] = {
};
u8 func042b_init_carrington[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
yield
set_morale(0)
if_eeprom_flag_is_unset(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x06)
@@ -2906,7 +2906,7 @@ u8 func042b_init_carrington[] = {
u8 func1019_setup_carrington[] = {
beginloop(0x04)
if_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_10000000, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_CARRINGTON, CHRHFLAG_10000000, /*goto*/ 0x06)
if_eeprom_flag_is_set(EEPROMFLAG_CI_TOUR_STARTED, /*goto*/ 0x2f)
endloop(0x04)
@@ -2921,7 +2921,7 @@ u8 func1019_setup_carrington[] = {
u8 func042c_carrington_tour[] = {
set_return_function(CHR_SELF, FUNC_CARRINGTON_TOUR)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
restart_timer
try_face_entity(ENTITYTYPE_PAD, 0x0054, /*goto*/ 0x04)
@@ -2947,7 +2947,7 @@ u8 func042c_carrington_tour[] = {
endloop(0x08)
label(0x06)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
set_eeprom_flag(EEPROMFLAG_CI_TOUR_STARTED)
do_special_animation(-1)
remove_displayed_text
@@ -3204,7 +3204,7 @@ u8 func042c_carrington_tour[] = {
u8 func042d_unused[] = {
set_alertness(1)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
restart_timer
try_face_entity(ENTITYTYPE_CHR, CHR_CARRINGTON, /*goto*/ 0x5f)
@@ -3233,7 +3233,7 @@ u8 func042d_unused[] = {
u8 func042e_devicegirl_reply_to_carrington[] = {
set_alertness(1)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
restart_timer
try_face_entity(ENTITYTYPE_CHR, CHR_CARRINGTON, /*goto*/ 0x5f)
@@ -4358,12 +4358,12 @@ u8 func1028_holo4_main[] = {
label(0x91)
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
remove_displayed_text
if_chr_flag_bank3(0x0d, CHRFLAG3_00000040, /*goto*/ 0x61)
if_chr_has_chrflag(0x0d, CHRCFLAG_00000040, /*goto*/ 0x61)
display_text(0x01, COLOR_04_ORANGE, 0x1c6b) // "Unarmed combat - knock out the target. - Press Z Button repeatedly to punch."
goto_next(0x2f)
label(0x61)
if_chr_flag_bank3(0x0e, CHRFLAG3_00000040, /*goto*/ 0x62)
if_chr_has_chrflag(0x0e, CHRCFLAG_00000040, /*goto*/ 0x62)
remove_displayed_text
display_text(0x01, COLOR_04_ORANGE, 0x1c6c) // "Now try against a moving target..."
goto_next(0x2f)
@@ -4443,7 +4443,7 @@ u8 func0403_holo4_guard1[] = {
endloop(0x04)
label(0x2f)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
try_spawn_chr(BODY_DDSHOCK, HEAD_RANDOM, 0x0277, FUNC_HOLO4_GUARD2, 0x00002210, /*goto*/ 0x08)
label(0x08)
remove_displayed_text
@@ -4464,7 +4464,7 @@ u8 func0404_holo4_guard2[] = {
goto_next(0x06)
label(0x2f)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
try_spawn_chr(BODY_DDSHOCK, HEAD_RANDOM, 0x027a, FUNC_HOLO4_GUARD3, 0x00002210, /*goto*/ 0x0a)
label(0x0a)
remove_displayed_text
@@ -4600,12 +4600,12 @@ u8 func1029_holo5_main[] = {
label(0x91)
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x2f)
remove_displayed_text
if_chr_flag_bank3(0x10, CHRFLAG3_00000040, /*goto*/ 0x61)
if_chr_has_chrflag(0x10, CHRCFLAG_00000040, /*goto*/ 0x61)
display_text(0x01, COLOR_04_ORANGE, 0x1c5c) // "Disarm this live target if you can."
goto_next(0x2f)
label(0x61)
if_chr_flag_bank3(0x11, CHRFLAG3_00000040, /*goto*/ 0x62)
if_chr_has_chrflag(0x11, CHRCFLAG_00000040, /*goto*/ 0x62)
display_text(0x01, COLOR_04_ORANGE, 0x1c5d) // "Knock out this target - stealth is the key."
goto_next(0x2f)
@@ -4698,12 +4698,12 @@ u8 func0407_holo5_guard1[] = {
if_has_gun(CHR_SELF, /*goto*/ 0x06)
label(0x2f)
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_onshot_function(GFUNC_IDLE)
goto_next(0x0a)
label(0x30)
restart_timer
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x62)
if_timer_gt(60, /*goto*/ 0x63)
@@ -4716,7 +4716,7 @@ u8 func0407_holo5_guard1[] = {
set_function(CHR_SELF, GFUNC_IDLE)
label(0x0a)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
surrender
message(CHR_BOND, 0x1c5a) // "Guard has been successfully disarmed."
@@ -4783,13 +4783,13 @@ u8 func0409_holo5_guard2[] = {
if_chr_dying(CHR_SELF, /*goto*/ 0x2f)
if_chr_unloaded(CHR_SELF, /*goto*/ 0x2f)
if_target_chr_in_sight(/*goto*/ 0x09)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_alertness(0)
goto_first(0x08)
label(0x06)
label(0x09)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
try_face_entity(0x0200, 0x0000, /*goto*/ 0x0a)
beginloop(0x0a)
@@ -4800,8 +4800,8 @@ u8 func0409_holo5_guard2[] = {
endloop(0x0a)
label(0x2f)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00000040)
beginloop(0x57)
try_spawn_chr(BODY_DDSHOCK, HEAD_RANDOM, 0x0125, FUNC_HOLO5_INIT_GUARD3, 0x00002210, /*goto*/ 0x06)
@@ -4871,7 +4871,7 @@ u8 func1034_holo5_part1[] = {
beginloop(0x04)
if_stage_flag_eq(STAGEFLAG_GENERAL_PURPOSE, TRUE, /*goto*/ 0x0d)
if_chr_flag_bankx(0x10, CHRFLAG0_00008000, BANK_0, /*goto*/ 0x2f)
if_chr_has_flag_bankx(0x10, CHRFLAG0_00008000, BANK_0, /*goto*/ 0x2f)
dprint 'C','H','R',' ','4','F','D',0,
label(0x06)
endloop(0x04)
@@ -5741,15 +5741,15 @@ u8 func103f_msg_fnp90[] = {
};
u8 func1000_jo_typing[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
camera_movement(0x0484)
cmd0175(60)
if_controller_button_pressed(/*goto*/ 0x7b)
set_music_track(MUSIC_CI_INTRO)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0485, -1, -1, 0x06, 0x00, CHR_BOND, 4)
restart_timer
fade_to_color(0x000000ff, 0)
@@ -5781,11 +5781,11 @@ u8 func1000_jo_typing[] = {
endloop(0x08)
label(0x7b)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0485, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
enter_firstperson
passive_mode(TRUE)
fade_to_color(0x00000000, 0)
+34 -34
View File
@@ -898,7 +898,7 @@ u8 func0414_walk_3_pads[] = {
* Unused.
*/
u8 func0401_init_chr_with_flag[] = {
set_self_flag_bank3(CHRFLAG3_00000200)
set_self_chrflag(CHRCFLAG_00000200)
set_function(CHR_SELF, GFUNC_UNALERTED_0001)
endfunction
};
@@ -1302,7 +1302,7 @@ u8 func1009_weaponscache[] = {
endloop(0x04)
label(0x2f)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x2f)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x2f)
message(CHR_TARGET, 0x1e62) // "Secret weapons compartment opened."
play_sound(0x00f7, -1)
assign_sound(0x043b, CHANNEL_5)
@@ -1937,10 +1937,10 @@ u8 func1008_check_bot_terminals_destroyed[] = {
u8 func1001_objectives_failed_msg[] = {
yield
// These are scientist chrs
set_chr_flag_bank3(0x35, CHRFLAG3_04000000)
set_chr_flag_bank3(0x36, CHRFLAG3_04000000)
set_chr_flag_bank3(0x37, CHRFLAG3_04000000)
set_chr_flag_bank3(0x38, CHRFLAG3_04000000)
set_chr_chrflag(0x35, CHRCFLAG_04000000)
set_chr_chrflag(0x36, CHRCFLAG_04000000)
set_chr_chrflag(0x37, CHRCFLAG_04000000)
set_chr_chrflag(0x38, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -2016,7 +2016,7 @@ u8 func0408_alarm_responder[] = {
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
set_alertness(90)
set_self_flag_bank3(CHRFLAG3_00000200)
set_self_chrflag(CHRCFLAG_00000200)
// Run to scientist based on which alarm was triggered
if_stage_flag_eq(STAGEFLAG_ALARM1_ACTIVE, TRUE, /*goto*/ 0x08)
@@ -2217,18 +2217,18 @@ u8 func0416_intro[] = {
set_music_track(MUSIC_INVESTIGATION_INTRO)
camera_movement(0x00f5)
cmd0175(60)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_00010000)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_chrflag(CHR_BOND, CHRCFLAG_00010000)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x00f6, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_00010000)
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_00010000)
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
animation(0x00f7, -1, -1, 0x06, 0x00, CHR_INTRO_GUARD, 4)
restart_timer
@@ -2316,18 +2316,18 @@ u8 func0416_intro[] = {
label(0x77)
open_door2(0x24)
open_door2(0x40)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00010000)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_00010000)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x00f6, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank3(CHR_INTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank2(CHR_INTRO_GUARD, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_UNPLAYABLE)
set_chr_chrflag(CHR_INTRO_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_hiddenflag(CHR_INTRO_GUARD, CHRHFLAG_00020000)
animation(0x00f7, -2, -1, 0x06, 0x00, CHR_INTRO_GUARD, 2)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
restart_default_music
reset_ambience
enter_firstperson
@@ -2341,13 +2341,13 @@ u8 func0416_intro[] = {
u8 func0417_outro[] = {
set_music_track(MUSIC_INVESTIGATION_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_stage_flag(STAGEFLAG_TRIGGER_OUTRO_AUDIO)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
set_function(CHR_DRCAROLL, GFUNC_IDLE)
set_function(CHR_K7_GUARD, GFUNC_IDLE)
@@ -2415,9 +2415,9 @@ u8 func0417_outro[] = {
label(0x06)
dprint 's','h','o','t',' ','5',0,
if_controller_button_pressed(/*goto*/ 0x06)
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
camera_movement(0x0149)
animation(0x014a, -1, -1, 0x06, 0x00, CHR_P1P2, 2)
animation(0x014b, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 2)
@@ -2693,7 +2693,7 @@ u8 func0409_uplink_responder[] = {
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
set_alertness(110)
set_self_flag_bank3(CHRFLAG3_00000200)
set_self_chrflag(CHRCFLAG_00000200)
label(0x06)
rebuild_teams
rebuild_squadrons
@@ -3008,7 +3008,7 @@ u8 func0403_k7_scientist[] = {
};
u8 func1016_setup_drcaroll[] = {
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
set_function(CHR_DRCAROLL, GFUNC_INVINCIBLE_AND_IDLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
+104 -104
View File
@@ -773,11 +773,11 @@ u8 func1002_intro_from_menu[] = {
};
u8 func1002_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
camera_movement(0x0171)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
label(0x2e)
@@ -789,13 +789,13 @@ u8 func1002_intro[] = {
set_music_track(MUSIC_VILLA_INTRO2)
animation(0x0172, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4)
label(0x06)
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
animation(0x0173, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
animation(0x0174, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
show_object(OBJ_DROPSHIP)
set_object_flag_bank1(OBJ_DROPSHIP, OBJECTFLAG1_04000000)
@@ -937,8 +937,8 @@ u8 func1002_intro[] = {
label(0x56)
if_controller_button_pressed(/*goto*/ 0x56)
camera_movement(0x01b7)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
if_stage_flag_eq(STAGEFLAG_PLAYING_INTRO_FROM_MENU, TRUE, /*goto*/ 0x2e)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
label(0x2e)
@@ -948,14 +948,14 @@ u8 func1002_intro[] = {
animation(0x01b8, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4)
label(0x06)
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
animation(0x01b9, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
animation(0x01ba, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
restart_timer
@@ -1030,22 +1030,22 @@ u8 func1002_intro[] = {
cmd0175(60)
if_controller_button_pressed(/*goto*/ 0x56)
set_chr_flag_bank3(CHR_NEGOTIATOR, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_NEGOTIATOR, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_NEGOTIATOR, CHRFLAG2_00020000)
set_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000)
animation(0x0001, -1, -1, 0x06, 0x00, CHR_NEGOTIATOR, 4)
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
animation(0x0001, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
animation(0x0001, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01bc, -1, -1, 0x06, 0x00, CHR_BOND, 4)
show_object(OBJ_DROPSHIP)
@@ -1099,20 +1099,20 @@ u8 func1002_intro[] = {
mute_channel(CHANNEL_6)
mute_channel(CHANNEL_7)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01bc, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_NEGOTIATOR, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_NEGOTIATOR, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_NEGOTIATOR, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_NEGOTIATOR, CHRHFLAG_00020000)
animation(0x01b8, -2, -1, 0x06, 0x00, CHR_NEGOTIATOR, 2)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
animation(0x01b9, -2, -1, 0x06, 0x00, CHR_TAKER1, 2)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
animation(0x01ba, -2, -1, 0x06, 0x00, CHR_TAKER2, 2)
hide_object(OBJ_DROPSHIP)
@@ -1128,24 +1128,24 @@ u8 func1002_intro[] = {
set_function(CHR_TAKER1, FUNC_INIT_TAKER)
set_function(CHR_TAKER2, FUNC_INIT_TAKER)
set_function(CHR_NEGOTIATOR, FUNC_NEGOTIATOR)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
label(0x4f)
camera_movement(0x01be)
cmd0175(60)
hide_object(OBJ_DROPSHIP)
if_controller_button_pressed(/*goto*/ 0x56)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01bf, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
animation(0x01c0, -1, -1, 0x06, 0x00, CHR_TAKER1, 4)
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
animation(0x01c1, -1, -1, 0x06, 0x00, CHR_TAKER2, 4)
restart_timer
label(0xa6)
@@ -1200,16 +1200,16 @@ u8 func1002_intro[] = {
mute_channel(CHANNEL_5)
mute_channel(CHANNEL_6)
mute_channel(CHANNEL_7)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01bf, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_00000001)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_00020000)
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_00000001)
animation(0x01c0, -2, -1, 0x06, 0x00, CHR_TAKER1, 2)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_TAKER2, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_00000001)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_TAKER2, CHRHFLAG_00020000)
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_00000001)
animation(0x01c1, -2, -1, 0x06, 0x00, CHR_TAKER2, 2)
hide_object(OBJ_DROPSHIP)
restart_default_music
@@ -1219,8 +1219,8 @@ u8 func1002_intro[] = {
yield
set_function(CHR_TAKER1, FUNC_TAKER)
set_function(CHR_TAKER2, FUNC_TAKER)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1234,20 +1234,20 @@ u8 func0c02_outro_from_menu[] = {
u8 func0408_outro[] = {
camera_movement(0x017a)
set_music_track(MUSIC_VILLA_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNEXPLODABLE)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNEXPLODABLE)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x017c, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
animation(0x017b, -1, -1, 0x06, 0x00, CHR_CARRINGTON, 4)
show_nonessential_chrs(FALSE)
@@ -1457,7 +1457,7 @@ u8 func0401_init_taker[] = {
};
u8 func0402_taker[] = {
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
yield
yield
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
@@ -2174,9 +2174,9 @@ u8 func100b_invoke_hackers[] = {
set_function(CHR_HACKER1, FUNC_HACKER)
set_function(CHR_HACKER2, FUNC_HACKER)
set_function(CHR_HACKER3, FUNC_HACKER)
unset_chr_flag_bank3(CHR_HACKER1, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_HACKER2, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_HACKER3, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_HACKER1, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_HACKER2, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_HACKER3, CHRCFLAG_HIDDEN)
rebuild_teams
rebuild_squadrons
play_x_music(CHANNEL_10, 60)
@@ -2202,7 +2202,7 @@ u8 func100b_invoke_hackers[] = {
};
u8 func0406_init_hacker[] = {
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2368,14 +2368,14 @@ u8 func1011_setup_snipers[] = {
set_chr_special_death_animation(CHR_SNIPER4, 0x02)
set_chr_special_death_animation(CHR_SNIPER5, 0x03)
set_chr_special_death_animation(CHR_SNIPER3, 0x04)
set_chr_flag_bank3(CHR_SNIPER3, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_SNIPER4, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_SNIPER5, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_SNIPER7, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_SNIPER1, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_SNIPER2, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_SNIPER6, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_SNIPER8, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER3, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER4, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER5, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER7, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER1, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER2, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER6, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_SNIPER8, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2414,15 +2414,15 @@ u8 func1013_check_guard_subdued[] = {
};
u8 func1014_give_keycard[] = {
set_chr_flag_bank3(CHR_BASEMENT1, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT2, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT3, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT4, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT5, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT6, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT7, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT8, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT1, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT2, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT3, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT4, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT5, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT6, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT7, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT8, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_KILLCOUNTABLE)
set_object_flag_bank0(OBJ_KEYCARD, OBJECTFLAG0_00100000)
set_object_flag_bank1(OBJ_KEYCARD, OBJECTFLAG1_INVISIBLE)
@@ -2950,8 +2950,8 @@ u8 func0407_init_sniper[] = {
u8 func0410_carrington[] = {
yield
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_chr_health(CHR_SELF, 1)
animation(0x017b, 1, 1, 0x06, 0x00, CHR_CARRINGTON, 2)
set_function(CHR_SELF, GFUNC_IDLE)
@@ -3117,8 +3117,8 @@ u8 func1423_setup_lighting[] = {
};
u8 func1021_toggle_last_basement_guard[] = {
set_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x04)
if_difficulty_gt(DIFF_SA, /*goto*/ 0x2d)
@@ -3145,8 +3145,8 @@ u8 func1021_toggle_last_basement_guard[] = {
endloop(0x04)
label(0x2d)
unset_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BASEMENT9, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BASEMENT9, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3161,7 +3161,7 @@ u8 func1022_setup_rtracker[] = {
};
u8 func0411_cisoldier[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
chr_drop_weapon(CHR_SELF)
label(0x08)
yield
@@ -3181,15 +3181,15 @@ u8 func0411_cisoldier[] = {
u8 func1024_set_chr_flags_on_pa[] = {
yield
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2d)
set_chr_flag_bank2(CHR_TAKER1, CHRFLAG2_08000000)
set_chr_flag_bank2(0x0a, CHRFLAG2_08000000)
set_chr_flag_bank2(0x23, CHRFLAG2_08000000)
set_chr_flag_bank2(0x2f, CHRFLAG2_08000000)
set_chr_flag_bank2(0x34, CHRFLAG2_08000000)
set_chr_flag_bank2(0x37, CHRFLAG2_08000000)
set_chr_flag_bank2(0x3e, CHRFLAG2_08000000)
set_chr_flag_bank2(CHR_BASEMENT6, CHRFLAG2_08000000)
set_chr_flag_bank2(CHR_BASEMENT8, CHRFLAG2_08000000)
set_chr_hiddenflag(CHR_TAKER1, CHRHFLAG_08000000)
set_chr_hiddenflag(0x0a, CHRHFLAG_08000000)
set_chr_hiddenflag(0x23, CHRHFLAG_08000000)
set_chr_hiddenflag(0x2f, CHRHFLAG_08000000)
set_chr_hiddenflag(0x34, CHRHFLAG_08000000)
set_chr_hiddenflag(0x37, CHRHFLAG_08000000)
set_chr_hiddenflag(0x3e, CHRHFLAG_08000000)
set_chr_hiddenflag(CHR_BASEMENT6, CHRHFLAG_08000000)
set_chr_hiddenflag(CHR_BASEMENT8, CHRHFLAG_08000000)
label(0x2d)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
+149 -149
View File
@@ -553,21 +553,21 @@ u8 func1001_objectives_failed_msg[] = {
give_object_to_chr(OBJ_DATAUPLINK_COOP, CHR_COOP)
label(0x2e)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_F, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_INFO_M, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_HOLO, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HANGARGUY, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_M, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_INFO_F, CHRFLAG3_04000000)
set_chr_flag_bank3(0x09, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0a, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_UNEXPLODABLE)
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_UNEXPLODABLE)
set_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_UNEXPLODABLE)
set_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_UNEXPLODABLE)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_DEVICE_F, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_INFO_M, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_HOLO, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HANGARGUY, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_DEVICE_M, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_INFO_F, CHRCFLAG_04000000)
set_chr_chrflag(0x09, CHRCFLAG_04000000)
set_chr_chrflag(0x0a, CHRCFLAG_04000000)
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_UNEXPLODABLE)
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_UNEXPLODABLE)
set_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_UNEXPLODABLE)
set_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -580,9 +580,9 @@ u8 func1400_setup_counterop[] = {
};
#define spawner_logic(initfunc, clonefunc) \
set_self_flag_bank3(CHRFLAG3_00000002) \
set_self_flag_bank3(CHRFLAG3_HIDDEN) \
set_self_flag_bank3(CHRFLAG3_00040000) \
set_self_chrflag(CHRCFLAG_00000002) \
set_self_chrflag(CHRCFLAG_HIDDEN) \
set_self_chrflag(CHRCFLAG_00040000) \
\
beginloop(0x0f) \
if_stage_flag_eq(STAGEFLAG_TRIGGER_SPAWNING, TRUE, /*goto*/ 0x04) \
@@ -618,7 +618,7 @@ u8 func1400_setup_counterop[] = {
set_recovery_speed(0) \
set_shield(90) \
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1) \
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000) \
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000) \
label(0x04) \
try_inherit_properties(templatechr, /*goto*/ 0x08) \
label(0x08) \
@@ -641,7 +641,7 @@ u8 func0403_init_clone1[] = {
};
u8 func0402_clone1[] = {
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
run_to_pad(0x00c2)
set_return_function(CHR_SELF, FUNC_CLONE1)
set_function(CHR_SELF, GFUNC_UNALERTED)
@@ -749,13 +749,13 @@ u8 func100b_setup_autoguns[] = {
};
u8 func1004_check_hostages_killed[] = {
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_F, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_HOSTAGE_INFO_M, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_HOSTAGE_HOLO, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_HOSTAGE_DEVICE_M, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(CHR_HOSTAGE_INFO_F, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_HOSTAGE_DEVICE_F, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_HOSTAGE_INFO_M, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_HOSTAGE_HOLO, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_HOSTAGE_DEVICE_M, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(CHR_HOSTAGE_INFO_F, CHRCFLAG_KILLCOUNTABLE)
if_difficulty_lt(DIFF_SA, /*goto*/ 0x0a)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x0b)
@@ -863,13 +863,13 @@ u8 func1009_autogun_switch3[] = {
u8 func0c01_outro[] = {
camera_movement(0x01a2)
set_music_track(MUSIC_DEFENSE_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x01a3, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
#define show_object_with_animation(object, animation) \
@@ -940,17 +940,17 @@ u8 func0c01_outro[] = {
mute_channel(CHANNEL_10)
hide_object(0x0d)
camera_movement(0x01ac)
unset_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN)
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SKEDAR1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000)
animation(0x01ad, -1, -1, 0x06, 0x00, CHR_SKEDAR1, 4)
set_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SKEDAR2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SKEDAR2, CHRHFLAG_00020000)
animation(0x01ae, -1, -1, 0x06, 0x00, CHR_SKEDAR2, 4)
wait_until(16, 0x78)
@@ -971,9 +971,9 @@ u8 func0c01_outro[] = {
label(0xb8)
mute_channel(CHANNEL_10)
camera_movement(0x0305)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x0306, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
show_object_with_animation(0x0e, 0x0307)
@@ -1084,14 +1084,14 @@ u8 func0c01_outro[] = {
label(0xb8)
mute_channel(CHANNEL_10)
camera_movement(0x0310)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x0311, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SKEDAR1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SKEDAR1, CHRHFLAG_00020000)
animation(0x0312, -1, -1, 0x06, 0x00, CHR_SKEDAR1, 4)
show_object_with_animation(0x0e, 0x0313)
@@ -1153,27 +1153,27 @@ u8 func0c01_outro[] = {
u8 func1002_intro[] = {
set_music_track(MUSIC_DEFENSE_INTRO)
camera_movement(0x02bc)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_function(CHR_CARRINGTON, GFUNC_IDLE)
set_function(0x19, GFUNC_IDLE)
set_function(0x1a, GFUNC_IDLE)
set_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x02bd, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
animation(0x02be, -1, -1, 0x06, 0x00, CHR_CARRINGTON, 4)
set_chr_flag_bank3(0x19, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x19, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x19, CHRFLAG2_00020000)
set_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x19, CHRHFLAG_00020000)
animation(0x02bf, -1, -1, 0x06, 0x00, 0x19, 4)
set_chr_flag_bank3(0x1a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x1a, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x1a, CHRFLAG2_00020000)
set_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x1a, CHRHFLAG_00020000)
animation(0x02c0, -1, -1, 0x06, 0x00, 0x1a, 4)
show_object(0x0d)
set_object_flag_bank1(0x0d, OBJECTFLAG1_04000000)
@@ -1403,12 +1403,12 @@ u8 func1002_intro[] = {
cmd0175(60)
unset_object_flag_bank1(0x0d, OBJECTFLAG1_04000000)
if_controller_button_pressed(/*goto*/ 0xcc)
unset_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_SKEDAR4, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000)
animation(0x02c3, -1, -1, 0x06, 0x00, CHR_SKEDAR4, 4)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x02c4, -1, -1, 0x06, 0x00, CHR_BOND, 4)
show_object(0x52)
set_object_flag_bank1(0x52, OBJECTFLAG1_04000000)
@@ -1489,21 +1489,21 @@ u8 func1002_intro[] = {
mute_channel(CHANNEL_5)
mute_channel(CHANNEL_10)
set_cutscene_weapon(CHR_BOND, WEAPON_AR34, WEAPON_NONE)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x02c4, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_CARRINGTON, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_CARRINGTON, CHRHFLAG_00020000)
animation(0x02be, -2, -1, 0x06, 0x00, CHR_CARRINGTON, 2)
unset_chr_flag_bank3(0x19, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(0x19, CHRFLAG2_00020000)
unset_chr_chrflag(0x19, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(0x19, CHRHFLAG_00020000)
animation(0x02bf, -2, -1, 0x06, 0x00, 0x19, 2)
unset_chr_flag_bank3(0x1a, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(0x1a, CHRFLAG2_00020000)
unset_chr_chrflag(0x1a, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(0x1a, CHRHFLAG_00020000)
animation(0x02c0, -2, -1, 0x06, 0x00, 0x1a, 2)
unset_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_SKEDAR4, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_SKEDAR4, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_SKEDAR4, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_SKEDAR4, CHRHFLAG_00020000)
animation(0x02c3, -2, -1, 0x06, 0x00, CHR_SKEDAR4, 2)
unset_object_flag_bank1(0x0d, OBJECTFLAG1_04000000)
set_object_flag_bank0(0x0d, OBJECTFLAG0_DEACTIVATED)
@@ -1520,43 +1520,43 @@ u8 func1002_intro[] = {
set_stage_flag(STAGEFLAG_INTRO_FINISHED)
restart_default_music
reset_ambience
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
remove_chr(0x19)
remove_chr(0x1a)
set_function(0x19, GFUNC_IDLE)
set_function(0x1a, GFUNC_IDLE)
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
enter_firstperson
yield
set_function(CHR_CARRINGTON, FUNC_CARRINGTON)
set_function(CHR_SKEDAR4, FUNC_SKEDAR4)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func1003_hide_blondes_and_skedar[] = {
label(0x04)
set_chr_flag_bank3(CHR_BLONDE7, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SKEDAR3, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SKEDAR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_SKEDAR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_SKEDAR3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BLONDE7, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SKEDAR3, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SKEDAR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SKEDAR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SKEDAR3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BLONDE1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BLONDE2, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BLONDE3, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BLONDE4, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BLONDE5, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BLONDE6, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BLONDE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BLONDE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BLONDE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BLONDE4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BLONDE5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BLONDE6, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1643,10 +1643,10 @@ u8 func0414_firingrange_hostage[] = {
};
u8 func100e_setup_firingrange[] = {
set_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
// Wait until guns complete or failed, or skip this check if Agent
beginloop(0x04)
@@ -1691,10 +1691,10 @@ u8 func100e_setup_firingrange[] = {
// Unset invincible on hostages and takers
label(0x08)
destroy_object(OBJ_FR_GLASS)
unset_chr_flag_bank3(CHR_HOSTAGE_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_HOSTAGE_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_HOSTAGE_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_HOSTAGE_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1713,8 +1713,8 @@ u8 func041b_init_hostage_holo[] = {
};
u8 func041a_hostage_holo[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_00040000)
set_onshot_function(FUNC_HOSTAGE_HOLO)
if_chr_dying(CHR_SELF, /*goto*/ 0x2e)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2e)
@@ -1889,7 +1889,7 @@ u8 func041f_holoclone[] = {
endloop(0xba) \
\
label(0xbb) \
set_self_flag_bank3(CHRFLAG3_00000040) \
set_self_chrflag(CHRCFLAG_00000040) \
set_accuracy(50) \
set_target_chr(holoclone) \
label(0x04) \
@@ -1911,13 +1911,13 @@ u8 func041f_holoclone[] = {
u8 func0420_taker_holo1[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
holo_taker_logic(CHR_HOLOCLONE1)
endfunction
};
u8 func0421_taker_holo2[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
assign_sound(0x025b, CHANNEL_6)
play_sound_from_entity(CHANNEL_6, CHR_SELF, 0x0bb8, 0x1770, 0x01)
holo_taker_logic(CHR_HOLOCLONE2)
@@ -1925,7 +1925,7 @@ u8 func0421_taker_holo2[] = {
};
u8 func0422_taker_holo3[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
holo_taker_logic(CHR_HOLOCLONE3)
endfunction
};
@@ -2026,14 +2026,14 @@ u8 func0425_hostage_thank_and_run[] = {
endloop(0x10)
label(0x08)
unset_self_flag_bank3(CHRFLAG3_KILLCOUNTABLE)
unset_self_chrflag(CHRCFLAG_KILLCOUNTABLE)
remove_chr(CHR_SELF)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0428_init_drop_devastator[] = {
unset_self_flag_bank3(CHRFLAG3_KILLCOUNTABLE)
unset_self_chrflag(CHRCFLAG_KILLCOUNTABLE)
set_onshot_function(FUNC_HOSTAGE_THANK_AND_RUN)
set_chr_team(CHR_SELF, TEAM_NONCOMBAT)
set_chr_health(CHR_SELF, 40)
@@ -2247,7 +2247,7 @@ u8 func042e_taker_device_m[] = {
// Alive
label(0x08)
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00020000)
beginloop(0x0a)
chr_toggle_p1p2(CHR_SELF)
@@ -2272,7 +2272,7 @@ u8 func042e_taker_device_m[] = {
endloop(0xba)
label(0xbb)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_accuracy(50)
set_target_chr(CHR_HOSTAGE_DEVICE_M)
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
@@ -2299,7 +2299,7 @@ u8 func0430_taker_device_f[] = {
// Alive
label(0x08)
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00020000)
beginloop(0x0a)
chr_toggle_p1p2(CHR_SELF)
@@ -2325,7 +2325,7 @@ u8 func0430_taker_device_f[] = {
endloop(0xbc)
label(0x2e)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_accuracy(50)
set_target_chr(CHR_HOSTAGE_DEVICE_F)
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
@@ -2519,7 +2519,7 @@ u8 func0436_taker_info_m[] = {
endloop(0x0a)
label(0x08)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_accuracy(50)
set_target_chr(CHR_HOSTAGE_INFO_M)
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
@@ -2552,7 +2552,7 @@ u8 func0438_taker_info_f[] = {
endloop(0x0a)
label(0x08)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_accuracy(20)
set_target_chr(CHR_HOSTAGE_INFO_F)
set_function(CHR_SELF, FUNC_TAKER_ATTACK)
@@ -2695,8 +2695,8 @@ u8 func1014_carrington_messages[] = {
endloop(0x0d)
label(0x08)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CARRINGTON, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CARRINGTON, CHRCFLAG_HIDDEN)
unlock_door(0x23, 0x04)
unlock_door(0x24, 0x04)
restart_timer
@@ -2964,9 +2964,9 @@ u8 func1015_firingrange_pc[] = {
};
#define topspawner_logic(initfunc, clonefunc) \
set_self_flag_bank3(CHRFLAG3_00000002) \
set_self_flag_bank3(CHRFLAG3_HIDDEN) \
set_self_flag_bank3(CHRFLAG3_00040000) \
set_self_chrflag(CHRCFLAG_00000002) \
set_self_chrflag(CHRCFLAG_HIDDEN) \
set_self_chrflag(CHRCFLAG_00040000) \
\
beginloop(0x04) \
if_objective_complete(1, /*goto*/ 0x2e) \
@@ -2982,7 +2982,7 @@ u8 func1015_firingrange_pc[] = {
set_function(CHR_SELF, clonefunc) \
\
label(0x4f) \
unset_self_flag_bank3(CHRFLAG3_HIDDEN) \
unset_self_chrflag(CHRCFLAG_HIDDEN) \
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x4f) \
goto_first(0x04) \
\
@@ -3103,9 +3103,9 @@ u8 func1016_remove_spawners[] = {
// Spawner outside Jo's office
u8 func0410_spawner6[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x04)
chr_toggle_p1p2(CHR_SELF)
@@ -3198,18 +3198,18 @@ u8 func1022_skedar_shuttle[] = {
set_object_part_visible(OBJ_SKEDAR_SHUTTLE, FALSE)
set_object_flag_bank0(OBJ_SKEDAR_SHUTTLE, OBJECTFLAG0_00000100)
unset_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_BLONDE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_BLONDE4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_BLONDE5, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_BLONDE6, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BLONDE1, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE2, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE3, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE4, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE5, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE6, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BLONDE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BLONDE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BLONDE4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BLONDE5, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BLONDE6, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_BLONDE1, FUNC_INIT_BLONDE)
set_function(CHR_BLONDE2, FUNC_INIT_BLONDE)
set_function(CHR_BLONDE3, FUNC_INIT_BLONDE)
@@ -3970,7 +3970,7 @@ u8 func102d_firingrange_taker_invincibility[] = {
if_chr_in_room(CHR_TAKER_FR1, 0x00, 0x0008, /*goto*/ 0x2e)
if_chr_in_room(CHR_TAKER_FR1, 0x00, 0x0009, /*goto*/ 0x2e)
if_chr_in_room(CHR_TAKER_FR1, 0x00, 0x000a, /*goto*/ 0x2e)
unset_chr_flag_bank3(CHR_TAKER_FR1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TAKER_FR1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
label(0x2e)
if_chr_death_animation_finished(CHR_TAKER_FR2, /*goto*/ 0x2e)
@@ -3980,7 +3980,7 @@ u8 func102d_firingrange_taker_invincibility[] = {
if_chr_in_room(CHR_TAKER_FR2, 0x00, 0x0008, /*goto*/ 0x2e)
if_chr_in_room(CHR_TAKER_FR2, 0x00, 0x0009, /*goto*/ 0x2e)
if_chr_in_room(CHR_TAKER_FR2, 0x00, 0x000a, /*goto*/ 0x2e)
unset_chr_flag_bank3(CHR_TAKER_FR2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TAKER_FR2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
label(0x2e)
endloop(0x03)
+77 -77
View File
@@ -651,15 +651,15 @@ u8 func1004_check_hangar_doors_opened[] = {
};
u8 func040d_elvis_wait_for_hangar_entry[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_accuracy(100)
set_reaction_speed(100)
set_armor(200)
set_alertness(100)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00080000)
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
beginloop(0x04)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x2c)
@@ -685,8 +685,8 @@ u8 func040d_elvis_wait_for_hangar_entry[] = {
endloop(0x65)
label(0x06)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_HIDDEN)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
yield
yield
yield
@@ -786,7 +786,7 @@ u8 func040e_elvis_give_ar34[] = {
* If arrived at prebridge lift, assign another function.
*/
u8 func0409_elvis_follow[] = {
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_onshot_function(FUNC_ELVIS_FOLLOW)
set_return_function(CHR_SELF, FUNC_ELVIS_FOLLOW)
if_chr_dying(CHR_SELF, /*goto*/ 0x2c)
@@ -1319,7 +1319,7 @@ u8 func1008_hangar_lifts[] = {
// Note the lift naturally waits 5 seconds at each stop,
// hence the 5 second wait if entered as soon as the door opens.
label(0x2c)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
unset_object_flag_bank0(0x39, OBJECTFLAG0_40000000)
unset_object_flag_bank0(0x3a, OBJECTFLAG0_40000000)
unset_object_flag_bank0(OBJ_HANGARLIFT_JO, OBJECTFLAG0_DEACTIVATED)
@@ -1387,7 +1387,7 @@ u8 func1008_hangar_lifts[] = {
set_object_flag_bank0(OBJ_HANGARLIFT_ELVIS, OBJECTFLAG0_DEACTIVATED)
unset_object_flag_bank0(0x3b, OBJECTFLAG0_02000000)
unset_object_flag_bank0(0x3c, OBJECTFLAG0_02000000)
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
if_chr_y(CHR_ELVIS, 400, OPERATOR_LESS_THAN, /*goto*/ 0x06)
goto_next(0x68)
@@ -1467,7 +1467,7 @@ u8 func1008_hangar_lifts[] = {
u8 func0407_init_knifeable_skedar[] = {
set_armor(160)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_function(CHR_SELF, FUNC_KNIFEABLE_SKEDAR)
endfunction
};
@@ -1646,10 +1646,10 @@ u8 func0406_start_path05[] = {
};
u8 func0412_hangarspawner[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
set_morale(0)
beginloop(0xc2)
@@ -1673,7 +1673,7 @@ u8 func0412_hangarspawner[] = {
// Seen player, or kills done
label(0x08)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, FUNC_HANGARCLONE)
// chrflag3_00000008 was unset
@@ -1694,8 +1694,8 @@ u8 func0412_hangarspawner[] = {
};
u8 func0413_init_hangarclone[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
label(0x04)
rebuild_teams
@@ -1707,7 +1707,7 @@ u8 func0413_init_hangarclone[] = {
};
u8 func0414_hangarclone[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
run_to_pad(0x00b4)
set_return_function(CHR_SELF, FUNC_HANGARCLONE)
@@ -1724,7 +1724,7 @@ u8 func0414_hangarclone[] = {
u8 func0419_hangar_maian[] = {
set_onshot_function(FUNC_HANGAR_MAIAN)
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
if_chr_dying(CHR_SELF, /*goto*/ 0x2c)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2c)
if_chr_unloaded(CHR_SELF, /*goto*/ 0x2c)
@@ -1809,15 +1809,15 @@ u8 func0419_hangar_maian[] = {
};
u8 func0418_init_hangar_maian[] = {
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x04)
if_stage_flag_eq(STAGEFLAG_TRIGGER_HANGAR_MAIANS, TRUE, /*goto*/ 0x06)
endloop(0x04)
label(0x06)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
set_armor(200)
set_reaction_speed(100)
set_function(CHR_SELF, FUNC_HANGAR_MAIAN)
@@ -2128,11 +2128,11 @@ u8 func0415_bridgespawner[] = {
set_armor(190)
set_recovery_speed(0)
set_shield(0)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_chr_cloaked(CHR_SELF, TRUE, FALSE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_morale(0)
beginloop(0xc2)
@@ -2167,7 +2167,7 @@ u8 func0415_bridgespawner[] = {
// Been spawning for 61 seconds, or Skedar can see player
// Unhide and uncloak
label(0x08)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
yield
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_function(CHR_SELF, FUNC_INIT_BRIDGESPAWNER_REVEAL)
@@ -2194,7 +2194,7 @@ u8 func0415_bridgespawner[] = {
// Spawn
label(0x4d)
try_spawn_clone2(CHR_SELF, FUNC_INIT_BRIDGECLONE, 0x00000000, /*goto*/ 0x2c)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
yield
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_function(CHR_SELF, FUNC_INIT_BRIDGESPAWNER_REVEAL)
@@ -2209,14 +2209,14 @@ u8 func0415_bridgespawner[] = {
u8 func0416_init_bridgeclone[] = {
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
set_accuracy(20)
set_reaction_speed(75)
set_chr_health(CHR_SELF, 10)
set_armor(190)
set_recovery_speed(0)
set_shield(0)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
label(0x04)
rebuild_teams
@@ -2243,7 +2243,7 @@ u8 func0416_init_bridgeclone[] = {
* function isn't necessary.
*/
u8 func0417_init_spawner_reveal[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_KILLCOUNTABLE)
set_function(CHR_SELF, FUNC_BRIDGECLONE)
endfunction
};
@@ -2262,7 +2262,7 @@ u8 func041a_bridgeclone[] = {
// Alive
label(0x06)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00020000)
if_self_flag_bankx_eq(CHRFLAG0_00000004, TRUE, BANK_0, /*goto*/ 0x2c)
set_target_chr(CHR_ELVIS)
goto_next(0xc2)
@@ -2521,24 +2521,24 @@ u8 func1011_check_end_level[] = {
};
u8 func1003_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_ATTACKSHIP_INTRO)
camera_movement(0x01c2)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01c3, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
animation(0x01c4, -1, -1, 0x06, 0x00, CHR_CASS, 4)
set_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_INTRO_SKEDAR, CHRFLAG2_00020000)
set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000)
animation(0x01c5, -1, -1, 0x06, 0x00, CHR_INTRO_SKEDAR, 4)
restart_timer
@@ -2750,20 +2750,20 @@ u8 func1003_intro[] = {
set_stage_flag(STAGEFLAG_INTRO_FINISHED)
open_door(0x17)
mute_channel(CHANNEL_10)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01c3, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_CASS, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_CASS, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_00000001)
unset_chr_chrflag(CHR_CASS, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_CASS, CHRHFLAG_00020000)
set_chr_chrflag(CHR_CASS, CHRCFLAG_00000001)
animation(0x01c4, -2, -1, 0x06, 0x00, CHR_CASS, 2)
unset_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_INTRO_SKEDAR, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_INTRO_SKEDAR, CHRFLAG3_00000001)
unset_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_INTRO_SKEDAR, CHRHFLAG_00020000)
set_chr_chrflag(CHR_INTRO_SKEDAR, CHRCFLAG_00000001)
animation(0x01c5, -2, -1, 0x06, 0x00, CHR_INTRO_SKEDAR, 2)
remove_chr(CHR_INTRO_SKEDAR)
@@ -2790,20 +2790,20 @@ u8 func0c01_outro[] = {
hide_object(0x2c)
camera_movement(0x01e1)
set_music_track(MUSIC_ATTACKSHIP_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
animation(0x01e2, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_ELVIS, GFUNC_IDLE)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x01e3, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
show_object(OBJ_OUTRO_SHUTTLE)
@@ -2977,7 +2977,7 @@ u8 func0421_bridge_skedar[] = {
// Not injured
label(0x08)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
label(0xc6)
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
set_target_chr(CHR_BOND)
@@ -3155,9 +3155,9 @@ u8 func1016_msg_ifwecontrolthebridge[] = {
label(0x2c)
set_stage_flag(STAGEFLAG_ENTERED_BRIDGELIFT)
unset_chr_flag_bank3(CHR_BRIDGE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_BRIDGE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_BRIDGE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BRIDGE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BRIDGE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BRIDGE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
speak(CHR_P1P2, 0x261e, 0x73df, CHANNEL_6, COLOR_09_BLUE) // "If we control the bridge, then the ship is ours."
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
@@ -3165,7 +3165,7 @@ u8 func1016_msg_ifwecontrolthebridge[] = {
u8 func0422_cass[] = {
set_onshot_function(GFUNC_IDLE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
run_to_pad(0x01dd)
beginloop(0x08)
@@ -3203,8 +3203,8 @@ u8 func0422_cass[] = {
u8 func0423_shy_skedar[] = {
set_onshot_function(FUNC_INIT_SKEDAR)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000040)
set_self_chrflag(CHRCFLAG_00040000)
set_target_chr(CHR_CASS)
goto_next(0x2c)
@@ -3578,12 +3578,12 @@ u8 func040b_init_cass[] = {
};
u8 func1024_set_bridge_skedar_invincible[] = {
set_chr_flag_bank3(CHR_BRIDGE1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BRIDGE2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BRIDGE3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_BRIDGE1, CHRFLAG3_UNEXPLODABLE)
set_chr_flag_bank3(CHR_BRIDGE2, CHRFLAG3_UNEXPLODABLE)
set_chr_flag_bank3(CHR_BRIDGE3, CHRFLAG3_UNEXPLODABLE)
set_chr_chrflag(CHR_BRIDGE1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BRIDGE2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BRIDGE3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BRIDGE1, CHRCFLAG_UNEXPLODABLE)
set_chr_chrflag(CHR_BRIDGE2, CHRCFLAG_UNEXPLODABLE)
set_chr_chrflag(CHR_BRIDGE3, CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3599,7 +3599,7 @@ u8 unregistered_function1[] = {
endloop(0x04)
label(0x2c)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+135 -135
View File
@@ -870,7 +870,7 @@ u8 func1007_check_disguise_collected[] = {
dprint 'D','I','S','G','U','I','S','E','D',' ','U','P','\n',0,
beginloop(0x08)
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
endloop(0x08)
label(0x2d)
@@ -1244,16 +1244,16 @@ u8 func040f_start_path14[] = {
u8 func1001_objectives_failed_msg[] = {
yield
set_chr_flag_bank3(CHR_LABTECH_RECORDS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH_LIGHTS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH_DOORS1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH_SHOWERS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH_HARRYSMATE, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH_KEYCARDGUY, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_BIOTECH1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_BIOTECH2, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_LABTECH_DOORS2, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_MECHANIC, CHRFLAG3_04000000)
set_chr_chrflag(CHR_LABTECH_RECORDS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH_LIGHTS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH_DOORS1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH_SHOWERS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH_HARRYSMATE, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH_KEYCARDGUY, CHRCFLAG_04000000)
set_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_04000000)
set_chr_chrflag(CHR_LABTECH_DOORS2, CHRCFLAG_04000000)
set_chr_chrflag(CHR_MECHANIC, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -2199,10 +2199,10 @@ u8 func100f_check_end_level[] = {
};
u8 func1010_give_keycard[] = {
set_chr_flag_bank3(0x23, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x24, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x25, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x26, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(0x23, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x24, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x25, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x26, CHRCFLAG_KILLCOUNTABLE)
beginloop(0x04)
if_stage_flag_eq(STAGEFLAG_ONE_KEYCARD_GUARD_REMAINING, TRUE, /*goto*/ 0x2d)
@@ -2379,15 +2379,15 @@ u8 func1011_unhide_warehouse_spawner[] = {
// Unhide a guy at the top of the ramp near the start
label(0x06)
unset_chr_flag_bank3(0x44, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x44, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x44, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x44, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x44, FUNC_WAREHOUSE_SPAWNER)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0415_warehouse_spawner[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_chrflag(CHRCFLAG_00000002)
restart_timer
beginloop(0x04)
@@ -2510,8 +2510,8 @@ u8 func1014_check_crate_destroyed[] = {
* @unused
*/
u8 func041c_unused_041c[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2520,8 +2520,8 @@ u8 func041c_unused_041c[] = {
* @unused
*/
u8 func041d_unused_041d[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2537,8 +2537,8 @@ u8 func041e_unused_041e[] = {
set_armor(0)
set_recovery_speed(0)
set_shield(0)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2554,8 +2554,8 @@ u8 func1016_check_undisguised[] = {
endloop(0x04)
label(0x06)
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
unset_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
unset_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2641,8 +2641,8 @@ u8 func041f_labtech_lights[] = {
label(0x06)
dprint 'T','A','L','K',' ','1','\n',0,
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
label(0x06)
object_do_animation(0x025a, 0xff, 0x02ff, 0xff)
speak(CHR_TARGET, 0x2a25, 0x8103, CHANNEL_4, COLOR_08_RED) // "Who are you?"
@@ -2662,8 +2662,8 @@ u8 func041f_labtech_lights[] = {
label(0x06)
stop_chr
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x0c)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x0c)
label(0x06)
speak(CHR_TARGET, 0x2a52, 0x1286, CHANNEL_4, COLOR_08_RED) // "Leave this area now."
restart_timer
@@ -2715,7 +2715,7 @@ u8 func041f_labtech_lights[] = {
endloop(0x0d)
label(0x06)
set_self_flag_bank3(CHRFLAG3_00000080)
set_self_chrflag(CHRCFLAG_00000080)
restart_timer
try_face_entity(0x0008, 0x0428, /*goto*/ 0x6e)
@@ -2779,7 +2779,7 @@ u8 func0421_init_labtech_doors[] = {
};
u8 func0420_labtech_doors[] = {
set_self_flag_bank3(CHRFLAG3_00000080)
set_self_chrflag(CHRCFLAG_00000080)
set_onshot_function(FUNC_LABTECH_DOORS)
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x06)
@@ -2825,8 +2825,8 @@ u8 func0420_labtech_doors[] = {
chr_toggle_p1p2(CHR_SELF)
set_target_chr(CHR_P1P2)
set_target_chr(CHR_BOND)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
label(0x06)
goto_next(0x2e)
@@ -2860,8 +2860,8 @@ u8 func0420_labtech_doors[] = {
label(0x06)
dprint 'T','A','L','K',' ','1','\n',0,
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
label(0x06)
dprint 'T','A','L','K',' ','2','\n',0,
goto_next(0x06)
@@ -3071,8 +3071,8 @@ u8 func0422_labtech_records[] = {
goto_first(0x04)
label(0x03)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
goto_next(0x06)
label(0x2d)
if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0x2d)
@@ -3241,7 +3241,7 @@ u8 func1019_chamber1[] = {
mute_channel(CHANNEL_0)
assign_sound(0x042c, CHANNEL_0)
control_sound_from_object(CHANNEL_0, OBJ_CHAMBER1, TRUE)
set_chr_flag_bank2(CHR_ALIEN, CHRFLAG2_00100000)
set_chr_hiddenflag(CHR_ALIEN, CHRHFLAG_00100000)
beginloop(0x64)
chr_move_to_pad(CHR_ALIEN, 0x03ca, 0x01, /*goto*/ 0x06)
@@ -3249,7 +3249,7 @@ u8 func1019_chamber1[] = {
label(0x06)
yield
unset_chr_flag_bank3(CHR_ALIEN, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_ALIEN, CHRCFLAG_HIDDEN)
set_function(CHR_ALIEN, FUNC_CHECK_LOOKING_AT_ALIEN)
label(0x06)
set_object_flag_bank0(OBJ_CHAMBER1, OBJECTFLAG0_DEACTIVATED)
@@ -3260,7 +3260,7 @@ u8 func1019_chamber1[] = {
mute_channel(CHANNEL_0)
assign_sound(0x042b, CHANNEL_0)
control_sound_from_object(CHANNEL_0, OBJ_CHAMBER1, TRUE)
set_chr_flag_bank3(CHR_ALIEN, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ALIEN, CHRCFLAG_HIDDEN)
assign_sound(0x043a, CHANNEL_7)
control_sound_from_object(CHANNEL_7, OBJ_CHAMBER1_SWITCH, TRUE)
set_object_image(OBJ_CHAMBER1_SWITCH, 0x00, 0x12)
@@ -3431,8 +3431,8 @@ u8 func1020_chamber8[] = {
};
u8 func0424_alien[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, FUNC_CHECK_LOOKING_AT_ALIEN)
endfunction
};
@@ -3442,8 +3442,8 @@ u8 func0424_alien[] = {
* the second elevator.
*/
u8 func0425_hiddenguy[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3451,7 +3451,7 @@ u8 func0425_hiddenguy[] = {
u8 func0426_check_looking_at_alien[] = {
beginloop(0x04)
set_target_chr(CHR_BOND)
if_self_flag_bank3(CHRFLAG3_HIDDEN, /*goto*/ 0x61)
if_self_has_chrflag(CHRCFLAG_HIDDEN, /*goto*/ 0x61)
if_chr_distance_lt(300, /*goto*/ 0x64)
goto_next(0x66)
@@ -3637,26 +3637,26 @@ u8 func0c01_outro[] = {
set_invincible(CHR_BOND)
camera_movement(0x0198)
set_music_track(MUSIC_RESCUE_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
set_function(CHR_BIOTECH1, GFUNC_IDLE)
set_function(CHR_BIOTECH2, GFUNC_IDLE)
set_invincible(CHR_BOND)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x0199, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
set_chr_flag_bank3(CHR_BIOTECH1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_BIOTECH1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_BIOTECH1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_BIOTECH1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_BIOTECH1, CHRHFLAG_00020000)
animation(0x019a, -1, -1, 0x06, 0x00, CHR_BIOTECH1, 4)
set_chr_flag_bank3(CHR_BIOTECH2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_BIOTECH2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_BIOTECH2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_BIOTECH2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_BIOTECH2, CHRHFLAG_00020000)
animation(0x019b, -1, -1, 0x06, 0x00, CHR_BIOTECH2, 4)
set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
@@ -3741,24 +3741,24 @@ u8 func0c01_outro[] = {
};
u8 func1002_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_RESCUE_INTRO)
camera_movement(0x01c6)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01c8, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
animation(0x01c7, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4)
set_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_INTRO_DEAD_GUARD, CHRFLAG2_00020000)
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000)
animation(0x01c9, -1, -1, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 4)
set_object_flag_bank1(OBJ_CRATE, OBJECTFLAG1_04000000)
@@ -3900,16 +3900,16 @@ u8 func1002_intro[] = {
mute_channel(CHANNEL_1)
assign_sound(0x8169, CHANNEL_1)
control_sound_from_object(CHANNEL_1, OBJ_CRATE, TRUE)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01c8, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
remove_chr(CHR_JONATHAN)
unset_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank2(CHR_INTRO_DEAD_GUARD, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_UNPLAYABLE)
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_hiddenflag(CHR_INTRO_DEAD_GUARD, CHRHFLAG_00020000)
animation(0x01c9, -2, -1, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 2)
mute_channel(CHANNEL_10)
unset_object_flag_bank1(OBJ_CRATE, OBJECTFLAG1_04000000)
@@ -3921,7 +3921,7 @@ u8 func1002_intro[] = {
reset_ambience
enter_firstperson
yield
set_chr_flag_bank3(CHR_INTRO_DEAD_GUARD, CHRFLAG3_00010000)
set_chr_chrflag(CHR_INTRO_DEAD_GUARD, CHRCFLAG_00010000)
animation(0x01c9, 2, 3, 0x06, 0x00, CHR_INTRO_DEAD_GUARD, 2)
set_function(CHR_INTRO_DEAD_GUARD, GFUNC_IDLE)
yield
@@ -3945,26 +3945,26 @@ u8 func1024_noop[] = {
* Most likely guards in the final corridor.
*/
u8 func1025_toggle_guards[] = {
set_chr_flag_bank3(0x33, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x34, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x33, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x34, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x2c, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x2d, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x2e, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x37, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x2c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x2d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x2e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x2f, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x30, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x31, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x2f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x30, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x31, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x32, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x33, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x34, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x33, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x34, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x2c, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x2d, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x2e, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x37, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x2c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x2d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x2e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x2f, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x30, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x31, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x32, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x2f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x30, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x31, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x32, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x08)
chr_toggle_p1p2(CHR_SELF)
@@ -3972,33 +3972,33 @@ u8 func1025_toggle_guards[] = {
endloop(0x08)
label(0x2d)
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
unset_chr_flag_bank3(0x33, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x34, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x33, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x34, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
unset_chr_chrflag(0x33, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x34, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x33, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x34, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x33, FUNC_BIOTECH_GUARD_ALERTED)
set_function(0x34, FUNC_BIOTECH_GUARD_ALERTED)
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x2c, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x2d, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x2e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x37, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x2c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x2d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x2e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x2c, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x2d, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x2e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x37, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x2c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x2d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x2e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x37, FUNC_SUPERDRAGON_GUARD)
set_function(0x2c, FUNC_SUPERDRAGON_GUARD)
set_function(0x2d, FUNC_SUPERDRAGON_GUARD)
set_function(0x2e, FUNC_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x2f, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x30, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x31, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x2f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x30, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x31, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x32, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x2f, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x30, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x31, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x32, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x2f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x30, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x31, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x32, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x2f, FUNC_BIOTECH_GUARD)
set_function(0x30, FUNC_SUPERDRAGON_GUARD)
set_function(0x31, FUNC_SUPERDRAGON_GUARD)
@@ -4015,22 +4015,22 @@ u8 func0429_spawn_while_xraying[] = {
set_armor(0)
set_recovery_speed(35)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
restart_timer
beginloop(0x04)
chr_toggle_p1p2(CHR_SELF)
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x0d)
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x0d)
if_timer_gt(1800, /*goto*/ 0x2d)
reloop(0x04)
// 30 seconds passed and not disguised
label(0x2d)
chr_toggle_p1p2(CHR_SELF)
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_DISGUISED, /*goto*/ 0x0d)
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_DISGUISED, /*goto*/ 0x0d)
// Xray area
if_chr_in_room(CHR_P1P2, 0x00, 0x010d, /*goto*/ 0x06)
@@ -4147,7 +4147,7 @@ u8 func142d_start_lifts[] = {
u8 func1027_check_disguise_worn[] = {
beginloop(0x04)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED, /*goto*/ 0x2d)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED, /*goto*/ 0x2d)
endloop(0x04)
label(0x2d)
@@ -4298,7 +4298,7 @@ u8 func102c_msg_hurry[] = {
* This function is run on many guards when Jo puts on the disguise.
*/
u8 func0416_become_unaware[] = {
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00002000)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x0f)
if_chr_dying(CHR_SELF, /*goto*/ 0x0f)
if_chr_unloaded(CHR_SELF, /*goto*/ 0x0f)
@@ -4426,8 +4426,8 @@ u8 func1030_lift_door_sounds[] = {
u8 func1031_toggle_doorman[] = {
yield
set_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_DOORMAN, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_DOORMAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x5e)
label(0x2d)
@@ -4441,8 +4441,8 @@ u8 func1031_toggle_doorman[] = {
endloop(0x5e)
label(0x2d)
unset_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_DOORMAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_DOORMAN, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_DOORMAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -4498,7 +4498,7 @@ u8 func1032_count_last_room_guards[] = {
u8 func1033_update_buddy_placed_flag[] = {
beginloop(0x04)
chr_toggle_p1p2(CHR_SELF)
if_chr_flag_bank2(CHR_P1P2, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x2d)
if_chr_has_hiddenflag(CHR_P1P2, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x2d)
endloop(0x04)
label(0x2d)
@@ -4509,7 +4509,7 @@ u8 func1033_update_buddy_placed_flag[] = {
endloop(0x64)
label(0x2d)
unset_chr_flag_bank2(CHR_P1P2, CHRFLAG2_BUDDY_PLACED)
unset_chr_hiddenflag(CHR_P1P2, CHRHFLAG_BUDDY_PLACED)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -4621,15 +4621,15 @@ u8 func1435_setup_lighting[] = {
};
u8 func0432_init_biotech1[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, FUNC_BIOTECH1)
endfunction
};
u8 func0433_init_biotech2[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, FUNC_BIOTECH2)
endfunction
};
+108 -108
View File
@@ -1376,7 +1376,7 @@ u8 func0411_init_hangar_guard1[] = {
set_shield(0)
set_squadron(SQUADRON_0B)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_chr_id(0x2c)
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
@@ -1398,7 +1398,7 @@ u8 func0412_init_hangar_guard2[] = {
set_shield(0)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
set_squadron(SQUADRON_0B)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_chr_id(0x2d)
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
@@ -1420,7 +1420,7 @@ u8 func0413_init_hangar_guard3[] = {
set_shield(0)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
set_squadron(SQUADRON_0B)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_chr_id(0x2e)
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
@@ -1442,7 +1442,7 @@ u8 func0414_init_hangar_guard4[] = {
set_shield(0)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
set_squadron(SQUADRON_0B)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_chr_id(0x2f)
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
@@ -1472,7 +1472,7 @@ u8 func0415_alert_when_stopped[] = {
* This is NOT assigned to Jon.
*/
u8 func0417_traitor[] = {
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_self_flag_bankx(CHRFLAG1_WARNED, BANK_1)
set_accuracy(100)
set_reaction_speed(100)
@@ -1550,7 +1550,7 @@ u8 func0417_traitor[] = {
goto_first(0x09)
label(0x10)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
run_to_pad(0x0197)
beginloop(0x60)
@@ -1656,7 +1656,7 @@ u8 func1001_objectives_failed_msg[] = {
set_object_flag_bank1(OBJ_MINE4, OBJECTFLAG1_INVISIBLE)
set_object_flag_bank1(OBJ_MINE5, OBJECTFLAG1_INVISIBLE)
set_object_flag_bank1(OBJ_MINE6, OBJECTFLAG1_INVISIBLE)
set_chr_flag_bank3(CHR_MECHANIC, CHRFLAG3_04000000)
set_chr_chrflag(CHR_MECHANIC, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -1738,7 +1738,7 @@ u8 func040c_init_bottom_interceptors[] = {
};
u8 func040d_90c8[] = {
set_self_flag_bank3(CHRFLAG3_00000020)
set_self_chrflag(CHRCFLAG_00000020)
set_accuracy(30)
set_function(CHR_SELF, GFUNC_UNALERTED)
endfunction
@@ -1749,26 +1749,26 @@ u8 func040e_outro[] = {
hide_object(OBJ_HOVERBIKE)
camera_movement(0x017d)
set_music_track(MUSIC_INFILTRATION_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x017f, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
set_chr_hud_visible(CHR_P1P2, TRUE)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
animation(0x017e, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4)
set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_OUTRO_GUARD, CHRFLAG2_00020000)
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000)
animation(0x0180, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD, 4)
restart_timer
@@ -1889,18 +1889,18 @@ u8 func040e_outro[] = {
};
u8 func0410_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
if_controller_button_pressed(/*goto*/ 0x54)
set_music_track(MUSIC_INFILTRATION_INTRO)
camera_movement(0x0181)
set_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x32, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x32, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x32, CHRFLAG2_00020000)
set_chr_chrflag(0x0c, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x0d, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x32, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x32, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x32, CHRHFLAG_00020000)
animation(0x0182, -1, -1, 0x06, 0x00, 0x32, 4)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
restart_timer
fade_to_color(0x000000ff, 0)
fade_to_color(0x00000000, 90)
@@ -1933,26 +1933,26 @@ u8 func0410_intro[] = {
label(0x06)
label(0x55)
unset_chr_flag_bank3(0x32, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_chrflag(0x32, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
label(0x54)
if_controller_button_pressed(/*goto*/ 0x54)
camera_movement(0x0183)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x29, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x29, CHRFLAG2_00020000)
set_chr_chrflag(0x29, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x29, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x29, CHRHFLAG_00020000)
animation(0x0184, -1, -1, 0x06, 0x00, 0x29, 4)
set_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2a, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x2a, CHRFLAG2_00020000)
set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x2a, CHRHFLAG_00020000)
animation(0x0185, -1, -1, 0x06, 0x00, 0x2a, 4)
set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x2b, CHRFLAG2_00020000)
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
animation(0x0186, -1, -1, 0x06, 0x00, 0x2b, 4)
set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
@@ -1976,24 +1976,24 @@ u8 func0410_intro[] = {
endloop(0x0a)
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x29, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x29, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
unset_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
label(0x54)
if_controller_button_pressed(/*goto*/ 0x54)
camera_movement(0x0188)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2a, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x2a, CHRFLAG2_00020000)
set_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2a, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x2a, CHRHFLAG_00020000)
animation(0x0189, -1, -1, 0x06, 0x00, 0x2a, 4)
set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x2b, CHRFLAG2_00020000)
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
animation(0x018a, -1, -1, 0x06, 0x00, 0x2b, 4)
set_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
@@ -2017,20 +2017,20 @@ u8 func0410_intro[] = {
endloop(0x0b)
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x2a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x2a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
unset_object_flag_bank1(0x2f, OBJECTFLAG1_04000000)
label(0x54)
camera_movement(0x00f0)
cmd0175(60)
if_controller_button_pressed(/*goto*/ 0x54)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x00f1, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(0x03, CHRFLAG2_00020000)
unset_chr_flag_bank3(0x03, CHRFLAG3_HIDDEN)
set_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(0x03, CHRHFLAG_00020000)
unset_chr_chrflag(0x03, CHRCFLAG_HIDDEN)
restart_timer
wait_until(1, 0x69)
@@ -2083,20 +2083,20 @@ u8 func0410_intro[] = {
label(0x54)
mute_channel(CHANNEL_10)
mute_channel(CHANNEL_7)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0c, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0c, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0d, CHRCFLAG_HIDDEN)
remove_chr(0x32)
remove_chr(0x29)
remove_chr(0x2a)
remove_chr(0x2b)
hide_object(0x2f)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x00f1, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(0x03, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(0x03, CHRCFLAG_UNPLAYABLE)
set_function(0x02, 0x0426)
set_function(0x03, 0x0426)
unset_object_flag_bank1(OBJ_INTERCEPTOR1, OBJECTFLAG1_INVISIBLE)
@@ -2545,20 +2545,20 @@ u8 func1017_radar_terminal_noise[] = {
};
u8 func1018_unhide_guards[] = {
set_chr_flag_bank3(0x35, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x21, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x35, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x21, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x35, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x1f, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x21, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x22, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x23, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x24, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x35, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x1f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x20, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x21, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x22, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
// Agent: wait until guards 0x10 and 0x11 are dead
// (two guards near antenna blue door)
@@ -2582,14 +2582,14 @@ u8 func1018_unhide_guards[] = {
// Enable 4 more guards - the ones inside the blue door
label(0x2e)
unset_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x20, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x21, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x22, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x20, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x21, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x22, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1f, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x20, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x21, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x22, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x20, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x21, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x22, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x1f, FUNC_TROOPER_ALERTED)
set_function(0x20, FUNC_TROOPER_ALERTED)
set_function(0x21, FUNC_TROOPER_ALERTED)
@@ -2603,10 +2603,10 @@ u8 func1018_unhide_guards[] = {
// Enable 2 more guards
label(0x2e)
unset_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x23, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x24, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x23, FUNC_DRAGON_ALERTED)
set_function(0x24, FUNC_DRAGON_ALERTED)
set_function(CHR_SELF, GFUNC_IDLE)
@@ -2621,10 +2621,10 @@ u8 func0419_clone_spawner[] = {
set_armor(10)
set_recovery_speed(35)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x04)
if_stage_flag_eq(STAGEFLAG_ENTERED_FINAL_HANGAR, TRUE, /*goto*/ 0x2e)
@@ -2640,8 +2640,8 @@ u8 func0419_clone_spawner[] = {
set_function(CHR_SELF, FUNC_ALERTED_SPAWNED_GUARD)
label(0x4f)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_HIDDEN)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x4f)
reloop(0x04)
@@ -2724,8 +2724,8 @@ u8 func1019_spawn_guards_at_antenna[] = {
yield
yield
yield
unset_chr_flag_bank3(0x35, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x35, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x35, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x35, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x35, GFUNC_SEARCH_FOR_PLAYER)
rebuild_teams
rebuild_squadrons
@@ -2740,7 +2740,7 @@ u8 func040f_spawned_guard[] = {
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
set_self_flag_bankx(CHRFLAG0_04000000, BANK_0)
set_squadron(SQUADRON_0E)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
try_inherit_properties(0x35, /*goto*/ 0x06)
label(0x06)
restart_timer
@@ -3175,8 +3175,8 @@ u8 func0424_activate_lasers[] = {
u8 func0425_a7d4[] = {
label(0x04)
yield
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3186,9 +3186,9 @@ u8 func0425_a7d4[] = {
*/
u8 func041c_template_guard[] = {
label(0x04)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+4 -4
View File
@@ -44,8 +44,8 @@ struct path paths[] = {
* to the next camera animation rather than ending the cutscene.
*/
u8 func0c00_017c[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_INTRO)
camera_movement(0x045d)
cmd01c8(2)
@@ -147,8 +147,8 @@ u8 func0c00_017c[] = {
endloop(0x0e)
label(0x59)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
cmd01c8(5)
beginloop(0x15)
+117 -117
View File
@@ -738,9 +738,9 @@ u8 func1400_setup_counterop[] = {
};
u8 func040b_init_elvis[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_00080000)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_01000000)
set_accuracy(100)
set_reaction_speed(100)
set_alertness(100)
@@ -882,7 +882,7 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = {
label(0x6f)
label(0x2e)
unset_self_flag_bank3(CHRFLAG3_01000000)
unset_self_chrflag(CHRCFLAG_01000000)
animation(ANIM_OPERATE_0204, -1, -1, 0x02, 0x10, CHR_SELF, 2)
beginloop(0x10)
@@ -893,15 +893,15 @@ u8 func0402_elvis_follow_and_reactive_teleportals[] = {
say_quip(CHR_BOND, 0x2c, 0xff, 0x03, 0xff, BANK_1, 0x00, 0x00)
message(CHR_BOND, 0x301e) // "Teleportals have been reactivated."
set_stage_flag(STAGEFLAG_TELEPORTALS_ACTIVATED)
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
play_sound(0x8148, -1)
set_lights_state(0x003c, 0x04, 0x00, 0xff, 0xb4)
set_chr_flag_bank3(0x14, CHRFLAG3_00040000)
set_chr_flag_bank3(0x15, CHRFLAG3_00040000)
set_chr_flag_bank3(0x16, CHRFLAG3_00040000)
unset_chr_flag_bank3(0x14, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x15, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x14, CHRCFLAG_00040000)
set_chr_chrflag(0x15, CHRCFLAG_00040000)
set_chr_chrflag(0x16, CHRCFLAG_00040000)
unset_chr_chrflag(0x14, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x15, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x14, FUNC_TELEPORT_ACTIVATION_RESPONDER)
set_function(0x15, FUNC_TELEPORT_ACTIVATION_RESPONDER)
set_function(0x16, FUNC_TELEPORT_ACTIVATION_RESPONDER)
@@ -936,7 +936,7 @@ u8 func0433_unused[] = {
* function because he can't enter the agent megaweapon room on PA.
*/
u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1)
set_onshot_function(FUNC_ELVIS_FOLLOW_AND_DO_AGENT_MEGAWEAPON)
set_target_chr(CHR_PRESET)
@@ -1044,7 +1044,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
label(0x6f)
label(0x2e)
unset_self_flag_bank3(CHRFLAG3_01000000)
unset_self_chrflag(CHRCFLAG_01000000)
restart_timer
animation(ANIM_OPERATE_0205, -1, -1, 0x00, 0x10, CHR_SELF, 2)
@@ -1054,7 +1054,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_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
message(CHR_BOND, 0x3014) // "Cetan megaweapon has been disabled."
set_stage_flag(STAGEFLAG_AGENT_MEGAWEAPON_DISABLED)
set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED)
@@ -1077,7 +1077,7 @@ u8 func0404_elvis_follow_and_do_agent_megaweapon[] = {
* @unused
*/
u8 func0405_elvis_follow_nocombat[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
unset_self_flag_bankx(CHRFLAG1_00200000, BANK_1)
set_onshot_function(0x0405)
set_target_chr(CHR_PRESET)
@@ -1216,7 +1216,7 @@ u8 func0406_elvis_follow_and_do_sa_megaweapon[] = {
label(0x1b)
set_stage_flag(STAGEFLAG_ELVIS_STARTED_SA_MEGAWEAPON)
unset_self_flag_bank3(CHRFLAG3_01000000)
unset_self_chrflag(CHRCFLAG_01000000)
call_rng
if_rand_lt(86, /*goto*/ 0x63)
if_rand_lt(172, /*goto*/ 0x64)
@@ -1245,7 +1245,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_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
message(CHR_BOND, 0x3014) // "Cetan megaweapon has been disabled."
set_stage_flag(STAGEFLAG_MEGAWEAPON_DISABLED)
try_draw_weapon(MODEL_CHRMAIANPISTOL, WEAPON_PHOENIX, 0x00000000, /*goto*/ 0x04)
@@ -1482,22 +1482,22 @@ u8 func0c01_midcutscene[] = {
remove_weapon_from_inventory(WEAPON_BACKUPDISK)
fade_to_color(0x000000ff, 0)
fade_to_color(0x00000000, 15)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_function(CHR_ELVIS, GFUNC_IDLE)
set_music_track(MUSIC_DEEPSEA_MIDCUTSCENE)
camera_movement(0x01d4)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x01d5, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x01d6, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
set_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
set_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
animation(0x01d7, -1, -1, 0x06, 0x00, CHR_DRCAROLL, 4)
show_object(0xbb)
set_object_flag_bank1(0xbb, OBJECTFLAG1_04000000)
@@ -1814,16 +1814,16 @@ u8 func0c01_midcutscene[] = {
fade_to_color(0xffffffff, 0)
fade_to_color(0x00000000, 15)
hide_object(0xbb)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x01d5, -2, -1, 0x06, 0x00, CHR_P1P2, 2)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x01d6, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
unset_chr_flag_bank3(CHR_DRCAROLL, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_DRCAROLL, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_DRCAROLL, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_DRCAROLL, CHRHFLAG_00020000)
animation(0x01d7, -2, -1, 0x06, 0x00, CHR_DRCAROLL, 2)
set_cutscene_weapon(CHR_ELVIS, WEAPON_NONE, WEAPON_NONE)
yield
@@ -1832,10 +1832,10 @@ u8 func0c01_midcutscene[] = {
yield
chr_move_to_pad(CHR_ELVIS, 0x0013, 0x01, /*goto*/ 0x2e)
label(0x2e)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
chr_move_to_pad(CHR_BOND, 0x019f, 0x01, /*goto*/ 0x2e)
label(0x2e)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
restart_default_music
reset_ambience
play_x_music(CHANNEL_10, 60)
@@ -1860,7 +1860,7 @@ u8 func042d_elvis_warp_to_outside_drcaroll[] = {
label(0x2e)
dprint 'T','E','L','E','P','O','R','T',' ','G','O','O','D','\n',0,
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
stop_chr
set_function(CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT)
endfunction
@@ -1869,18 +1869,18 @@ u8 func042d_elvis_warp_to_outside_drcaroll[] = {
u8 func0c02_outro[] = {
show_nonessential_chrs(FALSE)
hide_countdown_timer
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_DEEPSEA_OUTRO)
camera_movement(0x02d7)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
restart_timer
// @bug: Missing button checks makes the outro unskippable until a certain
@@ -1983,13 +1983,13 @@ u8 func0c02_outro[] = {
label(0x57)
if_all_objectives_complete(/*goto*/ 0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
explosions_around_chr(CHR_BOND)
label(0x2e)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
enter_firstperson
grant_control(CHR_BOND)
restart_timer
@@ -2020,25 +2020,25 @@ u8 func0c02_outro[] = {
u8 func1002_intro[] = {
set_drcaroll_image(CHR_DRCAROLL, 0x02, 0x02)
chr_draw_weapon_in_cutscene(CHR_BOND, WEAPON_FALCON2_SCOPE)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_DEEPSEA_INTRO)
camera_movement(0x01ef)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01f0, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x01f1, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
set_object_flag_bank0(0x07, OBJECTFLAG0_DEACTIVATED)
set_object_flag_bank1(0x07, OBJECTFLAG1_04000000)
set_object_flag_bank2(0x07, OBJECTFLAG2_00000010)
object_do_animation(0x01f2, 0x07, 0x04ff, 0xff)
set_chr_flag_bank3(0x40, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x40, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x40, CHRFLAG2_00020000)
set_chr_chrflag(0x40, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x40, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x40, CHRHFLAG_00020000)
animation(0x0471, -1, -1, 0x06, 0x00, 0x40, 4)
restart_timer
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
@@ -2056,7 +2056,7 @@ u8 func1002_intro[] = {
wait_until(300, 0x89)
play_sound(0x005b, CHANNEL_7)
set_chr_flag_bank2(0x40, CHRFLAG2_CLOAKED)
set_chr_hiddenflag(0x40, CHRHFLAG_CLOAKED)
play_sound(0x80d7, CHANNEL_10)
wait_until(320, 0x8c)
@@ -2181,13 +2181,13 @@ u8 func1002_intro[] = {
mute_channel(CHANNEL_4)
mute_channel(CHANNEL_10)
remove_chr(0x40)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01f0, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x01f1, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
if_coop_mode(/*goto*/ 0x45)
unset_object_flag_bank0(0x07, OBJECTFLAG0_DEACTIVATED)
@@ -2497,7 +2497,7 @@ u8 func100a_bond_teleports[] = {
};
u8 func0414_teleport_bond_to_sapa[] = {
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61)
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61)
if_chr_dying(CHR_COOP, /*goto*/ 0x61)
@@ -2517,7 +2517,7 @@ u8 func0414_teleport_bond_to_sapa[] = {
endloop(0x63)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
label(0x62)
beginloop(0x64)
@@ -2541,7 +2541,7 @@ u8 func0414_teleport_bond_to_sapa[] = {
};
u8 func0415_teleport_bond_to_drcaroll[] = {
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61)
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61)
if_chr_dying(CHR_COOP, /*goto*/ 0x61)
@@ -2559,7 +2559,7 @@ u8 func0415_teleport_bond_to_drcaroll[] = {
endloop(0x65)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
goto_next(0x63)
label(0x07)
message(CHR_BOND, 0x300e) // "Elvis has been killed."
@@ -2594,7 +2594,7 @@ u8 func0415_teleport_bond_to_drcaroll[] = {
* If PA: Warp to PA area
*/
u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
if_stage_flag_eq(STAGEFLAG_ELVIS_FOLLOWING_COOP, FALSE, /*goto*/ 0x61)
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x61)
if_chr_dying(CHR_COOP, /*goto*/ 0x61)
@@ -2625,7 +2625,7 @@ u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
endloop(0x66)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
label(0x62)
label(0x07)
@@ -2672,7 +2672,7 @@ u8 func0416_teleport_bond_to_a_pa_drcaroll[] = {
endloop(0x6b)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
label(0x62)
label(0x07)
@@ -2886,7 +2886,7 @@ u8 func0417_teleport_coop_to_sapa[] = {
endloop(0x63)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
label(0x62)
beginloop(0x64)
@@ -2929,7 +2929,7 @@ u8 func0418_teleport_coop_to_drcaroll[] = {
endloop(0x65)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
goto_next(0x63)
label(0x07)
@@ -2992,7 +2992,7 @@ u8 func0419_teleport_coop_to_a_pa_drcaroll[] = {
endloop(0x66)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
label(0x62)
label(0x07)
@@ -3037,7 +3037,7 @@ u8 func0419_teleport_coop_to_a_pa_drcaroll[] = {
endloop(0x6b)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
label(0x62)
label(0x07)
@@ -3075,7 +3075,7 @@ u8 func041c_teleport_activation_responder[] = {
if_chr_sees_player(/*goto*/ 0x2e)
set_target_chr(CHR_COOP)
if_chr_sees_player(/*goto*/ 0x2e)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, FUNC_INIT_SNIPER)
label(0x2e)
endloop(0x04)
@@ -3108,7 +3108,7 @@ u8 func041a_init_sniper[] = {
};
u8 func041b_sniper_wait_for_detection[] = {
unset_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
unset_self_chrflag(CHRCFLAG_UNEXPLODABLE)
yield
set_onshot_function(FUNC_SNIPER)
label(0x06)
@@ -3137,14 +3137,14 @@ u8 func041b_sniper_wait_for_detection[] = {
label(0x06)
set_squadron_alertness(100)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_cloaked(CHR_SELF, TRUE, TRUE)
set_function(CHR_SELF, FUNC_SNIPER)
endfunction
};
u8 func041d_sniper[] = {
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_onshot_function(FUNC_SNIPER)
set_chr_cloaked(CHR_SELF, TRUE, FALSE)
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
@@ -3241,7 +3241,7 @@ u8 func041d_sniper[] = {
goto_first(0x03)
label(0x10)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED, /*goto*/ 0x2e)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED, /*goto*/ 0x2e)
set_function(CHR_SELF, GFUNC_IDLE)
label(0x2e)
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
@@ -3256,7 +3256,7 @@ u8 func040c_blonde[] = {
endloop(0x04)
label(0x06)
unset_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
unset_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_chr_team(CHR_SELF, TEAM_ENEMY)
rebuild_teams
rebuild_squadrons
@@ -3326,8 +3326,8 @@ u8 func100c_countdown_timer[] = {
// Mission complete
label(0x06)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, FUNC_OUTRO)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
@@ -3363,9 +3363,9 @@ u8 func100f_check_drcaroll_dead[] = {
u8 func040f_miniskedar_send_clones[] = {
dprint 'D','E','T','E','C','T','E','D','\n',0,
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x04)
goto_next(0x52)
@@ -3387,15 +3387,15 @@ u8 func040f_miniskedar_send_clones[] = {
};
u8 func040e_init_miniskedar[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00080000)
set_self_chrflag(CHRCFLAG_00020000)
set_accuracy(0)
set_reaction_speed(65)
set_chr_health(CHR_SELF, 20)
set_armor(0)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
set_chr_team(CHR_SELF, TEAM_ENEMY)
rebuild_teams
rebuild_squadrons
@@ -3552,15 +3552,15 @@ u8 func1010_agent_hallway_spawner[] = {
};
u8 func0411_hide[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0412_unused[] = {
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3572,9 +3572,9 @@ u8 func0413_cloak_and_hide[] = {
set_chr_cloaked(CHR_SELF, TRUE, FALSE)
stop_chr
yield
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -4282,7 +4282,7 @@ u8 unregistered_function1[] = {
label(0x04)
chr_move_to_pad(CHR_ELVIS, 0x01bf, 0x01, /*goto*/ 0x06)
label(0x06)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
set_function(CHR_ELVIS, FUNC_ELVIS_FOLLOW_AND_REACTIVATE_TELEPORTALS)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
@@ -4298,7 +4298,7 @@ u8 func1026_setup_autoguns[] = {
};
u8 func042e_elvis_run_to_exit[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
set_onshot_function(FUNC_ELVIS_RUN_TO_EXIT)
set_return_function(CHR_SELF, FUNC_ELVIS_RUN_TO_EXIT)
set_target_chr(CHR_PRESET)
@@ -4418,12 +4418,12 @@ u8 func1028_enable_last_3_guards[] = {
endloop(0x04)
label(0x2e)
unset_chr_flag_bank3(0x3c, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x3d, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x3e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x3c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x3d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(0x3e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x3c, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x3d, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x3e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x3c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x3d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x3e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x3c, FUNC_RUN_TO_EXIT)
set_function(0x3d, FUNC_RUN_TO_EXIT)
set_function(0x3e, FUNC_RUN_TO_EXIT)
@@ -4502,15 +4502,15 @@ u8 func102c_lock_doors[] = {
u8 func040f_miniskedar_unalerted[] = {
set_onshot_function(FUNC_MINISKEDAR)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00080000)
set_self_chrflag(CHRCFLAG_00020000)
set_accuracy(0)
set_reaction_speed(65)
set_chr_health(CHR_SELF, 20)
set_armor(0)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
set_chr_team(CHR_SELF, TEAM_ENEMY)
rebuild_teams
rebuild_squadrons
@@ -4527,7 +4527,7 @@ u8 func040f_miniskedar_unalerted[] = {
};
u8 func0432_dead_skedar[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
label(0x08)
yield
@@ -4616,7 +4616,7 @@ u8 func1030_unlock_agent_teleport_door[] = {
*/
u8 func1031_unset_trigger_buddy_warp[] = {
beginloop(0x08)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x2e)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x2e)
reloop(0x08)
label(0x2e)
@@ -4627,7 +4627,7 @@ u8 func1031_unset_trigger_buddy_warp[] = {
endloop(0x09)
label(0x2e)
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
endloop(0x08)
set_function(CHR_SELF, GFUNC_IDLE)
+69 -69
View File
@@ -502,52 +502,52 @@ u8 func0401_3ae8[] = {
if_controller_button_pressed(/*goto*/ 0x00)
camera_movement(0x00cf)
set_music_track(MUSIC_CHICAGO_INTRO)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
chicago_car_do_animation(OBJ_CAR1, 0x00d6)
chicago_car_do_animation(OBJ_CAR2, 0x00d7)
chicago_car_do_animation(OBJ_CAR3, 0x00d8)
chicago_car_do_animation(OBJ_CAR4, 0x00d5)
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
fade_to_color(0x000000ff, 0)
fade_to_color(0x00000000, 90)
chicago_wait_for_camera
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
hide_object(OBJ_CAR1)
hide_object(OBJ_CAR2)
hide_object(OBJ_CAR3)
hide_object(OBJ_CAR4)
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
label(0x00)
return
endfunction
};
u8 func0402_3bb4[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
if_controller_button_pressed(/*goto*/ 0x00)
camera_movement(0x00d0)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
chicago_car_do_animation(OBJ_CAR1, 0x00dc)
chicago_car_do_animation(OBJ_CAR2, 0x00dd)
chicago_car_do_animation(OBJ_CAR4, 0x00d9)
chicago_car_do_animation(OBJ_CAR5, 0x00db)
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
chicago_wait_for_camera
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
hide_object(OBJ_CAR1)
hide_object(OBJ_CAR2)
hide_object(OBJ_CAR4)
hide_object(OBJ_CAR5)
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
label(0x00)
return
endfunction
@@ -556,12 +556,12 @@ u8 func0402_3bb4[] = {
u8 func0403_3c74[] = {
if_controller_button_pressed(/*goto*/ 0x00)
camera_movement(0x00d1)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
show_object(OBJ_CAR4)
set_object_flag_bank1(OBJ_CAR4, OBJECTFLAG1_04000000)
set_object_flag_bank2(OBJ_CAR4, OBJECTFLAG2_00000010)
object_do_animation(0x00de, OBJ_CAR4, 0x04ff, 0xff)
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
yield
@@ -569,9 +569,9 @@ u8 func0403_3c74[] = {
chicago_wait_for_camera
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
hide_object(OBJ_CAR4)
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
label(0x00)
return
endfunction
@@ -585,15 +585,15 @@ u8 func0404_3ce0[] = {
if_controller_button_pressed(/*goto*/ 0x00)
camera_movement(0x00e0)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x00e1, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
chicago_wait_for_camera
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
label(0x00)
return
endfunction
@@ -603,10 +603,10 @@ u8 func0405_3d50[] = {
camera_movement(0x00d2)
cmd0175(60)
if_controller_button_pressed(/*goto*/ 0x00)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x00df, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
restart_timer
@@ -629,13 +629,13 @@ u8 func0405_3d50[] = {
chicago_wait_for_camera
label(0x00)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
mute_channel(CHANNEL_7)
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x00df, -2, -1, 0x06, 0x00, CHR_BOND, 2)
restart_default_music
@@ -1709,7 +1709,7 @@ u8 func0413_bugspotter[] = {
goto_first(0x07)
label(0x04)
unset_self_flag_bank3(CHRFLAG3_KILLCOUNTABLE)
unset_self_chrflag(CHRCFLAG_KILLCOUNTABLE)
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
yield
drop_gun_and_fade_out
@@ -1924,7 +1924,7 @@ u8 func1009_check_cia1_dead[] = {
*/
u8 func100a_check_cia2_dead[] = {
beginloop(0x10)
if_chr_flag_bankx(CHR_CIA2, CHRFLAG0_00002000, BANK_0, /*goto*/ 0x03)
if_chr_has_flag_bankx(CHR_CIA2, CHRFLAG0_00002000, BANK_0, /*goto*/ 0x03)
if_chr_dying(CHR_CIA2, /*goto*/ 0x05)
endloop(0x10)
@@ -1952,13 +1952,13 @@ u8 func100c_check_cia4_dead[] = {
u8 func041b_init_robot[] = {
set_accuracy(40)
set_shield(100)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
set_function(CHR_SELF, FUNC_ROBOT)
endfunction
};
u8 func041a_robot[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_health(CHR_SELF, 1)
if_chr_dying(CHR_SELF, /*goto*/ 0x0c)
assign_path(0)
@@ -2064,11 +2064,11 @@ u8 func041a_robot[] = {
label(0x01)
label(0x04)
label(0x38)
set_chr_flag_bank3(CHR_ROBOT, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ROBOT, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ROBOT, CHRFLAG2_00020000)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
set_chr_chrflag(CHR_ROBOT, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ROBOT, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ROBOT, CHRHFLAG_00020000)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
set_function(CHR_ROBOT, GFUNC_IDLE)
set_shield(0)
animation(0x016a, 0, -1, 0x06, 0x00, CHR_SELF, 4)
@@ -2114,7 +2114,7 @@ u8 func041e_sealer1[] = {
// Crash happened
label(0x03)
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
jog_to_pad(0x00c4)
set_function(CHR_SEALER2, FUNC_JOG_TO_ACCIDENT)
set_function(CHR_SEALER3, FUNC_JOG_TO_ACCIDENT)
@@ -2371,7 +2371,7 @@ u8 func041f_alarm_responder[] = {
set_self_flag_bankx(CHRFLAG0_00002000, BANK_0)
set_self_flag_bankx(CHRFLAG0_00008000, BANK_0)
set_alertness(90)
set_self_flag_bank3(CHRFLAG3_00000200)
set_self_chrflag(CHRCFLAG_00000200)
rebuild_teams
rebuild_squadrons
set_function(CHR_SELF, GFUNC_SEARCH_FOR_PLAYER)
@@ -2379,7 +2379,7 @@ u8 func041f_alarm_responder[] = {
};
u8 func0420_jog_to_accident[] = {
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
label(0x03)
go_to_target_pad(SPEED_JOG)
@@ -2416,9 +2416,9 @@ u8 func101f_setup_robot_noise[] = {
u8 func1400_give_briefcases[] = {
yield
set_chr_team(CHR_ANTI, TEAM_20)
set_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_00000020)
set_chr_flag_bank3(0x0a, CHRFLAG3_00000020)
set_chr_chrflag(CHR_TOPSTAIRS, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
set_chr_chrflag(CHR_TOPSTAIRS, CHRCFLAG_00000020)
set_chr_chrflag(0x0a, CHRCFLAG_00000020)
if_difficulty_lt(DIFF_PA, /*goto*/ 0x03)
// PA
@@ -2485,10 +2485,10 @@ u8 func1010_elevator_switch[] = {
u8 func1001_objectives_failed_msg[] = {
yield
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_CIA2, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_CIA3, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_CIA4, CHRFLAG3_04000000)
set_chr_chrflag(CHR_CIA1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_CIA2, CHRCFLAG_04000000)
set_chr_chrflag(CHR_CIA3, CHRCFLAG_04000000)
set_chr_chrflag(CHR_CIA4, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -2675,8 +2675,8 @@ u8 func040a_intro_sfx[] = {
u8 func040b_outro[] = {
camera_movement(0x0178)
set_music_track(MUSIC_CHICAGO_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
open_door2(0x10)
open_door2(0x11)
@@ -2687,9 +2687,9 @@ u8 func040b_outro[] = {
hide_chr(CHR_SEALER3)
hide_chr(CHR_SEALER4)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x0179, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
restart_timer
@@ -2840,8 +2840,8 @@ u8 func1416_setup_rain[] = {
};
u8 func041c_hiddenguy[] = {
set_chr_flag_bank3(CHR_HIDDENGUY, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_HIDDENGUY, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_HIDDENGUY, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_HIDDENGUY, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2851,8 +2851,8 @@ u8 func041c_hiddenguy[] = {
* drain briefcase.
*/
u8 func1017_drain_guards[] = {
set_chr_flag_bank3(0x11, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
set_chr_chrflag(0x11, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
// Wait until drain briefcase collected
beginloop(0x05)
@@ -2860,10 +2860,10 @@ u8 func1017_drain_guards[] = {
endloop(0x05)
label(0x03)
unset_chr_flag_bank3(0x11, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x11, CHRFLAG2_00400000)
set_chr_flag_bank2(0x12, CHRFLAG2_00400000)
unset_chr_chrflag(0x11, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x11, CHRHFLAG_00400000)
set_chr_hiddenflag(0x12, CHRHFLAG_00400000)
set_function(0x11, GFUNC_ALERTED)
set_function(0x12, GFUNC_ALERTED)
set_function(CHR_SELF, GFUNC_IDLE)
@@ -2935,7 +2935,7 @@ u8 func0410_60d0[] = {
};
u8 func0411_60f4[] = {
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00020000)
set_chr_dodge_rating(2, 0x0a)
set_accuracy(14)
set_reaction_speed(20)
@@ -3083,7 +3083,7 @@ u8 func1021_check_topstairs_guy[] = {
label(0x04)
set_chr_special_death_animation(CHR_TOPSTAIRS, 0)
unset_chr_flag_bank3(CHR_TOPSTAIRS, CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION)
unset_chr_chrflag(CHR_TOPSTAIRS, CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION)
unset_chr_flag_bankx(CHR_TOPSTAIRS, CHRFLAG1_00001000, BANK_1)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
@@ -3198,10 +3198,10 @@ u8 func0412_cia_invincibility[] = {
endloop(0x10)
label(0x03)
set_chr_flag_bank3(CHR_CIA1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CIA2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CIA3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_CIA4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CIA1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CIA2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CIA3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_CIA4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x2d)
if_stage_flag_eq(STAGEFLAG_DIVERSION_CREATED, TRUE, /*goto*/ 0x03)
@@ -3215,10 +3215,10 @@ u8 func0412_cia_invincibility[] = {
endloop(0x2f)
label(0x03)
unset_chr_flag_bank3(CHR_CIA1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_CIA2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_CIA3, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_CIA4, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_CIA1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_CIA2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_CIA3, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_CIA4, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+144 -144
View File
@@ -517,34 +517,34 @@ s32 path02[] = {
u8 func1001_objectives_failed_msg[] = {
yield
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_STEWARDESS, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_STEWARD, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_PILOT1, CHRFLAG3_04000000)
set_chr_flag_bank3(CHR_PILOT2, CHRFLAG3_04000000)
set_chr_flag_bank3(0x01, CHRFLAG3_04000000)
set_chr_flag_bank3(0x02, CHRFLAG3_04000000)
set_chr_flag_bank3(0x03, CHRFLAG3_04000000)
set_chr_flag_bank3(0x04, CHRFLAG3_04000000)
set_chr_flag_bank3(0x05, CHRFLAG3_04000000)
set_chr_flag_bank3(0x06, CHRFLAG3_04000000)
set_chr_flag_bank3(0x07, CHRFLAG3_04000000)
set_chr_flag_bank3(0x08, CHRFLAG3_04000000)
set_chr_flag_bank3(0x09, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0a, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0b, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0c, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0d, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0e, CHRFLAG3_04000000)
set_chr_flag_bank3(0x0f, CHRFLAG3_04000000)
set_chr_flag_bank3(0x10, CHRFLAG3_04000000)
set_chr_flag_bank3(0x11, CHRFLAG3_04000000)
set_chr_flag_bank3(0x12, CHRFLAG3_04000000)
set_chr_flag_bank3(0x13, CHRFLAG3_04000000)
set_chr_flag_bank3(0x14, CHRFLAG3_04000000)
set_chr_flag_bank3(0x15, CHRFLAG3_04000000)
set_chr_flag_bank3(0x16, CHRFLAG3_04000000)
set_chr_flag_bank3(0x17, CHRFLAG3_04000000)
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_04000000)
set_chr_chrflag(CHR_STEWARDESS, CHRCFLAG_04000000)
set_chr_chrflag(CHR_STEWARD, CHRCFLAG_04000000)
set_chr_chrflag(CHR_PILOT1, CHRCFLAG_04000000)
set_chr_chrflag(CHR_PILOT2, CHRCFLAG_04000000)
set_chr_chrflag(0x01, CHRCFLAG_04000000)
set_chr_chrflag(0x02, CHRCFLAG_04000000)
set_chr_chrflag(0x03, CHRCFLAG_04000000)
set_chr_chrflag(0x04, CHRCFLAG_04000000)
set_chr_chrflag(0x05, CHRCFLAG_04000000)
set_chr_chrflag(0x06, CHRCFLAG_04000000)
set_chr_chrflag(0x07, CHRCFLAG_04000000)
set_chr_chrflag(0x08, CHRCFLAG_04000000)
set_chr_chrflag(0x09, CHRCFLAG_04000000)
set_chr_chrflag(0x0a, CHRCFLAG_04000000)
set_chr_chrflag(0x0b, CHRCFLAG_04000000)
set_chr_chrflag(0x0c, CHRCFLAG_04000000)
set_chr_chrflag(0x0d, CHRCFLAG_04000000)
set_chr_chrflag(0x0e, CHRCFLAG_04000000)
set_chr_chrflag(0x0f, CHRCFLAG_04000000)
set_chr_chrflag(0x10, CHRCFLAG_04000000)
set_chr_chrflag(0x11, CHRCFLAG_04000000)
set_chr_chrflag(0x12, CHRCFLAG_04000000)
set_chr_chrflag(0x13, CHRCFLAG_04000000)
set_chr_chrflag(0x14, CHRCFLAG_04000000)
set_chr_chrflag(0x15, CHRCFLAG_04000000)
set_chr_chrflag(0x16, CHRCFLAG_04000000)
set_chr_chrflag(0x17, CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
endfunction
};
@@ -635,27 +635,27 @@ u8 func1004_reassign_ailists_during_conversation[] = {
};
u8 func1005_check_neutrals_killed[] = {
set_chr_flag_bank3(0x01, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x04, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x05, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x06, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x07, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x08, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x09, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0a, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0b, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0c, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0d, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0e, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x0f, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x10, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x11, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x12, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x13, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x14, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x15, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x16, CHRFLAG3_KILLCOUNTABLE)
set_chr_flag_bank3(0x17, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(0x01, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x04, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x05, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x06, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x07, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x08, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x09, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0a, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0b, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0c, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0d, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0e, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x0f, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x10, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x11, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x12, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x13, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x14, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x15, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x16, CHRCFLAG_KILLCOUNTABLE)
set_chr_chrflag(0x17, CHRCFLAG_KILLCOUNTABLE)
beginloop(0x04)
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
@@ -672,15 +672,15 @@ u8 func1005_check_neutrals_killed[] = {
};
u8 func0401_init_stripes[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0402_init_elvis[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -773,8 +773,8 @@ u8 func1006_hijack[] = {
#define enable_stripes_chr(chr, function) \
show_chr(chr) \
set_function(chr, function) \
unset_chr_flag_bank3(chr, CHRFLAG3_HIDDEN) \
set_chr_flag_bank2(chr, CHRFLAG2_00400000) \
unset_chr_chrflag(chr, CHRCFLAG_HIDDEN) \
set_chr_hiddenflag(chr, CHRHFLAG_00400000) \
yield
@@ -819,21 +819,21 @@ u8 func1006_hijack[] = {
set_chr_team(CHR_TRENT, TEAM_04)
set_chr_team(CHR_BLONDE1, TEAM_04)
set_chr_team(CHR_BLONDE2, TEAM_04)
unset_chr_flag_bank2(CHR_TRENT, CHRFLAG2_40000000)
unset_chr_flag_bank2(CHR_BLONDE1, CHRFLAG2_40000000)
unset_chr_flag_bank2(CHR_BLONDE2, CHRFLAG2_40000000)
unset_chr_hiddenflag(CHR_TRENT, CHRHFLAG_40000000)
unset_chr_hiddenflag(CHR_BLONDE1, CHRHFLAG_40000000)
unset_chr_hiddenflag(CHR_BLONDE2, CHRHFLAG_40000000)
unlock_door(OBJ_COCKPITDOOR, 0x40)
rebuild_teams
rebuild_squadrons
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
unset_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
unset_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0403_stripes[] = {
set_return_function(CHR_SELF, FUNC_STRIPES)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
beginloop(0x04)
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x06)
@@ -1283,8 +1283,8 @@ u8 func0405_president_in_room[] = {
// No equipment
label(0x85)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISE_UNCOVERED)
speak(CHR_TARGET, 0x3624, 0x12c4, CHANNEL_6, COLOR_08_RED) // "Security, SECURITY!!"
restart_timer
animation(0x0231, 0, 193, 0x18, 0x10, CHR_SELF, 2)
@@ -1423,7 +1423,7 @@ u8 func0405_president_in_room[] = {
};
u8 func0404_president_running[] = {
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
set_onshot_function(FUNC_PRESIDENT_RUNNING)
set_target_chr(CHR_PRESET)
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
@@ -1635,7 +1635,7 @@ u8 func100b_check_president_dead[] = {
};
u8 func0409_unused[] = {
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
beginloop(0x04)
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x06)
@@ -1675,7 +1675,7 @@ u8 func100c_cockpit_stripes[] = {
set_armor(0)
set_recovery_speed(30)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
beginloop(0x04)
chr_toggle_p1p2(CHR_SELF)
@@ -1706,7 +1706,7 @@ u8 func0413_taker1[] = {
set_chr_team(CHR_SELF, TEAM_04)
rebuild_teams
rebuild_squadrons
set_self_flag_bank3(CHRFLAG3_00000020)
set_self_chrflag(CHRCFLAG_00000020)
set_chr_dodge_rating(2, 0x00)
set_reaction_speed(50)
set_chr_health(CHR_SELF, 60)
@@ -1722,7 +1722,7 @@ u8 func0413_taker2[] = {
set_chr_team(CHR_SELF, TEAM_04)
rebuild_teams
rebuild_squadrons
set_self_flag_bank3(CHRFLAG3_00000020)
set_self_chrflag(CHRCFLAG_00000020)
set_chr_dodge_rating(2, 0x00)
set_reaction_speed(50)
set_chr_health(CHR_SELF, 60)
@@ -1736,12 +1736,12 @@ u8 func0413_taker2[] = {
u8 func0413_taker[] = {
set_onshot_function(GFUNC_ALERTED)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_team(CHR_SELF, TEAM_04)
rebuild_teams
rebuild_squadrons
set_accuracy(50)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
restart_timer
// Wait for condition
@@ -1804,8 +1804,8 @@ u8 func0413_taker[] = {
u8 func100c_cockpit[] = {
label(0x2d)
label(0x2e)
set_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
beginloop(0x60)
if_all_objectives_complete(/*goto*/ 0x2d)
@@ -1820,10 +1820,10 @@ u8 func100c_cockpit[] = {
label(0x2e)
yield
if_stage_flag_eq(STAGEFLAG_ALL_OBJECTIVES_COMPLETE, TRUE, /*goto*/ 0x11)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_TAKER1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_TAKER2, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_TAKER1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TAKER2, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
label(0x06)
// This loop will surely never iterate because
@@ -2009,24 +2009,24 @@ u8 func0428_start_path02[] = {
};
u8 func1002_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_AIRFORCEONE_INTRO)
camera_movement(0x018c)
set_chr_flag_bank3(0x30, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x30, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x30, CHRFLAG2_00020000)
set_chr_chrflag(0x30, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x30, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x30, CHRHFLAG_00020000)
animation(0x018f, -1, -1, 0x06, 0x00, 0x30, 4)
set_chr_flag_bank3(0x31, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x31, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x31, CHRFLAG2_00020000)
set_chr_chrflag(0x31, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x31, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x31, CHRHFLAG_00020000)
animation(0x018d, -1, -1, 0x06, 0x00, 0x31, 4)
set_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_PRESIDENT, CHRFLAG2_00020000)
set_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_PRESIDENT, CHRHFLAG_00020000)
animation(0x018e, -1, -1, 0x06, 0x00, CHR_PRESIDENT, 4)
set_chr_flag_bank3(0x13, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
set_chr_chrflag(0x13, CHRCFLAG_HIDDEN)
set_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
restart_timer
fade_to_color(0x000000ff, 0)
fade_to_color(0x00000000, 90)
@@ -2113,9 +2113,9 @@ u8 func1002_intro[] = {
label(0x7d)
mute_channel(CHANNEL_10)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d)
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
label(0x2d)
if_eeprom_flag_is_set(EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06)
goto_next(0x7e)
@@ -2126,8 +2126,8 @@ u8 func1002_intro[] = {
chr_move_to_pad(CHR_COOP, 0x008a, 0x01, /*goto*/ 0x2d)
label(0x2d)
if_controller_button_pressed(/*goto*/ 0x5f)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01d1, -1, -1, 0x06, 0x00, CHR_BOND, 4)
beginloop(0x09)
@@ -2139,9 +2139,9 @@ u8 func1002_intro[] = {
endloop(0x09)
label(0x7e)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISED)
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x2d)
set_chr_flag_bank2(CHR_COOP, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_COOP, CHRHFLAG_DISGUISED)
label(0x2d)
dprint 'D','I','S','G','U','I','S','E','D','\n',0,
camera_movement(0x01d2)
@@ -2150,8 +2150,8 @@ u8 func1002_intro[] = {
chr_move_to_pad(CHR_COOP, 0x00b2, 0x01, /*goto*/ 0x2d)
label(0x2d)
if_controller_button_pressed(/*goto*/ 0x5f)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x01d3, -1, -1, 0x06, 0x00, CHR_BOND, 4)
beginloop(0x0a)
@@ -2164,12 +2164,12 @@ u8 func1002_intro[] = {
label(0x5f)
mute_channel(CHANNEL_7)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
if_eeprom_flag_is_set(EEPROMFLAG_AF1_ENTRY, /*goto*/ 0x06)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
animation(0x01d3, -2, -1, 0x06, 0x00, CHR_BOND, 2)
goto_next(0x2d)
label(0x06)
@@ -2177,8 +2177,8 @@ u8 func1002_intro[] = {
label(0x2d)
restart_default_music
reset_ambience
unset_chr_flag_bank3(0x13, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
unset_chr_chrflag(0x13, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
set_function(CHR_PRESIDENT, FUNC_INIT_PRESIDENT)
set_function(0x09, FUNC_INIT_NEUTRAL)
set_function(0x0a, FUNC_INIT_NEUTRAL)
@@ -2186,9 +2186,9 @@ u8 func1002_intro[] = {
set_function(0x0d, FUNC_INIT_NEUTRAL)
remove_chr(0x30)
remove_chr(0x31)
unset_chr_flag_bank3(0x30, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x31, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_PRESIDENT, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(0x30, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x31, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_PRESIDENT, CHRCFLAG_UNPLAYABLE)
set_stage_flag(STAGEFLAG_INTRO_FINISHED)
enter_firstperson
set_function(CHR_SELF, GFUNC_IDLE)
@@ -2416,9 +2416,9 @@ u8 func040b_defend_president[] = {
};
u8 func0415_cloner1[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x03)
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
@@ -2507,9 +2507,9 @@ u8 func0417_clone1[] = {
};
u8 func0418_cloner2[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x03)
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
@@ -2607,9 +2607,9 @@ u8 func041a_clone2[] = {
* reached the escape pod.
*/
u8 func041b_cloner3[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
beginloop(0x03)
if_stage_flag_eq(STAGEFLAG_PRESIDENT_STARTED_RUNNING, TRUE, /*goto*/ 0x06)
@@ -2744,7 +2744,7 @@ u8 func041e_blonde[] = {
label(0x06)
label(0x08)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
label(0x68)
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x75)
@@ -2860,9 +2860,9 @@ u8 func0421_trent_waiting[] = {
set_chr_team(CHR_SELF, TEAM_04)
rebuild_teams
rebuild_squadrons
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
set_shield(500)
set_chr_flag_bank3(CHR_TRENT, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_TRENT, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x04)
chr_toggle_p1p2(CHR_SELF)
@@ -2900,7 +2900,7 @@ u8 func0420_trent_attacking[] = {
// One Blonde dead or player in sight
label(0x2d)
set_shield(500)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
speak(CHR_P1P2, 0x3646, 0x12cb, CHANNEL_6, COLOR_05_GREEN) // "Ha, Ha, Ha, Ha, Ha."
set_function(CHR_SELF, FUNC_TRENT_RUNNING)
@@ -2952,7 +2952,7 @@ u8 func0422_trent_running[] = {
if_chr_sees_player(/*goto*/ 0x06)
set_target_chr(CHR_COOP)
if_chr_sees_player(/*goto*/ 0x06)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_HIDDEN)
remove_chr(CHR_SELF)
set_function(CHR_SELF, GFUNC_IDLE)
@@ -3017,9 +3017,9 @@ u8 func1013_unhide_trent_and_blondes[] = {
show_chr(CHR_BLONDE2)
set_function(CHR_BLONDE2, FUNC_INIT_BLONDE)
yield
unset_chr_flag_bank3(CHR_TRENT, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE1, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BLONDE2, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_TRENT, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE1, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BLONDE2, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3063,7 +3063,7 @@ u8 func1014_uncover_disguise[] = {
endloop(0x04)
label(0x06)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3239,7 +3239,7 @@ u8 func0407_steward[] = {
label(0x06)
set_squadron_alertness(100)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
do_special_animation(-1)
restart_timer
speak(CHR_P1P2, 0x362b, 0x1abb, CHANNEL_4, COLOR_04_ORANGE) // "Hey, that's not..."
@@ -3294,7 +3294,7 @@ u8 func0407_stewardess[] = {
endloop(0x09)
label(0x06)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_DISGUISE_UNCOVERED)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_DISGUISE_UNCOVERED)
animation(ANIM_WALK_BACKWARDS, -1, -1, 0x10, 0x10, CHR_SELF, 2)
restart_timer
@@ -3319,7 +3319,7 @@ u8 func0407_stewardess[] = {
set_squadron_alertness(100)
label(0x0a)
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
animation(ANIM_COWER_0229, -1, 190, 0x10, 0x0a, CHR_SELF, 2)
beginloop(0x83)
@@ -3433,18 +3433,18 @@ u8 func0423_outro[] = {
camera_movement(0x02d8)
set_music_track(MUSIC_AIRFORCEONE_OUTRO)
misc_command(0x0000, 0x0d, 0x00)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_function(CHR_TARGET, GFUNC_IDLE)
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
animation(0x02da, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
set_chr_hud_visible(CHR_TARGET, TRUE)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02d9, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
show_object(0x19)
set_object_flag_bank1(0x19, OBJECTFLAG1_04000000)
@@ -3559,8 +3559,8 @@ u8 func1019_midcutscene[] = {
endloop(0x08)
label(0x2d)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
if_stage_flag_eq(STAGEFLAG_MIDCUTSCENE_STARTED, TRUE, /*goto*/ 0x2d)
set_stage_flag(STAGEFLAG_MIDCUTSCENE_STARTED)
dprint 'm','i','d',' ','c','u','t','s','c','e','n','e','\n',0,
@@ -3600,8 +3600,8 @@ u8 func1019_midcutscene[] = {
set_stage_flag(STAGEFLAG_MIDCUTSCENE_FINISHED)
restart_default_music
reset_ambience
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_END_CINEMA)
endfunction
};
@@ -3745,7 +3745,7 @@ u8 func101c_check_equipment_switch_destroyed[] = {
};
u8 func040c_init_defend_pad[] = {
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_40000000)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_40000000)
set_chr_team(CHR_SELF, TEAM_ALLY)
rebuild_teams
rebuild_squadrons
@@ -3777,7 +3777,7 @@ u8 func040d_init_defend_president[] = {
};
u8 func042c_remove_if_offscreen[] = {
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_40000000)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_40000000)
set_chr_team(CHR_SELF, TEAM_ALLY)
rebuild_teams
rebuild_squadrons
@@ -3963,7 +3963,7 @@ u8 func1025_disable_buddy_warp[] = {
yield
yield
yield
unset_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP)
unset_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
+29 -29
View File
@@ -1182,9 +1182,9 @@ u8 func1006_activate_alarm[] = {
* A hidden chr spawns clones every 50 seconds after the alarm is sounded.
*/
u8 func0410_clone_spawner[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
// Wait until alarm activated
beginloop(0x0d)
@@ -1231,7 +1231,7 @@ u8 func0411_init_clone[] = {
set_recovery_speed(0)
set_shield(0)
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
label(0x04)
try_inherit_properties(0x4e, /*goto*/ 0x06)
label(0x06)
@@ -1243,16 +1243,16 @@ u8 func0411_init_clone[] = {
};
u8 func0412_clone[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_return_function(CHR_SELF, GFUNC_ALERTED)
set_function(CHR_SELF, GFUNC_ALERTED)
endfunction
};
u8 func0410_clone_spawner2[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
// Wait until player is in room 0x005e
beginloop(0x0d)
@@ -1354,8 +1354,8 @@ u8 func1009_check_for_exit[] = {
endloop(0x08)
label(0x2c)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BOND, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_COOP, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
if_chr_death_animation_finished(CHR_BOND, /*goto*/ 0x2c)
if_chr_dying(CHR_BOND, /*goto*/ 0x2c)
if_chr_unloaded(CHR_BOND, /*goto*/ 0x2c)
@@ -1513,13 +1513,13 @@ u8 func100b_check_medlab_escapable[] = {
};
u8 func1002_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_INTRO)
camera_movement(0x0476)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0477, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_object_flag_bank1(OBJ_TROLLEY, OBJECTFLAG1_04000000)
set_object_flag_bank2(OBJ_TROLLEY, OBJECTFLAG2_00000010)
@@ -1559,11 +1559,11 @@ u8 func1002_intro[] = {
endloop(0x08)
label(0x87)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0477, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_object_flag_bank1(OBJ_TROLLEY, OBJECTFLAG1_04000000)
set_object_flag_bank2(OBJ_TROLLEY, OBJECTFLAG2_00000010)
@@ -1577,18 +1577,18 @@ u8 func1002_intro[] = {
u8 func041b_outro[] = {
set_invincible(CHR_BOND)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_OUTRO)
camera_movement(0x0479)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x047a, -1, -1, 0x06, 0x00, CHR_BOND, 4)
unset_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_OUTRO_GUARD, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_OUTRO_GUARD, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_OUTRO_GUARD, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_OUTRO_GUARD, CHRHFLAG_00020000)
animation(0x047b, -1, -1, 0x06, 0x00, CHR_OUTRO_GUARD, 4)
show_nonessential_chrs(FALSE)
@@ -1631,8 +1631,8 @@ u8 func041b_outro[] = {
};
u8 func0419_init_outro_guard[] = {
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1649,7 +1649,7 @@ u8 func100c_unset_trolley_flag_when_destroyed[] = {
};
u8 func041c_init_labtech[] = {
set_self_flag_bank3(CHRFLAG3_04000000)
set_self_chrflag(CHRCFLAG_04000000)
set_function(CHR_SELF, GFUNC_UNALERTED)
endfunction
};
+152 -152
View File
@@ -493,7 +493,7 @@ u8 func0401_init_unarmed_skedar[] = {
set_armor(160)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00020000)
set_function(CHR_SELF, FUNC_UNARMED_SKEDAR)
endfunction
};
@@ -591,7 +591,7 @@ u8 func0402_unarmed_skedar[] = {
try_run_to_target_chr(/*goto*/ 0x0b)
beginloop(0x0b)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x10)
if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA)
if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA)
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10)
@@ -617,7 +617,7 @@ u8 func0402_unarmed_skedar[] = {
try_face_entity(0x0200, 0x0001, /*goto*/ 0x0c)
beginloop(0x0c)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x10)
if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA)
if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA)
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10)
@@ -637,7 +637,7 @@ u8 func0402_unarmed_skedar[] = {
label(0x31)
beginloop(0x30)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x10)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x10)
if_chr_in_room(CHR_SELF, 0x00, 0x003b, /*goto*/ LABEL_HANDLE_PHOENIX_AREA)
if_chr_in_room(CHR_SELF, 0x00, 0x0041, /*goto*/ LABEL_HANDLE_WALL_AREA)
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0x10)
@@ -717,14 +717,14 @@ u8 func0405_puzzleroom_miniskedar_waiting[] = {
};
u8 func0403_init_miniskedar[] = {
set_self_flag_bank3(CHRFLAG3_00020000)
set_self_chrflag(CHRCFLAG_00020000)
set_accuracy(0)
set_reaction_speed(75)
set_chr_health(CHR_SELF, 40)
set_armor(0)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
set_function(CHR_SELF, FUNC_MINISKEDAR)
endfunction
};
@@ -845,10 +845,10 @@ u8 func0404_miniskedar[] = {
* Spawn a clone and remove self. This function seems unnecessary.
*/
u8 func0407_init_cloaked_skedar[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
beginloop(0x04)
// Wait until clone dead - which it would be immediately?
@@ -876,10 +876,10 @@ u8 func0408_cloaked_skedar[] = {
set_chr_team(CHR_SELF, TEAM_ENEMY)
rebuild_teams
rebuild_squadrons
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
restart_timer
beginloop(0x08)
@@ -898,7 +898,7 @@ u8 func0408_cloaked_skedar[] = {
// Player went close to cloaked skedar
label(0x2d)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, FUNC_INIT_UNARMED_SKEDAR)
// King is dead
@@ -912,9 +912,9 @@ u8 func0408_cloaked_skedar[] = {
* Spawns up to 3 miniskedar clones, one at a time.
*/
u8 func0404_miniskedar_spawner[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_00040000)
set_morale(0)
// Wait until player near trigger pad
@@ -947,7 +947,7 @@ u8 func0404_miniskedar_spawner[] = {
u8 unregistered_function3[] = {
camera_movement(0x00c3)
yield
set_chr_flag_bank2(0x00, CHRFLAG2_00020000)
set_chr_hiddenflag(0x00, CHRHFLAG_00020000)
animation(0x00c4, -1, -1, 0x06, 0x00, 0x00, 4)
beginloop(0x08)
@@ -1647,7 +1647,7 @@ u8 func040a_init_reaper_slayer_skedar[] = {
};
u8 func0409_reaper_slayer_skedar[] = {
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
set_onshot_function(FUNC_REAPER_SLAYER_SKEDAR)
if_chr_dying(CHR_SELF, /*goto*/ 0x06)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x06)
@@ -1679,7 +1679,7 @@ u8 func0409_reaper_slayer_skedar[] = {
// Healthy
label(0x08)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
label(0x5e)
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x06)
set_target_chr(CHR_BOND)
@@ -1863,7 +1863,7 @@ u8 func100b_check_sanctum_accessed[] = {
};
u8 func040b_mauler_skedar[] = {
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
set_accuracy(20)
set_reaction_speed(50)
set_chr_health(CHR_SELF, 40)
@@ -1919,13 +1919,13 @@ u8 func100e_wake_skedar_army[] = {
u8 func040c_king_waiting[] = {
set_shield(500)
set_accuracy(100)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_00080000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
set_chr_chrflag(CHR_SELF, CHRCFLAG_00080000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
if_difficulty_gt(DIFF_A, /*goto*/ 0x2d)
set_self_flag_bank3(CHRFLAG3_00000020)
set_self_chrflag(CHRCFLAG_00000020)
label(0x2d)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_10000000)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_10000000)
set_morale(0)
beginloop(0x08)
@@ -1943,7 +1943,7 @@ u8 func040c_king_waiting[] = {
endloop(0x09)
label(0x2d)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, FUNC_KING_COMBAT)
endfunction
};
@@ -2022,7 +2022,7 @@ u8 func040d_king_combat[] = {
endloop(0x7f)
label(0x2d)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
beginloop(0x7a)
if_chr_death_animation_finished(CHR_P1P2, /*goto*/ LABEL_PLAYER_DEAD)
@@ -2270,11 +2270,11 @@ u8 func040d_king_combat[] = {
};
u8 func040e_king_skedar_spawner[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
beginloop(0x04)
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x2d)
@@ -2310,9 +2310,9 @@ u8 func040e_king_skedar_spawner[] = {
};
u8 func0410_init_king_skedar_clone[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
yield
try_draw_weapon(MODEL_CHRMAULER, WEAPON_MAULER, 0x20000000, /*goto*/ 0x06)
label(0x06)
@@ -2320,18 +2320,18 @@ u8 func0410_init_king_skedar_clone[] = {
yield
yield
yield
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_function(CHR_SELF, FUNC_INIT_UNARMED_SKEDAR)
endfunction
};
u8 func0411_king_miniskedar_spawner[] = {
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00100000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00100000)
beginloop(0x04)
if_chr_death_animation_finished(CHR_CLONE, /*goto*/ 0x2d)
@@ -2369,9 +2369,9 @@ u8 func0411_king_miniskedar_spawner[] = {
};
u8 func0412_init_king_miniskedar_clone[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
yield
try_draw_weapon(MODEL_CHRMAULER, WEAPON_MAULER, 0x20000000, /*goto*/ 0x06)
label(0x06)
@@ -2379,7 +2379,7 @@ u8 func0412_init_king_miniskedar_clone[] = {
yield
yield
yield
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_chrflag(CHRCFLAG_HIDDEN)
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_function(CHR_SELF, FUNC_INIT_MINISKEDAR)
endfunction
@@ -2531,12 +2531,12 @@ u8 func040f_update_spike_stageflags[] = {
};
u8 func0c00_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_SKEDARRUINS_INTRO)
set_stage_flag(STAGEFLAG_IN_INTRO)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000)
set_chr_flag_bank3(CHR_KING2, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_00080000)
set_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
camera_movement(0x02e9)
beginloop(0x08)
@@ -2552,13 +2552,13 @@ u8 func0c00_intro[] = {
if_controller_button_pressed(/*goto*/ 0x86)
camera_movement(0x02ea)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x02eb, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02ec, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
@@ -2575,24 +2575,24 @@ u8 func0c00_intro[] = {
endloop(0x09)
label(0x86)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
if_controller_button_pressed(/*goto*/ 0x86)
camera_movement(0x02ed)
set_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x37, CHRFLAG2_00020000)
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
animation(0x02ee, -1, -1, 0x06, 0x00, 0x37, 4)
set_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x38, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x38, CHRFLAG2_00020000)
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
animation(0x02ef, -1, -1, 0x06, 0x00, 0x38, 4)
set_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x39, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x39, CHRFLAG2_00020000)
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
animation(0x02f0, -1, -1, 0x06, 0x00, 0x39, 4)
beginloop(0x0b)
@@ -2605,19 +2605,19 @@ u8 func0c00_intro[] = {
endloop(0x0b)
label(0x86)
unset_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
if_controller_button_pressed(/*goto*/ 0x86)
camera_movement(0x02f1)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x02f2, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02f3, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
@@ -2634,29 +2634,29 @@ u8 func0c00_intro[] = {
endloop(0x0c)
label(0x86)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
if_controller_button_pressed(/*goto*/ 0x86)
camera_movement(0x02f4)
set_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x37, CHRFLAG2_00020000)
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
animation(0x02f5, -1, -1, 0x06, 0x00, 0x37, 4)
set_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x38, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x38, CHRFLAG2_00020000)
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
animation(0x02f6, -1, -1, 0x06, 0x00, 0x38, 4)
set_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x39, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x39, CHRFLAG2_00020000)
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
animation(0x02f7, -1, -1, 0x06, 0x00, 0x39, 4)
set_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x3a, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x3a, CHRFLAG2_00020000)
set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x3a, CHRHFLAG_00020000)
animation(0x02f8, -1, -1, 0x06, 0x00, 0x3a, 4)
beginloop(0x0d)
@@ -2669,10 +2669,10 @@ u8 func0c00_intro[] = {
endloop(0x0d)
label(0x86)
unset_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
if_controller_button_pressed(/*goto*/ 0x86)
camera_movement(0x02f9)
@@ -2696,30 +2696,30 @@ u8 func0c00_intro[] = {
if_controller_button_pressed(/*goto*/ 0x86)
camera_movement(0x02fb)
set_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x37, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x37, CHRFLAG2_00020000)
set_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x37, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x37, CHRHFLAG_00020000)
animation(0x02fc, -1, -1, 0x06, 0x00, 0x37, 4)
set_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x38, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x38, CHRFLAG2_00020000)
set_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x38, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x38, CHRHFLAG_00020000)
animation(0x02fd, -1, -1, 0x06, 0x00, 0x38, 4)
set_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x39, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x39, CHRFLAG2_00020000)
set_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x39, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x39, CHRHFLAG_00020000)
animation(0x02fe, -1, -1, 0x06, 0x00, 0x39, 4)
set_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x3a, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x3a, CHRFLAG2_00020000)
set_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x3a, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x3a, CHRHFLAG_00020000)
animation(0x02ff, -1, -1, 0x06, 0x00, 0x3a, 4)
unset_chr_flag_bank3(CHR_KING2, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_KING2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_KING2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_KING2, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_KING2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_KING2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_KING2, CHRHFLAG_00020000)
animation(0x0300, -1, -1, 0x06, 0x00, CHR_KING2, 4)
set_cutscene_weapon(CHR_BOND, WEAPON_NONE, WEAPON_NONE)
@@ -2736,11 +2736,11 @@ u8 func0c00_intro[] = {
endloop(0x0f)
label(0x86)
unset_chr_flag_bank3(0x37, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x38, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x39, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x3a, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_KING2, CHRFLAG3_UNPLAYABLE)
unset_chr_chrflag(0x37, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x38, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x39, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x3a, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_KING2, CHRCFLAG_UNPLAYABLE)
camera_movement(0x0301)
cmd0175(60)
if_controller_button_pressed(/*goto*/ 0x86)
@@ -2751,8 +2751,8 @@ u8 func0c00_intro[] = {
object_do_animation(0x0302, 0x36, 0x04ff, 0xff)
set_object_part_visible(0x36, FALSE)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0303, -1, -1, 0x06, 0x00, CHR_BOND, 4)
beginloop(0x10)
@@ -2766,11 +2766,11 @@ u8 func0c00_intro[] = {
label(0x86)
unset_stage_flag(STAGEFLAG_IN_INTRO)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_00080000)
mute_channel(CHANNEL_7)
label(0x06)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0303, -2, -1, 0x06, 0x00, CHR_BOND, 2)
hide_object(0x36)
remove_chr(0x37)
@@ -2778,15 +2778,15 @@ u8 func0c00_intro[] = {
remove_chr(0x39)
remove_chr(0x3a)
remove_chr(CHR_KING2)
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
set_function(CHR_KING1, FUNC_KING_WAITING)
set_object_flag_bank1(0x2a, OBJECTFLAG1_04000000)
set_object_flag_bank1(0x2b, OBJECTFLAG1_04000000)
set_object_flag_bank1(0x2c, OBJECTFLAG1_04000000)
set_object_flag_bank1(0x2d, OBJECTFLAG1_04000000)
set_object_flag_bank1(0x2e, OBJECTFLAG1_04000000)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
restart_default_music
reset_ambience
enter_firstperson
@@ -2813,13 +2813,13 @@ u8 func0414_outro[] = {
set_target_chr(CHR_COOP)
label(0x06)
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_KILLCOUNTABLE)
set_chr_chrflag(CHR_TARGET, CHRCFLAG_KILLCOUNTABLE)
camera_movement(0x044c)
set_music_track(MUSIC_SKEDARRUINS_OUTRO)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_function(CHR_TARGET, GFUNC_IDLE)
remove_chr(0x05)
remove_chr(0x06)
@@ -2851,9 +2851,9 @@ u8 func0414_outro[] = {
remove_chr(0x1f)
set_function(CHR_KING1, GFUNC_IDLE)
set_chr_flag_bank3(CHR_KING1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_KING1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000)
animation(0x044d, -1, -1, 0x06, 0x00, CHR_KING1, 4)
object_do_animation(0x044e, OBJ_SPIKE_T, 0x04ff, 0xff)
@@ -2872,14 +2872,14 @@ u8 func0414_outro[] = {
label(0x86)
camera_movement(0x044f)
set_chr_flag_bank3(CHR_KING1, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_KING1, CHRFLAG2_00020000)
set_chr_chrflag(CHR_KING1, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_KING1, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_KING1, CHRHFLAG_00020000)
animation(0x0450, -1, -1, 0x06, 0x00, CHR_KING1, 4)
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
animation(0x0451, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
object_do_animation(0x0452, OBJ_SPIKE_T, 0x04ff, 0xff)
@@ -2927,14 +2927,14 @@ u8 func0414_outro[] = {
hide_object(0x3c)
camera_movement(0x02c7)
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
animation(0x02c8, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x02c9, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
show_object(0x23)
@@ -2967,8 +2967,8 @@ u8 func0414_outro[] = {
endloop(0x0b)
label(0x86)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_KILLCOUNTABLE)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_KILLCOUNTABLE)
unset_stage_flag(STAGEFLAG_IN_OUTRO)
hide_object(0x23)
hide_object(0x24)
@@ -2983,8 +2983,8 @@ u8 func0414_outro[] = {
};
u8 func0413_hide[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -3188,12 +3188,12 @@ u8 func101d_remove_pillar_shadow[] = {
u8 func0c00_intro_sounds[] = {
label(0xda)
if_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000, /*goto*/ 0xdb)
if_chr_has_chrflag(CHR_BOND, CHRCFLAG_00080000, /*goto*/ 0xdb)
yield
goto_first(0xda)
label(0xdb)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_00080000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_00080000)
#define wait_until_with_stageflag(time, loopid) \
beginloop(loopid) \
@@ -3368,8 +3368,8 @@ u8 func0414_outro_sounds[] = {
// The kill countable flag is probably just used to track which player
// destroyed the final spike so they can be shown in the outro.
label(0xda)
if_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdb)
if_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE, /*goto*/ 0xdc)
if_chr_has_chrflag(CHR_BOND, CHRCFLAG_KILLCOUNTABLE, /*goto*/ 0xdb)
if_chr_has_chrflag(CHR_COOP, CHRCFLAG_KILLCOUNTABLE, /*goto*/ 0xdc)
yield
goto_first(0xda)
@@ -3401,8 +3401,8 @@ u8 func0414_outro_sounds[] = {
label(0x2d)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_KILLCOUNTABLE)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_KILLCOUNTABLE)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_KILLCOUNTABLE)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_KILLCOUNTABLE)
restart_timer
+47 -47
View File
@@ -315,7 +315,7 @@ u8 func0403_init_maian_leader[] = {
};
u8 func0402_init_king[] = {
set_self_flag_bank3(CHRFLAG3_00000020)
set_self_chrflag(CHRCFLAG_00000020)
set_alertness(100)
set_accuracy(100)
set_reaction_speed(100)
@@ -323,14 +323,14 @@ u8 func0402_init_king[] = {
set_armor(300)
set_recovery_speed(100)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, FUNC_DEFEND)
endfunction
};
u8 func0401_defend[] = {
set_onshot_function(FUNC_DEFEND)
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
if_chr_dying(CHR_SELF, /*goto*/ 0x2d)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2d)
if_chr_unloaded(CHR_SELF, /*goto*/ 0x2d)
@@ -488,8 +488,8 @@ u8 func1003_spawn_maians[] = {
};
u8 func0405_init_maian[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_00080000)
set_chr_team(CHR_SELF, TEAM_ALLY)
set_squadron(GROUP_MAIANS)
rebuild_teams
@@ -821,7 +821,7 @@ u8 func0407_king1_skedar[] = {
label(0x2d)
set_squadron(GROUP_KING1_SKEDAR)
set_chr_team(CHR_SELF, TEAM_ENEMY)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
set_accuracy(10)
set_reaction_speed(50)
set_chr_health(CHR_SELF, 150)
@@ -842,7 +842,7 @@ u8 func0408_king2_skedar[] = {
label(0x2d)
set_squadron(GROUP_KING2_SKEDAR)
set_chr_team(CHR_SELF, TEAM_ENEMY)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
set_accuracy(10)
set_reaction_speed(50)
set_chr_health(CHR_SELF, 150)
@@ -863,7 +863,7 @@ u8 func0409_king3_skedar[] = {
label(0x2d)
set_squadron(GROUP_KING3_SKEDAR)
set_chr_team(CHR_SELF, TEAM_ENEMY)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00400000)
set_accuracy(10)
set_reaction_speed(50)
set_chr_health(CHR_SELF, 150)
@@ -1009,8 +1009,8 @@ u8 func1007_check_end_level[] = {
u8 func040c_hide[] = {
label(0x03)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1027,11 +1027,11 @@ u8 func100d_king1_invincible[] = {
if_chr_in_room(CHR_BOND, 0x00, 0x0077, /*goto*/ 0x2d)
if_chr_in_room(CHR_BOND, 0x00, 0x0078, /*goto*/ 0x2d)
if_chr_in_room(CHR_BOND, 0x00, 0x0079, /*goto*/ 0x2d)
set_chr_flag_bank3(CHR_KING1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_KING1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
reloop(0x03)
label(0x2d)
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_KING1, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
endloop(0x03)
endfunction
@@ -1065,26 +1065,26 @@ u8 unregistered_function[] = {
};
u8 func1002_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_INTRO)
set_chr_flag_bank2(CHR_ANTI, CHRFLAG2_00020000)
set_chr_flag_bank2(CHR_BLONDE, CHRFLAG2_00020000)
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_00020000)
set_chr_hiddenflag(CHR_BLONDE, CHRHFLAG_00020000)
camera_movement(0x047c)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x047d, -1, -1, 0x06, 0x00, CHR_BOND, 4)
unset_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_MAIAN1, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_MAIAN1, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_MAIAN1, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_MAIAN1, CHRHFLAG_00020000)
animation(0x047e, -1, -1, 0x06, 0x00, CHR_MAIAN1, 4)
unset_chr_flag_bank3(CHR_MAIAN2, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_MAIAN2, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_MAIAN2, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_MAIAN2, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_MAIAN2, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_MAIAN2, CHRHFLAG_00020000)
animation(0x047f, -1, -1, 0x06, 0x00, CHR_MAIAN2, 4)
restart_timer
@@ -1116,20 +1116,20 @@ u8 func1002_intro[] = {
// Outro done
label(0x82)
mute_channel(CHANNEL_10)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ANTI, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ANTI, CHRHFLAG_00020000)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x047d, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_MAIAN3, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000)
animation(0x047e, -2, -1, 0x06, 0x00, CHR_MAIAN3, 2)
unset_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_MAIAN4, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000)
animation(0x047f, -2, -1, 0x06, 0x00, CHR_MAIAN4, 2)
set_function(CHR_MAIAN1, FUNC_INIT_MAIAN)
@@ -1145,27 +1145,27 @@ u8 func1002_intro[] = {
u8 func040b_outro[] = {
set_invincible(CHR_BOND)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_OUTRO)
camera_movement(0x0480)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_MAIAN3, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_MAIAN3, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_MAIAN3, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_MAIAN3, CHRHFLAG_00020000)
animation(0x0481, -1, -1, 0x06, 0x00, CHR_MAIAN3, 4)
unset_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_MAIAN4, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_MAIAN4, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_MAIAN4, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_MAIAN4, CHRHFLAG_00020000)
animation(0x0482, -1, -1, 0x06, 0x00, CHR_MAIAN4, 4)
unset_chr_flag_bank3(CHR_MAIAN5, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_MAIAN5, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_MAIAN5, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_MAIAN5, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_MAIAN5, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_MAIAN5, CHRHFLAG_00020000)
animation(0x0483, -1, -1, 0x06, 0x00, CHR_MAIAN5, 4)
show_nonessential_chrs(FALSE)
+127 -127
View File
@@ -783,8 +783,8 @@ u8 func1007_check_medpack_collected[] = {
};
u8 func0403_init_jonathan[] = {
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
set_self_chrflag(CHRCFLAG_01000000)
set_self_chrflag(CHRCFLAG_NOAUTOAIM)
if_difficulty_gt(DIFF_A, /*goto*/ 0x32)
// Agent only
@@ -813,7 +813,7 @@ u8 func0402_jonathan_waiting_for_meetup[] = {
label(0x67)
set_self_flag_bankx(CHRFLAG0_10000000, BANK_0)
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
beginloop(0x04)
chr_toggle_p1p2(CHR_SELF)
@@ -967,7 +967,7 @@ u8 func0404_jonathan_following_and_mine[] = {
// In mine room
label(0x0a)
unset_self_flag_bank3(CHRFLAG3_01000000)
unset_self_chrflag(CHRCFLAG_01000000)
set_stage_flag(STAGEFLAG_JON_ENTERED_MINE_ROOM)
speak(CHR_P1P2, 0x481b, 0x12b5, CHANNEL_4, COLOR_03_RED) // "Right, we're near. Cover me, Jo..."
set_onshot_function(FUNC_JONATHAN_SHOT_WHILE_PLANTING)
@@ -1023,7 +1023,7 @@ u8 func0404_jonathan_following_and_mine[] = {
set_onshot_function(FUNC_JONATHAN_FOLLOWING_AND_MINE)
set_stage_flag(STAGEFLAG_JON_FINISHED_EXPLOSIVES)
unset_stage_flag(STAGEFLAG_JON_SHOT_WHILE_PLANTING)
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
speak(CHR_P1P2, 0x481c, 0x12b6, CHANNEL_4, COLOR_03_RED) // "Okay - stand back."
run_to_pad(0x0140)
@@ -1973,7 +1973,7 @@ u8 func100c_medpack_activation[] = {
u8 func0412_init_elvis[] = {
dprint 'E','L','V','I','S',' ','W','O','K','E','\n',0,
stop_chr
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
set_stage_flag(STAGEFLAG_ELVIS_REVIVED)
label(0x0a)
label(0x06)
@@ -2291,8 +2291,8 @@ u8 func1012_hoverbike_auto_doors[] = {
};
u8 func040c_hidden_guardtype1[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2313,35 +2313,35 @@ u8 func1016_enable_guards_after_meetup[] = {
show_chr(0x14)
show_chr(0x15)
show_chr(0x16)
unset_chr_flag_bank3(0x0d, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x0d, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x0d, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x0e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x0e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x0e, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x0f, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x0f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x0f, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x0f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x0f, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x10, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x10, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x10, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x10, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x10, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x11, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x11, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x11, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x11, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x11, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x12, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x12, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x12, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x12, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x12, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x13, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x13, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x13, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x13, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x13, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x14, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x14, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x14, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x14, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x14, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x15, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x15, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x15, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x15, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x15, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x16, FUNC_INIT_SUPERDRAGON_GUARD)
rebuild_teams
rebuild_squadrons
@@ -2366,8 +2366,8 @@ u8 func1017_check_both_hangar_doors_open[] = {
};
u8 func040d_hidden_guardtype2[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_SELF, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_SELF, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2378,35 +2378,35 @@ u8 func1018_unhide_guards_when_jo_escaping[] = {
endloop(0x04)
label(0x06)
unset_chr_flag_bank3(0x16, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x16, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x16, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x16, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x16, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x17, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x17, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x17, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x17, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x17, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x18, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x18, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x18, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x18, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x18, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x19, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x19, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x19, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x19, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x19, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x1a, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1a, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1a, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1a, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x1a, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x1b, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1b, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1b, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1b, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x1b, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x1c, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1c, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1c, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1c, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x1c, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x1d, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1d, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1d, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1d, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x1d, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x1e, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1e, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1e, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1e, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x1e, FUNC_INIT_SUPERDRAGON_GUARD)
unset_chr_flag_bank3(0x1f, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x1f, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x1f, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x1f, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x1f, FUNC_INIT_SUPERDRAGON_GUARD)
unlock_door(0x0c, 0x40)
unlock_door(0x15, 0x40)
@@ -2423,8 +2423,8 @@ u8 func1018_unhide_guards_when_jo_escaping[] = {
u8 func040e_hidden_biotech[] = {
label(0x04)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -2435,43 +2435,43 @@ u8 func1019_enable_biotechs_after_stash[] = {
endloop(0x04)
label(0x32)
unset_chr_flag_bank3(0x25, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x25, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x25, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x25, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x25, FUNC_INIT_BIOTECH)
unset_chr_flag_bank3(0x26, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x26, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x26, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x26, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x26, FUNC_INIT_BIOTECH)
unset_chr_flag_bank3(0x27, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x27, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x27, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x27, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x27, FUNC_INIT_BIOTECH)
unset_chr_flag_bank3(0x28, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(0x28, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(0x28, CHRCFLAG_HIDDEN)
unset_chr_chrflag(0x28, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(0x28, FUNC_INIT_BIOTECH)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func1002_intro[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_ESCAPE_INTRO)
camera_movement(0x019c)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x019d, -1, -1, 0x06, 0x00, CHR_BOND, 4)
set_chr_flag_bank3(0x23, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x23, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x23, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x23, CHRFLAG2_00020000)
set_chr_chrflag(0x23, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x23, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x23, CHRHFLAG_00020000)
animation(0x019e, -1, -1, 0x06, 0x00, 0x23, 4)
set_chr_flag_bank3(0x24, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(0x24, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x24, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x24, CHRFLAG2_00020000)
set_chr_chrflag(0x24, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x24, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x24, CHRHFLAG_00020000)
animation(0x019f, -1, -1, 0x06, 0x00, 0x24, 4)
set_object_flag_bank1(0x00, OBJECTFLAG1_04000000)
@@ -2749,18 +2749,18 @@ u8 func1002_intro[] = {
mute_channel(CHANNEL_7)
mute_channel(CHANNEL_6)
mute_channel(CHANNEL_10)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x019d, -2, -1, 0x06, 0x00, CHR_BOND, 2)
unset_chr_flag_bank3(0x23, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(0x23, CHRFLAG2_00020000)
unset_chr_chrflag(0x23, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(0x23, CHRHFLAG_00020000)
animation(0x019e, -2, -1, 0x06, 0x00, 0x23, 2)
unset_chr_flag_bank3(0x24, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(0x24, CHRFLAG2_00020000)
unset_chr_chrflag(0x24, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(0x24, CHRHFLAG_00020000)
animation(0x019f, -2, -1, 0x06, 0x00, 0x24, 2)
unset_object_flag_bank1(OBJ_HOVERBED, OBJECTFLAG1_04000000)
@@ -2784,8 +2784,8 @@ u8 func1002_intro[] = {
};
u8 func0c01_midcutscene[] = {
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_ESCAPE_MIDCUTSCENE)
camera_movement(0x01cb)
cmd0175(60)
@@ -2803,24 +2803,24 @@ u8 func0c01_midcutscene[] = {
set_target_chr(CHR_COOP)
label(0x06)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_JONATHAN, GFUNC_IDLE)
set_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
set_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
animation(0x01ce, -1, -1, 0x06, 0x00, CHR_TARGET, 4)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x01cc, -1, -1, 0x06, 0x00, CHR_ELVIS, 4)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
animation(0x01cd, -1, -1, 0x06, 0x00, CHR_JONATHAN, 4)
set_object_flag_bank1(0x11, OBJECTFLAG1_04000000)
@@ -2949,18 +2949,18 @@ u8 func0c01_midcutscene[] = {
mute_channel(CHANNEL_7)
restart_default_music
reset_ambience
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_TARGET, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_TARGET, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_00020000)
animation(0x01ce, -2, -1, 0x06, 0x00, CHR_TARGET, 2)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_ELVIS, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_ELVIS, CHRHFLAG_00020000)
animation(0x01cc, -2, -1, 0x06, 0x00, CHR_ELVIS, 2)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_JONATHAN, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_JONATHAN, CHRHFLAG_00020000)
animation(0x01cd, -2, -1, 0x06, 0x00, CHR_JONATHAN, 2)
unset_object_flag_bank1(0x11, OBJECTFLAG1_04000000)
@@ -2968,8 +2968,8 @@ u8 func0c01_midcutscene[] = {
object_do_animation(0x01cf, 0x11, 0x04ff, 0xfe)
unset_object_flag_bank1(0x0a, OBJECTFLAG1_20000000)
unset_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_JONATHAN, FUNC_JONATHAN_HANGAR)
set_function(CHR_ELVIS, FUNC_INIT_ELVIS)
if_chr_death_animation_finished(CHR_COOP, /*goto*/ 0x32)
@@ -2999,9 +2999,9 @@ u8 func0c02_outro[] = {
set_object_flag_bank0(0x2c, OBJECTFLAG0_40000000)
set_object_flag_bank0(0x2d, OBJECTFLAG0_40000000)
label(0x32)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_ESCAPE_OUTRO_LONG)
camera_movement(0x02d2)
label(0x32)
@@ -3015,8 +3015,8 @@ u8 func0c02_outro[] = {
set_stage_flag(STAGEFLAG_STARTED_OUTRO)
remove_chr(CHR_ELVIS)
remove_chr(CHR_JONATHAN)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
show_nonessential_chrs(FALSE)
beginloop(0x08)
@@ -3037,9 +3037,9 @@ u8 func0c02_outro[] = {
set_object_flag_bank2(OBJ_UFO1, OBJECTFLAG2_00000010)
object_do_animation(0x02d5, OBJ_UFO1, 0x04ff, 0xff)
set_chr_flag_bank3(0x2b, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(0x2b, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(0x2b, CHRFLAG2_00020000)
set_chr_chrflag(0x2b, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(0x2b, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(0x2b, CHRHFLAG_00020000)
animation(0x0304, -1, -1, 0x06, 0x00, 0x2b, 4)
open_door(0x2c)
@@ -3094,12 +3094,12 @@ u8 func0415_ufo_exit[] = {
set_object_flag_bank1(OBJ_UFO1, OBJECTFLAG1_04000000)
set_object_flag_bank2(OBJ_UFO1, OBJECTFLAG2_00000010)
object_do_animation(0x02d3, OBJ_UFO1, 0x04ff, 0xff)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_flag_bank3(CHR_ELVIS, CHRFLAG3_UNEXPLODABLE)
set_chr_flag_bank3(CHR_JONATHAN, CHRFLAG3_UNEXPLODABLE)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_ELVIS, CHRCFLAG_UNEXPLODABLE)
set_chr_chrflag(CHR_JONATHAN, CHRCFLAG_UNEXPLODABLE)
set_stage_flag(STAGEFLAG_UFO_LEAVING)
restart_timer
@@ -3149,8 +3149,8 @@ u8 func1021_jo_escaping[] = {
set_eeprom_flag(EEPROMFLAG_DEFENSE_JON)
set_music_track(MUSIC_ESCAPE_OUTRO_LONG)
camera_movement(0x02d4)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(0xf1, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_chr_chrflag(0xf1, CHRCFLAG_HIDDEN)
set_function(CHR_P1P2, GFUNC_IDLE)
show_object(OBJ_UFO1)
@@ -3158,9 +3158,9 @@ u8 func1021_jo_escaping[] = {
set_object_flag_bank2(OBJ_UFO1, OBJECTFLAG2_00000010)
object_do_animation(0x02d5, OBJ_UFO1, 0x04ff, 0xff)
set_chr_flag_bank3(CHR_P1P2, CHRFLAG3_UNPLAYABLE)
unset_chr_flag_bank3(CHR_P1P2, CHRFLAG3_HIDDEN)
set_chr_flag_bank2(CHR_P1P2, CHRFLAG2_00020000)
set_chr_chrflag(CHR_P1P2, CHRCFLAG_UNPLAYABLE)
unset_chr_chrflag(CHR_P1P2, CHRCFLAG_HIDDEN)
set_chr_hiddenflag(CHR_P1P2, CHRHFLAG_00020000)
animation(0x0304, -1, -1, 0x06, 0x00, CHR_P1P2, 4)
beginloop(0x09)
@@ -3198,10 +3198,10 @@ u8 func0416_spawn_during_follow[] = {
set_armor(40)
set_recovery_speed(0)
set_shield(0)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_00000002)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_00000002)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
beginloop(0x04)
if_chr_sees_player(/*goto*/ 0x32)
+22 -22
View File
@@ -1253,7 +1253,7 @@ u8 func0410_init_searching_guard[] = {
u8 func0412_init_cass[] = {
set_chr_health(CHR_SELF, 40)
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_01000000)
set_function(CHR_SELF, FUNC_CASS_IN_OFFICE)
endfunction
};
@@ -1272,7 +1272,7 @@ u8 func0411_cass_in_office[] = {
// Not dying
label(0x06)
if_has_gun(CHR_SELF, /*goto*/ 0x2c)
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_stage_flag(STAGEFLAG_TRIGGER_YWSM)
set_onshot_function(FUNC_CASS_RUNNING)
restart_timer
@@ -1286,14 +1286,14 @@ u8 func0411_cass_in_office[] = {
endloop(0x08)
label(0x06)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_function(CHR_SELF, FUNC_CASS_RUNNING)
// Waiting for player to enter office
label(0x2c)
if_self_flag_bankx_eq(CHRFLAG0_00002000, TRUE, BANK_0, /*goto*/ 0x5a)
set_onshot_function(FUNC_CASS_IN_OFFICE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
if_chr_dying(CHR_CASS, /*goto*/ 0x06)
if_chr_unloaded(CHR_CASS, /*goto*/ 0x06)
goto_next(0x2c)
@@ -1363,7 +1363,7 @@ u8 func0411_cass_in_office[] = {
u8 func0413_cass_running[] = {
remove_cass_necklace(CHR_CASS)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_onshot_function(FUNC_CASS_RUNNING)
if_chr_dying(CHR_CASS, /*goto*/ 0x06)
if_chr_death_animation_finished(CHR_CASS, /*goto*/ 0x06)
@@ -1518,7 +1518,7 @@ u8 func1006_lift_disabling[] = {
set_object_flag_bank0(OBJ_BLONDE_LIFT, OBJECTFLAG0_DEACTIVATED)
unlock_door(0x50, 0x40)
unset_object_flag_bank0(OBJ_CHIEF_LIFT, OBJECTFLAG0_DEACTIVATED)
unset_chr_flag_bank3(CHR_CHIEF, CHRFLAG3_HIDDEN)
unset_chr_chrflag(CHR_CHIEF, CHRCFLAG_HIDDEN)
set_function(CHR_CHIEF, FUNC_CHIEF)
message(CHR_BOND, 0x4a19) // "Lift has been disabled."
@@ -1555,7 +1555,7 @@ u8 func0414_init_chief[] = {
set_recovery_speed(0)
set_shield(0)
set_morale(0)
set_self_flag_bank3(CHRFLAG3_HIDDEN)
set_self_chrflag(CHRCFLAG_HIDDEN)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
@@ -1931,13 +1931,13 @@ u8 func0416_intro[] = {
set_object_flag_bank1(0x62, OBJECTFLAG1_INVISIBLE)
unset_object_flag_bank0(0x61, OBJECTFLAG0_00000100)
unset_object_flag_bank0(0x62, OBJECTFLAG0_00000100)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_INTRO)
camera_movement(0x0472)
cmd0175(60)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0473, -1, -1, 0x06, 0x00, CHR_BOND, 4)
restart_timer
fade_to_color(0x000000ff, 0)
@@ -1995,10 +1995,10 @@ u8 func0416_intro[] = {
set_object_flag_bank0(0x61, OBJECTFLAG0_00000100)
set_object_flag_bank0(0x62, OBJECTFLAG0_00000100)
mute_channel(CHANNEL_10)
unset_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
unset_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
unset_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
unset_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
animation(0x0473, -2, -1, 0x06, 0x00, CHR_BOND, 2)
restart_default_music
reset_ambience
@@ -2010,15 +2010,15 @@ u8 func0416_intro[] = {
u8 func0417_outro[] = {
set_invincible(CHR_BOND)
hide_object(OBJ_SHUTTLE1)
set_chr_flag_bank3(CHR_COOP, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_ANTI, CHRFLAG3_HIDDEN)
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_ANTI, CHRCFLAG_HIDDEN)
set_music_track(MUSIC_G5_OUTRO)
camera_movement(0x0474)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_UNPLAYABLE)
set_chr_flag_bank2(CHR_BOND, CHRFLAG2_00020000)
set_chr_flag_bank3(CHR_BOND, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_HIDDEN)
set_chr_flag_bank3(CHR_CASS, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_chr_chrflag(CHR_BOND, CHRCFLAG_UNPLAYABLE)
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_00020000)
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_CASS, CHRCFLAG_HIDDEN)
set_chr_chrflag(CHR_CASS, CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
show_object(OBJ_SHUTTLE2)
set_object_flag_bank1(OBJ_SHUTTLE2, OBJECTFLAG1_04000000)
set_object_flag_bank2(OBJ_SHUTTLE2, OBJECTFLAG2_00000010)
+16 -16
View File
@@ -19874,10 +19874,10 @@ void chrKneel(struct chrdata *chr)
chr->sleep = 0;
if (func0001db94(chr->unk020)) {
chr->hidden |= CHRFLAG2_00200000;
chr->hidden |= CHRHFLAG_00200000;
} else {
func0f02ed88(chr);
chr->hidden &= ~CHRFLAG2_00200000;
chr->hidden &= ~CHRHFLAG_00200000;
}
}
@@ -20533,10 +20533,10 @@ void chrSurrender(struct chrdata *chr)
chr->sleep = action;
if (func0001db94(chr->unk020)) {
chr->hidden |= CHRFLAG2_00200000;
chr->hidden |= CHRHFLAG_00200000;
} else {
func0f02f704(chr);
chr->hidden &= ~CHRFLAG2_00200000;
chr->hidden &= ~CHRHFLAG_00200000;
}
}
}
@@ -20761,10 +20761,10 @@ void chrSidestep(struct chrdata *chr, s32 arg1)
chr->sleep = 0;
if (func0001db94(chr->unk020)) {
chr->hidden |= CHRFLAG2_00200000;
chr->hidden |= CHRHFLAG_00200000;
} else {
func0f02f8a4(chr);
chr->hidden &= ~CHRFLAG2_00200000;
chr->hidden &= ~CHRHFLAG_00200000;
}
}
@@ -20880,10 +20880,10 @@ void chrJumpOut(struct chrdata *chr, s32 arg1)
chr->sleep = 0;
if (func0001db94(chr->unk020)) {
chr->hidden |= CHRFLAG2_00200000;
chr->hidden |= CHRHFLAG_00200000;
} else {
func0f02fc2c(chr);
chr->hidden &= ~CHRFLAG2_00200000;
chr->hidden &= ~CHRHFLAG_00200000;
}
}
@@ -31618,7 +31618,7 @@ void chrSaveLastSeeTarget(struct chrdata *chr)
void chrSaveLastHearTarget(struct chrdata *chr)
{
chr->hidden |= CHRFLAG2_00000002;
chr->hidden |= CHRHFLAG_00000002;
chr->lastheartarget60 = g_Vars.unk000008;
}
@@ -33096,7 +33096,7 @@ bool chrGoToTarget(struct chrdata *chr, u32 speed)
{
if (func0f039a18(chr)) {
if (var80062cbc <= 8 ||
(chr->hidden & CHRFLAG2_00400000) == 0 ||
(chr->hidden & CHRHFLAG_00400000) == 0 ||
(chr->flags & CHRFLAG0_CAN_RUN_FOR_ALARM)) {
struct position *pos = chrGetTargetPosition(chr);
@@ -33113,7 +33113,7 @@ bool chrGoToChr(struct chrdata *chr, u32 dst_chrnum, u32 speed)
{
if (func0f039a18(chr)) {
if (var80062cbc <= 8 ||
(chr->hidden & CHRFLAG2_00400000) == 0 ||
(chr->hidden & CHRHFLAG_00400000) == 0 ||
(chr->flags & CHRFLAG0_CAN_RUN_FOR_ALARM)) {
struct chrdata *dstchr = chrFindById(chr, dst_chrnum);
@@ -35095,9 +35095,9 @@ void func0f03c8b4(struct chrdata *chr)
{
chr->sleep = 0;
if ((chr->hidden & CHRFLAG2_00200000) && func0001db94(chr->unk020) == 0) {
if ((chr->hidden & CHRHFLAG_00200000) && func0001db94(chr->unk020) == 0) {
func0f02ed88(chr);
chr->hidden &= ~CHRFLAG2_00200000;
chr->hidden &= ~CHRHFLAG_00200000;
}
}
@@ -50106,7 +50106,7 @@ bool chrHasHiddenFlag00000002(struct chrdata *chr)
void chrRestartTimer(struct chrdata *chr)
{
chr->timer60 = 0;
chr->hidden |= CHRFLAG2_TIMER_RUNNING;
chr->hidden |= CHRHFLAG_TIMER_RUNNING;
}
GLOBAL_ASM(
@@ -53858,11 +53858,11 @@ glabel func0f04d000
bool func0f04d44c(struct chrdata *chr)
{
s32 val = func0001d13c(chr->unk020);
chr->chrflags &= ~CHRFLAG3_10000000;
chr->chrflags &= ~CHRCFLAG_10000000;
// Possible @bug or just sloppy code: The flag check below can never pass
// because that flag was just turned off above.
if (val == 100 || val == 101 || val == 102 || val == 103 || (chr->chrflags & CHRFLAG3_10000000)) {
if (val == 100 || val == 101 || val == 102 || val == 103 || (chr->chrflags & CHRCFLAG_10000000)) {
return true;
}
+12 -12
View File
@@ -1790,7 +1790,7 @@ bool ai0045(void)
*/
bool aiIfNeverBeenOnScreen(void)
{
if ((g_Vars.chrdata->chrflags & CHRFLAG3_NEVER_BEEN_ON_SCREEN) == 0) {
if ((g_Vars.chrdata->chrflags & CHRCFLAG_NEVER_BEEN_ON_SCREEN) == 0) {
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]);
} else {
@@ -4151,8 +4151,8 @@ bool aiIfInjured(void)
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
if (chr && (chr->chrflags & CHRFLAG3_JUST_INJURED)) {
chr->chrflags &= ~CHRFLAG3_JUST_INJURED;
if (chr && (chr->chrflags & CHRCFLAG_JUST_INJURED)) {
chr->chrflags &= ~CHRCFLAG_JUST_INJURED;
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]);
} else {
g_Vars.aioffset = g_Vars.aioffset + 4;
@@ -4169,8 +4169,8 @@ bool ai0168(void)
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
if (chr && (chr->chrflags & CHRFLAG3_02000000)) {
chr->chrflags &= ~CHRFLAG3_02000000;
if (chr && (chr->chrflags & CHRCFLAG_02000000)) {
chr->chrflags &= ~CHRCFLAG_02000000;
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]);
} else {
g_Vars.aioffset = g_Vars.aioffset + 4;
@@ -5400,7 +5400,7 @@ bool aiResetTimer(void)
*/
bool aiPauseTimer(void)
{
g_Vars.chrdata->hidden &= ~CHRFLAG2_TIMER_RUNNING;
g_Vars.chrdata->hidden &= ~CHRHFLAG_TIMER_RUNNING;
g_Vars.aioffset += 2;
return false;
@@ -5411,7 +5411,7 @@ bool aiPauseTimer(void)
*/
bool aiResumeTimer(void)
{
g_Vars.chrdata->hidden |= CHRFLAG2_TIMER_RUNNING;
g_Vars.chrdata->hidden |= CHRHFLAG_TIMER_RUNNING;
g_Vars.aioffset += 2;
return false;
@@ -5424,7 +5424,7 @@ bool aiIfTimerStopped(void)
{
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
if ((g_Vars.chrdata->hidden & CHRFLAG2_TIMER_RUNNING) == 0) {
if ((g_Vars.chrdata->hidden & CHRHFLAG_TIMER_RUNNING) == 0) {
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]);
} else {
g_Vars.aioffset += 3;
@@ -8578,8 +8578,8 @@ bool aiSetTarget(void)
g_Vars.chrdata->lastvisibletarg = 0;
g_Vars.chrdata->lastseetarget60 = 0;
g_Vars.chrdata->lastheartarget60 = 0;
g_Vars.chrdata->hidden &= ~CHRFLAG2_00000002;
g_Vars.chrdata->chrflags &= ~CHRFLAG3_00000004;
g_Vars.chrdata->hidden &= ~CHRHFLAG_00000002;
g_Vars.chrdata->chrflags &= ~CHRCFLAG_00000004;
g_Vars.chrdata->target = prop_id;
}
} else if (g_Vars.hovdata) {
@@ -11873,8 +11873,8 @@ bool aiIfChrInjured(void)
u8 *cmd = g_Vars.ailist + g_Vars.aioffset;
struct chrdata *chr = chrFindById(g_Vars.chrdata, cmd[2]);
if (chr && (chr->chrflags & CHRFLAG3_INJURED)) {
chr->chrflags &= ~CHRFLAG3_INJURED;
if (chr && (chr->chrflags & CHRCFLAG_INJURED)) {
chr->chrflags &= ~CHRCFLAG_INJURED;
g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[3]);
} else {
g_Vars.aioffset += 4;
+10 -10
View File
@@ -707,7 +707,7 @@
mkword(flag), \
bank,
#define if_chr_flag_bankx(chr, flag, bank, label) \
#define if_chr_has_flag_bankx(chr, flag, bank, label) \
mkshort(0x00a0), \
chr, \
mkword(flag), \
@@ -728,30 +728,30 @@
bool, \
label,
#define set_self_flag_bank3(chrflag3) \
#define set_self_chrflag(chrflag3) \
mkshort(0x00a4), \
mkword(chrflag3),
#define unset_self_flag_bank3(chrflag3) \
#define unset_self_chrflag(chrflag3) \
mkshort(0x00a5), \
mkword(chrflag3),
#define if_self_flag_bank3(chrflag3, label) \
#define if_self_has_chrflag(chrflag3, label) \
mkshort(0x00a6), \
mkword(chrflag3), \
label,
#define set_chr_flag_bank3(chr, chrflag3) \
#define set_chr_chrflag(chr, chrflag3) \
mkshort(0x00a7), \
chr, \
mkword(chrflag3),
#define unset_chr_flag_bank3(chr, chrflag3) \
#define unset_chr_chrflag(chr, chrflag3) \
mkshort(0x00a8), \
chr, \
mkword(chrflag3),
#define if_chr_flag_bank3(chr, chrflag3, label) \
#define if_chr_has_chrflag(chr, chrflag3, label) \
mkshort(0x00a9), \
chr, \
mkword(chrflag3), \
@@ -1162,17 +1162,17 @@
mkword(objectflag2), \
label,
#define set_chr_flag_bank2(chr, chrflag2) \
#define set_chr_hiddenflag(chr, chrflag2) \
mkshort(0x011b), \
chr, \
mkword(chrflag2),
#define unset_chr_flag_bank2(chr, chrflag2) \
#define unset_chr_hiddenflag(chr, chrflag2) \
mkshort(0x011c), \
chr, \
mkword(chrflag2),
#define if_chr_flag_bank2(chr, chrflag2, label) \
#define if_chr_has_hiddenflag(chr, chrflag2, label) \
mkshort(0x011d), \
chr, \
mkword(chrflag2), \
+68 -68
View File
@@ -109,7 +109,7 @@
#define CHR_PRESET 0xfc
#define CHR_SELF 0xfd
// Character flags - bank 0 (chr struct offset 0x114 - chr->flags)
// chr->flags
#define CHRFLAG0_CANT_ALERT_GROUP 0x00000001 // Don't set group alertness when becoming aware
#define CHRFLAG0_00000002 0x00000002 // Not used in scripts
#define CHRFLAG0_00000004 0x00000004 // Can search for player when heard?
@@ -143,7 +143,7 @@
#define CHRFLAG0_NOHEAR 0x40000000 // Globals, Villa
#define CHRFLAG0_80000000 0x80000000 // Globals, Villa, Chicago, CI Training
// Character flags - bank 1 (chr struct offset 0x118 - chr->flags2)
// chr->flags2
#define CHRFLAG1_00000001 0x00000001 // Globals, Extraction, Air Base, Deep Sea
#define CHRFLAG1_00000002 0x00000002 // Globals
#define CHRFLAG1_00000004 0x00000004 // Globals - If set, avoids cmd0184
@@ -177,73 +177,73 @@
#define CHRFLAG1_40000000 0x40000000 // Globals
#define CHRFLAG1_80000000 0x80000000 // Globals
// Character flags - bank 2 (chr struct offset 0x14 - chr->hidden)
#define CHRFLAG2_00000001 0x00000001 // Not used in scripts - sunglasses?
#define CHRFLAG2_00000002 0x00000002 // Not used in scripts
#define CHRFLAG2_00000004 0x00000004 // Not used in scripts
#define CHRFLAG2_00000008 0x00000008 // Not used in scripts
#define CHRFLAG2_00000010 0x00000010 // Not used in scripts
#define CHRFLAG2_00000020 0x00000020 // Not used in scripts
#define CHRFLAG2_TIMER_RUNNING 0x00000040
#define CHRFLAG2_00000080 0x00000080 // Not used in scripts
#define CHRFLAG2_00000100 0x00000100 // Not used in scripts
#define CHRFLAG2_00000200 0x00000200 // Not used in scripts
#define CHRFLAG2_00000400 0x00000400 // Related to coop buddy? Also used in Chicago
#define CHRFLAG2_KEEP_CORPSE 0x00000800
#define CHRFLAG2_BUDDY_PLACED 0x00001000
#define CHRFLAG2_00002000 0x00002000 // Globals, Rescue guards once disguised
#define CHRFLAG2_TRIGGER_BUDDY_WARP 0x00004000
#define CHRFLAG2_00008000 0x00008000 // Duel only. Set on each opponent when they start combat.
#define CHRFLAG2_DISGUISE_UNCOVERED 0x00010000
#define CHRFLAG2_00020000 0x00020000 // Used in every stage, on Jo and other chrs. Only ever set, never unset or read.
#define CHRFLAG2_00040000 0x00040000 // Not used in scripts
#define CHRFLAG2_DISGUISED 0x00080000
#define CHRFLAG2_00100000 0x00100000 // Set before warping to pad, never unset or read
#define CHRFLAG2_00200000 0x00200000 // Not used in scripts
#define CHRFLAG2_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR
#define CHRFLAG2_00800000 0x00800000 // Not used in scripts
#define CHRFLAG2_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?")
#define CHRFLAG2_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set
#define CHRFLAG2_04000000 0x04000000 // Related to disguise and detection
#define CHRFLAG2_08000000 0x08000000 // Globals, Villa and G5
#define CHRFLAG2_10000000 0x10000000 // Related to invincible flag
#define CHRFLAG2_CLOAKED 0x20000000
#define CHRFLAG2_40000000 0x40000000 // Air Base and AF1
#define CHRFLAG2_PSYCHOSISED 0x80000000
// chr->hidden
#define CHRHFLAG_00000001 0x00000001 // Not used in scripts - sunglasses?
#define CHRHFLAG_00000002 0x00000002 // Not used in scripts
#define CHRHFLAG_00000004 0x00000004 // Not used in scripts
#define CHRHFLAG_00000008 0x00000008 // Not used in scripts
#define CHRHFLAG_00000010 0x00000010 // Not used in scripts
#define CHRHFLAG_00000020 0x00000020 // Not used in scripts
#define CHRHFLAG_TIMER_RUNNING 0x00000040
#define CHRHFLAG_00000080 0x00000080 // Not used in scripts
#define CHRHFLAG_00000100 0x00000100 // Not used in scripts
#define CHRHFLAG_00000200 0x00000200 // Not used in scripts
#define CHRHFLAG_00000400 0x00000400 // Related to coop buddy? Also used in Chicago
#define CHRHFLAG_KEEP_CORPSE 0x00000800
#define CHRHFLAG_BUDDY_PLACED 0x00001000
#define CHRHFLAG_00002000 0x00002000 // Globals, Rescue guards once disguised
#define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000
#define CHRHFLAG_00008000 0x00008000 // Duel only. Set on each opponent when they start combat.
#define CHRHFLAG_DISGUISE_UNCOVERED 0x00010000
#define CHRHFLAG_00020000 0x00020000 // Used in every stage, on Jo and other chrs. Only ever set, never unset or read.
#define CHRHFLAG_00040000 0x00040000 // Not used in scripts
#define CHRHFLAG_DISGUISED 0x00080000
#define CHRHFLAG_00100000 0x00100000 // Set before warping to pad, never unset or read
#define CHRHFLAG_00200000 0x00200000 // Not used in scripts
#define CHRHFLAG_00400000 0x00400000 // Set in Chicago, G5, AF1, Defense, Attack Ship, Skedar Ruins, Maian SOS, WAR
#define CHRHFLAG_00800000 0x00800000 // Not used in scripts
#define CHRHFLAG_01000000 0x01000000 // Globals - asked about gun (eg. "where did you get that?")
#define CHRHFLAG_02000000 0x02000000 // Similar to DISGUISED flag, but not sure where set
#define CHRHFLAG_04000000 0x04000000 // Related to disguise and detection
#define CHRHFLAG_08000000 0x08000000 // Globals, Villa and G5
#define CHRHFLAG_10000000 0x10000000 // Related to invincible flag
#define CHRHFLAG_CLOAKED 0x20000000
#define CHRHFLAG_40000000 0x40000000 // Air Base and AF1
#define CHRHFLAG_PSYCHOSISED 0x80000000
// Character flags - bank 3 (chr struct offset 0x18 - chr->chrflags)
#define CHRFLAG3_00000001 0x00000001 // Villa takers, Attack Ship Cass and skedar - both set at end of intros
#define CHRFLAG3_00000002 0x00000002 // Seems to be set on guards who can spawn clones?
#define CHRFLAG3_00000004 0x00000004 // Not used in scripts
#define CHRFLAG3_NEVER_BEEN_ON_SCREEN 0x00000008
#define CHRFLAG3_INVINCIBLE_TO_GUNFIRE 0x00000010
#define CHRFLAG3_00000020 0x00000020 // Chicago, Infiltration, AF1, Ruins, WAR
#define CHRFLAG3_00000040 0x00000040 // Used quite a lot
#define CHRFLAG3_00000080 0x00000080 // Defection programmer, Rescue lab techs, globals when doing idle animation
#define CHRFLAG3_JUST_INJURED 0x00000100
#define CHRFLAG3_00000200 0x00000200 // Set on clones
#define CHRFLAG3_HIDDEN 0x00000400
#define CHRFLAG3_NOAUTOAIM 0x00000800
#define CHRFLAG3_UNEXPLODABLE 0x00001000
#define CHRFLAG3_00002000 0x00002000 // Not used in scripts
#define CHRFLAG3_HAS_SPECIAL_DEATH_ANIMATION 0x00004000
#define CHRFLAG3_00008000 0x00008000 // Not used in scripts
#define CHRFLAG3_00010000 0x00010000 // Related to dead people in intro cutscenes
#define CHRFLAG3_00020000 0x00020000 // Chicago, Crash Site, Deep Sea, Defense, Ruins
#define CHRFLAG3_00040000 0x00040000 // Used a lot
#define CHRFLAG3_00080000 0x00080000
#define CHRFLAG3_KILLCOUNTABLE 0x00100000
#define CHRFLAG3_00200000 0x00200000 // Unset by cmd 00fd
#define CHRFLAG3_00400000 0x00400000 // Not used in scripts
#define CHRFLAG3_UNPLAYABLE 0x00800000
#define CHRFLAG3_01000000 0x01000000 // Typically set on allies during init
#define CHRFLAG3_02000000 0x02000000 // can be unset by cmd0168
#define CHRFLAG3_04000000 0x04000000 // Set by aiChrKill command
#define CHRFLAG3_08000000 0x08000000 // Not used in scripts
#define CHRFLAG3_10000000 0x10000000 // Not used in scripts
#define CHRFLAG3_20000000 0x20000000 // Not used in scripts
#define CHRFLAG3_40000000 0x40000000 // Not used in scripts
#define CHRFLAG3_INJURED 0x80000000
// chr->chrflags
#define CHRCFLAG_00000001 0x00000001 // Villa takers, Attack Ship Cass and skedar - both set at end of intros
#define CHRCFLAG_00000002 0x00000002 // Seems to be set on guards who can spawn clones?
#define CHRCFLAG_00000004 0x00000004 // Not used in scripts
#define CHRCFLAG_NEVER_BEEN_ON_SCREEN 0x00000008
#define CHRCFLAG_INVINCIBLE_TO_GUNFIRE 0x00000010
#define CHRCFLAG_00000020 0x00000020 // Chicago, Infiltration, AF1, Ruins, WAR
#define CHRCFLAG_00000040 0x00000040 // Used quite a lot
#define CHRCFLAG_00000080 0x00000080 // Defection programmer, Rescue lab techs, globals when doing idle animation
#define CHRCFLAG_JUST_INJURED 0x00000100
#define CHRCFLAG_00000200 0x00000200 // Set on clones
#define CHRCFLAG_HIDDEN 0x00000400
#define CHRCFLAG_NOAUTOAIM 0x00000800
#define CHRCFLAG_UNEXPLODABLE 0x00001000
#define CHRCFLAG_00002000 0x00002000 // Not used in scripts
#define CHRCFLAG_HAS_SPECIAL_DEATH_ANIMATION 0x00004000
#define CHRCFLAG_00008000 0x00008000 // Not used in scripts
#define CHRCFLAG_00010000 0x00010000 // Related to dead people in intro cutscenes
#define CHRCFLAG_00020000 0x00020000 // Chicago, Crash Site, Deep Sea, Defense, Ruins
#define CHRCFLAG_00040000 0x00040000 // Used a lot
#define CHRCFLAG_00080000 0x00080000
#define CHRCFLAG_KILLCOUNTABLE 0x00100000
#define CHRCFLAG_00200000 0x00200000 // Unset by cmd 00fd
#define CHRCFLAG_00400000 0x00400000 // Not used in scripts
#define CHRCFLAG_UNPLAYABLE 0x00800000
#define CHRCFLAG_01000000 0x01000000 // Typically set on allies during init
#define CHRCFLAG_02000000 0x02000000 // can be unset by cmd0168
#define CHRCFLAG_04000000 0x04000000 // Set by aiChrKill command
#define CHRCFLAG_08000000 0x08000000 // Not used in scripts
#define CHRCFLAG_10000000 0x10000000 // Not used in scripts
#define CHRCFLAG_20000000 0x20000000 // Not used in scripts
#define CHRCFLAG_40000000 0x40000000 // Not used in scripts
#define CHRCFLAG_INJURED 0x80000000
#define CMD_LABEL 0x0002
#define CMD_END 0x0004
+122 -122
View File
@@ -53,7 +53,7 @@ u8 func0006_unalerted[] = {
#define LABEL_HEARD_ALARM 0x23
#define LABEL_HEARSPAWN 0xda
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
@@ -105,16 +105,16 @@ u8 func0006_unalerted[] = {
label(0x06)
dprint 'B','E','E','N',' ','S','H','O','T','\n',0,
// if 01000000, set 04000000
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0x14)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0x14)
goto_next(0x13)
label(0x14)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_04000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_04000000)
// Stop chr, either immediately or by waiting for their animation to end.
// I think the animation is their injured animation.
label(0x13)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
if_chr_idle(/*goto*/ 0x13)
goto_next(0x03)
@@ -289,9 +289,9 @@ u8 func0006_unalerted[] = {
// Handle seeing player
label(LABEL_SEE_DETECT)
dprint 'S','E','E',' ','D','E','T','E','C','T','\n',0,
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISE_UNCOVERED, /*goto*/ LABEL_DISGUISE_UNCOVERED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISE_UNCOVERED, /*goto*/ LABEL_DISGUISE_UNCOVERED)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0x14)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0x14)
goto_next(0x13)
label(0x14)
@@ -301,13 +301,13 @@ u8 func0006_unalerted[] = {
if_chr_weapon_equipped(CHR_TARGET, WEAPON_HORIZONSCANNER, /*goto*/ 0x15)
if_chr_weapon_equipped(CHR_TARGET, WEAPON_SUITCASE, /*goto*/ 0x15)
if_chr_in_view(/*goto*/ LABEL_DISGUISE_UNCOVERED)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_04000000, /*goto*/ LABEL_DISGUISE_UNCOVERED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_04000000, /*goto*/ LABEL_DISGUISE_UNCOVERED)
label(0x15)
dprint 'N','O','T',' ','A','I','M','I','N','G',' ','A','T',' ','M','E','\n',0,
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
goto_next(LABEL_DISGUISE_UNCOVERED)
label(0x13)
@@ -323,8 +323,8 @@ u8 func0006_unalerted[] = {
goto_next(0xea)
label(0x14)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0xe8)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0xe8)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0xe8)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0xe8)
label(0xea)
if_chr_weapon_equipped(CHR_TARGET, WEAPON_NONE, /*goto*/ 0xe6)
@@ -363,7 +363,7 @@ u8 func0006_unalerted[] = {
if_near_miss(/*goto*/ 0x16)
if_self_flag_bankx_eq(CHRFLAG0_UNSURPRISABLE, TRUE, BANK_0, /*goto*/ 0x94)
label(0x16)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x14)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x14)
if_any_chr_doing_action(MA_GOTOALARM, /*goto*/ 0x16)
if_self_flag_bankx_eq(CHRFLAG0_CAN_RUN_FOR_ALARM, TRUE, BANK_0, /*goto*/ 0x9f)
label(0x16)
@@ -389,7 +389,7 @@ u8 func0006_unalerted[] = {
label(0x94)
label(0x16)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED)
dprint 'S','U','R','P','R','I','S','E','D','!','\n',0,
say_quip(CHR_BOND, 0x12, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "What the?!","Who the?!"
restart_timer
@@ -488,11 +488,11 @@ u8 func0006_unalerted[] = {
goto_next(0x16)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
goto_next(0x94)
label(0x16)
@@ -502,11 +502,11 @@ u8 func0006_unalerted[] = {
goto_next(0x16)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
goto_next(0x94)
label(0x16)
@@ -579,13 +579,13 @@ u8 func0006_unalerted[] = {
// Heard gunfire
label(0x16)
set_alertness(100)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
goto_first(LABEL_SCAN_START)
// Saw player
label(0x17)
set_alertness(100)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
goto_first(LABEL_SCAN_START)
// Examination finished
@@ -597,7 +597,7 @@ u8 func0006_unalerted[] = {
label(0x13)
set_alertness(100)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
goto_first(0xdb)
// Can't see Jonna
@@ -609,7 +609,7 @@ u8 func0006_unalerted[] = {
label(0x13)
set_alertness(100)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
goto_first(0xdb)
label(0x16)
@@ -780,8 +780,8 @@ u8 unregistered_function1[] = {
};
u8 func0008_wakeup[] = {
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
goto_next(0x16)
// Psychosised
@@ -853,8 +853,8 @@ u8 func0007_alerted[] = {
#define LABEL_SNIPE 0xde
#define LABEL_FLEE_GRENADE 0xe4
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_PSYCHOSISED)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_PSYCHOSISED)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
@@ -1066,8 +1066,8 @@ u8 func0007_alerted[] = {
label(0x1b)
yield
label(0x16)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000, /*goto*/ 0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00002000, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x01)
label(0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ LABEL_TRACK)
dprint 'C','H','E','C','K','I','N','J','U','R','Y','E','N','D','\n',0,
@@ -1080,7 +1080,7 @@ u8 func0007_alerted[] = {
// No need to warn
label(0x16)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
goto_next(0x16)
// Unreachable - nothing jumps here
@@ -1169,7 +1169,7 @@ u8 func0007_alerted[] = {
label(0x16)
dprint 'A','T',' ','T','R','A','P',' ','P','A','D','\n',0,
label(0x9b)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x03)
beginloop(0x03)
@@ -1261,7 +1261,7 @@ u8 func0007_alerted[] = {
label(0xa7)
dprint 'U','N','D','E','R',' ','P','O','P','P','E','R','\n',0,
label(0xa8)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0xa9)
beginloop(0xa9)
@@ -1298,7 +1298,7 @@ u8 func0007_alerted[] = {
endloop(0xab)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x13)
goto_first(0xa8)
@@ -1370,7 +1370,7 @@ u8 func0007_alerted[] = {
label(0x13)
restart_timer
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
cmd01ba(0x0022, 0x0000, /*goto*/ 0xdf)
beginloop(0xdf)
@@ -1497,7 +1497,7 @@ u8 func0007_alerted[] = {
beginloop(0x55)
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -1526,7 +1526,7 @@ u8 func0007_alerted[] = {
set_action(MA_COVERWAIT, TRUE)
unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1)
unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x59)
beginloop(0x59)
@@ -1614,7 +1614,7 @@ u8 func0007_alerted[] = {
if_in_disarm_range(/*goto*/ 0x26)
goto_next(0x87)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -1635,7 +1635,7 @@ u8 func0007_alerted[] = {
goto_next(0x48)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
call_rng
if_rand_lt(10, /*goto*/ 0x57)
if_rand_gt(64, /*goto*/ 0x16)
@@ -1772,7 +1772,7 @@ u8 func0007_alerted[] = {
beginloop(0x30)
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -1904,7 +1904,7 @@ u8 func0007_alerted[] = {
set_action(MA_WAITING, TRUE)
unset_self_flag_bankx(CHRFLAG1_00040000, BANK_1)
unset_self_flag_bankx(CHRFLAG1_00020000, BANK_1)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
try_chr_kneel_and_shoot_thing(0x0220, 0x0000, /*goto*/ 0x40)
beginloop(0x40)
@@ -1964,7 +1964,7 @@ u8 func0007_alerted[] = {
endloop(0x89)
label(0x8a)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -1985,7 +1985,7 @@ u8 func0007_alerted[] = {
goto_first(0x48)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
call_rng
if_rand_lt(10, /*goto*/ 0x57)
if_rand_gt(64, /*goto*/ 0x16)
@@ -2085,7 +2085,7 @@ u8 func0007_alerted[] = {
endloop(0x4f)
label(0x50)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -2102,7 +2102,7 @@ u8 func0007_alerted[] = {
label(0x13)
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
goto_next(0x16)
label(0x13)
@@ -2158,11 +2158,11 @@ u8 func0007_alerted[] = {
try_run_to_target_chr(/*goto*/ 0x35)
beginloop(0x35)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000, /*goto*/ 0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x01)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00002000, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x01)
label(0x13)
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -2269,7 +2269,7 @@ u8 func0007_alerted[] = {
beginloop(0x85)
cmd013d_if_grenade_thrown_nearby_maybe(MA_GRENADEWAIT, /*goto*/ LABEL_FLEE_GRENADE)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -2294,7 +2294,7 @@ u8 func0007_alerted[] = {
label(0x26)
dprint 'I','C','A','N','S','E',' ','P','L','A','Y','E','R','\n',0,
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_self_flag_bankx_eq(CHRFLAG1_00001000, TRUE, BANK_1, /*goto*/ 0x13)
if_self_flag_bankx_eq(CHRFLAG1_00000001, TRUE, BANK_1, /*goto*/ 0x16)
if_chr_distance_lt(120, /*goto*/ 0x16)
@@ -2321,7 +2321,7 @@ u8 func0007_alerted[] = {
goto_first(0x48)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ LABEL_CLOAKED)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ LABEL_CLOAKED)
call_rng
if_rand_lt(10, /*goto*/ 0x57)
if_rand_gt(64, /*goto*/ 0x16)
@@ -2607,7 +2607,7 @@ u8 func0007_alerted[] = {
set_function(CHR_SELF, GFUNC_SEARCH_FOR_PLAYER)
label(0x01)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00002000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00002000)
stop_chr
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x16)
if_chr_dying(CHR_SELF, /*goto*/ 0x16)
@@ -2627,15 +2627,15 @@ u8 func0007_alerted[] = {
};
u8 func000a_do_idle_animation[] = {
set_chr_flag_bank3(CHR_SELF, CHRFLAG3_00000080)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
set_chr_chrflag(CHR_SELF, CHRCFLAG_00000080)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
if_chr_idle_action_eq(IDLEACTION_SITTING_TYPING, /*goto*/ 0x16)
if_chr_idle_action_eq(IDLEACTION_SITTING_DORMANT, /*goto*/ 0x16)
goto_next(0x13)
label(0x16)
set_chr_health(CHR_SELF, 1)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_TRIGGER_BUDDY_WARP)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_TRIGGER_BUDDY_WARP)
label(0x13)
set_onshot_function(GFUNC_UNALERTED)
@@ -2891,7 +2891,7 @@ u8 func000c_combat_with_target_chr[] = {
// Co-op with friend or counter-op on any of the above stages
// Or follow through if chr still has target
label(0x16)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
dprint 'D','E','T','E','C','T','\n',0,
if_chr_dying(CHR_SELF, /*goto*/ 0x16)
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x16)
@@ -2950,7 +2950,7 @@ u8 func000c_combat_with_target_chr[] = {
dprint 'D','E','T','E','C','T','3','\n',0,
label(0xb2)
yield
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13)
unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
goto_next(0x16)
@@ -2962,7 +2962,7 @@ u8 func000c_combat_with_target_chr[] = {
dprint 'A','L','E','R','T','\n',0,
if_enemy_distance_lt_and_los(2540, /*goto*/ 0xb3)
if_chr_is_skedar(CHR_SELF, /*goto*/ 0x16)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
@@ -3107,7 +3107,7 @@ u8 func000c_combat_with_target_chr[] = {
goto_next(0xc0)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x13)
if_in_disarm_range(/*goto*/ 0xbf)
label(0x13)
if_timer_gt(120, /*goto*/ 0xc0)
@@ -3121,7 +3121,7 @@ u8 func000c_combat_with_target_chr[] = {
label(0xb6)
set_grenade_probability_out_of_255(255)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
if_chr_dying(CHR_TARGET, /*goto*/ 0xc1)
if_chr_death_animation_finished(CHR_TARGET, /*goto*/ 0xc1)
if_chr_unloaded(CHR_TARGET, /*goto*/ 0xc1)
@@ -3319,7 +3319,7 @@ u8 func000c_combat_with_target_chr[] = {
label(0x13)
if_enemy_distance_lt_and_los(400, /*goto*/ 0x15)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_CLOAKED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_CLOAKED, /*goto*/ 0x13)
if_in_disarm_range(/*goto*/ 0xca)
label(0x13)
if_timer_gt(200, /*goto*/ 0x16)
@@ -3715,11 +3715,11 @@ u8 func001a_maybe_unset_disspee[] = {
// then they must not have a gun equipped.
label(0x00)
yield
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x14)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x14)
goto_next(0x13)
label(0x14)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000, /*goto*/ 0xe8)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_02000000, /*goto*/ 0xe8)
goto_next(0x13)
label(0xe8)
@@ -3960,7 +3960,7 @@ u8 func000f_hand_combat[] = {
* The chr will make one comment, then it returns to the previous function.
*/
u8 func0010_civilian_say_comment[] = {
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_chrflag(CHRCFLAG_00040000)
set_onshot_function(GFUNC_SURPRISED)
label(0x0c)
yield
@@ -4000,7 +4000,7 @@ u8 func0010_civilian_say_comment[] = {
// Unarmed
label(0x07)
restart_timer
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_01000000, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_01000000, /*goto*/ 0x13)
do_special_animation(-1)
say_quip(CHR_BOND, 0x1d, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "How's things?","Hey there","Hi, how are you?"
yield
@@ -4012,13 +4012,13 @@ u8 func0010_civilian_say_comment[] = {
set_self_flag_bankx(CHRFLAG1_DISSPEE, BANK_1)
label(0x13)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_01000000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_01000000)
return
// Armed
label(0x05)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000, /*goto*/ 0x06)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_01000000)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_01000000, /*goto*/ 0x06)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_01000000)
say_quip(CHR_BOND, 0x1e, 0xff, 0x02, 0xff, BANK_0, 0x00, 0x00) // "Where did you get that?","Should you have that?","What are you doing with that weapon?"
do_special_animation(6)
restart_timer
@@ -4038,7 +4038,7 @@ u8 func0010_civilian_say_comment[] = {
return
label(0x13)
set_chr_flag_bank2(CHR_TARGET, CHRFLAG2_02000000)
set_chr_hiddenflag(CHR_TARGET, CHRHFLAG_02000000)
dprint 'D','O','N','T',' ','P','O','I','N','T','\n',0,
say_quip(CHR_BOND, 0x1f, 0xff, 0x03, 0xff, BANK_0, 0x00, 0x00) // "Don't point that at me","Watch where you're pointing that"
do_special_animation(-1)
@@ -4219,7 +4219,7 @@ u8 func001b_observe_camspy[] = {
// Shoot camspy
label(0x09)
set_self_flag_bank3(CHRFLAG3_00000040)
set_self_chrflag(CHRCFLAG_00000040)
try_aim_and_shoot_thing1(0x0220, 0x0000, /*goto*/ 0x16)
label(0x16)
try_aim_and_shoot_thing2(0x0200, 0x0000, /*goto*/ 0xc3)
@@ -4414,7 +4414,7 @@ u8 func001d_search_for_player[] = {
label(0x28)
dprint 'E','Y','E',' ','S','P','Y','\n',0,
label(0x12)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
@@ -4434,7 +4434,7 @@ u8 func001d_search_for_player[] = {
goto_first(0x05)
label(0xc3)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
@@ -4565,11 +4565,11 @@ u8 func001f_related_to_spawning[] = {
* Not used?
*/
u8 func0012_init_coop_100[] = {
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
set_self_flag_bank3(CHRFLAG3_00040000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_team(CHR_SELF, TEAM_ALLY)
set_self_flag_bank3(CHRFLAG3_01000000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED)
set_self_chrflag(CHRCFLAG_01000000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED)
set_alertness(100)
set_follow_chr(CHR_BOND)
yield
@@ -4639,11 +4639,11 @@ u8 func0012_init_coop_100[] = {
* Not used?
*/
u8 func0013_init_coop_200[] = {
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00000400)
set_chr_team(CHR_SELF, TEAM_ALLY)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_01000000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_01000000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED)
set_alertness(200)
yield
yield
@@ -4654,7 +4654,7 @@ u8 func0013_init_coop_200[] = {
yield
yield
yield
set_self_flag_bank3(CHRFLAG3_00080000)
set_self_chrflag(CHRCFLAG_00080000)
// Wait for intro to finish
beginloop(0x03)
@@ -4698,7 +4698,7 @@ u8 func0014_coop_buddy[] = {
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)
set_onshot_function(GFUNC_COOP_BUDDY)
dprint 'B','A','C','K',' ','T','O',' ','B','U','D','D','Y','\n',0,
unset_self_flag_bank3(CHRFLAG3_00040000)
unset_self_chrflag(CHRCFLAG_00040000)
set_self_flag_bankx(CHRFLAG1_00100000, BANK_1)
set_morale(0)
set_onshot_function(GFUNC_COOP_BUDDY)
@@ -4724,12 +4724,12 @@ u8 func0014_coop_buddy[] = {
dprint 'B','U','D','D','Y',' ','W','O','U','N','D','\n',0,
beginloop(0xf2)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
goto_next(0x15)
label(0x13)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x15)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x15)
goto_next(LABEL_PLACE_BUDDY)
label(0x15)
@@ -4738,14 +4738,14 @@ u8 func0014_coop_buddy[] = {
// Healthy
label(0x16)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13)
unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
goto_next(0x16)
label(0x13)
set_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
label(0x16)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00000400, /*goto*/ 0xdc)
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
label(0xdc)
set_target_chr(CHR_BOND)
@@ -4762,24 +4762,24 @@ u8 func0014_coop_buddy[] = {
try_run_to_target_chr(/*goto*/ 0x0c)
beginloop(0x0c)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
goto_next(0x15)
label(0x13)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x15)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x15)
goto_next(LABEL_PLACE_BUDDY)
label(0x15)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
goto_next(0x07)
label(0x06)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
label(0x07)
set_target_chr(CHR_BOND)
if_chr_sees_player(/*goto*/ 0xdd)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00000400, /*goto*/ 0xdc)
label(0xdd)
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
label(0xdc)
@@ -4797,23 +4797,23 @@ u8 func0014_coop_buddy[] = {
stop_chr
beginloop(0x04)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
unset_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
unset_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
goto_next(0x15)
label(0x13)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED, /*goto*/ 0x15)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED, /*goto*/ 0x15)
goto_next(LABEL_PLACE_BUDDY)
label(0x15)
label(0x13)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
goto_next(0x07)
label(0x06)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
label(0x07)
if_chr_flag_bank2(CHR_SELF, CHRFLAG2_00000400, /*goto*/ 0xdc)
if_chr_has_hiddenflag(CHR_SELF, CHRHFLAG_00000400, /*goto*/ 0xdc)
if_stage_is_not(STAGE_G5BUILDING, /*goto*/ 0x15)
goto_next(0x13)
@@ -4854,7 +4854,7 @@ u8 func0014_coop_buddy[] = {
// Found chr in group from non G5 or Deep Sea stage
label(0x0b)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_08000000, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_08000000, /*goto*/ 0x13)
unset_self_flag_bankx(CHRFLAG1_00000001, BANK_1)
goto_next(0x16)
@@ -4994,8 +4994,8 @@ u8 func0015_test_cutscene_buddy[] = {
// Hide chr
label(0x16)
cmd01e0
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3((CHRFLAG3_HIDDEN | CHRFLAG3_00010000 | CHRFLAG3_00040000))
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag((CHRCFLAG_HIDDEN | CHRCFLAG_00010000 | CHRCFLAG_00040000))
// Wait 3 seconds
restart_timer
@@ -5043,14 +5043,14 @@ u8 func0015_test_cutscene_buddy[] = {
// This will execute every second after the initial 7ish seconds and while
// cutscene is not running. The chr is being moved back to the same pad
// repeatedly, so this is surely some kind of debug function.
set_chr_flag_bank2(CHR_SELF, 0x00100200)
set_chr_hiddenflag(CHR_SELF, 0x00100200)
chr_move_to_pad(CHR_SELF, 0x00f8, 0x58, /*goto*/ 0x17)
goto_first(0x19)
label(0x17)
unset_self_flag_bank3(0x00050400)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_chr_flag_bank2(CHR_SELF, 0x00100200)
unset_self_chrflag(0x00050400)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
unset_chr_hiddenflag(CHR_SELF, 0x00100200)
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)
set_onshot_function(GFUNC_COOP_BUDDY)
@@ -5134,11 +5134,11 @@ u8 func0026_init_psychosis[] = {
set_onshot_function(GFUNC_INIT_PSYCHOSIS)
set_chr_team(CHR_SELF, TEAM_NONCOMBAT)
set_self_flag_bankx(CHRFLAG1_80000000, BANK_1)
set_self_flag_bank3(CHRFLAG3_00040000)
set_self_flag_bank3(CHRFLAG3_01000000)
set_self_chrflag(CHRCFLAG_00040000)
set_self_chrflag(CHRCFLAG_01000000)
set_self_flag_bankx(CHRFLAG1_00100000, BANK_1)
set_self_flag_bankx(CHRFLAG1_40000000, BANK_1)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_PSYCHOSISED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_PSYCHOSISED)
set_alertness(100)
set_follow_chr(CHR_BOND)
yield
@@ -5215,11 +5215,11 @@ u8 func0027_psychosised[] = {
try_run_to_target_chr(/*goto*/ 0x0c)
beginloop(0x0c)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
goto_next(0x07)
label(0x06)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
label(0x07)
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
set_target_chr(CHR_PRESET)
@@ -5235,11 +5235,11 @@ u8 func0027_psychosised[] = {
stop_chr
beginloop(0x04)
if_chr_flag_bank2(CHR_TARGET, CHRFLAG2_DISGUISED, /*goto*/ 0x06)
if_chr_has_hiddenflag(CHR_TARGET, CHRHFLAG_DISGUISED, /*goto*/ 0x06)
goto_next(0x07)
label(0x06)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_DISGUISED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_DISGUISED)
label(0x07)
try_find_chr_in_team(/*goto*/ 0x03)
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x03)
@@ -5273,16 +5273,16 @@ u8 func0027_psychosised[] = {
};
u8 func002d_invincible_and_idle[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_UNEXPLODABLE)
set_function(CHR_SELF, GFUNC_IDLE)
endfunction
};
u8 func0020_place_coop_buddy[] = {
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
set_self_flag_bank3(CHRFLAG3_00040000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_CLOAKED)
set_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
set_self_chrflag(CHRCFLAG_00040000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_CLOAKED)
stop_chr
set_target_chr(CHR_BOND)
yield
@@ -5332,11 +5332,11 @@ u8 func0020_place_coop_buddy[] = {
// Move to pad worked
label(0x13)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_HIDDEN)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
stop_chr
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)
set_function(CHR_SELF, GFUNC_COOP_BUDDY)
@@ -5369,14 +5369,14 @@ u8 func0020_place_coop_buddy[] = {
// Move to pad worked
label(0x13)
stop_chr
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00020000)
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_BUDDY_PLACED)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_00020000)
set_chr_hiddenflag(CHR_SELF, CHRHFLAG_BUDDY_PLACED)
// Wait until flag unset (timer is not checked)
restart_timer
beginloop(0xef)
if_chr_flag_bank2(CHR_BOND, CHRFLAG2_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
if_chr_has_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP, /*goto*/ 0x13)
goto_next(0x16)
label(0x13)
@@ -5384,8 +5384,8 @@ u8 func0020_place_coop_buddy[] = {
// Unhide
label(0x16)
unset_self_flag_bank3(CHRFLAG3_HIDDEN)
unset_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
unset_self_chrflag(CHRCFLAG_HIDDEN)
unset_self_chrflag(CHRCFLAG_INVINCIBLE_TO_GUNFIRE)
stop_chr
set_chr_cloaked(CHR_SELF, FALSE, TRUE)
set_return_function(CHR_SELF, GFUNC_COOP_BUDDY)