Attempt to decompile liftTick
This commit is contained in:
parent
85cd1a1103
commit
ce9c56ec7f
|
|
@ -3524,7 +3524,7 @@ u8 func1018_safe_switch[] = {
|
|||
yield
|
||||
open_door(OBJ_SAFEDOOR)
|
||||
yield
|
||||
set_object_flag(OBJ_SAFEDOOR, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_SAFEDOOR, OBJFLAG_DOOR_KEEPOPEN)
|
||||
|
||||
unset_object_flag2(OBJ_FLIGHTPLANS, OBJFLAG2_INVISIBLE)
|
||||
unset_object_flag(OBJ_FLIGHTPLANS, OBJFLAG_UNCOLLECTABLE)
|
||||
|
|
|
|||
|
|
@ -618,10 +618,10 @@ u8 func1003_laser_switch_1[] = {
|
|||
open_door(OBJ_LASER_1C)
|
||||
open_door(OBJ_LASER_1D)
|
||||
yield
|
||||
set_object_flag(OBJ_LASER_1A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
assign_sound(0x043f, CHANNEL_7)
|
||||
play_sound_from_entity(CHANNEL_7, OBJ_LASERSWITCH1, 0x012c, 0x0190, 0x00)
|
||||
mute_channel(CHANNEL_0)
|
||||
|
|
@ -685,10 +685,10 @@ u8 func1004_laser_switch_2[] = {
|
|||
open_door(OBJ_LASER_2C)
|
||||
open_door(OBJ_LASER_2D)
|
||||
yield
|
||||
set_object_flag(OBJ_LASER_2A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
assign_sound(0x043f, CHANNEL_7)
|
||||
play_sound_from_entity(CHANNEL_7, OBJ_LASERSWITCH2, 0x012c, 0x0190, 0x00)
|
||||
mute_channel(CHANNEL_1)
|
||||
|
|
@ -751,10 +751,10 @@ u8 func1005_laser_switch_3[] = {
|
|||
open_door(OBJ_LASER_3C)
|
||||
open_door(OBJ_LASER_3D)
|
||||
yield
|
||||
set_object_flag(OBJ_LASER_3A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
assign_sound(0x043f, CHANNEL_7)
|
||||
play_sound_from_entity(CHANNEL_7, OBJ_LASERSWITCH3, 0x012c, 0x0190, 0x00)
|
||||
mute_channel(CHANNEL_2)
|
||||
|
|
@ -817,10 +817,10 @@ u8 func1006_laser_switch_4[] = {
|
|||
open_door(OBJ_LASER_4C)
|
||||
open_door(OBJ_LASER_4D)
|
||||
yield
|
||||
set_object_flag(OBJ_LASER_4A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
assign_sound(0x043f, CHANNEL_7)
|
||||
play_sound_from_entity(CHANNEL_7, OBJ_LASERSWITCH4, 0x012c, 0x0190, 0x00)
|
||||
mute_channel(CHANNEL_3)
|
||||
|
|
@ -921,22 +921,22 @@ u8 func1007_init_lasers[] = {
|
|||
open_door(OBJ_LASER_3D)
|
||||
open_door(OBJ_LASER_4D)
|
||||
yield
|
||||
set_object_flag(OBJ_LASER_1A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4A, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4B, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4C, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4D, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4A, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4B, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4C, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_1D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_2D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_3D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_LASER_4D, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_stage_flag(STAGEFLAG_LASERSET1_DISABLED)
|
||||
set_stage_flag(STAGEFLAG_LASERSET2_DISABLED)
|
||||
set_stage_flag(STAGEFLAG_LASERSET3_DISABLED)
|
||||
|
|
|
|||
|
|
@ -2780,7 +2780,7 @@ u8 func100e_training_unlockables[] = {
|
|||
label(0x06) \
|
||||
if_door_state(door, (DOORSTATE_OPEN | DOORSTATE_OPENING), /*goto*/ 0x2f) \
|
||||
open_door(door) \
|
||||
set_object_flag(door, OBJFLAG_DOORKEEPOPEN) \
|
||||
set_object_flag(door, OBJFLAG_DOOR_KEEPOPEN) \
|
||||
restart_timer \
|
||||
\
|
||||
beginloop(0x08) \
|
||||
|
|
@ -2832,7 +2832,7 @@ u8 func1012_cloak_doorproxy[] = {
|
|||
label(0x06)
|
||||
if_door_state(0x40, (DOORSTATE_OPEN | DOORSTATE_OPENING), /*goto*/ 0x2f)
|
||||
open_door(0x40)
|
||||
set_object_flag(0x40, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x40, OBJFLAG_DOOR_KEEPOPEN)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x08)
|
||||
|
|
@ -2860,7 +2860,7 @@ u8 func101b_ir_door[] = {
|
|||
label(0x06)
|
||||
if_door_state(0x37, (DOORSTATE_OPEN | DOORSTATE_OPENING), /*goto*/ 0x2f)
|
||||
open_door(0x37)
|
||||
set_object_flag(0x37, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x37, OBJFLAG_DOOR_KEEPOPEN)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x08)
|
||||
|
|
|
|||
|
|
@ -903,7 +903,7 @@ u8 func0c01_outro[] = {
|
|||
open_door(0x51)
|
||||
restart_timer
|
||||
yield
|
||||
set_object_flag(0x51, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x51, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_cutscene_weapon(CHR_P1P2, WEAPON_NONE, WEAPON_NONE)
|
||||
yield
|
||||
set_cutscene_weapon(CHR_P1P2, WEAPON_AR34, WEAPON_NONE)
|
||||
|
|
|
|||
|
|
@ -633,10 +633,10 @@ u8 func1004_check_hangar_doors_opened[] = {
|
|||
open_door(OBJ_HANGARDOOR2)
|
||||
open_door(OBJ_HANGARDOOR3)
|
||||
open_door(OBJ_HANGARDOOR4)
|
||||
set_object_flag(OBJ_HANGARDOOR1, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR2, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR3, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR4, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR1, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR2, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR3, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR4, OBJFLAG_DOOR_KEEPOPEN)
|
||||
restart_timer
|
||||
|
||||
beginloop(0x09)
|
||||
|
|
@ -1296,8 +1296,8 @@ u8 func1008_hangar_lifts[] = {
|
|||
|
||||
// Deactivate lift and open door
|
||||
label(0x66)
|
||||
set_object_flag(0x39, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x3a, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x39, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x3a, OBJFLAG_DOOR_KEEPOPEN)
|
||||
unset_object_flag(OBJ_HANGARLIFT_JO, OBJFLAG_DEACTIVATED)
|
||||
open_door(0x39)
|
||||
open_door(0x3a)
|
||||
|
|
@ -1329,8 +1329,8 @@ u8 func1008_hangar_lifts[] = {
|
|||
// hence the 5 second wait if entered as soon as the door opens.
|
||||
label(0x2c)
|
||||
set_chr_hiddenflag(CHR_BOND, CHRHFLAG_TRIGGER_BUDDY_WARP)
|
||||
unset_object_flag(0x39, OBJFLAG_DOORKEEPOPEN)
|
||||
unset_object_flag(0x3a, OBJFLAG_DOORKEEPOPEN)
|
||||
unset_object_flag(0x39, OBJFLAG_DOOR_KEEPOPEN)
|
||||
unset_object_flag(0x3a, OBJFLAG_DOOR_KEEPOPEN)
|
||||
unset_object_flag(OBJ_HANGARLIFT_JO, OBJFLAG_DEACTIVATED)
|
||||
|
||||
// Wait until Y coordinate >= 400
|
||||
|
|
@ -2904,10 +2904,10 @@ u8 func0c01_outro[] = {
|
|||
open_door(OBJ_HANGARDOOR2)
|
||||
open_door(OBJ_HANGARDOOR3)
|
||||
open_door(OBJ_HANGARDOOR4)
|
||||
set_object_flag(OBJ_HANGARDOOR1, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR2, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR3, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR4, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR1, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR2, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR3, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(OBJ_HANGARDOOR4, OBJFLAG_DOOR_KEEPOPEN)
|
||||
|
||||
beginloop(0x08)
|
||||
if_camera_animating(/*goto*/ 0x2c)
|
||||
|
|
|
|||
|
|
@ -2345,13 +2345,13 @@ u8 func1013_bunker_lasers[] = {
|
|||
|
||||
// SA and PA
|
||||
label(0x03)
|
||||
set_object_flag(0x1e, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x1f, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x20, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x21, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x22, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x23, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x24, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x1e, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x1f, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x20, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x21, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x22, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x23, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x24, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x1e)
|
||||
open_door(0x1f)
|
||||
open_door(0x20)
|
||||
|
|
@ -2359,13 +2359,13 @@ u8 func1013_bunker_lasers[] = {
|
|||
open_door(0x22)
|
||||
open_door(0x23)
|
||||
open_door(0x24)
|
||||
set_object_flag(0x1e, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x1f, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x20, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x21, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x22, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x23, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x24, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x1e, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x1f, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x20, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x21, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x22, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x23, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x24, OBJFLAG_DOOR_KEEPOPEN)
|
||||
|
||||
beginloop(0x04)
|
||||
if_stage_flag_eq(STAGEFLAG_EXPLOSIVES_PLACED, TRUE, /*goto*/ 0x09)
|
||||
|
|
|
|||
|
|
@ -1437,7 +1437,7 @@ u8 func1003_powernode1[] = {
|
|||
set_object_health(OBJ_POWERNODE1, 0)
|
||||
set_object_flag(OBJ_POWERNODE1, OBJFLAG_INVINCIBLE)
|
||||
open_door(0x03)
|
||||
set_object_flag(0x03, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x03, OBJFLAG_DOOR_KEEPOPEN)
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x2e)
|
||||
|
|
@ -1457,7 +1457,7 @@ u8 func1004_powernode2[] = {
|
|||
set_object_health(OBJ_POWERNODE2, 0)
|
||||
set_object_flag(OBJ_POWERNODE2, OBJFLAG_INVINCIBLE)
|
||||
open_door(0x04)
|
||||
set_object_flag(0x04, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x04, OBJFLAG_DOOR_KEEPOPEN)
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x2e)
|
||||
|
|
@ -1477,7 +1477,7 @@ u8 func1005_powernode3[] = {
|
|||
set_object_flag(OBJ_POWERNODE3, OBJFLAG_INVINCIBLE)
|
||||
set_object_health(OBJ_POWERNODE3, 0)
|
||||
open_door(0x05)
|
||||
set_object_flag(0x05, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x05, OBJFLAG_DOOR_KEEPOPEN)
|
||||
goto_first(0x04)
|
||||
|
||||
label(0x2e)
|
||||
|
|
@ -3973,7 +3973,7 @@ u8 func040a_check_pa_canisters_destroyed[] = {
|
|||
|
||||
// Both canisters destroyed
|
||||
label(0x2e)
|
||||
set_object_flag(0x0f, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x0f, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_lights_state(0x00bc, 0x03, 0xff, 0x0a, 0x78)
|
||||
|
||||
beginloop(0x08)
|
||||
|
|
@ -4562,11 +4562,11 @@ u8 func102e_open_powernode_doors_on_agent[] = {
|
|||
// Agent
|
||||
label(0x08)
|
||||
open_door(0x03)
|
||||
set_object_flag(0x03, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x03, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x04)
|
||||
set_object_flag(0x04, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x04, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x05)
|
||||
set_object_flag(0x05, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x05, OBJFLAG_DOOR_KEEPOPEN)
|
||||
label(0x2e)
|
||||
set_ailist(CHR_SELF, GAILIST_IDLE)
|
||||
endlist
|
||||
|
|
|
|||
|
|
@ -1298,8 +1298,8 @@ u8 func0413_jonathan_hangar[] = {
|
|||
set_stage_flag(STAGEFLAG_INNER_DOOR_OPENING)
|
||||
open_door(0x2c)
|
||||
open_door(0x2d)
|
||||
set_object_flag(0x2c, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2c, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOOR_KEEPOPEN)
|
||||
show_hudmsg(CHR_P1P2, L_TRA(39)) // "Inner hangar door is opening."
|
||||
|
||||
label(0x32)
|
||||
|
|
@ -1324,8 +1324,8 @@ u8 func0413_jonathan_hangar[] = {
|
|||
set_stage_flag(STAGEFLAG_OUTER_DOOR_OPENING)
|
||||
open_door(0x2e)
|
||||
open_door(0x2f)
|
||||
set_object_flag(0x2e, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2f, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2e, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x2f, OBJFLAG_DOOR_KEEPOPEN)
|
||||
show_hudmsg(CHR_P1P2, L_TRA(37)) // "Outer hangar door is opening."
|
||||
|
||||
beginloop(0x20)
|
||||
|
|
@ -2052,8 +2052,8 @@ u8 func100f_terminals[] = {
|
|||
label(0x32)
|
||||
open_door(0x2c)
|
||||
open_door(0x2d)
|
||||
set_object_flag(0x2c, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2c, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOOR_KEEPOPEN)
|
||||
reloop(0x04)
|
||||
|
||||
// Terminal 2
|
||||
|
|
@ -2073,8 +2073,8 @@ u8 func100f_terminals[] = {
|
|||
label(0x32)
|
||||
open_door(0x2e)
|
||||
open_door(0x2f)
|
||||
set_object_flag(0x2e, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2f, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2e, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x2f, OBJFLAG_DOOR_KEEPOPEN)
|
||||
reloop(0x04)
|
||||
|
||||
// Wait 2 seconds
|
||||
|
|
@ -2240,7 +2240,7 @@ u8 func1012_hoverbike_auto_doors[] = {
|
|||
reloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
set_object_flag(0x0a, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x0a, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x0a)
|
||||
reloop(0x04)
|
||||
|
||||
|
|
@ -2250,7 +2250,7 @@ u8 func1012_hoverbike_auto_doors[] = {
|
|||
reloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
set_object_flag(0x0b, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x0b, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x0b)
|
||||
reloop(0x04)
|
||||
|
||||
|
|
@ -2260,8 +2260,8 @@ u8 func1012_hoverbike_auto_doors[] = {
|
|||
reloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
set_object_flag(0x08, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x09, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x08, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x09, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x08)
|
||||
open_door(0x09)
|
||||
reloop(0x04)
|
||||
|
|
@ -2272,7 +2272,7 @@ u8 func1012_hoverbike_auto_doors[] = {
|
|||
reloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
set_object_flag(0x0c, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x0c, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x0c)
|
||||
reloop(0x04)
|
||||
|
||||
|
|
@ -2282,7 +2282,7 @@ u8 func1012_hoverbike_auto_doors[] = {
|
|||
reloop(0x04)
|
||||
|
||||
label(0x06)
|
||||
set_object_flag(0x05, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x05, OBJFLAG_DOOR_KEEPOPEN)
|
||||
open_door(0x05)
|
||||
endloop(0x04)
|
||||
|
||||
|
|
@ -2996,8 +2996,8 @@ u8 func101b_gas_sound[] = {
|
|||
u8 func0c02_outro[] = {
|
||||
open_door(0x2c)
|
||||
open_door(0x2e)
|
||||
set_object_flag(0x2c, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2c, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOOR_KEEPOPEN)
|
||||
label(0x32)
|
||||
set_chr_chrflag(CHR_BOND, CHRCFLAG_HIDDEN)
|
||||
set_chr_chrflag(CHR_COOP, CHRCFLAG_HIDDEN)
|
||||
|
|
@ -3548,8 +3548,8 @@ u8 func102e_keep_hangar_doors_open[] = {
|
|||
label(0x32)
|
||||
open_door(0x2c)
|
||||
open_door(0x2d)
|
||||
set_object_flag(0x2c, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2c, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x2d, OBJFLAG_DOOR_KEEPOPEN)
|
||||
reloop(0x04)
|
||||
|
||||
// Door 2 closing
|
||||
|
|
@ -3560,8 +3560,8 @@ u8 func102e_keep_hangar_doors_open[] = {
|
|||
label(0x32)
|
||||
open_door(0x2e)
|
||||
open_door(0x2f)
|
||||
set_object_flag(0x2e, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2f, OBJFLAG_DOORKEEPOPEN)
|
||||
set_object_flag(0x2e, OBJFLAG_DOOR_KEEPOPEN)
|
||||
set_object_flag(0x2f, OBJFLAG_DOOR_KEEPOPEN)
|
||||
endloop(0x04)
|
||||
|
||||
// Terminal destroyed
|
||||
|
|
|
|||
|
|
@ -19798,7 +19798,7 @@ glabel var7f1aa43c
|
|||
// // If door should autoclose this tick
|
||||
// if (door->lastopen60 > 0
|
||||
// && door->mode == DOORMODE_IDLE
|
||||
// && (door->base.flags & OBJFLAG_DOORKEEPOPEN) == 0
|
||||
// && (door->base.flags & OBJFLAG_DOOR_KEEPOPEN) == 0
|
||||
// && door->lastopen60 < g_Vars.lvframe60 - door->autoclosetime) {
|
||||
// // 004
|
||||
// // Check if any sibling has DOORFLAG_0010
|
||||
|
|
@ -20138,7 +20138,7 @@ glabel var7f1aa44c
|
|||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f07766c
|
||||
glabel platformDisplaceProps
|
||||
.late_rodata
|
||||
glabel var7f1aa450
|
||||
.word 0x3d3a5e30
|
||||
|
|
@ -20579,7 +20579,7 @@ glabel liftTick
|
|||
/* f077cd4: 24060100 */ addiu $a2,$zero,0x100
|
||||
/* f077cd8: e7a40244 */ swc1 $f4,0x244($sp)
|
||||
/* f077cdc: c6260010 */ lwc1 $f6,0x10($s1)
|
||||
/* f077ce0: 0c0099c7 */ jal func0002671c
|
||||
/* f077ce0: 0c0099c7 */ jal platformGetRidingProps
|
||||
/* f077ce4: e7a60248 */ swc1 $f6,0x248($sp)
|
||||
/* f077ce8: 44807000 */ mtc1 $zero,$f14
|
||||
/* f077cec: c6080074 */ lwc1 $f8,0x74($s0)
|
||||
|
|
@ -20790,7 +20790,7 @@ glabel liftTick
|
|||
/* f077ffc: 02202025 */ or $a0,$s1,$zero
|
||||
/* f078000: 27a5003c */ addiu $a1,$sp,0x3c
|
||||
/* f078004: 27a60240 */ addiu $a2,$sp,0x240
|
||||
/* f078008: 0fc1dd9b */ jal func0f07766c
|
||||
/* f078008: 0fc1dd9b */ jal platformDisplaceProps
|
||||
/* f07800c: 8fa70034 */ lw $a3,0x34($sp)
|
||||
/* f078010: 1000001c */ b .L0f078084
|
||||
/* f078014: 8fbf0024 */ lw $ra,0x24($sp)
|
||||
|
|
@ -20833,6 +20833,150 @@ glabel liftTick
|
|||
/* f078090: 27bd0340 */ addiu $sp,$sp,0x340
|
||||
);
|
||||
|
||||
// Mismatch because goal loads xdiff earlier for multiply with frac.
|
||||
//void liftTick(struct prop *prop)
|
||||
//{
|
||||
// struct liftobj *lift = (struct liftobj *)prop->obj;
|
||||
// struct defaultobj *obj = prop->obj;
|
||||
// struct doorobj *door; // sp820
|
||||
// struct pad padcur; // sp736
|
||||
// struct pad padaim; // sp652
|
||||
// f32 segdist; // sp648
|
||||
// f32 xdiff; // sp644
|
||||
// f32 ydiff; // sp640
|
||||
// f32 zdiff; // sp636
|
||||
// struct coord curcentre; // sp624
|
||||
// f32 frac;
|
||||
// s32 move; // sp616
|
||||
// struct coord newpos; // sp604
|
||||
// s16 newrooms[8]; // sp588
|
||||
// struct coord prevpos; // sp576
|
||||
// f32 prevdist; // sp572
|
||||
// s16 propnums[256]; // sp60
|
||||
// s32 stop;
|
||||
//
|
||||
// lift->prevpos.x = prop->pos.x;
|
||||
// lift->prevpos.y = prop->pos.y;
|
||||
// lift->prevpos.z = prop->pos.z;
|
||||
//
|
||||
// // c50
|
||||
// if (lift->levelaim != lift->levelcur) {
|
||||
// // c58
|
||||
// // Lift is not at the desired level. So try to move, but not if the lift
|
||||
// // is disabled or if the door needs to be closed first.
|
||||
// move = true;
|
||||
//
|
||||
// if (obj->flags & OBJFLAG_DEACTIVATED) {
|
||||
// move = false;
|
||||
// } else {
|
||||
// // c84
|
||||
// if (lift->doors[lift->levelcur] && !doorIsClosed(lift->doors[lift->levelcur])) {
|
||||
// doorActivate(lift->doors[lift->levelcur], DOORMODE_CLOSING);
|
||||
// move = false;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // cb8
|
||||
// if (move) {
|
||||
// prevpos.x = prop->pos.x;
|
||||
// prevpos.y = prop->pos.y;
|
||||
// prevpos.z = prop->pos.z;
|
||||
//
|
||||
// platformGetRidingProps(prop, propnums, sizeof(propnums));
|
||||
//
|
||||
// if (lift->dist == 0 && lift->speed == 0) {
|
||||
// // d18
|
||||
// func0f08d784(lift->soundtype, lift->base.prop);
|
||||
//
|
||||
// if (obj->flags & OBJFLAG_LIFT_TRIGGERDISABLE) {
|
||||
// obj->flags &= ~OBJFLAG_LIFT_TRIGGERDISABLE;
|
||||
// obj->flags |= OBJFLAG_DEACTIVATED;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// padGetCentre(lift->pads[lift->levelcur], &curcentre);
|
||||
// padUnpack(lift->pads[lift->levelcur], PADFIELD_POS, &padcur);
|
||||
// padUnpack(lift->pads[lift->levelaim], PADFIELD_POS, &padaim);
|
||||
//
|
||||
// xdiff = padaim.pos.x - padcur.pos.x;
|
||||
// ydiff = padaim.pos.y - padcur.pos.y;
|
||||
// zdiff = padaim.pos.z - padcur.pos.z;
|
||||
//
|
||||
// segdist = sqrtf(xdiff * xdiff + ydiff * ydiff + zdiff * zdiff);
|
||||
//
|
||||
// prevdist = lift->dist;
|
||||
//
|
||||
// // e0c
|
||||
// func0f06d90c(&lift->dist, segdist, &lift->speed, lift->accel, lift->accel, lift->maxspeed);
|
||||
//
|
||||
// // If arriving at the destination, set the distance explicitly
|
||||
// if (lift->speed < 1 && lift->speed > -1) {
|
||||
// if (prevdist < segdist && lift->dist >= segdist) {
|
||||
// lift->dist = segdist;
|
||||
// } else if (prevdist > 0 && lift->dist <= 0) {
|
||||
// lift->dist = 0;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // eb0
|
||||
// frac = segdist == 0 ? 0 : lift->dist / segdist;
|
||||
//
|
||||
// newpos.x = curcentre.x + xdiff * frac;
|
||||
// newpos.y = curcentre.y + ydiff * frac;
|
||||
// newpos.z = curcentre.z + zdiff * frac;
|
||||
//
|
||||
// if (segdist == lift->dist) {
|
||||
// // f18
|
||||
// lift->dist = 0;
|
||||
// lift->speed = 0;
|
||||
// lift->levelcur = lift->levelaim;
|
||||
//
|
||||
// func0f08dd44(lift->soundtype, lift->base.prop);
|
||||
//
|
||||
// if (obj->flags & OBJFLAG_LIFT_TRIGGERDISABLE) {
|
||||
// obj->flags &= ~OBJFLAG_LIFT_TRIGGERDISABLE;
|
||||
// obj->flags |= OBJFLAG_DEACTIVATED;
|
||||
// }
|
||||
//
|
||||
// door = lift->doors[lift->levelcur];
|
||||
//
|
||||
// if (door && door->keyflags == 0) {
|
||||
// doorActivate(door, DOORMODE_OPENING);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// func0f065e74(&prop->pos, prop->rooms, &newpos, newrooms);
|
||||
//
|
||||
// prop->pos.x = newpos.x;
|
||||
// prop->pos.y = newpos.y;
|
||||
// prop->pos.z = newpos.z;
|
||||
//
|
||||
// func0f065c44(prop);
|
||||
// roomsCopy(newrooms, prop->rooms);
|
||||
// func0f069c70(obj, true, true);
|
||||
// func0f070f08(lift, lift->levelcur == lift->levelaim);
|
||||
// platformDisplaceProps(prop, propnums, &prevpos, &prop->pos);
|
||||
// }
|
||||
// } else {
|
||||
// // 018
|
||||
// // Lift is at the aim stop
|
||||
// door = lift->doors[lift->levelcur];
|
||||
//
|
||||
// if (!door || (doorIsClosed(door) && door->keyflags == 0)) {
|
||||
// // Find next stop
|
||||
// // 040
|
||||
// stop = lift->levelaim;
|
||||
//
|
||||
// do {
|
||||
// // 048
|
||||
// stop = (stop + 1) % 4;
|
||||
// } while (lift->pads[stop] < 0);
|
||||
//
|
||||
// liftGoToStop(lift, stop);
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel escalatorTick
|
||||
/* f078094: 27bdfda0 */ addiu $sp,$sp,-608
|
||||
|
|
@ -20923,7 +21067,7 @@ glabel escalatorTick
|
|||
/* f0781d4: c6040010 */ lwc1 $f4,0x10($s0)
|
||||
/* f0781d8: afa90030 */ sw $t1,0x30($sp)
|
||||
/* f0781dc: afa7025c */ sw $a3,0x25c($sp)
|
||||
/* f0781e0: 0c0099c7 */ jal func0002671c
|
||||
/* f0781e0: 0c0099c7 */ jal platformGetRidingProps
|
||||
/* f0781e4: e7a4023c */ swc1 $f4,0x23c($sp)
|
||||
/* f0781e8: 8fa7025c */ lw $a3,0x25c($sp)
|
||||
/* f0781ec: c6080008 */ lwc1 $f8,0x8($s0)
|
||||
|
|
@ -20970,7 +21114,7 @@ glabel escalatorTick
|
|||
/* f078284: 27a50034 */ addiu $a1,$sp,0x34
|
||||
/* f078288: 15200003 */ bnez $t1,.L0f078298
|
||||
/* f07828c: 27a60234 */ addiu $a2,$sp,0x234
|
||||
/* f078290: 0fc1dd9b */ jal func0f07766c
|
||||
/* f078290: 0fc1dd9b */ jal platformDisplaceProps
|
||||
/* f078294: 26070008 */ addiu $a3,$s0,0x8
|
||||
.L0f078298:
|
||||
/* f078298: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
|
|
@ -27584,7 +27728,7 @@ void hoverbikeTick(struct prop *prop, bool arg1)
|
|||
func0f0714b8(&obj->base, &obj->hov);
|
||||
}
|
||||
|
||||
if (obj->base.flags & OBJFLAG_DOORKEEPOPEN) {
|
||||
if (obj->base.flags & OBJFLAG_DOOR_KEEPOPEN) {
|
||||
func0f072adc(obj, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -38011,7 +38155,7 @@ s32 weaponGetPickupAmmoQty(struct weaponobj *weapon)
|
|||
return 1;
|
||||
}
|
||||
|
||||
if (weapon->base.flags & OBJFLAG_DOORKEEPOPEN) {
|
||||
if (weapon->base.flags & OBJFLAG_DOOR_KEEPOPEN) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -44580,7 +44724,7 @@ void func0f08df10(s32 soundtype, struct prop *prop)
|
|||
|
||||
void func0f08e0c4(struct doorobj *door)
|
||||
{
|
||||
door->base.flags &= ~OBJFLAG_DOORKEEPOPEN;
|
||||
door->base.flags &= ~OBJFLAG_DOOR_KEEPOPEN;
|
||||
door->base.hidden |= OBJHFLAG_00000200;
|
||||
|
||||
func0f08d784(door->soundtype, door->base.prop);
|
||||
|
|
@ -44606,7 +44750,7 @@ void func0f08e0c4(struct doorobj *door)
|
|||
|
||||
void func0f08e1a0(struct doorobj *door)
|
||||
{
|
||||
door->base.flags &= ~OBJFLAG_DOORKEEPOPEN;
|
||||
door->base.flags &= ~OBJFLAG_DOOR_KEEPOPEN;
|
||||
|
||||
func0f08daa8(door->soundtype, door->base.prop);
|
||||
|
||||
|
|
|
|||
|
|
@ -1909,38 +1909,39 @@
|
|||
#define NUM_WEAPONS 94
|
||||
|
||||
// obj->flags
|
||||
#define OBJFLAG_00000001 0x00000001 // Editor: "Fall to Ground"
|
||||
#define OBJFLAG_00000002 0x00000002 // Editor: "In Air Rotated 90 Deg Upside-Down"
|
||||
#define OBJFLAG_00000004 0x00000004 // Editor: "In Air Upside-Down"
|
||||
#define OBJFLAG_00000008 0x00000008 // Editor: "In Air"
|
||||
#define OBJFLAG_00000010 0x00000010 // Editor: "Scale to Pad Bounds"
|
||||
#define OBJFLAG_00000020 0x00000020 // Editor: "X to Pad Bounds"
|
||||
#define OBJFLAG_00000040 0x00000040 // Editor: "Y to Pad Bounds"
|
||||
#define OBJFLAG_00000080 0x00000080 // Editor: "Z to Pad Bounds"
|
||||
#define OBJFLAG_00000100 0x00000100 // G5 mines, Air Base brown door, AF1 grate and escape door, Defense shuttle, Ruins mines, MBR lift door. Editor suggests "Force Collisions" but this seems wrong
|
||||
#define OBJFLAG_00000200 0x00000200 // Editor: "Special Environment Mapping"
|
||||
#define OBJFLAG_ILLUMINATED 0x00000400
|
||||
#define OBJFLAG_00000800 0x00000800 // Editor: "Free Standing Glass"
|
||||
#define OBJFLAG_00001000 0x00001000 // Editor: "Absolute Position"
|
||||
#define OBJFLAG_00002000 0x00002000 // AF1 commhubs. Editor suggests "Weapon Not Dropped"
|
||||
#define OBJFLAG_00004000 0x00004000 // Editor: "Assigned to Actor"
|
||||
#define OBJFLAG_00008000 0x00008000 // Editor: "Embedded Object"
|
||||
#define OBJFLAG_00010000 0x00010000 // Not used in scripts
|
||||
#define OBJFLAG_INVINCIBLE 0x00020000
|
||||
#define OBJFLAG_COLLECTABLE 0x00040000
|
||||
#define OBJFLAG_00080000 0x00080000 // Thrown laptop?
|
||||
#define OBJFLAG_UNCOLLECTABLE 0x00100000
|
||||
#define OBJFLAG_00200000 0x00200000 // Editor: "Bounce and Destroy If Shot"
|
||||
#define OBJFLAG_00400000 0x00400000 // Not used in scripts
|
||||
#define OBJFLAG_00800000 0x00800000 // Not used in scripts
|
||||
#define OBJFLAG_01000000 0x01000000 // Editor: "Embedded Object"
|
||||
#define OBJFLAG_CANNOT_ACTIVATE 0x02000000 // Makes it do nothing if player presses B on object. Used mostly for doors.
|
||||
#define OBJFLAG_04000000 0x04000000 // Editor: "AI Sees Through Door/Object"
|
||||
#define OBJFLAG_08000000 0x08000000 // Not used in scripts
|
||||
#define OBJFLAG_DEACTIVATED 0x10000000
|
||||
#define OBJFLAG_20000000 0x20000000 // Editor: "Door Opens Backwards/Special Function/Conceal Weapon"
|
||||
#define OBJFLAG_DOORKEEPOPEN 0x40000000 // Editor: "Door open by default/Empty weapon"
|
||||
#define OBJFLAG_CHOPPER_INACTIVE 0x80000000 // Or lift disabled
|
||||
#define OBJFLAG_00000001 0x00000001 // Editor: "Fall to Ground"
|
||||
#define OBJFLAG_00000002 0x00000002 // Editor: "In Air Rotated 90 Deg Upside-Down"
|
||||
#define OBJFLAG_00000004 0x00000004 // Editor: "In Air Upside-Down"
|
||||
#define OBJFLAG_00000008 0x00000008 // Editor: "In Air"
|
||||
#define OBJFLAG_00000010 0x00000010 // Editor: "Scale to Pad Bounds"
|
||||
#define OBJFLAG_00000020 0x00000020 // Editor: "X to Pad Bounds"
|
||||
#define OBJFLAG_00000040 0x00000040 // Editor: "Y to Pad Bounds"
|
||||
#define OBJFLAG_00000080 0x00000080 // Editor: "Z to Pad Bounds"
|
||||
#define OBJFLAG_00000100 0x00000100 // G5 mines, Air Base brown door, AF1 grate and escape door, Defense shuttle, Ruins mines, MBR lift door. Editor suggests "Force Collisions" but this seems wrong
|
||||
#define OBJFLAG_00000200 0x00000200 // Editor: "Special Environment Mapping"
|
||||
#define OBJFLAG_ILLUMINATED 0x00000400
|
||||
#define OBJFLAG_00000800 0x00000800 // Editor: "Free Standing Glass"
|
||||
#define OBJFLAG_00001000 0x00001000 // Editor: "Absolute Position"
|
||||
#define OBJFLAG_00002000 0x00002000 // AF1 commhubs. Editor suggests "Weapon Not Dropped"
|
||||
#define OBJFLAG_00004000 0x00004000 // Editor: "Assigned to Actor"
|
||||
#define OBJFLAG_00008000 0x00008000 // Editor: "Embedded Object"
|
||||
#define OBJFLAG_00010000 0x00010000 // Not used in scripts
|
||||
#define OBJFLAG_INVINCIBLE 0x00020000
|
||||
#define OBJFLAG_COLLECTABLE 0x00040000
|
||||
#define OBJFLAG_00080000 0x00080000 // Thrown laptop?
|
||||
#define OBJFLAG_UNCOLLECTABLE 0x00100000
|
||||
#define OBJFLAG_00200000 0x00200000 // Editor: "Bounce and Destroy If Shot"
|
||||
#define OBJFLAG_00400000 0x00400000 // Not used in scripts
|
||||
#define OBJFLAG_00800000 0x00800000 // Not used in scripts
|
||||
#define OBJFLAG_01000000 0x01000000 // Editor: "Embedded Object"
|
||||
#define OBJFLAG_CANNOT_ACTIVATE 0x02000000 // Makes it do nothing if player presses B on object. Used mostly for doors.
|
||||
#define OBJFLAG_04000000 0x04000000 // Editor: "AI Sees Through Door/Object"
|
||||
#define OBJFLAG_08000000 0x08000000 // Not used in scripts
|
||||
#define OBJFLAG_DEACTIVATED 0x10000000
|
||||
#define OBJFLAG_20000000 0x20000000 // Editor: "Door Opens Backwards/Special Function/Conceal Weapon"
|
||||
#define OBJFLAG_DOOR_KEEPOPEN 0x40000000 // Editor: "Door open by default/Empty weapon"
|
||||
#define OBJFLAG_LIFT_TRIGGERDISABLE 0x40000000
|
||||
#define OBJFLAG_CHOPPER_INACTIVE 0x80000000 // Or lift disabled
|
||||
|
||||
// obj->flags2
|
||||
#define OBJFLAG2_00000001 0x00000001 // Used only in CI Training
|
||||
|
|
|
|||
|
|
@ -129,7 +129,7 @@ u32 func0f070ca0(void);
|
|||
void liftActivate(struct prop *prop, u8 liftnum);
|
||||
struct prop *liftFindByPad(s16 padnum);
|
||||
u32 func0f070eac(void);
|
||||
void func0f070f08(struct liftobj *lift, u32 arg0);
|
||||
void func0f070f08(struct liftobj *lift, bool arg0);
|
||||
void liftGoToStop(struct liftobj *lift, s32 stopnum);
|
||||
u32 func0f071360(void);
|
||||
void func0f0713e4(struct defaultobj *obj, struct hov *hov, struct coord *coord, s16 *rooms, f32 *matrix);
|
||||
|
|
@ -150,7 +150,7 @@ u32 func0f073c6c(struct defaultobj *obj, bool *arg1);
|
|||
void doorTick(struct prop *doorprop);
|
||||
void func0f07731c(struct prop *door, s32 playercount);
|
||||
u32 func0f077448(void);
|
||||
u32 func0f07766c(void);
|
||||
void platformDisplaceProps(struct prop *platform, s16 *propnums, struct coord *prevpos, struct coord *newpos);
|
||||
void liftTick(struct prop *lift);
|
||||
void escalatorTick(struct prop *escalator);
|
||||
void cameraTick(struct prop *camera);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ u32 func000263e4(void);
|
|||
u32 func00026520(void);
|
||||
u32 func00026654(void);
|
||||
u32 func000266a4(void);
|
||||
u32 func0002671c(void);
|
||||
void platformGetRidingProps(struct prop *platform, s16 *propnums, u32 len);
|
||||
u32 func00026a04(void);
|
||||
u32 func00026e7c(void);
|
||||
u32 func0002709c(void);
|
||||
|
|
|
|||
|
|
@ -1196,9 +1196,9 @@ struct liftobj { // objtype 30
|
|||
/*0x64*/ struct doorobj *doors[4];
|
||||
/*0x74*/ f32 dist;
|
||||
/*0x78*/ f32 speed;
|
||||
/*0x7c*/ u32 accel;
|
||||
/*0x80*/ u32 maxspeed;
|
||||
/*0x84*/ u8 soundtype;
|
||||
/*0x7c*/ f32 accel;
|
||||
/*0x80*/ f32 maxspeed;
|
||||
/*0x84*/ s8 soundtype;
|
||||
/*0x85*/ s8 levelcur;
|
||||
/*0x86*/ s8 levelaim;
|
||||
/*0x88*/ struct coord prevpos;
|
||||
|
|
|
|||
|
|
@ -3698,7 +3698,7 @@ glabel func000266a4
|
|||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0002671c
|
||||
glabel platformGetRidingProps
|
||||
/* 2671c: 27bdfd88 */ addiu $sp,$sp,-632
|
||||
/* 26720: afbf003c */ sw $ra,0x3c($sp)
|
||||
/* 26724: afa5027c */ sw $a1,0x27c($sp)
|
||||
|
|
|
|||
Loading…
Reference in New Issue