sm64pc/data/behavior_data.s
2019-08-25 00:46:40 -04:00

5563 lines
175 KiB
ArmAsm

.include "macros.inc"
.include "model_ids.inc"
# see include/object_lists.h for comments
# TODO: Use C preprocessor define instead of redefining the lists seperately.
.set OBJ_LIST_PLAYER, 0
.set OBJ_LIST_UNUSED_1, 1
.set OBJ_LIST_DESTRUCTIVE, 2
.set OBJ_LIST_UNUSED_3, 3
.set OBJ_LIST_GENACTOR, 4
.set OBJ_LIST_PUSHABLE, 5
.set OBJ_LIST_LEVEL, 6
.set OBJ_LIST_UNUSED_7, 7
.set OBJ_LIST_DEFAULT, 8
.set OBJ_LIST_SURFACE, 9
.set OBJ_LIST_POLELIKE, 10
.set OBJ_LIST_SPAWNER, 11
.set OBJ_LIST_UNIMPORTANT, 12
# TODO: Use C preprocessor define instead of redefining the lists seperately. (object_constants.h)
.set OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE, (1 << 0) # 0x0001
.set OBJ_FLAG_MOVE_XZ_USING_FVEL, (1 << 1) # 0x0002
.set OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL, (1 << 2) # 0x0004
.set OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW, (1 << 3) # 0x0008
.set OBJ_FLAG_0010, (1 << 4) # 0x0010
.set OBJ_FLAG_0020, (1 << 5) # 0x0020
.set OBJ_FLAG_COMPUTE_DIST_TO_MARIO, (1 << 6) # 0x0040
.set OBJ_FLAG_ACTIVE_FROM_AFAR, (1 << 7) # 0x0080
.set OBJ_FLAG_0100, (1 << 8) # 0x0100
.set OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT, (1 << 9) # 0x0200
.set OBJ_FLAG_HOLDABLE, (1 << 10) # 0x0400
.set OBJ_FLAG_0800, (1 << 11) # 0x0800
.set OBJ_FLAG_1000, (1 << 12) # 0x1000
.set OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO, (1 << 13) # 0x2000
.set OBJ_FLAG_PERSISTENT_RESPAWN, (1 << 14) # 0x4000
.set OBJ_FLAG_8000, (1 << 15) # 0x8000
# TODO: Use C preprocessor define instead of redefining the lists seperately. (object_fields.h)
.set objUnk88, 0x00
.set objFlags, 0x01
.set objDialogResponse, 0x02
.set objUnk94, 0x03
.set objUnk98, 0x04
.set objIntangibleTimer, 0x05
.set objPosX, 0x06
.set objPosY, 0x07
.set objPosZ, 0x08
.set objVelX, 0x09
.set objVelY, 0x0A
.set objVelZ, 0x0B
.set objForwardVel, 0x0C
.set objUnkBC, 0x0D
.set objUnkC0, 0x0E
.set objMoveAnglePitch, 0x0F
.set objMoveAngleYaw, 0x10
.set objMoveAngleRoll, 0x11
.set objFaceAnglePitch, 0x12
.set objFaceAngleYaw, 0x13
.set objFaceAngleRoll, 0x14
.set objGraphYOffset, 0x15
.set objUnkE0, 0x16
.set objGravity, 0x17
.set objFloorHeight, 0x18
.set objMoveFlags, 0x19
.set objAnimState, 0x1A
# object-specific fields
.set objVarF4, 0x1B
.set objVarF8, 0x1C
.set objVarFC, 0x1D
.set objVar100, 0x1E
.set objVar104, 0x1F
.set objVar108, 0x20
.set objVar10C, 0x21
.set objVar110, 0x22
#
.set objAngleVelPitch, 0x23
.set objAngleVelYaw, 0x24
.set objAngleVelRoll, 0x25
.set objAnimations, 0x26
.set objHeldState, 0x27
.set objWallHitboxRadius, 0x28
.set objDragStrength, 0x29
.set objInteractType, 0x2A
.set objInteractStatus, 0x2B
.set objParentRelativePosX, 0x2C
.set objParentRelativePosY, 0x2D
.set objParentRelativePosZ, 0x2E
.set objBehParams2ndByte, 0x2F
.set objUnk148, 0x30
.set objAction, 0x31
.set objSubAction, 0x32
.set objTimer, 0x33
.set objBounce, 0x34
.set objDistanceToMario, 0x35
.set objAngleToMario, 0x36
.set objHomeX, 0x37
.set objHomeY, 0x38
.set objHomeZ, 0x39
.set objFriction, 0x3A
.set objBuoyancy, 0x3B
.set objSoundStateID, 0x3C
.set objOpacity, 0x3D
.set objDamageOrCoinValue, 0x3E
.set objHealth, 0x3F
.set objBehParams, 0x40
.set objPrevAction, 0x41
.set objUnk190, 0x42
.set objCollisionDistance, 0x43
.set objNumLootCoins, 0x44
.set objDrawingDistance, 0x45
.set objRoom, 0x46
.set objUnk1A4, 0x47
.set objUnk1A8, 0x48
# Object specific, only used in this file by big boos (where it is oBigBooNumMinionBoosKilled)
.set objVar1AC, 0x49
#
.set objUnk1B0, 0x4A
.set objWallAngle, 0x4B
.set objFloorType, 0x4C
.set objUnk1BC, 0x4D
.set objFloor, 0x4E
.set objDeathSound, 0x4F
# Interactions only used
.set INTERACT_DAMAGE, 0x00000008
.set INTERACT_POLE, 0x00000040
.set INTERACT_STAR_OR_KEY, 0x00001000
.set INTERACT_WATER_RING, 0x00010000
.set INTERACT_FLAME, 0x00040000
.set INTERACT_TEXT, 0x00800000
.set INTERACT_IGLOO_BARRIER, 0x40000000
.macro bytes4 byte1, byte2, byte3, byte4
.word ((\byte1 & 0xFF) << 24) | ((\byte2 & 0xFF) << 16) | ((\byte3 & 0xFF) << 8) | (\byte4 & 0xFF)
.endm
.macro begin arg1
bytes4 0x00, \arg1, 0x00, 0x00
.endm
.macro delay frames
.word (0x01 << 24) | (0x00 << 16) | (\frames & 0xFFFF)
.endm
.macro call addr
bytes4 0x02, 0x00, 0x00, 0x00
.word \addr
.endm
.macro return
bytes4 0x03, 0x00, 0x00, 0x00
.endm
.macro goto addr
bytes4 0x04, 0x00, 0x00, 0x00
.word \addr
.endm
.macro begin_repeat times
.word (0x05 << 24) | (0x00 << 16) | (\times & 0xFFFF)
.endm
.macro end_repeat
bytes4 0x06, 0x00, 0x00, 0x00
.endm
.macro end_repeat_nobreak
bytes4 0x07, 0x00, 0x00, 0x00
.endm
.macro begin_loop
bytes4 0x08, 0x00, 0x00, 0x00
.endm
.macro end_loop
bytes4 0x09, 0x00, 0x00, 0x00
.endm
.macro break
bytes4 0x0A, 0x00, 0x00, 0x00
.endm
.macro callnative addr
bytes4 0x0C, 0x00, 0x00, 0x00
.word \addr
.endm
.macro obj_add_float field, value
.word (0x0D << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
.endm
.macro obj_set_float field, value
.word (0x0E << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
.endm
.macro obj_add_int field, value
.word (0x0F << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
.endm
.macro obj_set_int field, value
.word (0x10 << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
.endm
.macro obj_or_int field, value
.word (0x11 << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
.endm
.macro obj_bit_clear_int field, value
.word (0x12 << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
.endm
.macro obj_set_int_rand_rshift field, min, rshift
.word (0x13 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
.word ((\rshift & 0xFFFF) << 16) | 0x0000
.endm
.macro obj_set_float_rand field, min, max
.word (0x14 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
.word ((\max & 0xFFFF) << 16) | 0x0000
.endm
.macro obj_set_int_rand field, min, max
.word (0x15 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
.word ((\max & 0xFFFF) << 16) | 0x0000
.endm
.macro obj_add_float_rand field, min, max
.word (0x16 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
.word ((\max & 0xFFFF) << 16) | 0x0000
.endm
.macro obj_add_int_rand_rshift field, min, rshift
.word (0x17 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
.word ((\rshift & 0xFFFF) << 16) | 0x0000
.endm
.macro geo_layout model_id
.word (0x1B << 24) | (0x00 << 16) | (\model_id & 0xFFFF)
.endm
.macro obj_child model_id, beh
bytes4 0x1C, 0x00, 0x00, 0x00
.word \model_id, \beh
.endm
.macro deactivate
bytes4 0x1D, 0x00, 0x00, 0x00
.endm
.macro drop_floor
bytes4 0x1E, 0x00, 0x00, 0x00
.endm
.macro obj_sum_float fieldDest, fieldSrc1, fieldSrc2
bytes4 0x1F, \fieldDest, \fieldSrc1, \fieldSrc2
.endm
.macro obj_sum_int fieldDest, fieldSrc1, fieldSrc2
bytes4 0x20, \fieldDest, \fieldSrc1, \fieldSrc2
.endm
.macro billboard
bytes4 0x21, 0x00, 0x00, 0x00
.endm
.macro unhide
bytes4 0x22, 0x00, 0x00, 0x00
.endm
.macro set_hitbox radius, height
bytes4 0x23, 0x00, 0x00, 0x00
.word ((\radius & 0xFFFF) << 16) | (\height & 0xFFFF)
.endm
.macro delay_var field
bytes4 0x25, \field, 0x00, 0x00
.endm
.macro obj_set_int32 field, value
bytes4 0x27, \field, 0x00, 0x00
.word \value
.endm
.macro animate animIndex
bytes4 0x28, \animIndex, 0x00, 0x00
.endm
.macro obj_child_param behParam, model_id, beh
.word (0x29 << 24) | (0x00 << 16) | (\behParam & 0xFFFF)
.word \model_id
.word \beh
.endm
.macro collision_data addr
bytes4 0x2A, 0x00, 0x00, 0x00
.word \addr
.endm
.macro collision_sphere radius, height, arg3
bytes4 0x2B, 0x00, 0x00, 0x00
.word ((\radius & 0xFFFF) << 16) | (\height & 0xFFFF)
.word ((\arg3 & 0xFFFF) << 16) | 0x0000
.endm
.macro obj_spawn model_id, beh
bytes4 0x2C, 0x00, 0x00, 0x00
.word \model_id
.word \beh
.endm
.macro obj_set_pos
bytes4 0x2D, 0x00, 0x00, 0x00
.endm
.macro obj_set_float2 arg1, arg2
bytes4 0x2E, 0x00, 0x00, 0x00
.word ((\arg1 & 0xFFFF) << 16) | (\arg2 & 0xFFFF)
.endm
.macro interact_type type
bytes4 0x2F, 0x00, 0x00, 0x00
.word \type
.endm
.macro gravity arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8
bytes4 0x30, 0x00, 0x00, 0x00
.word ((\arg1 & 0xFFFF) << 16) | (\arg2 & 0xFFFF)
.word ((\arg3 & 0xFFFF) << 16) | (\arg4 & 0xFFFF)
.word ((\arg5 & 0xFFFF) << 16) | (\arg6 & 0xFFFF)
.word ((\arg7 & 0xFFFF) << 16) | (\arg8 & 0xFFFF)
.endm
.macro scale percent
.word (0x32 << 24) | (0x00 << 16) | (\percent & 0xFFFF)
.endm
.macro obj_bit_clear_int32 field, value
bytes4 0x33, \field, 0x00, 0x00
.word \value
.endm
.macro text_anim_rate field, arg2
.word (0x34 << 24) | ((\field & 0xFF) << 16) | (\arg2 & 0xFFFF)
.endm
.macro graph_clear
bytes4 0x35, 0x00, 0x00, 0x00
.endm
.macro spawn_addr arg1
bytes4 0x37, 0x00, 0x00, 0x00
.word \arg1
.endm
# TODO: Go through these and rename a bunch of them, some of these names are really bad.
.section .behavior, "a"
glabel behavior_data
glabel bhvStarDoor # 0000
begin OBJ_LIST_SURFACE
obj_set_int objInteractType, 4
collision_data inside_castle_seg7_collision_star_door
obj_set_int objUnk190, 32
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
set_hitbox 80, 100
obj_set_pos
obj_set_float objDrawingDistance, 20000
callnative bhv_door_init
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_star_door_loop
callnative bhv_star_door_loop_2
callnative load_object_collision_model
end_loop
glabel bhvMrI # 0054
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_child MODEL_MR_I_IRIS, bhvMrIBody
geo_layout MODEL_MR_I
billboard
callnative bhv_init_room
begin_loop
callnative bhv_mr_i_loop
end_loop
glabel bhvMrIBody # 008C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_init_room
begin_loop
callnative bhv_mr_i_body_loop
end_loop
glabel bhvMrIParticle # 00AC
begin OBJ_LIST_LEVEL
billboard
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objIntangibleTimer, 0
set_hitbox 50, 50
obj_set_int objDamageOrCoinValue, 1
obj_set_int objInteractType, 8
gravity 0x001E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
callnative bhv_init_room
begin_loop
callnative bhv_mr_i_particle_loop
end_loop
glabel bhvPurpleParticle # 00F8
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_repeat 10
callnative bhv_piranha_particle_loop
end_repeat
deactivate
glabel bhvGiantPole # 0118
begin OBJ_LIST_POLELIKE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objInteractType, 0x40
set_hitbox 0x0050, 0x0834
obj_set_pos
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_giant_pole_loop
end_loop
glabel bhvPoleGrabbing # 0144
begin OBJ_LIST_POLELIKE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objInteractType, 0x40
set_hitbox 0x0050, 0x05DC
callnative bhv_pole_init
obj_set_int objIntangibleTimer, 0
begin_loop
callnative BehClimbDetectLoop
end_loop
glabel bhvThiHugeIslandTop # 0174
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data thi_seg7_collision_top_trap
begin_loop
callnative bhv_thi_huge_island_top_loop
end_loop
glabel bhvThiTinyIslandTop # 0194
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_thi_tiny_island_top_loop
end_loop
glabel bhvCapSwitchBase # 01AC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data capswitch_collision_05003448
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvCapSwitch # 01CC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data capswitch_collision_050033D0
begin_loop
callnative bhv_cap_switch_loop
callnative load_object_collision_model
end_loop
glabel bhvKingBobomb # 01F4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, king_bobomb_seg5_anims_0500FE30
obj_set_int objInteractType, 0x02
set_hitbox 0x0064, 0x0064
gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_int objIntangibleTimer, 0
drop_floor
obj_set_pos
obj_spawn MODEL_NONE, bhvBobombAnchorMario
obj_set_int objHealth, 0x0003
obj_set_int objDamageOrCoinValue, 1
begin_loop
callnative bhv_king_bobomb_loop
end_loop
glabel bhvBobombAnchorMario # 0254
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_float objParentRelativePosX, 0x0064
obj_set_float objParentRelativePosZ, 0x0096
begin_loop
callnative bhv_bobomb_anchor_mario_loop
end_loop
glabel bhvBetaChestBottom # 0278
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
callnative bhv_beta_chest_bottom_init
begin_loop
callnative bhv_beta_chest_bottom_loop
end_loop
glabel bhvBetaChestLid # 029C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
begin_loop
callnative bhv_beta_chest_lid_loop
end_loop
glabel bhvBubbleMario # 02B8
begin OBJ_LIST_DEFAULT
graph_clear
obj_set_int_rand objVarF4, 0x0002, 0x0009
delay_var objVarF4
obj_child MODEL_BUBBLE, bhvSmallWaterWave
obj_bit_clear_int32 objUnkE0, 0x00000020
deactivate
glabel bhvBubbleMaybe # 02E4
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
callnative bhv_bubble_wave_init
obj_set_float_rand objVarF4, 0xFFB5, 0x0096
obj_set_float_rand objVarF8, 0xFFB5, 0x0096
obj_set_float_rand objVarFC, 0xFFB5, 0x0096
obj_sum_float objPosX, objPosX, objVarF4
obj_sum_float objPosZ, objPosZ, objVarF8
obj_sum_float objPosY, objPosY, objVarFC
obj_set_int objAnimState, -1
begin_repeat 60
obj_add_int objAnimState, 1
callnative bhv_bubble_maybe_loop
end_repeat
deactivate
glabel bhvSmallWaterWave # 0338
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
callnative bhv_bubble_wave_init
obj_set_float_rand objVarF4, 0xFFCE, 0x0064
obj_set_float_rand objVarF8, 0xFFCE, 0x0064
obj_sum_float objPosX, objPosX, objVarF4
obj_sum_float objPosZ, objPosZ, objVarF8
obj_set_float_rand objVarFC, 0x0000, 0x0032
obj_sum_float objPosY, objPosY, objVarFC
obj_set_int objAnimState, -1
call bhvSmallWaterWave398
begin_repeat 60
call bhvSmallWaterWave398
callnative bhv_small_water_wave_loop
end_repeat
deactivate
glabel bhvSmallWaterWave398 # 0398
obj_add_int objAnimState, 1
obj_add_float objPosY, 7
obj_set_float_rand objVarF4, -2, 5
obj_set_float_rand objVarF8, -2, 5
obj_sum_float objPosX, objPosX, objVarF4
obj_sum_float objPosZ, objPosZ, objVarF8
return
glabel bhvWaterAirBubble # 03BC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
collision_sphere 0x0190, 0x0096, 0xFF6A
obj_set_int objIntangibleTimer, 0
interact_type INTERACT_WATER_RING
obj_set_int objDamageOrCoinValue, 5
callnative bhv_water_air_bubble_init
obj_set_int objAnimState, -1
begin_loop
callnative bhv_water_air_bubble_loop
end_loop
glabel bhvSmallParticle # 0400
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_particle_init
begin_repeat 70
callnative bhv_particle_loop
end_repeat
deactivate
glabel bhvWaterWaves # 0428
begin OBJ_LIST_DEFAULT
obj_bit_clear_int32 objUnkE0, 0x00000200
graph_clear
callnative bhv_water_waves_init
deactivate
glabel bhvSmallParticleSnow # 0444
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_particle_init
begin_repeat 30
callnative bhv_particle_loop
end_repeat
deactivate
glabel bhvSmallParticleBubbles # 046C
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_particle_init
begin_repeat 70
callnative bhv_small_bubbles_loop
end_repeat
deactivate
glabel bhvFishGroup # 0494
begin OBJ_LIST_DEFAULT
begin_loop
callnative bhv_fish_group_loop
end_loop
glabel bhvCannon # 04A8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_child MODEL_CANNON_BARREL, bhvCannonBarrel
obj_set_int objInteractType, 0x4000
obj_add_float objPosY, -340
obj_set_pos
set_hitbox 0x0096, 0x0096
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_cannon_base_loop
end_loop
glabel bhvCannonBarrel # 04E4
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
begin_loop
callnative bhv_cannon_barrel_loop
end_loop
glabel bhvCannonBaseUnused # 0500
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_int objAnimState, -1
begin_repeat 8
callnative bhv_cannon_base_unused_loop
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvChuckya # 0528
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, chuckya_seg8_anims_0800C070
animate 0x05
obj_set_int objInteractType, 0x02
set_hitbox 0x0096, 0x0064
gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_spawn MODEL_NONE, bhvChuckyaAnchorMario
obj_set_int objNumLootCoins, 5
obj_set_int objIntangibleTimer, 0
obj_set_pos
begin_loop
callnative bhv_chuckya_loop
end_loop
glabel bhvChuckyaAnchorMario # 0584
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_float objParentRelativePosY, 0xFFC4
obj_set_float objParentRelativePosZ, 0x0096
begin_loop
callnative bhv_chuckya_anchor_mario_loop
end_loop
glabel bhvUnused05A8 # 05A8
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
break
glabel bhvRotatingPlatform # 05B4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative bhv_rotating_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvTower # 05D8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data wf_seg7_collision_tower
obj_set_float objCollisionDistance, 0x0BB8
obj_set_float objDrawingDistance, 0x4E20
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvBulletBillCannon # 0600
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data wf_seg7_collision_bullet_bill_cannon
obj_set_float objCollisionDistance, 0x012C
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvWfBreakableWallRight # 0624
begin OBJ_LIST_SURFACE
collision_data wf_seg7_collision_breakable_wall
goto .L13000644
glabel bhvWfBreakableWallLeft # 0638
begin OBJ_LIST_SURFACE
collision_data wf_seg7_collision_breakable_wall_2
.L13000644: # 0644
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
set_hitbox 0x012C, 0x0190
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_wf_breakable_wall_loop
callnative load_object_collision_model
end_loop
glabel bhvKickableBoard # 066C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_kickable_board
set_hitbox 0x0064, 0x04B0
obj_set_float2 0x0001, 0x0001
obj_set_float objCollisionDistance, 0x05DC
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_kickable_board_loop
end_loop
glabel bhvTowerDoor # 06A4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_tower_door
set_hitbox 0x0064, 0x0064
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_tower_door_loop
callnative load_object_collision_model
end_loop
glabel bhvRotatingCounterClockwise # 06D8
begin OBJ_LIST_DEFAULT
break
glabel bhvWfRotatingWoodenPlatform # 06E0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data wf_seg7_collision_clocklike_rotation
begin_loop
callnative bhv_wf_rotating_wooden_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvKoopaShellUnderwater # 0708
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_koopa_shell_underwater_loop
end_loop
glabel bhvExitPodiumWarp # 0720
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objInteractType, 0x2000
drop_floor
obj_set_float objCollisionDistance, 0x1F40
collision_data ttm_seg7_collision_podium_warp
obj_set_int objIntangibleTimer, 0
set_hitbox 0x0032, 0x0032
begin_loop
callnative load_object_collision_model
obj_set_int objInteractStatus, 0
end_loop
glabel bhvFadingWarp # 075C
begin OBJ_LIST_LEVEL
obj_set_int objUnk190, 0x0001
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objInteractType, 0x2000
obj_set_int objIntangibleTimer, 0
begin_loop
callnative BehFadingWarpLoop
end_loop
glabel bhvWarp # 0780
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objInteractType, 0x2000
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_warp_loop
end_loop
glabel bhvWarpPipe # 07A0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objInteractType, 0x2000
collision_data warp_pipe_seg3_collision_03009AC8
obj_set_float objDrawingDistance, 0x3E80
obj_set_int objIntangibleTimer, 0
set_hitbox 0x0046, 0x0032
begin_loop
callnative bhv_warp_loop
callnative load_object_collision_model
end_loop
glabel bhvWhitePuffExplosion # 07DC
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_white_puff_exploding_loop
end_loop
glabel bhvSpawnedStar # 07F8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objBehParams2ndByte, 1
goto .L13000814
glabel bhvUnused080C # 080C
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
.L13000814: # 0814
obj_set_pos
callnative bhv_unused_080c_init
begin_loop
callnative bhv_unused_080c_loop
end_loop
glabel bhvMrIBlueCoin # 0830
begin OBJ_LIST_LEVEL
obj_set_int objInteractType, 0x10
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_int objIntangibleTimer, 0
obj_set_float objVar110, 0x0014
obj_set_int objAnimState, -1
gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_coin_init
obj_set_int objDamageOrCoinValue, 0x0005
set_hitbox 0x0078, 0x0040
begin_loop
callnative bhv_coin_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvCoinInsideBoo # 0888
begin OBJ_LIST_LEVEL
set_hitbox 0x0064, 0x0040
obj_set_int objInteractType, 0x10
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
billboard
callnative bhv_init_room
begin_loop
callnative bhv_coin_inside_boo_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvCoinFormationSpawn # 08D0
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_coin_formation_spawn_loop
end_loop
glabel bhvCoinFormation # 08EC
begin OBJ_LIST_SPAWNER
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_coin_formation_init
begin_loop
callnative bhv_coin_formation_loop
end_loop
glabel bhvOneCoin # 090C
begin OBJ_LIST_LEVEL
obj_set_int objBehParams2ndByte, 1
goto .L13000920
glabel bhvYellowCoin # 091C
begin OBJ_LIST_LEVEL
.L13000920: # 0920
billboard
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_yellow_coin_init
begin_loop
callnative bhv_yellow_coin_loop
end_loop
glabel bhvTemporaryYellowCoin # 0940
begin OBJ_LIST_LEVEL
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_yellow_coin_init
begin_loop
callnative bhv_temp_coin_loop
end_loop
glabel bhvThreeCoinsSpawn # 0964
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_repeat 3
obj_child MODEL_YELLOW_COIN, bhvSingleCoinGetsSpawned
end_repeat
deactivate
glabel bhvTenCoinsSpawn # 0984
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_repeat 10
obj_child MODEL_YELLOW_COIN, bhvSingleCoinGetsSpawned
end_repeat
deactivate
glabel bhvSingleCoinGetsSpawned # 09A4
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
callnative bhv_coin_init
gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_coin_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvCoinSparkles # 09E0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_float objGraphYOffset, 25
obj_set_int objAnimState, -1
begin_repeat 8
obj_add_int objAnimState, 1
end_repeat
begin_repeat 2
callnative bhv_coin_sparkles_loop
end_repeat
deactivate
glabel bhvGoldenCoinSparkles # 0A14
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
graph_clear
begin_repeat 3
callnative bhv_golden_coin_sparkles_loop
end_repeat
deactivate
glabel bhvWallTinyStarParticle # 0A34
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_repeat 10
callnative bhv_wall_tiny_star_particle_loop
end_repeat
deactivate
glabel bhvWallTinyStarParticleSpawn # 0A54
begin OBJ_LIST_DEFAULT
graph_clear
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_bit_clear_int32 objUnkE0, 0x00040000
callnative bhv_tiny_star_particles_init
delay 1
deactivate
glabel bhvPoundTinyStarParticle # 0A78
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_repeat 10
callnative bhv_pound_tiny_star_particle_loop
end_repeat
deactivate
glabel bhvPoundTinyStarParticleSpawn # 0A98
begin OBJ_LIST_DEFAULT
graph_clear
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_bit_clear_int32 objUnkE0, 0x00000010
callnative bhv_pound_tiny_star_particle_init
delay 1
deactivate
glabel bhvPunchTinyTriangle # 0ABC
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_punch_tiny_triangle_loop
end_loop
glabel bhvPunchTinyTriangleSpawn # 0AD8
begin OBJ_LIST_DEFAULT
graph_clear
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_bit_clear_int32 objUnkE0, 0x00080000
callnative bhv_punch_tiny_triangle_init
delay 1
deactivate
glabel bhvDoorWarp # 0AFC
begin OBJ_LIST_SURFACE
obj_set_int objInteractType, 0x800
goto .L13000B14
glabel bhvDoor # 0B0C
begin OBJ_LIST_SURFACE
obj_set_int objInteractType, 0x04
.L13000B14: # 0B14
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, door_seg3_anim_030156C0
animate 0x00
collision_data door_seg3_collision_0301CE78
set_hitbox 0x0050, 0x0064
obj_set_int objIntangibleTimer, 0
obj_set_float objCollisionDistance, 0x03E8
obj_set_pos
callnative bhv_door_init
begin_loop
callnative bhv_door_loop
end_loop
glabel bhvGrindel # 0B58
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data ssl_seg7_collision_grindel
drop_floor
obj_add_float objPosY, 1
obj_set_pos
begin_loop
callnative bhv_grindel_thwomp_loop
callnative load_object_collision_model
end_loop
glabel bhvThwomp2 # 0B8C
begin OBJ_LIST_SURFACE
collision_data thwomp_seg5_collision_0500B92C
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_add_float objPosY, 1
obj_set_pos
scale 140
obj_set_float objDrawingDistance, 0x0FA0
begin_loop
callnative bhv_grindel_thwomp_loop
callnative load_object_collision_model
end_loop
glabel bhvThwomp # 0BC8
begin OBJ_LIST_SURFACE
collision_data thwomp_seg5_collision_0500B7D0
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_add_float objPosY, 1
scale 140
obj_set_pos
obj_set_float objDrawingDistance, 0x0FA0
begin_loop
callnative bhv_grindel_thwomp_loop
callnative load_object_collision_model
end_loop
glabel bhvTumblingBridgePlatform # 0C04
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objCollisionDistance, 0x012C
begin_loop
callnative bhv_tumbling_bridge_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvWfTumblingBridge # 0C28
begin OBJ_LIST_SPAWNER
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
begin_loop
callnative bhv_tumbling_bridge_loop
end_loop
glabel bhvBbhTumblingBridge # 0C44
begin OBJ_LIST_SPAWNER
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_int objBehParams2ndByte, 1
begin_loop
callnative bhv_tumbling_bridge_loop
end_loop
glabel bhvLllTumblingBridge # 0C64
begin OBJ_LIST_SPAWNER
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_int objBehParams2ndByte, 2
begin_loop
callnative bhv_tumbling_bridge_loop
end_loop
glabel bhvFlame # 0C84
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_pos
scale 700
interact_type INTERACT_FLAME
collision_sphere 0x0032, 0x0019, 0x0019
obj_set_int objIntangibleTimer, 0
callnative bhv_init_room
begin_loop
obj_set_int objInteractStatus, 0
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvAnotherElavator # 0CC8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data hmc_seg7_collision_elevator
obj_set_pos
callnative bhv_elevator_init
begin_loop
callnative bhv_elevator_loop
callnative load_object_collision_model
end_loop
glabel bhvRrElevatorPlatform # 0CFC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data rr_seg7_collision_elevator_platform
obj_set_pos
callnative bhv_elevator_init
begin_loop
callnative bhv_elevator_loop
callnative load_object_collision_model
end_loop
glabel bhvHmcElevatorPlatform # 0D30
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data hmc_seg7_collision_elevator
obj_set_pos
callnative bhv_elevator_init
callnative bhv_init_room
begin_loop
callnative bhv_elevator_loop
callnative load_object_collision_model
end_loop
glabel bhvWaterMist # 0D6C
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_int objOpacity, 0xFE
obj_set_float objForwardVel, 0x0014
obj_set_float objVelY, 0xFFF8
obj_add_float objPosY, 62
begin_loop
callnative bhv_water_mist_loop
end_loop
glabel bhvWaterMistSpawn # 0D98
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_repeat 8
callnative bhv_water_mist_spawn_loop
end_repeat
deactivate
glabel bhvBreakBoxTriangle # 0DB4
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_repeat 18
callnative obj_rotate_face_angle_using_vel
callnative obj_move_using_fvel_and_gravity
end_repeat
deactivate
glabel bhvWaterMist2 # 0DD8
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_int objFaceAnglePitch, 0xC000
scale 2100
begin_loop
callnative bhv_water_mist_2_loop
end_loop
glabel bhvUnused0DFC # 0DFC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objAnimState, -1
obj_set_float objFaceAnglePitch, 0
obj_set_float objFaceAngleYaw, 0
obj_set_float objFaceAngleRoll, 0
begin_repeat 6
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvPoundWhitePuffs # 0E24
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_pound_white_puffs_init
delay 1
deactivate
glabel bhvGroundSand # 0E3C
begin OBJ_LIST_DEFAULT
glabel bhvUnused0E40 # 0E40
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_unused_0e40_init
delay 1
deactivate
glabel bhvGroundSnow # 0E58
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_ground_snow_init
delay 1
deactivate
glabel bhvWind # 0E70
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_wind_loop
end_loop
glabel bhvEndToad # 0E88
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, toad_seg6_anims_0600FB58
animate 0x00
begin_loop
callnative BehEndToadLoop
end_loop
glabel bhvEndPeach # 0EAC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, peach_seg5_anims_0501C41C
animate 0x00
begin_loop
callnative BehEndPeachLoop
end_loop
glabel bhvUnusedParticleSpawn # 0ED0
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_int objIntangibleTimer, 0
set_hitbox 0x0028, 0x0028
begin_loop
callnative bhv_unused_particle_spawn_loop
end_loop
glabel bhvUkiki # 0F08
begin OBJ_LIST_GENACTOR
goto .L13001CB4
glabel bhvUnused0F14 # 0F14
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objPosX, 0x0A00
obj_set_float objPosY, 0x05B1
obj_set_float objPosZ, 0x076A
break
glabel bhvLittleCage2 # 0F2C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative bhv_little_cage_2_loop
end_loop
glabel bhvLittleCage # 0F48
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
collision_data ttm_seg7_collision_little_cage
obj_child MODEL_STAR, bhvLittleCage2
obj_child MODEL_NONE, bhvUnused0F14
obj_set_float objCollisionDistance, 0x4E20
gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_little_cage_loop
end_loop
glabel bhvBitfsSinkingPlatforms # 0F9C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data bitfs_seg7_collision_sinking_platform
obj_set_pos
begin_loop
callnative bhv_bitfs_sinking_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvBitfsSinkingCagePlatform # 0FC8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data bitfs_seg7_collision_sinking_cage_platform
obj_set_pos
obj_child MODEL_BITFS_BLUE_POLE, bhvDddMovingPole
begin_loop
callnative bhv_bitfs_sinking_cage_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvDddMovingPole # 1000
begin OBJ_LIST_POLELIKE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objInteractType, 0x40
set_hitbox 0x0050, 0x02C6
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_ddd_moving_pole_loop
callnative BehClimbDetectLoop
end_loop
glabel bhvBitfsTiltingSquarePlatform # 1030
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data bitfs_seg7_collision_inverted_pyramid
obj_set_pos
callnative bhv_tilting_platform_init
begin_loop
callnative bhv_tilting_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvSquishablePlatform # 1064
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data bitfs_seg7_collision_squishable_platform
obj_set_float objCollisionDistance, 0x2710
callnative bhv_tilting_platform_init
begin_loop
callnative bhv_squishable_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvCutOutObject # 1098
begin OBJ_LIST_GENACTOR
graph_clear
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
break
glabel bhvBetaMovingFlamesSpawn # 10A8
begin_loop
callnative bhv_beta_moving_flames_spawn_loop
end_loop
glabel bhvBetaMovingFlames # 10B8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
begin_loop
callnative bhv_beta_moving_flames_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvRrRotatingBridgePlatform # 10D8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data rr_seg7_collision_rotating_platform_with_fire
obj_set_float objCollisionDistance, 0x05DC
obj_set_pos
begin_loop
callnative bhv_rr_rotating_bridge_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvFlamethrower # 1108
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
begin_loop
callnative bhv_flamethrower_loop
end_loop
glabel bhvFlamethrowerFlame # 1124
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
collision_sphere 0x0032, 0x0019, 0x0019
billboard
obj_set_pos
obj_set_int objIntangibleTimer, 0
callnative bhv_init_room
begin_loop
callnative bhv_flamethrower_flame_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvBouncingFireball # 1168
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
graph_clear
begin_loop
callnative bhv_bouncing_fireball_loop
end_loop
glabel bhvBouncingFireballFlame # 1184
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
obj_set_float objGraphYOffset, 30
collision_sphere 0x0032, 0x0019, 0x0019
gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
billboard
begin_loop
callnative bhv_bouncing_fireball_flame_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvBowserShockWave # 11D0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objOpacity, 0x00FF
begin_loop
callnative bhv_bowser_shock_wave_loop
end_loop
glabel bhvFlameMario # 11EC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_float objGraphYOffset, 0x0046
obj_set_int objAnimState, -1
begin_loop
obj_add_int objAnimState, 1
callnative bhv_flame_mario_loop
end_loop
glabel bhvBlackSmokeMario # 1214
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_int objAnimState, 0x0004
obj_set_float objGraphYOffset, 0x0032
begin_repeat 8
callnative bhv_black_smoke_mario_loop
delay 1
callnative bhv_black_smoke_mario_loop
delay 1
callnative bhv_black_smoke_mario_loop
end_repeat
deactivate
glabel bhvBlackSmokeBowser # 1254
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_float objGraphYOffset, 0x0000
begin_repeat 8
callnative bhv_black_smoke_bowser_loop
text_anim_rate objAnimState, 0x0004
end_repeat
deactivate
glabel bhvBlackSmokeUpward # 127C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_repeat 4
callnative bhv_black_smoke_upward_loop
end_repeat
deactivate
glabel bhvBetaFishSplashSpawner # 1298
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
graph_clear
begin_loop
callnative bhv_beta_fish_splash_spawner_loop
end_loop
glabel bhvSpindrift # 12B4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, spindrift_seg5_anims_05002D68
animate 0x00
gravity 0x001E, 0xFE70, 0x0000, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
obj_set_pos
obj_set_int objUnk190, 0x0080
begin_loop
callnative bhv_spindrift_loop
end_loop
glabel bhvTowerPlatformGroup # 12F4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
graph_clear
obj_add_float objPosY, 300
obj_set_pos
begin_loop
callnative bhv_tower_platform_group_loop
end_loop
glabel bhvWfSlidingTowerPlatform # 1318
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_platform
begin_loop
callnative bhv_wf_sliding_tower_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvWfElevatorTowerPlatform # 1340
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_platform
begin_loop
callnative bhv_wf_elevator_tower_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvWfSolidTowerPlatform # 1368
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_platform
begin_loop
callnative bhv_wf_solid_tower_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvSnowLeafParticleSpawn # 1390
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_snow_leaf_particle_spawn_init
delay 1
deactivate
glabel bhvTreeSnow # 13A8
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
begin_loop
callnative bhv_tree_snow_or_leaf_loop
end_loop
glabel bhvTreeLeaf # 13C4
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_tree_snow_or_leaf_loop
end_loop
glabel bhvAnotherTiltingPlatform # 13DC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
callnative bhv_tilting_platform_init
begin_loop
callnative bhv_tilting_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvSquarishPathMoving # 1408
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data bitdw_seg7_collision_moving_pyramid
obj_set_pos
begin_loop
callnative bhv_squarish_path_moving_loop
end_loop
glabel bhvPiranhaPlantBubble # 142C
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_piranha_plant_bubble_loop
end_loop
glabel bhvPiranhaPlantWakingBubbles # 1448
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_repeat 10
callnative bhv_piranha_plant_waking_bubbles_loop
end_repeat
deactivate
glabel bhvFloorSwitchAnimatesObject # 1468
begin OBJ_LIST_SURFACE
obj_set_int objBehParams2ndByte, 1
goto .Lbeh_floor_switch_1488
glabel bhvFloorSwitchGrills # 1478
begin OBJ_LIST_SURFACE
goto .Lbeh_floor_switch_1488
glabel bhvFloorSwitchHardcodedModel # 1484
begin OBJ_LIST_SURFACE
.Lbeh_floor_switch_1488: # 1488
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data purple_switch_seg8_collision_0800C7A8
begin_loop
callnative bhv_purple_switch_loop
callnative load_object_collision_model
end_loop
glabel bhvFloorSwitchHiddenObjects # 14AC
begin OBJ_LIST_SURFACE
obj_set_int objBehParams2ndByte, 2
goto .Lbeh_floor_switch_1488
glabel bhvHiddenObject # 14BC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data breakable_box_seg8_collision_08012D70
obj_set_float objCollisionDistance, 0x012C
begin_loop
callnative bhv_hidden_object_loop
end_loop
glabel bhvBreakableBox # 14E0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data breakable_box_seg8_collision_08012D70
obj_set_float objCollisionDistance, 0x01F4
callnative bhv_init_room
begin_loop
callnative bhv_breakable_box_loop
callnative load_object_collision_model
end_loop
break
glabel bhvPushableMetalBox # 1518
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data metal_box_seg8_collision_08024C28
obj_set_float objCollisionDistance, 0x01F4
obj_set_pos
begin_loop
callnative bhv_pushable_loop
callnative load_object_collision_model
end_loop
glabel bhvHeaveHo # 1548
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, heave_ho_seg5_anims_0501534C
animate 0x00
gravity 0x00C8, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0258, 0x0000, 0x0000
obj_spawn MODEL_NONE, bhvHeaveHoThrowMario
obj_set_int objInteractType, 0x02
obj_set_int objUnk190, 0x0204
set_hitbox 0x0078, 0x0064
obj_set_pos
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_heave_ho_loop
end_loop
glabel bhvHeaveHoThrowMario # 15A4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
begin_loop
callnative bhv_heave_ho_throw_mario_loop
end_loop
glabel bhvCcmTouchedStarSpawn # 15C0
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
set_hitbox 0x01F4, 0x01F4
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_ccm_touched_star_spawn_loop
end_loop
glabel bhvUnusedPoundablePlatform # 15E4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data sl_seg7_collision_pound_explodes
obj_set_pos
begin_loop
callnative bhv_unused_poundable_platform
end_loop
glabel bhvBetaTrampolineTop # 1608
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data springboard_collision_05001A28
obj_set_pos
begin_loop
callnative bhv_beta_trampoline_top_loop
callnative load_object_collision_model
end_loop
glabel bhvBetaTrampolineSpring # 1634
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative bhv_beta_trampoline_spring_loop
end_loop
glabel bhvJumpingBox # 1650
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0258, 0x0000, 0x0000
begin_loop
callnative bhv_jumping_box_loop
end_loop
glabel bhvBooCage # 167C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objGraphYOffset, 0x000A
gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_boo_cage_loop
end_loop
glabel bhvStub # 16AC
begin OBJ_LIST_DEFAULT
graph_clear
break
glabel bhvIgloo # 16B8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_IGLOO_BARRIER
set_hitbox 0x0064, 0x00C8
obj_set_int objIntangibleTimer, 0
obj_set_pos
begin_loop
obj_set_int objInteractStatus, 0
end_loop
glabel bhvBowserKey # 16E4
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_bowser_key_loop
end_loop
glabel bhvGrandStar # 1714
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_STAR_OR_KEY
obj_set_int objUnk190, 0x0800
set_hitbox 0x00A0, 0x0064
obj_set_pos
begin_loop
callnative bhv_grand_star_loop
end_loop
glabel bhvBetaBooKey # 1744
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0020, 0x0040
gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_beta_boo_key_loop
end_loop
glabel bhvAlphaBooKey # 1778
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0020, 0x0040
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_alpha_boo_key_loop
end_loop
glabel bhvBulletBill # 179C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
collision_sphere 0x0032, 0x0032, 0x0032
interact_type INTERACT_DAMAGE
obj_set_int objDamageOrCoinValue, 3
scale 40
obj_set_int objIntangibleTimer, 0
gravity 0x001E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
callnative bhv_bullet_bill_init
begin_loop
callnative bhv_bullet_bill_loop
end_loop
glabel bhvWhitePuffSmoke # 17F4
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_add_float objPosY, -100
callnative bhv_white_puff_smoke_init
obj_set_int objAnimState, -1
begin_repeat 10
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvUnused1820 # 1820
begin OBJ_LIST_DEFAULT
break
glabel bhvBowserTailAnchor # 1828
begin OBJ_LIST_GENACTOR
collision_sphere 0x0064, 0x0032, 0xFFCE
obj_set_int objIntangibleTimer, 0
graph_clear
begin_loop
callnative bhv_bowser_tail_anchor_loop
end_loop
glabel bhvBowser # 1850
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objInteractType, 0x02
set_hitbox 0x0190, 0x0190
drop_floor
obj_set_pos
obj_set_int32 objAnimations, bowser_seg6_anims_06057690
obj_child MODEL_NONE, bhvBowserBodyAnchor
obj_child MODEL_BOWSER_BOMB_CHILD_OBJ, bhvBowserFlameSpawn
obj_spawn MODEL_NONE, bhvBowserTailAnchor
obj_set_int objNumLootCoins, 0x0032
gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_pos
callnative bhv_bowser_init
begin_loop
callnative bhv_bowser_loop
end_loop
glabel bhvBowserBodyAnchor # 18CC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0064, 0x012C
interact_type INTERACT_DAMAGE
obj_set_int objUnk190, 0x0008
graph_clear
obj_set_int objDamageOrCoinValue, 2
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_bowser_body_anchor_loop
end_loop
glabel bhvBowserFlameSpawn # 1904
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
geo_layout MODEL_NONE
begin_loop
callnative bhv_bowser_flame_spawn_loop
end_loop
glabel bhvTiltingBowserLavaPlatform # 1920
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data bowser_2_seg7_collision_tilting_platform
obj_set_float objDrawingDistance, 0x4E20
obj_set_float objCollisionDistance, 0x4E20
obj_set_int objFaceAngleYaw, 0x0000
obj_set_pos
begin_loop
callnative obj_rotate_face_angle_using_vel
callnative load_object_collision_model
end_loop
glabel bhvFallingBowserPlatform # 1958
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objDrawingDistance, 0x4E20
obj_set_float objCollisionDistance, 0x4E20
obj_set_pos
begin_loop
callnative bhv_falling_bowser_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvBlueBowserFlame # 1984
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
billboard
gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_blue_bowser_flame_init
begin_loop
callnative bhv_blue_bowser_flame_loop
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvFlameFloatingLanding # 19C8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
billboard
gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_flame_floating_landing_init
begin_loop
callnative bhv_flame_floating_landing_loop
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvBlueFlamesGroup # 1A0C
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
interact_type INTERACT_FLAME
billboard
begin_loop
callnative bhv_blue_flames_group_loop
end_loop
glabel bhvFlameBouncing # 1A30
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
interact_type INTERACT_FLAME
billboard
callnative bhv_flame_bouncing_init
gravity 0x0000, 0xFE70, 0xFFBA, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_flame_bouncing_loop
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvFlameMovingForwardGrowing # 1A74
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
billboard
callnative bhv_flame_moving_forward_growing_init
begin_loop
callnative bhv_flame_moving_forward_growing_loop
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvFlameBowser # 1AA4
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
billboard
callnative bhv_flame_bowser_init
gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_flame_bowser_loop
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvFlameLargeBurningOut # 1AE8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
billboard
callnative bhv_flame_large_burning_out_init
gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_flame_bowser_loop
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvBlueFish # 1B2C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_int32 objAnimations, blue_fish_seg3_anims_0301C2B0
animate 0x00
begin_loop
callnative bhv_blue_fish_loop
end_loop
glabel bhvTankFishGroup # 1B54
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative bhv_tank_fish_group_loop
end_loop
glabel bhvCheckerboardElevatorGroup # 1B70
begin OBJ_LIST_SPAWNER
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_checkerboard_elevator_group_init
delay 1
deactivate
glabel bhvCheckerboardPlatformSub # 1B88
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data checkerboard_platform_seg8_collision_0800D710
callnative bhv_checkerboard_platform_init
obj_set_pos
begin_loop
callnative bhv_checkerboard_platform_loop
end_loop
glabel bhvBowserKeyUnlockDoor # 1BB4
begin OBJ_LIST_DEFAULT
obj_set_int32 objAnimations, bowser_key_seg3_anims_list
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_bowser_key_unlock_door_loop
end_loop
glabel bhvBowserKeyCourseExit # 1BD4
begin OBJ_LIST_DEFAULT
obj_set_int32 objAnimations, bowser_key_seg3_anims_list
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_bowser_key_course_exit_loop
end_loop
glabel bhvInvisibleObjectsUnderBridge # 1BF4
begin OBJ_LIST_DEFAULT
callnative bhv_invisible_objects_under_bridge_init
break
glabel bhvWaterLevelPillar # 1C04
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data inside_castle_seg7_collision_water_level_pillar
callnative bhv_water_level_pillar_init
begin_loop
callnative bhv_water_level_pillar_loop
callnative load_object_collision_model
end_loop
glabel bhvDddWarp # 1C34
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objCollisionDistance, 0x7530
begin_loop
callnative bhv_ddd_warp_loop
callnative load_object_collision_model
end_loop
glabel bhvMoatGrills # 1C58
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data castle_grounds_seg7_collision_moat_grills
obj_set_float objCollisionDistance, 0x7530
begin_loop
callnative bhv_moat_grills_loop
end_loop
glabel bhvClockMinuteHand # 1C7C
begin OBJ_LIST_DEFAULT
obj_set_int objAngleVelRoll, 0xFE80
goto .L13001C94
glabel bhvClockHourHand # 1C8C
begin OBJ_LIST_DEFAULT
obj_set_int objAngleVelRoll, 0xFFE0
.L13001C94: # 1C94
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_init_room
begin_loop
callnative bhv_rotating_clock_arm_loop
end_loop
glabel bhvUkikiOpenCage # 1CB0
begin OBJ_LIST_GENACTOR
.L13001CB4: # 1CB4
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objInteractType, 0x02
obj_set_int objUnk190, 0x0010
set_hitbox 0x0028, 0x0028
obj_set_int objIntangibleTimer, 0
drop_floor
obj_set_int32 objAnimations, ukiki_seg5_anims_05015784
animate 0x00
gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
obj_set_pos
callnative bhv_ukiki_open_cage_init
begin_loop
callnative bhv_ukiki_open_cage_loop
end_loop
glabel bhvStub1D0C # 1D0C
begin OBJ_LIST_DEFAULT
deactivate
glabel bhvLllRotatingHexagonalPlatform # 1D14
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_hexagonal_platform
obj_set_pos
begin_loop
obj_set_int objAngleVelYaw, 0x100
obj_add_int objMoveAngleYaw, 0x100
callnative load_object_collision_model
end_loop
glabel bhvLllSinkingRockBlock # 1D40
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_floating_block
obj_add_float objPosY, -50
obj_set_pos
begin_loop
callnative bhv_lll_sinking_rock_block_loop
callnative load_object_collision_model
end_loop
glabel bhvStub1D70 # 1D70
begin OBJ_LIST_DEFAULT
break
glabel bhvLllMovingOctagonalMeshPlatform # 1D78
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_add_float objPosY, -50
collision_data lll_seg7_collision_octagonal_moving_platform
begin_loop
callnative bhv_lll_moving_octagonal_mesh_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvSnowBall # 1DA4
break
glabel bhvLllRotatingBlockWithFireBars # 1DA8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_rotating_fire_bars
obj_set_float objCollisionDistance, 0x0FA0
begin_loop
callnative bhv_lll_rotating_block_fire_bars_loop
end_loop
glabel bhvLllRotatingHexFlame # 1DCC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
interact_type INTERACT_FLAME
collision_sphere 0x0032, 0x0064, 0x0032
obj_set_int objIntangibleTimer, 0
billboard
begin_loop
callnative bhv_lll_rotating_hex_flame_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvLllWoodPiece # 1E04
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_wood_piece
obj_set_pos
begin_loop
callnative bhv_lll_wood_piece_loop
callnative load_object_collision_model
end_loop
glabel bhvLllFloatingWoodBridge # 1E30
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
geo_layout MODEL_NONE
begin_loop
callnative bhv_lll_floating_wood_bridge_loop
end_loop
glabel bhvVolcanoFlames # 1E4C
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
begin_loop
obj_add_int objAnimState, 1
callnative bhv_volcano_flames_loop
end_loop
glabel bhvLllRotatingHexagonalRing # 1E6C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_rotating_platform
begin_loop
callnative bhv_lll_rotating_hexagonal_ring_loop
callnative load_object_collision_model
end_loop
glabel bhvLllSinkingRectangularPlatform # 1E94
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_slow_tilting_platform
obj_set_float objCollisionDistance, 0x07D0
obj_set_pos
begin_loop
callnative bhv_lll_sinking_rectangular_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvLllSinkingSquarePlatforms # 1EC4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_sinking_pyramids
obj_add_float objPosY, 5
obj_set_float objCollisionDistance, 0x07D0
obj_set_pos
begin_loop
callnative bhv_lll_sinking_square_platforms_loop
callnative load_object_collision_model
end_loop
glabel bhvLllTiltingSquarePlatform # 1EF8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_inverted_pyramid
obj_add_float objPosY, 5
obj_set_pos
callnative bhv_tilting_platform_init
begin_loop
callnative bhv_tilting_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvUnused1F30 # 1F30
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
break
glabel bhvKoopaShell # 1F3C
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_koopa_shell_loop
end_loop
glabel bhvKoopaShellFlame # 1F68
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_FLAME
billboard
begin_loop
callnative bhv_koopa_shell_flame_loop
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvToxBox # 1F90
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data ssl_seg7_collision_tox_box
obj_add_float objPosY, 256
obj_set_float objDrawingDistance, 0x1F40
obj_set_pos
begin_loop
callnative bhv_tox_box_loop
end_loop
glabel bhvPiranhaPlant # 1FBC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, piranha_plant_seg6_anims_0601C31C
animate 0x00
interact_type INTERACT_DAMAGE
set_hitbox 0x0064, 0x00C8
obj_set_float2 0x0032, 0x00C8
obj_set_int objIntangibleTimer, 0
obj_set_int objDamageOrCoinValue, 3
obj_set_int objNumLootCoins, 5
obj_child MODEL_BUBBLE, bhvPiranhaPlantBubble
obj_set_float objDrawingDistance, 0x07D0
obj_set_pos
begin_loop
callnative bhv_piranha_plant_loop
end_loop
glabel bhvLllHexagonalMesh # 2018
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data lll_hexagonal_mesh_seg3_collision_0301CECC
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvLllBowserPuzzlePiece # 2038
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_puzzle_piece
obj_set_pos
obj_set_float objCollisionDistance, 0x0BB8
begin_loop
callnative bhv_lll_bowser_puzzle_piece_loop
callnative load_object_collision_model
end_loop
glabel bhvLllBowserPuzzle # 2068
begin OBJ_LIST_SPAWNER
graph_clear
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_add_float objPosZ, -50
begin_loop
callnative bhv_lll_bowser_puzzle_loop
end_loop
glabel bhvTuxiesMother # 2088
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
animate 0x03
gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
obj_set_pos
interact_type INTERACT_TEXT
set_hitbox 0x00C8, 0x012C
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_tuxies_mother_loop
end_loop
glabel bhvPenguinBaby # 20D8
begin OBJ_LIST_GENACTOR
break
glabel bhvUnused20E0 # 20E0
begin OBJ_LIST_GENACTOR
break
glabel bhvSmallPenguin # 20E8
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
animate 0x00
gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
obj_set_int objInteractType, 0x02
obj_set_int objUnk190, 0x0010
obj_set_int objIntangibleTimer, 0
set_hitbox 0x0028, 0x0028
obj_set_pos
begin_loop
callnative bhv_small_penguin_loop
end_loop
glabel bhvFish2 # 213C
begin OBJ_LIST_DEFAULT
obj_set_int objBehParams2ndByte, 0x0000
goto bhvFishCommon
glabel bhvFish3 # 214C
begin OBJ_LIST_DEFAULT
obj_set_int objBehParams2ndByte, 1
goto bhvFishCommon
glabel bhvLargeFishGroup # 215C
begin OBJ_LIST_DEFAULT
glabel bhvFishCommon # 2160
graph_clear
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_fish_loop
end_loop
glabel bhvFishGroup2 # 2178
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
begin_loop
callnative bhv_fish_group_2_loop
end_loop
glabel bhvWdwExpressElevator # 2194
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wdw_seg7_collision_express_elevator_platform
obj_set_pos
begin_loop
callnative bhv_wdw_express_elevator_loop
callnative load_object_collision_model
end_loop
glabel bhvWdwExpressElevatorPlatform # 21C0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wdw_seg7_collision_express_elevator_platform
obj_set_pos
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvChirpChirp # 21E4
begin OBJ_LIST_DEFAULT
obj_set_int objVarF4, 1
goto .LbhvChirpChirp_21F4
glabel bhvChirpChirpUnused # 21F4
.LbhvChirpChirp_21F4:
graph_clear
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_bird_chirp_chirp_loop
end_loop
glabel bhvBub # 220C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bub_seg6_anims_06012354
animate 0x00
collision_sphere 0x0014, 0x000A, 0x000A
interact_type INTERACT_DAMAGE
obj_set_int objDamageOrCoinValue, 1
obj_set_pos
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_cheep_cheep_loop
end_loop
glabel bhvExclamationBox # 2250
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data exclamation_box_outline_seg8_collision_08025F78
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objCollisionDistance, 0x012C
obj_set_pos
begin_loop
callnative bhv_exclamation_box_loop
end_loop
glabel bhvRotatingExclamationMark # 227C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
scale 200
begin_loop
callnative bhv_rotatin_exclamation_box_loop
obj_add_int objMoveAngleYaw, 0x800
end_loop
glabel bhvSoundSpawner # 229C
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
delay 3
callnative bhv_sound_spawner_init
delay 30
deactivate
glabel bhvRockSolid # 22B8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data jrb_seg7_collision_rock_solid
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvBowserSubDoor # 22D8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data ddd_seg7_collision_bowser_sub_door
obj_set_float objDrawingDistance, 0x4E20
obj_set_float objCollisionDistance, 0x4E20
begin_loop
callnative bhv_bowsers_sub_loop
callnative load_object_collision_model
end_loop
glabel bhvBowsersSub # 2308
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objDrawingDistance, 0x4E20
obj_set_float objCollisionDistance, 0x4E20
collision_data ddd_seg7_collision_submarine
begin_loop
callnative bhv_bowsers_sub_loop
callnative load_object_collision_model
end_loop
glabel bhvSushiShark # 2338
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, sushi_seg5_anims_0500AE54
obj_spawn MODEL_NONE, bhvSushiSharkCollisionChild
collision_sphere 0x0064, 0x0032, 0x0032
interact_type INTERACT_DAMAGE
obj_set_int objDamageOrCoinValue, 3
obj_set_pos
animate 0x00
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_sushi_shark_loop
end_loop
glabel bhvSushiSharkCollisionChild # 2388
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
graph_clear
begin_loop
callnative bhv_sushi_shark_collision_loop
end_loop
glabel bhvJrbSlidingBox # 23A4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data jrb_seg7_collision_floating_box
obj_set_pos
begin_loop
callnative bhv_jrb_sliding_box_loop
callnative load_object_collision_model
end_loop
glabel bhvShipPart3 # 23D0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative bhv_ship_part_3_loop
end_loop
glabel bhvInSunkenShip3 # 23EC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data jrb_seg7_collision_in_sunken_ship_3
obj_set_pos
obj_set_float objCollisionDistance, 0x0FA0
begin_loop
callnative bhv_ship_part_3_loop
callnative load_object_collision_model
end_loop
glabel bhvSunkenShipPart # 241C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
scale 50
obj_set_pos
begin_loop
callnative bhv_sunken_ship_part_loop
end_loop
glabel bhvUnused243C # 243C
obj_set_int objFaceAnglePitch, 0xE958
obj_set_int objFaceAngleYaw, 0xEE6C
obj_set_int objFaceAngleRoll, 0x0C80
return
glabel bhvSunkenShipPart2 # 244C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
scale 100
obj_set_float objDrawingDistance, 0x1770
obj_set_pos
call bhvUnused243C
break
glabel bhvInSunkenShip # 246C
begin OBJ_LIST_SURFACE
collision_data jrb_seg7_collision_in_sunken_ship
goto .LbhvInSunkenShip248C
glabel bhvInSunkenShip2 # 2480
begin OBJ_LIST_SURFACE
collision_data jrb_seg7_collision_in_sunken_ship_2
.LbhvInSunkenShip248C: # 248C
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objCollisionDistance, 0x0FA0
call bhvUnused243C
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvMarioDustGenerator # 24AC
begin OBJ_LIST_DEFAULT
obj_bit_clear_int32 objUnkE0, 0x00000001
graph_clear
obj_child MODEL_MIST, bhvWhitePuff1
obj_child MODEL_SMOKE, bhvWhitePuff2
delay 1
deactivate
glabel bhvWhitePuff1 # 24DC
begin OBJ_LIST_DEFAULT
obj_bit_clear_int32 objUnkE0, 0x00000001
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_white_puff_1_loop
end_loop
glabel bhvWhitePuff2 # 2500
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_int objAnimState, -1
begin_repeat 7
callnative bhv_white_puff_2_loop
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvWhitePuffSmoke2 # 2528
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_int objAnimState, -1
begin_repeat 7
callnative bhv_white_puff_2_loop
callnative obj_move_using_fvel_and_gravity
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvPurpleSwitchHiddenBoxes # 2558
begin OBJ_LIST_SURFACE
obj_set_int objBehParams2ndByte, 2
goto .Lbeh_floor_switch_1488
glabel bhvBlueCoinSwitch # 2568
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data blue_coin_switch_seg8_collision_08000E98
begin_loop
callnative bhv_blue_coin_switch_loop
end_loop
glabel bhvHiddenBlueCoin # 2588
begin OBJ_LIST_LEVEL
obj_set_int objInteractType, 0x10
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
set_hitbox 0x0064, 0x0040
obj_set_int objDamageOrCoinValue, 0x0005
obj_set_int objIntangibleTimer, 0
obj_set_int objAnimState, -1
begin_loop
callnative bhv_hidden_blue_coin_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvOpenableCageDoor # 25C0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_openable_cage_door_loop
callnative load_object_collision_model
end_loop
glabel bhvOpenableGrill # 25E0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_openable_grill_loop
end_loop
glabel bhvWaterLevelDiamond # 25F8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0046, 0x001E
obj_set_float objCollisionDistance, 0x00C8
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_water_level_diamond_loop
end_loop
glabel bhvInitializeChangingWaterLevel # 2620
begin OBJ_LIST_DEFAULT
begin_loop
callnative bhv_init_changing_water_level_loop
end_loop
glabel bhvTornadoSandParticle # 2634
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
begin_loop
callnative bhv_tweester_sand_particle_loop
end_loop
glabel bhvTornado # 2650
begin OBJ_LIST_POLELIKE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
gravity 0x001E, 0xFE70, 0x0000, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
drop_floor
obj_set_pos
begin_loop
callnative bhv_tweester_loop
end_loop
glabel bhvMerryGoRoundBooManager # 2684
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_merry_go_round_boo_manager_loop
end_loop
glabel bhvAnimatedTexture # 269C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
billboard
begin_loop
callnative bhv_animated_texture_loop
obj_add_int objAnimState, 1
text_anim_rate objAnimState, 0x0002
end_loop
glabel bhvBooInCastle # 26D4
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_float objGraphYOffset, 0x003C
gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_init_room
begin_loop
callnative bhv_boo_in_castle_loop
end_loop
glabel bhvBooWithCage # 2710
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_int objDamageOrCoinValue, 3
obj_set_float2 0x0050, 0x0078
set_hitbox 0x00B4, 0x008C
obj_set_float objGraphYOffset, 0x003C
gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_boo_with_cage_init
callnative bhv_init_room
begin_loop
callnative bhv_boo_with_cage_loop
end_loop
glabel bhvBalconyBigBoo # 2768
begin OBJ_LIST_GENACTOR
obj_set_int objBehParams2ndByte, 2
obj_set_int objVar1AC, 10
goto common_big_boo_bhv
glabel bhvMerryGoRoundBigBoo # 277C
begin OBJ_LIST_GENACTOR
obj_set_int objBehParams2ndByte, 1
# Set number of minion boos killed to 10, which is greater than 5 so that the boo always loads without needing to kill any boos.
obj_set_int objVar1AC, 10
goto common_big_boo_bhv
glabel bhvGhostHuntBigBoo # 2790
begin OBJ_LIST_GENACTOR
common_big_boo_bhv: # 2794
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_init_room
callnative bhv_boo_init
begin_loop
callnative bhv_big_boo_loop
end_loop
glabel bhvCourtyardBooTriplet # 27D0
begin OBJ_LIST_DEFAULT
graph_clear
callnative bhv_courtyard_boo_triplet_init
deactivate
glabel bhvBoo # 27E4
begin OBJ_LIST_GENACTOR
obj_set_int objBehParams2ndByte, 1
goto common_boo_bhv
glabel bhvMerryGoRoundBoo # 27F4
begin OBJ_LIST_GENACTOR
obj_set_int objBehParams2ndByte, 2
goto common_boo_bhv
glabel bhvGhostHuntBoo # 2804
begin OBJ_LIST_GENACTOR
common_boo_bhv: # 2808
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objIntangibleTimer, 0
obj_set_pos
obj_set_int objDamageOrCoinValue, 2
set_hitbox 0x008C, 0x0050
obj_set_float2 0x0028, 0x003C
obj_set_float objGraphYOffset, 30
callnative bhv_init_room
obj_child MODEL_YELLOW_COIN, bhvCoinInsideBoo
gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_boo_init
begin_loop
callnative bhv_boo_loop
end_loop
glabel bhvHiddenStaircaseStep # 286C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data bbh_seg7_collision_staircase_step
obj_set_int objRoom, 0x0001
obj_set_float objCollisionDistance, 0x03E8
obj_set_pos
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvBooBossSpawnedBridge # 2898
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data bbh_seg7_collision_staircase_step
obj_set_int objRoom, 0x0001
obj_set_float objCollisionDistance, 0x03E8
obj_set_pos
begin_loop
callnative bhv_boo_boss_spawned_bridge_loop
callnative load_object_collision_model
end_loop
glabel bhvBbhTiltingTrapPlatform # 28CC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data bbh_seg7_collision_tilt_floor_platform
obj_set_pos
obj_set_int objRoom, 0x0002
begin_loop
callnative bhv_bbh_tilting_trap_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvHauntedBookshelf # 28FC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data bbh_seg7_collision_haunted_bookshelf
obj_set_pos
obj_set_int objRoom, 0x0006
begin_loop
callnative bhv_haunted_bookshelf_loop
callnative load_object_collision_model
end_loop
glabel bhvMeshElevator # 292C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data bbh_seg7_collision_mesh_elevator
obj_set_pos
obj_set_int objRoom, 0x000C
obj_set_int objBehParams2ndByte, 0x0004
callnative bhv_elevator_init
begin_loop
callnative bhv_elevator_loop
callnative load_object_collision_model
end_loop
glabel bhvMerryGoRound # 2968
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data bbh_seg7_collision_merry_go_round
obj_set_float objCollisionDistance, 0x07D0
obj_set_int objRoom, 0x000A
begin_loop
callnative bhv_merry_go_round_loop
callnative load_object_collision_model
end_loop
.ifndef VERSION_JP
glabel bhvPlaysMusicTrackWhenTouched # 2998
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_play_music_track_when_touched_loop
end_loop
.endif
glabel bhvInsideCannon # 2998
break
glabel bhvBetaBowserAnchor # 299C
begin OBJ_LIST_DESTRUCTIVE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_pos
set_hitbox 0x0064, 0x012C
obj_set_int objIntangibleTimer, 0
begin_loop
obj_add_int objAnimState, 1
callnative bhv_beta_bowser_anchor_loop
end_loop
glabel bhvStaticCheckeredPlatform # 29CC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data checkerboard_platform_seg8_collision_0800D710
obj_set_pos
begin_loop
callnative bhv_static_checkered_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvUnused2A10 # 29F8
begin OBJ_LIST_DEFAULT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
break
glabel bhvUnusedFakeStar # 2A08
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
obj_add_int objFaceAnglePitch, 256
obj_add_int objFaceAngleYaw, 256
end_loop
# What is this?
break
break
break
break
glabel bhvStaticObject # 2A30
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
break
glabel bhvUnused2A54 # 2A3C
begin OBJ_LIST_DEFAULT
break
glabel bhvCastleFloorTrap # 2A44
begin OBJ_LIST_DEFAULT
graph_clear
callnative bhv_castle_floor_trap_init
begin_loop
callnative bhv_castle_floor_trap_loop
end_loop
glabel bhvFloorTrapInCastle # 2A64
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data inside_castle_seg7_collision_floor_trap
begin_loop
callnative bhv_floor_trap_in_castle_loop
callnative load_object_collision_model
end_loop
glabel bhvTree # 2A8C
begin OBJ_LIST_POLELIKE
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objInteractType, 0x40
set_hitbox 0x0050, 0x01F4
obj_set_int objIntangibleTimer, 0
begin_loop
callnative BehClimbDetectLoop
end_loop
glabel bhvSparkle # 2AB8
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objAnimState, -1
begin_repeat 9
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvSparkleSpawn # 2AD8
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_sparkle_spawn_loop
end_loop
glabel bhvSpecialTripleJumpSparkles # 2AF0
begin OBJ_LIST_DEFAULT
obj_bit_clear_int32 objUnkE0, 0x00000008
glabel bhvSomeGfx # 2AFC
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objGraphYOffset, 25
obj_set_float_rand objVarF4, 0xFFCE, 0x0064
obj_sum_float objPosX, objPosX, objVarF4
obj_set_float_rand objVarF4, 0xFFCE, 0x0064
obj_sum_float objPosZ, objPosZ, objVarF4
obj_set_float_rand objVarF4, 0xFFCE, 0x0064
obj_sum_float objPosY, objPosY, objVarF4
obj_set_int objAnimState, -1
begin_repeat 12
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvScuttlebug # 2B44
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, scuttlebug_seg6_anims_06015064
animate 0x00
gravity 0x0050, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
obj_set_pos
callnative bhv_init_room
begin_loop
callnative bhv_scuttlebug_loop
end_loop
glabel bhvScuttlebugSpawn # 2B88
begin OBJ_LIST_SPAWNER
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_scuttlebug_spawn_loop
end_loop
glabel bhvWhompKingBoss # 2BA0
begin OBJ_LIST_SURFACE
obj_set_int objBehParams2ndByte, 1
obj_set_int objHealth, 0x0003
goto .Lbeh_whomp_2BD4
glabel bhvSmallWhomp # 2BB4
begin OBJ_LIST_SURFACE
obj_set_int objNumLootCoins, 5
.Lbeh_whomp_2BD4: # 2BBC
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, whomp_seg6_anims_06020A04
collision_data whomp_seg6_collision_06020A0C
animate 0x00
gravity 0x0000, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
obj_set_pos
begin_loop
callnative bhv_whomp_loop
end_loop
glabel bhvWaterSplash # 2BFC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_int objAnimState, -1
begin_repeat 3
obj_add_int objAnimState, 1
callnative bhv_water_splash_loop
delay 1
callnative bhv_water_splash_loop
end_repeat
begin_repeat 5
obj_add_int objAnimState, 1
delay 1
end_repeat
obj_bit_clear_int32 objUnkE0, 0x00000040
deactivate
glabel bhvWaterDrops # 2C48
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
begin_loop
callnative bhv_water_drops_loop
end_loop
glabel bhvWaterSurfaceWhiteWave # 2C64
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
.ifndef VERSION_JP
obj_set_int objFaceAnglePitch, 0
obj_set_int objFaceAngleYaw, 0
obj_set_int objFaceAngleRoll, 0
.endif
callnative bhv_water_surface_white_wave_init
obj_add_float objPosY, 5
obj_set_int objAnimState, -1
begin_repeat 6
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvObjectBubbleRipples # 2C8C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
.ifdef VERSION_JP
obj_set_float objFaceAnglePitch, 0
obj_set_float objFaceAngleYaw, 0
obj_set_float objFaceAngleRoll, 0
.endif
.ifndef VERSION_JP
obj_set_int objFaceAnglePitch, 0
obj_set_int objFaceAngleYaw, 0
obj_set_int objFaceAngleRoll, 0
.endif
obj_set_int objAnimState, -1
callnative bhv_object_bubble_ripples_init
begin_repeat 6
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvSurfaceWaves # 2CBC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
.ifdef VERSION_JP
obj_set_float objFaceAnglePitch, 0
obj_set_float objFaceAngleYaw, 0
obj_set_float objFaceAngleRoll, 0
.endif
.ifndef VERSION_JP
obj_set_int objFaceAnglePitch, 0
obj_set_int objFaceAngleYaw, 0
obj_set_int objFaceAngleRoll, 0
.endif
obj_set_int objAnimState, -1
obj_add_int objAnimState, 1
begin_loop
callnative bhv_surface_waves_loop
obj_add_int objAnimState, 1
begin_repeat 6
callnative bhv_surface_waves_loop
end_repeat
callnative bhv_surface_waves_loop
end_loop
glabel bhvWaterSurfaceWhiteWave2 # 2D04
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
.ifdef VERSION_JP
obj_set_float objFaceAnglePitch, 0
obj_set_float objFaceAngleYaw, 0
obj_set_float objFaceAngleRoll, 0
.endif
.ifndef VERSION_JP
obj_set_int objFaceAnglePitch, 0
obj_set_int objFaceAngleYaw, 0
obj_set_int objFaceAngleRoll, 0
.endif
obj_set_int objAnimState, -1
begin_repeat 6
obj_add_int objAnimState, 1
end_repeat
deactivate
glabel bhvWavesGenerator # 2D2C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
graph_clear
begin_repeat 5
spawn_addr D_8032FE18
end_repeat_nobreak
delay 1
obj_bit_clear_int32 objUnkE0, 0x00000100
deactivate
glabel bhvSurfaceWaveShrinking # 2D58
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
graph_clear
begin_repeat 18
spawn_addr D_8032FDD0
end_repeat_nobreak
callnative bhv_surface_wave_shrinking_init
delay 1
obj_bit_clear_int32 objUnkE0, 0x00001000
deactivate
glabel bhvWaterType # 2D8C
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
goto .Lbeh_wave_trail_2DD0
glabel bhvWaveTrailOnSurface # 2D9C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_bit_clear_int32 objUnkE0, 0x00000400
.Lbeh_wave_trail_2DD0: # 2DAC
obj_set_float objFaceAnglePitch, 0
obj_set_float objFaceAngleYaw, 0
obj_set_float objFaceAngleRoll, 0
obj_set_int objAnimState, -1
begin_repeat 8
obj_add_int objAnimState, 1
callnative bhv_wave_trail_loop
delay 1
callnative bhv_wave_trail_loop
end_repeat
deactivate
glabel bhvTinyWhiteWindParticle # 2DE0
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_white_wind_particle_loop
end_loop
glabel bhvWindParticle # 2DFC
begin OBJ_LIST_POLELIKE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_white_wind_particle_loop
end_loop
glabel bhvSnowmanWindBlowing # 2E18
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
begin_loop
callnative bhv_snowman_wind_blowing_loop
end_loop
glabel bhvWalkingPenguin # 2E34
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data penguin_seg5_collision_05008B88
obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
animate 0x00
gravity 0x0000, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
scale 600
obj_set_pos
begin_loop
callnative bhv_walking_penguin_loop
callnative load_object_collision_model
end_loop
glabel bhvYellowBall # 2E84
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
break
.align 4
glabel bhvMario # 2EA0
begin OBJ_LIST_PLAYER
obj_set_int objIntangibleTimer, 0
obj_or_int objFlags, OBJ_FLAG_0100
obj_or_int objUnk94, 0x0001
set_hitbox 0x0025, 0x00A0
begin_loop
callnative try_print_debug_mario_level_info
callnative bhv_mario_update
callnative try_do_mario_debug_object_spawn
end_loop
glabel bhvToadMessage # 2ED8
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, toad_seg6_anims_0600FB58
animate 0x06
interact_type INTERACT_TEXT
set_hitbox 0x0050, 0x0064
obj_set_int objIntangibleTimer, 0
callnative bhv_init_room
callnative bhvToadMessage_init
begin_loop
callnative bhvToadMessage_loop
end_loop
glabel bhvUnlockDoorStar # 2F20
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhvUnlockDoorStar_init
begin_loop
callnative bhvUnlockDoorStar_loop
end_loop
glabel bhvWarps60 # 2F40
break
glabel bhvWarps64 # 2F44
break
glabel bhvWarps68 # 2F48
break
glabel bhvWarps6C # 2F4C
break
glabel bhvWarps70 # 2F50
break
glabel bhvWarps74 # 2F54
break
glabel bhvWarps78 # 2F58
break
glabel bhvWarps7C # 2F5C
break
glabel bhvWarps80 # 2F60
break
glabel bhvWarps84 # 2F64
break
glabel bhvWarps88 # 2F68
break
glabel bhvWarps8C # 2F6C
break
glabel bhvWarps90 # 2F70
break
glabel bhvWarps94 # 2F74
break
.align 4
glabel bhvRandomAnimatedTexture # 2F80
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objGraphYOffset, 0xFFF0
billboard
obj_set_int objAnimState, -1
begin_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvYellowBackgroundInMenu # 2FA0
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative beh_yellow_background_menu_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative beh_yellow_background_menu_loop
end_loop
glabel bhvMenuButton # 2FC4
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhvMenuButton_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhvMenuButton_loop
end_loop
glabel bhvMenuButtonManager # 2FE8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_0800 | OBJ_FLAG_0020 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhvMenuButtonManager_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhvMenuButtonManager_loop
end_loop
glabel bhvStarInActSelector # 300C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative BehStarActSelectorLoop
end_loop
glabel bhvActSelector # 3028
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative BehActSelectorInit
begin_loop
callnative BehActSelectorLoop
end_loop
glabel bhvMovingYellowCoin # 3048
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
set_hitbox 0x0064, 0x0040
obj_set_int objInteractType, 0x10
obj_set_int objIntangibleTimer, 0
obj_set_int objAnimState, -1
callnative bhv_moving_yellow_coin_init
begin_loop
callnative bhv_moving_yellow_coin_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvMovingBlueCoin # 3084
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_int objIntangibleTimer, 0
obj_set_int objAnimState, -1
callnative bhv_moving_blue_coin_init
begin_loop
callnative bhv_moving_blue_coin_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvBlueCoinSliding # 30B4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_int objIntangibleTimer, 0
obj_set_int objAnimState, -1
callnative bhv_blue_coin_sliding_jumping_init
begin_loop
callnative bhv_blue_coin_sliding_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvBlueCoinJumping # 30E4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_int objIntangibleTimer, 0
obj_set_int objAnimState, -1
callnative bhv_blue_coin_sliding_jumping_init
begin_loop
callnative bhv_blue_coin_jumping_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvSeaweed # 3114
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, seaweed_seg6_anims_0600A4D4
animate 0x00
callnative bhv_seaweed_init
begin_loop
end_loop
glabel bhvSeaweedBundle # 3138
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
callnative bhv_seaweed_bundle_init
begin_loop
end_loop
glabel bhvBobomb # 3154
begin OBJ_LIST_DESTRUCTIVE
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bobomb_seg8_anims_0802396C
drop_floor
animate 0x00
obj_set_int objIntangibleTimer, 0
obj_set_pos
callnative bhv_bobomb_init
begin_loop
callnative bhv_bobomb_loop
end_loop
glabel bhvBobombFuseSmoke # 318C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_int objAnimState, -1
callnative bhv_bobomb_fuse_smoke_init
delay 1
begin_loop
callnative BehDustSmokeLoop
obj_add_int objAnimState, 1
end_loop
glabel bhvBobombBuddy # 31BC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bobomb_seg8_anims_0802396C
interact_type INTERACT_TEXT
drop_floor
set_hitbox 0x0064, 0x003C
animate 0x00
obj_set_int objVarFC, 0x0000
obj_set_pos
callnative bhv_bobomb_buddy_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_bobomb_buddy_loop
end_loop
# The only difference between this and the previous behavior are what objFlags and objVarFC are set to, why didn't they just use a jump?
glabel bhvBobombBuddyOpensCannon # 3208
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bobomb_seg8_anims_0802396C
interact_type INTERACT_TEXT
drop_floor
set_hitbox 0x0064, 0x003C
animate 0x00
obj_set_int objVarFC, 0x0001
obj_set_pos
callnative bhv_bobomb_buddy_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_bobomb_buddy_loop
end_loop
glabel bhvCannonClosed # 3254
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data cannon_lid_seg8_collision_08004950
obj_set_pos
callnative bhv_cannon_closed_init
begin_loop
callnative bhv_cannon_closed_loop
callnative load_object_collision_model
end_loop
glabel bhvWhirlpool # 3288
begin OBJ_LIST_POLELIKE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_whirlpool_init
begin_loop
callnative bhv_whirlpool_loop
end_loop
glabel bhvJetStream # 32A8
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_jet_stream_loop
end_loop
glabel bhvMessagePanel # 32C0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data wooden_signpost_seg3_collision_0302DD80
interact_type INTERACT_TEXT
obj_set_int objUnk190, 0x1000
drop_floor
set_hitbox 0x0096, 0x0050
obj_set_int objVarF4, 0
begin_loop
obj_set_int objIntangibleTimer, 0
callnative load_object_collision_model
obj_set_int objInteractStatus, 0
end_loop
glabel bhvSignOnWall # 3304
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
interact_type INTERACT_TEXT
obj_set_int objUnk190, 0x1000
set_hitbox 0x0096, 0x0050
obj_set_int objVarF4, 0
begin_loop
obj_set_int objIntangibleTimer, 0
obj_set_int objInteractStatus, 0
end_loop
glabel bhvHomingAmp # 3334
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, amp_seg8_anims_08004034
animate 0x00
obj_set_float objGraphYOffset, 0x0028
obj_set_int objIntangibleTimer, 0
callnative bhv_homing_amp_init
begin_loop
callnative bhv_homing_amp_loop
end_loop
glabel bhvCirclingAmp # 3368
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, amp_seg8_anims_08004034
animate 0x00
obj_set_float objGraphYOffset, 0x0028
obj_set_int objIntangibleTimer, 0
callnative bhv_circling_amp_init
begin_loop
callnative bhv_circling_amp_loop
end_loop
glabel bhvButterfly # 339C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, butterfly_seg3_anims_030056B0
drop_floor
obj_set_float objGraphYOffset, 0x0005
callnative bhv_butterfly_init
begin_loop
callnative bhv_butterfly_loop
end_loop
glabel bhvHoot # 33CC
begin OBJ_LIST_POLELIKE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, hoot_seg5_anims_05005768
obj_set_int objInteractType, 0x01
set_hitbox 0x004B, 0x004B
callnative bhv_hoot_init
begin_loop
callnative bhv_hoot_loop
end_loop
glabel bhvBetaHoldableObject # 3400
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int objInteractType, 0x02 # INTERACT_GRABBABLE
drop_floor
set_hitbox 0x0028, 0x0032
callnative bhv_beta_holdable_object_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_beta_holdable_object_loop
end_loop
glabel bhvCarrySomething1 # 3434
begin OBJ_LIST_DEFAULT
break
glabel bhvCarrySomething2 # 343C
begin OBJ_LIST_DEFAULT
break
glabel bhvCarrySomething3 # 3444
begin OBJ_LIST_DEFAULT
break
glabel bhvCarrySomething4 # 344C
begin OBJ_LIST_DEFAULT
break
glabel bhvCarrySomething5 # 3454
begin OBJ_LIST_DEFAULT
break
glabel bhvCarrySomething6 # 345C
begin OBJ_LIST_DEFAULT
break
glabel bhvObjectBubble # 3464
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objAnimState, -1
callnative bhv_object_bubble_init
obj_set_float_rand objVelY, 0x0003, 0x0006
obj_set_int_rand_rshift objMoveAngleYaw, 0x0000, 0x0000
delay 1
begin_loop
callnative bhv_object_bubble_loop
end_loop
glabel bhvObjectWaterWave # 34A4
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objFaceAnglePitch, 0
obj_set_float objFaceAngleYaw, 0
obj_set_float objFaceAngleRoll, 0
obj_set_int objAnimState, -1
callnative bhv_object_water_wave_init
obj_add_int objAnimState, 1
delay 6
begin_loop
callnative bhv_object_water_wave_loop
obj_add_int objAnimState, 1
begin_repeat 6
callnative bhv_object_water_wave_loop
end_repeat
end_loop
glabel bhvExplosion # 34F0
begin OBJ_LIST_DESTRUCTIVE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
interact_type INTERACT_DAMAGE
obj_set_int objDamageOrCoinValue, 2
obj_set_int objIntangibleTimer, 0
collision_sphere 0x0096, 0x0096, 0x0096
obj_set_int objAnimState, -1
callnative bhv_explosion_init
begin_loop
callnative bhv_explosion_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvBobombBullyDeathSmoke # 3538
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_int objAnimState, -1
callnative bhv_bobomb_bully_death_smoke_init
delay 1
begin_loop
callnative BehDustSmokeLoop
obj_add_int objAnimState, 1
end_loop
glabel bhvSmoke # 3568
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, (OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_int objAnimState, -1
delay 1
begin_loop
callnative BehDustSmokeLoop
obj_add_int objAnimState, 1
end_loop
glabel bhvBobombExplosionBubble # 3590
begin OBJ_LIST_DEFAULT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_bobomb_explosion_bubble_init
obj_add_float_rand objPosX, -50, 100
obj_add_float_rand objPosY, -50, 100
obj_add_float_rand objPosZ, -50, 100
call bhvBobombExplosionBubble3600
delay 1
begin_loop
call bhvBobombExplosionBubble3600
callnative bhv_bobomb_explosion_bubble_loop
end_loop
glabel bhvBobombExplosionBubble3600 # 35E0
obj_add_float_rand objPosX, -2, 4
obj_add_float_rand objPosZ, -2, 4
return
glabel bhvRespawner # 35F4
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_respawner_loop
end_loop
glabel bhvSmallBully # 360C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bully_seg5_anims_0500470C
drop_floor
obj_set_pos
callnative bhv_small_bully_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_bully_loop
end_loop
glabel bhvBigBully # 3640
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bully_seg5_anims_0500470C
drop_floor
obj_set_pos
callnative bhv_big_bully_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_bully_loop
end_loop
glabel bhvBigBullyWithMinions # 3674
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bully_seg5_anims_0500470C
obj_set_pos
callnative bhv_big_bully_init
callnative bhv_big_bully_with_minions_init
begin_loop
callnative bhv_big_bully_with_minions_loop
end_loop
glabel bhvSmallChillBully # 36A8
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, chilly_chief_seg6_anims_06003994
drop_floor
obj_set_pos
obj_set_int objVarF4, 0x0010
callnative bhv_small_bully_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_bully_loop
end_loop
glabel bhvBigChillBully # 36E0
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, chilly_chief_seg6_anims_06003994
drop_floor
obj_set_pos
obj_set_int objVarF4, 0x0010
callnative bhv_big_bully_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_bully_loop
end_loop
glabel bhvJetStreamRingSpawner # 3718
begin OBJ_LIST_DEFAULT
unhide
begin_loop
callnative bhv_jet_stream_ring_spawner_loop
end_loop
glabel bhvJetStreamWaterRing # 3730
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, water_ring_seg6_anims_06013F7C
collision_sphere 0x004B, 0x0014, 0x0014
interact_type INTERACT_WATER_RING
obj_set_int objDamageOrCoinValue, 2
obj_set_int objIntangibleTimer, 0
callnative bhv_jet_stream_water_ring_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_jet_stream_water_ring_loop
end_loop
glabel bhvMantaRayWaterRing # 3778
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, water_ring_seg6_anims_06013F7C
collision_sphere 0x004B, 0x0014, 0x0014
interact_type INTERACT_WATER_RING
obj_set_int objDamageOrCoinValue, 2
obj_set_int objIntangibleTimer, 0
callnative bhv_manta_ray_water_ring_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_manta_ray_water_ring_loop
end_loop
glabel bhvMantaRayRingManager # 37C0
begin OBJ_LIST_DEFAULT
begin_loop
end_loop
glabel bhvBowserBomb # 37CC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objIntangibleTimer, 0
collision_sphere 0x0028, 0x0028, 0x0028
delay 1
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_bowser_bomb_loop
end_loop
glabel bhvBowserBombExplosion # 37FC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_float objGraphYOffset, 0xFEE0
obj_set_int objAnimState, -1
begin_loop
callnative bhv_bowser_bomb_explosion_loop
end_loop
glabel bhvBowserBombSmoke # 3820
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_float objGraphYOffset, 0xFEE0
obj_set_int objOpacity, 0x00FF
obj_set_int objAnimState, -1
begin_loop
callnative bhv_bowser_bomb_smoke_loop
end_loop
glabel bhvCelebrationStar # 3848
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_celebration_star_init
begin_loop
callnative bhv_celebration_star_loop
end_loop
glabel bhvCelebrationStarSparkle # 3868
begin OBJ_LIST_UNIMPORTANT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objGraphYOffset, 25
obj_set_int objAnimState, -1
begin_loop
obj_add_int objAnimState, 1
callnative bhv_celebration_star_sparkle_loop
end_loop
glabel bhvStarKeyCollectionPuffSpawner # 3890
begin OBJ_LIST_DEFAULT
billboard
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objAnimState, -1
begin_loop
callnative bhv_star_key_collection_puff_spawner_loop
end_loop
glabel bhvLllDrawbridgeSpawner # 38B0
begin OBJ_LIST_DEFAULT
unhide
begin_loop
callnative bhv_lll_drawbridge_spawner_loop
end_loop
glabel bhvLllDrawbridge # 38C8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data lll_seg7_collision_drawbridge
begin_loop
callnative bhv_lll_drawbridge_loop
callnative load_object_collision_model
end_loop
glabel bhvSmallBomp # 38F0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_small_bomp
callnative bhv_small_bomp_init
begin_loop
callnative bhv_small_bomp_loop
callnative load_object_collision_model
end_loop
glabel bhvLargeBomp # 3920
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_large_bomp
callnative bhv_large_bomp_init
begin_loop
callnative bhv_large_bomp_loop
callnative load_object_collision_model
end_loop
glabel bhvWfSlidingPlatform # 3950
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wf_seg7_collision_sliding_brick_platform
callnative bhv_wf_sliding_platform_init
begin_loop
callnative bhv_wf_sliding_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvMoneybag # 3980
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, moneybag_seg6_anims_06005E5C
drop_floor
obj_set_pos
obj_set_int objIntangibleTimer, -1
callnative bhv_moneybag_init
begin_loop
callnative bhv_moneybag_loop
end_loop
glabel bhvMoneybagHidden # 39B4
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objGraphYOffset, 0x001B
billboard
set_hitbox 0x006E, 0x0064
obj_set_int objIntangibleTimer, 0
obj_set_int objAnimState, -1
begin_loop
obj_add_int objAnimState, 1
callnative bhv_moneybag_hidden_loop
end_loop
glabel bhvPitBowlingBall # 39E8
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_float objGraphYOffset, 130
callnative bhv_bob_pit_bowling_ball_init
begin_loop
callnative bhv_bob_pit_bowling_ball_loop
end_loop
glabel bhvFreeBowlingBall # 3A10
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_float objGraphYOffset, 130
callnative bhv_free_bowling_ball_init
begin_loop
callnative bhv_free_bowling_ball_loop
end_loop
glabel bhvBowlingBall # 3A38
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_float objGraphYOffset, 130
callnative bhv_bowling_ball_init
begin_loop
callnative bhv_bowling_ball_loop
end_loop
glabel bhvTtmBowlingBallSpawner # 3A60
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objVarFC, 0x003F
callnative bhv_generic_bowling_ball_spawner_init
begin_loop
callnative bhv_generic_bowling_ball_spawner_loop
end_loop
glabel bhvBobBowlingBallSpawner # 3A84
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objVarFC, 0x007F
callnative bhv_generic_bowling_ball_spawner_init
begin_loop
callnative bhv_generic_bowling_ball_spawner_loop
end_loop
glabel bhvThiBowlingBallSpawner # 3AA8
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_thi_bowling_ball_spawner_loop
end_loop
glabel bhvRrCruiserWing # 3AC0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_rr_cruiser_wing_init
begin_loop
callnative bhv_rr_cruiser_wing_loop
end_loop
glabel bhvSpindel # 3AE0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data ssl_seg7_collision_spindel
callnative bhv_spindel_init
begin_loop
callnative bhv_spindel_loop
callnative load_object_collision_model
end_loop
glabel bhvSslMovingPyramidWall # 3B10
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data ssl_seg7_collision_0702808C
callnative bhv_ssl_moving_pyramid_wall_init
begin_loop
callnative bhv_ssl_moving_pyramid_wall_loop
callnative load_object_collision_model
end_loop
glabel bhvPyramidElevator # 3B40
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data ssl_seg7_collision_pyramid_elevator
obj_set_pos
obj_set_float objCollisionDistance, 0x4E20
callnative bhv_pyramid_elevator_init
begin_loop
callnative bhv_pyramid_elevator_loop
callnative load_object_collision_model
end_loop
glabel bhvPyramidElevatorTrajectoryMarkerBall # 3B78
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
begin_loop
callnative bhv_pyramid_elevator_trajectory_marker_ball_loop
end_loop
glabel bhvPyramidTop # 3B94
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data ssl_seg7_collision_pyramid_top
obj_set_pos
obj_set_float objCollisionDistance, 0x4E20
callnative bhv_pyramid_top_init
begin_loop
callnative bhv_pyramid_top_loop
callnative load_object_collision_model
end_loop
glabel bhvPyramidTopFragment # 3BCC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_pyramid_top_fragment_init
begin_loop
callnative bhv_pyramid_top_fragment_loop
end_loop
glabel bhvPyramidPillarTouchDetector # 3BEC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0032, 0x0032
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_pyramid_pillar_touch_detector_loop
end_loop
glabel bhvWaterfallSoundLoop # 3C10
begin OBJ_LIST_DEFAULT
begin_loop
callnative BehWaterfallSoundLoop
end_loop
glabel bhvVolcanoSoundLoop # 3C24
begin OBJ_LIST_DEFAULT
begin_loop
callnative BehVolcanoSoundLoop
end_loop
glabel bhvCastleFlagWaving # 3C38
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, castle_grounds_seg7_anim_flags
animate 0x00
callnative BehCastleFlagWavingInit
begin_loop
end_loop
glabel bhvBirdsSoundLoop # 3C5C
begin OBJ_LIST_DEFAULT
begin_loop
callnative BehBirdsSoundLoop
end_loop
glabel bhvAmbientSounds # 3C70
begin OBJ_LIST_DEFAULT
callnative bhv_ambient_sounds_init
begin_loop
end_loop
glabel bhvSandSoundLoop # 3C84
begin OBJ_LIST_DEFAULT
begin_loop
callnative BehSandSoundLoop
end_loop
glabel bhvHiddenAt120Stars # 3C98
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data castle_grounds_seg7_collision_cannon_grill
obj_set_float objCollisionDistance, 0x0FA0
callnative BehHiddenAt120StarsInit
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvSnowmansBottom # 3CC4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int objIntangibleTimer, 0
callnative bhv_snowmans_bottom_init
begin_loop
callnative bhv_snowmans_bottom_loop
end_loop
glabel bhvSnowmansHead # 3CEC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_float objGraphYOffset, 0x006E
callnative bhv_snowmans_head_init
begin_loop
callnative bhv_snowmans_head_loop
end_loop
glabel bhvSnowmansBodyCheckpoint # 3D14
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_snowmans_body_checkpoint_loop
end_loop
glabel bhvBigSnowmanWhole # 3D2C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objGraphYOffset, 0x00B4
interact_type INTERACT_TEXT
set_hitbox 0x00D2, 0x0226
begin_loop
obj_set_int objIntangibleTimer, 0
end_loop
glabel bhvBigBoulder # 3D54
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objGraphYOffset, 0x00B4
callnative bhv_big_boulder_init
obj_set_float objCollisionDistance, 0x4E20
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_big_boulder_loop
end_loop
glabel bhvBigBoulderGenerator # 3D80
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_big_boulder_generator_loop
end_loop
glabel bhvWingCap # 3D98
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_wing_cap_init
begin_loop
callnative bhv_wing_vanish_cap_loop
end_loop
glabel bhvMetalCap # 3DB8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_metal_cap_init
begin_loop
callnative bhv_metal_cap_loop
end_loop
glabel bhvNormalCap # 3DD8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_normal_cap_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_normal_cap_loop
end_loop
glabel bhvVanishCap # 3DFC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_vanish_cap_init
begin_loop
callnative bhv_wing_vanish_cap_loop
end_loop
glabel bhvStar # 3E1C
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_init_room
callnative bhv_collect_star_init
begin_loop
callnative bhv_collect_star_loop
end_loop
glabel bhvStarSpawnCoordinates # 3E44
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_collect_star_init
callnative bhv_star_spawn_init
begin_loop
callnative bhv_star_spawn_loop
end_loop
glabel bhvHiddenRedCoinStar # 3E6C
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_hidden_red_coin_star_init
begin_loop
callnative bhv_hidden_red_coin_star_loop
end_loop
glabel bhvRedCoin # 3E8C
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_int objIntangibleTimer, 0
obj_set_int objAnimState, -1
callnative bhv_init_room
callnative bhv_red_coin_init
begin_loop
callnative bhv_red_coin_loop
obj_add_int objAnimState, 1
end_loop
glabel bhvBowserCourseRedCoinStar # 3EC4
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_bowser_course_red_coin_star_loop
end_loop
glabel bhvHiddenStar # 3EDC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_hidden_star_init
begin_loop
callnative bhv_hidden_star_loop
end_loop
glabel bhvHiddenStarTrigger # 3EFC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0064, 0x0064
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_hidden_star_trigger_loop
end_loop
glabel bhvTtmRollingLog # 3F20
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data ttm_seg7_collision_pitoune_2
obj_set_pos
obj_set_float objCollisionDistance, 0x07D0
callnative bhv_ttm_rolling_log_init
begin_loop
callnative bhv_rolling_log_loop
callnative load_object_collision_model
end_loop
glabel bhvLllVolcanoFallingTrap # 3F58
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data lll_seg7_collision_falling_wall
obj_set_pos
begin_loop
callnative bhvLllVolcanoFallingTrap_loop
callnative load_object_collision_model
end_loop
glabel bhvLllRollingLog # 3F84
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data lll_seg7_collision_pitoune
obj_set_pos
obj_set_float objCollisionDistance, 0x07D0
callnative bhv_lll_rolling_log_init
begin_loop
callnative bhv_rolling_log_loop
callnative load_object_collision_model
end_loop
glabel bhv1upWalking # 3FBC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
collision_sphere 0x001E, 0x001E, 0x0000
obj_set_float objGraphYOffset, 30
callnative bhv_1up_common_init
begin_loop
callnative bhv_1up_walking_loop
end_loop
glabel bhv1upRunningAway # 3FF0
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
collision_sphere 0x001E, 0x001E, 0x0000
obj_set_float objGraphYOffset, 30
callnative bhv_1up_common_init
begin_loop
callnative bhv_1up_running_away_loop
end_loop
glabel bhv1upSliding # 4024
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
collision_sphere 0x001E, 0x001E, 0x0000
obj_set_float objGraphYOffset, 30
callnative bhv_1up_common_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_1up_sliding_loop
end_loop
glabel bhv1Up # 405C
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
collision_sphere 0x001E, 0x001E, 0x0000
obj_set_float objGraphYOffset, 30
callnative bhv_1up_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_1up_loop
end_loop
glabel bhv1upJumpOnApproach # 4094
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
collision_sphere 0x001E, 0x001E, 0x0000
obj_set_float objGraphYOffset, 30
callnative bhv_1up_common_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_1up_jump_on_approach_loop
end_loop
glabel bhvHidden1up # 40CC
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
collision_sphere 0x001E, 0x001E, 0x0000
obj_set_float objGraphYOffset, 30
callnative bhv_1up_common_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_1up_hidden_loop
end_loop
glabel bhvHidden1upTrigger # 4104
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0064, 0x0064
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_1up_hidden_trigger_loop
end_loop
glabel bhvHidden1upInPole # 4128
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
collision_sphere 0x001E, 0x001E, 0x0000
obj_set_float objGraphYOffset, 30
callnative bhv_1up_common_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_1up_hidden_in_pole_loop
end_loop
glabel bhvHidden1upInPoleTrigger # 4160
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
set_hitbox 0x0064, 0x0064
obj_set_int objIntangibleTimer, 0
begin_loop
callnative bhv_1up_hidden_in_pole_trigger_loop
end_loop
glabel bhvHidden1upInPoleSpawner # 4184
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_1up_hidden_in_pole_spawner_loop
end_loop
glabel bhvControllablePlatform # 419C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_0800 | OBJ_FLAG_0020 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data hmc_seg7_collision_controllable_platform
obj_set_pos
callnative bhv_controllable_platform_init
begin_loop
callnative bhv_controllable_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvControllablePlatformSub # 41D0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data hmc_seg7_collision_controllable_platform_sub
begin_loop
callnative bhv_controllable_platform_sub_loop
callnative load_object_collision_model
end_loop
glabel bhvBreakableBoxSmall # 41F8
begin OBJ_LIST_DESTRUCTIVE
obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_pos
callnative bhv_breakable_box_small_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_breakable_box_small_loop
end_loop
glabel bhvSlidingSnowMound # 4224
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data sl_seg7_collision_sliding_snow_mound
obj_set_pos
begin_loop
callnative bhv_sliding_snow_mound_loop
callnative load_object_collision_model
end_loop
glabel bhvSnowMoundSpawn # 4250
begin OBJ_LIST_DEFAULT
begin_loop
callnative bhv_snow_mound_spawn_loop
end_loop
glabel bhvWdwSquareFloatingPlatform # 4264
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wdw_seg7_collision_square_floating_platform
obj_set_float objVarFC, 0x0040
obj_set_pos
begin_loop
callnative bhv_floating_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvWdwRectangularFloatingPlatform # 4294
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data wdw_seg7_collision_rect_floating_platform
obj_set_float objVarFC, 0x0040
obj_set_pos
begin_loop
callnative bhv_floating_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvJrbFloatingPlatform # 42C4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
collision_data jrb_seg7_collision_floating_platform
obj_set_float objVarFC, 0x0040
obj_set_pos
begin_loop
callnative bhv_floating_platform_loop
callnative load_object_collision_model
end_loop
glabel bhvArrowLift # 42F4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data wdw_seg7_collision_arrow_lift
obj_set_int_rand_rshift objVar100, 0x0001, 0x0020
obj_set_pos
begin_loop
callnative bhv_arrow_lift_loop
callnative load_object_collision_model
end_loop
glabel bhvOrangeNumber # 4328
begin OBJ_LIST_LEVEL
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
obj_set_pos
callnative bhv_orange_number_init
begin_loop
callnative bhv_orange_number_loop
end_loop
glabel bhvMantaRay # 4350
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, manta_seg5_anims_05008EB4
animate 0x00
callnative bhv_manta_ray_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative bhv_manta_ray_loop
end_loop
glabel bhvFallingPillar # 4380
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
callnative bhv_falling_pillar_init
begin_loop
callnative bhv_falling_pillar_loop
end_loop
glabel bhvFallingPillarHitbox # 43A4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative bhv_falling_pillar_hitbox_loop
end_loop
glabel bhvPillarBase # 43C0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data jrb_seg7_collision_pillar_base
begin_loop
callnative load_object_collision_model
end_loop
glabel bhvJrbFloatingBox # 43E0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
collision_data jrb_seg7_collision_floating_box
obj_set_pos
begin_loop
callnative bhv_jrb_floating_box_loop
callnative load_object_collision_model
end_loop
glabel bhvDecorativePendulum # 440C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative bhv_decorative_pendulum_init
begin_loop
callnative bhv_decorative_pendulum_loop
end_loop
glabel bhvTreasureChestsShip # 442C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
callnative bhv_treasure_chest_ship_init
begin_loop
callnative bhv_treasure_chest_ship_loop
end_loop
glabel bhvTreasureChestsJrb # 4450
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
callnative bhv_treasure_chest_jrb_init
begin_loop
callnative bhv_treasure_chest_jrb_loop
end_loop
glabel bhvTreasureChests # 4474
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
callnative bhv_treasure_chest_init
begin_loop
callnative bhv_treasure_chest_loop
end_loop
glabel bhvTreasureChestBottom # 4498
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
callnative bhv_treasure_chest_bottom_init
obj_set_int objIntangibleTimer, -1
begin_loop
callnative bhv_treasure_chest_bottom_loop
end_loop
glabel bhvTreasureChestTop # 44C0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
begin_loop
callnative bhv_treasure_chest_top_loop
end_loop
glabel bhvMips # 44DC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, mips_seg6_anims_06015634
obj_set_int objInteractType, 0x02
drop_floor
set_hitbox 0x0032, 0x004B
obj_set_int objIntangibleTimer, 0
callnative bhv_mips_init
begin_loop
callnative bhv_mips_loop
end_loop
glabel bhvYoshi # 4518
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, yoshi_seg5_anims_05024100
interact_type INTERACT_TEXT
drop_floor
set_hitbox 0x00A0, 0x0096
animate 0x00
obj_set_pos
callnative bhv_yoshi_init
begin_loop
obj_set_int objIntangibleTimer, 0
callnative BehYoshiLoop
end_loop
glabel bhvKoopa # 4560
begin OBJ_LIST_PUSHABLE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, koopa_seg6_anims_06011364
animate 0x09
obj_set_pos
gravity 0x0032, 0xFE70, 0x0000, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
scale 150
obj_set_float objVarF4, 1
callnative bhv_koopa_init
begin_loop
callnative bhv_koopa_update
end_loop
glabel bhvKoopaRaceEndpoint # 45B0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_child_param 0x0000, MODEL_KOOPA_FLAG, bhvKoopaFlag
begin_loop
callnative bhv_koopa_race_endpoint_update
end_loop
glabel bhvKoopaFlag # 45D8
begin OBJ_LIST_POLELIKE
interact_type INTERACT_POLE
set_hitbox 0x0050, 0x02BC
obj_set_int objIntangibleTimer, 0
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
obj_set_int32 objAnimations, koopa_flag_seg6_anims_06001028
animate 0x00
begin_loop
callnative BehClimbDetectLoop
end_loop
glabel bhvPokey # 4614
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_pos
gravity 0x003C, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_pokey_update
end_loop
glabel bhvPokeyBodyPart # 4648
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
gravity 0x003C, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
billboard
begin_loop
callnative bhv_pokey_body_part_update
end_loop
glabel bhvSwoop # 4678
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, swoop_seg6_anims_060070D0
obj_set_pos
gravity 0x0032, 0x0000, 0xFFCE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
callnative bhv_init_room
scale 0
begin_loop
callnative bhv_swoop_update
end_loop
glabel bhvFlyGuy # 46BC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, flyguy_seg8_anims_08011A64
animate 0x00
obj_set_pos
gravity 0x0032, 0x0000, 0x0000, 0x0000, 0x03E8, 0x0258, 0x0000, 0x0000
callnative bhv_init_room
obj_set_int objUnk190, 0x0080
obj_set_float objGraphYOffset, 30
scale 150
begin_loop
callnative bhv_fly_guy_update
end_loop
glabel bhvGoomba # 470C
begin OBJ_LIST_PUSHABLE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, goomba_seg8_anims_0801DA4C
obj_set_pos
gravity 0x0028, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0000, 0x0000, 0x0000
callnative bhv_goomba_init
begin_loop
callnative bhv_goomba_update
end_loop
glabel bhvGoombaTripletSpawner # 4750
begin OBJ_LIST_PUSHABLE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
begin_loop
callnative bhv_goomba_triplet_spawner_update
end_loop
glabel bhvChainChomp # 476C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, chain_chomp_seg6_anims_06025178
animate 0x00
gravity 0x0000, 0xFE70, 0xFFCE, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
unhide
obj_set_pos
obj_set_float objGraphYOffset, 0x00F0
scale 200
obj_child_param 0x0000, MODEL_WOODEN_POST, bhvWoodenPost
begin_loop
callnative bhv_chain_chomp_update
end_loop
glabel bhvChainChompChainPart # 47C4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
gravity 0x0000, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_float objGraphYOffset, 0x0028
scale 200
begin_loop
callnative bhv_chain_chomp_chain_part_update
end_loop
glabel bhvWoodenPost # 47FC
begin OBJ_LIST_SURFACE
collision_data poundable_pole_collision_06002490
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
gravity 0x0000, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_int objNumLootCoins, 5
drop_floor
obj_set_pos
scale 50
begin_loop
callnative bhv_wooden_post_update
callnative load_object_collision_model
end_loop
glabel bhvChainChompGate # 4848
begin OBJ_LIST_SURFACE
collision_data bob_seg7_collision_chain_chomp_gate
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_chain_chomp_gate_init
begin_loop
callnative bhv_chain_chomp_gate_update
callnative load_object_collision_model
end_loop
glabel bhvWiggler # 4878
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, wiggler_seg5_anims_0500EC8C
obj_set_pos
gravity 0x003C, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
unhide
scale 400
obj_set_float objVarF4, 5000
begin_loop
callnative bhv_wiggler_update
end_loop
glabel bhvWigglerBodyPart # 48C0
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, wiggler_seg5_anims_0500C874
gravity 0x0000, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
scale 400
begin_loop
callnative bhv_wiggler_body_part_update
end_loop
glabel bhvEnemyLakitu # 48F8
begin OBJ_LIST_PUSHABLE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, lakitu_enemy_seg5_anims_050144D4
animate 0x00
obj_set_pos
gravity 0x0028, 0x0000, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_enemy_lakitu_update
end_loop
glabel bhvCameraLakitu # 4934
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, lakitu_seg6_anims_060058F8
animate 0x00
callnative bhv_init_room
callnative bhv_camera_lakitu_init
begin_loop
callnative bhv_camera_lakitu_update
end_loop
glabel bhvCloud # 4968
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
obj_set_pos
obj_set_int objOpacity, 0x00F0
begin_loop
callnative bhv_cloud_update
end_loop
glabel bhvCloudPart # 498C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int objOpacity, 0x00F0
begin_loop
callnative bhv_cloud_part_update
end_loop
glabel bhvSpiny # 49A8
begin OBJ_LIST_PUSHABLE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, spiny_seg5_anims_05016EAC
animate 0x00
gravity 0x0028, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_spiny_update
end_loop
glabel bhvMontyMole # 49E0
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, monty_mole_seg5_anims_05007248
animate 0x03
gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
unhide
obj_set_int objIntangibleTimer, -1
obj_set_float objGraphYOffset, 0xFFC4
scale 150
delay 1
callnative bhv_monty_mole_init
begin_loop
callnative bhv_monty_mole_update
end_loop
glabel bhvMontyMoleHole # 4A38
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
scale 150
begin_loop
callnative bhv_monty_mole_hole_update
end_loop
glabel bhvMontyMoleRock # 4A58
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_float objGraphYOffset, 0x000A
scale 200
begin_loop
callnative bhv_monty_mole_rock_update
end_loop
glabel bhvPlatformOnTrack # 4A90
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
gravity 0x0032, 0xFF9C, 0xFFCE, 0x0064, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_init_room
callnative bhv_platform_on_track_init
begin_loop
callnative bhv_platform_on_track_update
callnative load_object_collision_model
end_loop
glabel bhvTrackBall # 4AD4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
callnative bhv_init_room
scale 15
begin_loop
callnative bhv_track_ball_update
end_loop
glabel bhvSeesawPlatform # 4AFC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_seesaw_platform_init
begin_loop
callnative bhv_seesaw_platform_update
callnative load_object_collision_model
end_loop
glabel bhvFerrisWheelAxle # 4B24
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_add_int objMoveAngleYaw, 0x4000
callnative bhv_ferris_wheel_axle_init
begin_loop
obj_add_int objFaceAngleRoll, 400
callnative load_object_collision_model
end_loop
glabel bhvFerrisWheelPlatform # 4B4C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_ferris_wheel_platform_update
callnative load_object_collision_model
end_loop
glabel bhvWaterBombSpawner # 4B6C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
begin_loop
callnative bhv_water_bomb_spawner_update
end_loop
glabel bhvWaterBomb # 4B88
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
gravity 0x0078, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative bhv_water_bomb_update
end_loop
glabel bhvWaterBombShadow # 4BB4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
scale 150
begin_loop
callnative bhv_water_bomb_shadow_update
end_loop
glabel bhvTTCRotatingSolid # 4BD0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_float objCollisionDistance, 0x01C2
callnative bhv_ttc_rotating_solid_init
obj_set_int objVarF4, 1
begin_loop
callnative bhv_ttc_rotating_solid_update
callnative load_object_collision_model
end_loop
glabel bhvTTCPendulum # 4C04
begin OBJ_LIST_SURFACE
collision_data ttc_seg7_collision_clock_pendulum
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objCollisionDistance, 0x05DC
callnative bhv_ttc_pendulum_init
obj_set_float objVarF4, 1
begin_loop
callnative bhv_ttc_pendulum_update
callnative load_object_collision_model
end_loop
glabel bhvTTCTreadmill # 4C3C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objCollisionDistance, 0x02EE
callnative bhv_ttc_treadmill_init
delay 1
begin_loop
callnative bhv_ttc_treadmill_update
callnative obj_compute_vel_xz
callnative load_object_collision_model
end_loop
glabel bhvTTCMovingBar # 4C74
begin OBJ_LIST_SURFACE
collision_data ttc_seg7_collision_sliding_surface
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_float objCollisionDistance, 0x0226
callnative bhv_ttc_moving_bar_init
begin_loop
callnative bhv_ttc_moving_bar_update
callnative load_object_collision_model
end_loop
glabel bhvTTCCog # 4CAC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objCollisionDistance, 0x0190
callnative bhv_ttc_cog_init
begin_loop
callnative bhv_ttc_cog_update
callnative load_object_collision_model
end_loop
glabel bhvTTCPitBlock # 4CD8
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_float objCollisionDistance, 0x015E
callnative bhv_ttc_pit_block_init
begin_loop
callnative bhv_ttc_pit_block_update
callnative load_object_collision_model
end_loop
glabel bhvTTCElevator # 4D08
begin OBJ_LIST_SURFACE
collision_data ttc_seg7_collision_clock_platform
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_float objCollisionDistance, 0x0190
callnative bhv_ttc_elevator_init
obj_set_float objVarF4, 1
begin_loop
callnative bhv_ttc_elevator_update
callnative load_object_collision_model
end_loop
glabel bhvTTC2DRotator # 4D44
begin OBJ_LIST_SURFACE
collision_data ttc_seg7_collision_clock_main_rotation
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objCollisionDistance, 0x0708
callnative bhv_ttc_2d_rotator_init
begin_loop
callnative bhv_ttc_2d_rotator_update
end_loop
glabel bhvTTCSpinner # 4D70
begin OBJ_LIST_SURFACE
collision_data ttc_seg7_collision_rotating_clock_platform2
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objCollisionDistance, 0x01C2
begin_loop
callnative bhv_ttc_spinner_update
callnative load_object_collision_model
end_loop
glabel bhvMrBlizzard # 4D9C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, snowman_seg5_anims_0500D118
animate 0x00
obj_set_pos
gravity 0x001E, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_mr_blizzard_init
obj_set_float objVarF4, 1
begin_loop
callnative bhv_mr_blizzard_update
end_loop
glabel bhvMrBlizzardSnowball # 4DE8
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
gravity 0x001E, 0xFED4, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
scale 200
obj_add_int objMoveAngleYaw, -0x5B58
obj_set_float objForwardVel, 5
obj_set_float objVelY, -1
obj_set_float objGraphYOffset, 10
begin_loop
callnative bhv_mr_blizzard_snowball
end_loop
glabel bhvSlidingPlatform2 # 4E2C
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
callnative BehSlidingPlatform2Init
begin_loop
callnative BehSlidingPlatform2Loop
callnative load_object_collision_model
end_loop
glabel bhvOctagonalPlatformRotating # 4E58
begin OBJ_LIST_SURFACE
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
callnative BehOctagonalPlatformRotatingInit
begin_loop
callnative BehOctagonalPlatformRotatingLoop
callnative load_object_collision_model
end_loop
glabel bhvAnimatesOnFloorSwitchPress # 4E80
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_float objCollisionDistance, 0x1F40
callnative BehAnimatesOnFloorSwitchPressInit
begin_loop
callnative BehAnimatesOnFloorSwitchPressLoop
callnative load_object_collision_model
end_loop
glabel bhvActivatedBackAndForthPlatform # 4EAC
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
callnative bhv_activated_back_and_forth_platform_init
begin_loop
callnative bhv_activated_back_and_forth_platform_update
callnative load_object_collision_model
end_loop
glabel bhvRecoveryHeart # 4ED8
begin OBJ_LIST_LEVEL
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_recovery_heart_loop
end_loop
glabel bhvWaterBombCannon # 4EF0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative BehWaterBombCannonLoop
end_loop
glabel bhvCannonBarrelBubbles # 4F08
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative BehCannonBarrelBubblesLoop
end_loop
glabel bhvUnagi # 4F20
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, unagi_seg5_anims_05012824
animate 0x06
obj_set_pos
scale 300
obj_set_float objDrawingDistance, 0x1770
callnative BehUnagiInit
begin_loop
callnative BehUnagiLoop
end_loop
glabel bhvUnagiSubobject # 4F58
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative BehUnagiSubobjectLoop
end_loop
glabel bhvDorrie # 4F70
begin OBJ_LIST_SURFACE
collision_data dorrie_seg6_collision_0600F644
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, dorrie_seg6_anims_0600F638
obj_set_pos
obj_set_float objCollisionDistance, 0x7530
obj_add_float objPosX, 2000
callnative bhv_init_room
begin_loop
callnative bhv_dorrie_update
callnative load_object_collision_model
end_loop
glabel bhvHauntedChair # 4FB4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, chair_seg5_anims_05005784
animate 0x00
gravity 0x0028, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_pos
callnative bhv_init_room
callnative BehHauntedChairInit
begin_loop
callnative BehHauntedChairLoop
end_loop
glabel bhvMadPiano # 5004
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, mad_piano_seg5_anims_05009B14
gravity 0x0028, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_pos
obj_add_int objMoveAngleYaw, 0x4000
callnative bhv_init_room
begin_loop
callnative bhv_mad_piano_update
end_loop
glabel bhvFlyingBookend # 504C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, bookend_seg5_anims_05002540
animate 0x00
gravity 0x003C, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_int objMoveFlags, 0
scale 70
callnative bhv_init_room
begin_loop
callnative BehFlyingBookendLoop
end_loop
glabel bhvBookendSpawn # 5094
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_init_room
begin_loop
callnative BehBookendSpawnLoop
end_loop
glabel bhvHauntedBookshelfManager # 50B4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_init_room
begin_loop
callnative bhv_haunted_bookshelf_manager_loop
end_loop
glabel bhvBookSwitch # 50D4
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
obj_set_float objGraphYOffset, 30
obj_add_int objMoveAngleYaw, 0x4000
callnative bhv_init_room
begin_loop
callnative bhv_book_switch_loop
end_loop
glabel bhvFirePiranhaPlant # 5100
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, piranha_plant_seg6_anims_0601C31C
animate 0x00
obj_set_pos
unhide
callnative bhv_fire_piranha_plant_init
begin_loop
callnative bhv_fire_piranha_plant_update
end_loop
glabel bhvSmallPiranhaFlame # 5138
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative BehSmallPiranhaFlameLoop
obj_add_int objAnimState, 1
end_loop
glabel bhvFireSpitter # 516C
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
scale 40
begin_loop
callnative bhv_fire_spitter_update
end_loop
glabel bhvFlyguyFlame # 518C
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
billboard
gravity 0x0000, 0x00C8, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
begin_loop
callnative BehFlyGuyFlameLoop
obj_add_int objAnimState, 1
end_loop
glabel bhvSnufit # 51C0
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
gravity 0x001E, 0x0000, 0xFFCE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
callnative bhv_init_room
begin_loop
obj_set_int objVarF4, 0
callnative BehSnufitLoop
end_loop
glabel bhvSnufitBalls # 51FC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
billboard
gravity 0x000A, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
callnative bhv_init_room
obj_set_float objGraphYOffset, 0x000A
scale 10
begin_loop
callnative BehSnufitBallsLoop
end_loop
glabel bhvHorizontalGrindel # 523C
begin OBJ_LIST_SURFACE
collision_data ssl_seg7_collision_grindel
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
obj_set_pos
gravity 0x0028, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
scale 90
callnative bhv_horizontal_grindel_init
begin_loop
callnative obj_update_floor_and_walls
callnative bhv_horizontal_grindel_update
callnative load_object_collision_model
end_loop
glabel bhvEyerokBoss # 5294
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
begin_loop
callnative bhv_eyerok_boss_loop
end_loop
glabel bhvEyerokHand # 52B0
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, eyerok_seg5_anims_050116E4
animate 0x06
gravity 0x0096, 0x0000, 0x0000, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_pos
obj_set_int objAnimState, 3
begin_loop
callnative bhv_eyerok_hand_loop
end_loop
glabel bhvKlepto # 52F0
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, klepto_seg5_anims_05008CFC
animate 0x00
gravity 0x0064, 0x0000, 0xFFEC, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_pos
callnative bhv_klepto_init
begin_loop
callnative bhv_klepto_update
end_loop
glabel bhvBird # 5334
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, birds_seg5_anims_050009E8
animate 0x00
unhide
scale 70
begin_loop
callnative bhv_bird_update
end_loop
glabel bhvRacingPenguin # 5360
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
animate 0x03
gravity 0x012C, 0xFCE0, 0xFFFB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
scale 400
callnative bhv_racing_penguin_init
begin_loop
callnative bhv_racing_penguin_update
end_loop
glabel bhvPenguinRaceFinishLine # 53A4
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_penguin_race_finish_line_update
end_loop
glabel bhvPenguinRaceShortcutCheck # 53BC
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
begin_loop
callnative bhv_penguin_race_shortcut_check_update
end_loop
glabel bhvHauntedRoomCheck # 53D4
begin OBJ_LIST_SURFACE
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
callnative bhv_init_room
begin_loop
callnative BehHauntedRoomCheckLoop
end_loop
glabel bhvHauntedRoomCheckSubobject # 53F4
begin OBJ_LIST_SURFACE
collision_data bbh_seg7_collision_coffin
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
callnative bhv_init_room
begin_loop
callnative BehHauntedRoomCheckSubobjectLoop
end_loop
glabel bhvClamShell # 5420
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
drop_floor
obj_set_int32 objAnimations, clam_shell_seg5_anims_05001744
obj_set_float objGraphYOffset, 0x000A
begin_loop
callnative BehClamShellLoop
end_loop
glabel bhvSkeeter # 5448
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, skeeter_seg6_anims_06007DE0
obj_set_pos
gravity 0x00B4, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x04B0, 0x0000, 0x0000
begin_loop
callnative bhv_skeeter_update
end_loop
glabel bhvSkeeterWave # 5480
begin OBJ_LIST_UNIMPORTANT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_skeeter_wave_update
end_loop
glabel bhvSwingPlatform # 5498
begin OBJ_LIST_SURFACE
collision_data rr_seg7_collision_pendulum
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_float objCollisionDistance, 0x07D0
callnative bhv_swing_platform_init
begin_loop
callnative bhv_swing_platform_update
callnative load_object_collision_model
end_loop
glabel bhvDonutPlatformSpawner # 54CC
begin OBJ_LIST_SPAWNER
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative bhv_donut_platform_spawner_update
end_loop
glabel bhvDonutPlatform # 54E4
begin OBJ_LIST_SURFACE
collision_data rr_seg7_collision_donut_platform
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
begin_loop
callnative bhv_donut_platform_update
end_loop
glabel bhvDDDPole # 5508
begin OBJ_LIST_POLELIKE
interact_type INTERACT_POLE
set_hitbox 0x0050, 0x0320
obj_set_int objIntangibleTimer, 0
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_pos
callnative bhv_ddd_pole_init
obj_set_float objVarF4, 10
begin_loop
callnative bhv_ddd_pole_update
callnative BehClimbDetectLoop
end_loop
glabel bhvRedCoinStarMarker # 554C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
drop_floor
scale 150
obj_set_int objFaceAnglePitch, 0x4000
obj_add_float objPosY, 60
callnative bhv_red_coin_star_marker_init
begin_loop
obj_add_int objFaceAngleYaw, 0x100
end_loop
glabel bhvTripletButterfly # 5578
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, butterfly_seg3_anims_030056B0
animate 0x00
unhide
obj_set_pos
gravity 0x0000, 0x0000, 0x0000, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
obj_set_float objVarF4, 1
begin_loop
callnative bhv_triplet_butterfly_update
end_loop
glabel bhvBubba # 55BC
begin OBJ_LIST_GENACTOR
obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_pos
gravity 0x00C8, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0000, 0x0000, 0x0000
scale 50
begin_loop
callnative BehBubbaLoop
end_loop
glabel bhvBeginningLakitu # 55F0
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, lakitu_seg6_anims_060058F8
animate 0x00
obj_set_float objOpacity, 0x0000
begin_loop
callnative BehBeginningLakituLoop
end_loop
glabel bhvBeginningPeach # 5618
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
obj_set_int32 objAnimations, peach_seg5_anims_0501C41C
animate 0x00
begin_loop
callnative BehBeginningPeachLoop
end_loop
glabel bhvEndBirds1 # 563C
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, birds_seg5_anims_050009E8
animate 0x00
begin_loop
callnative BehEndBirds1Loop
end_loop
glabel bhvEndBirds2 # 5660
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
obj_set_int32 objAnimations, birds_seg5_anims_050009E8
animate 0x00
begin_loop
callnative BehEndBirds2Loop
end_loop
glabel bhvIntroScene # 5684
begin OBJ_LIST_DEFAULT
obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
begin_loop
callnative BehIntroSceneLoop
end_loop
.align 4
glabel behavior_data_end