Super Mario 64s source code (from a leak on 4chan so be careful)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5555 lines
174 KiB

6 years ago
  1. .include "macros.inc"
  2. .include "model_ids.inc"
  3. # see include/object_lists.h for comments
  4. # TODO: Use C preprocessor define instead of redefining the lists seperately.
  5. .set OBJ_LIST_PLAYER, 0
  6. .set OBJ_LIST_UNUSED_1, 1
  7. .set OBJ_LIST_DESTRUCTIVE, 2
  8. .set OBJ_LIST_UNUSED_3, 3
  9. .set OBJ_LIST_GENACTOR, 4
  10. .set OBJ_LIST_PUSHABLE, 5
  11. .set OBJ_LIST_LEVEL, 6
  12. .set OBJ_LIST_UNUSED_7, 7
  13. .set OBJ_LIST_DEFAULT, 8
  14. .set OBJ_LIST_SURFACE, 9
  15. .set OBJ_LIST_POLELIKE, 10
  16. .set OBJ_LIST_SPAWNER, 11
  17. .set OBJ_LIST_UNIMPORTANT, 12
  18. # TODO: Use C preprocessor define instead of redefining the lists seperately. (object_constants.h)
  19. .set OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE, (1 << 0) # 0x0001
  20. .set OBJ_FLAG_MOVE_XZ_USING_FVEL, (1 << 1) # 0x0002
  21. .set OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL, (1 << 2) # 0x0004
  22. .set OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW, (1 << 3) # 0x0008
  23. .set OBJ_FLAG_0010, (1 << 4) # 0x0010
  24. .set OBJ_FLAG_0020, (1 << 5) # 0x0020
  25. .set OBJ_FLAG_COMPUTE_DIST_TO_MARIO, (1 << 6) # 0x0040
  26. .set OBJ_FLAG_ACTIVE_FROM_AFAR, (1 << 7) # 0x0080
  27. .set OBJ_FLAG_0100, (1 << 8) # 0x0100
  28. .set OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT, (1 << 9) # 0x0200
  29. .set OBJ_FLAG_HOLDABLE, (1 << 10) # 0x0400
  30. .set OBJ_FLAG_0800, (1 << 11) # 0x0800
  31. .set OBJ_FLAG_1000, (1 << 12) # 0x1000
  32. .set OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO, (1 << 13) # 0x2000
  33. .set OBJ_FLAG_PERSISTENT_RESPAWN, (1 << 14) # 0x4000
  34. .set OBJ_FLAG_8000, (1 << 15) # 0x8000
  35. # TODO: Use C preprocessor define instead of redefining the lists seperately. (object_fields.h)
  36. .set objUnk88, 0x00
  37. .set objFlags, 0x01
  38. .set objDialogueResponse, 0x02
  39. .set objUnk94, 0x03
  40. .set objUnk98, 0x04
  41. .set objIntangibleTimer, 0x05
  42. .set objPosX, 0x06
  43. .set objPosY, 0x07
  44. .set objPosZ, 0x08
  45. .set objVelX, 0x09
  46. .set objVelY, 0x0A
  47. .set objVelZ, 0x0B
  48. .set objForwardVel, 0x0C
  49. .set objUnkBC, 0x0D
  50. .set objUnkC0, 0x0E
  51. .set objMoveAnglePitch, 0x0F
  52. .set objMoveAngleYaw, 0x10
  53. .set objMoveAngleRoll, 0x11
  54. .set objFaceAnglePitch, 0x12
  55. .set objFaceAngleYaw, 0x13
  56. .set objFaceAngleRoll, 0x14
  57. .set objGraphYOffset, 0x15
  58. .set objUnkE0, 0x16
  59. .set objGravity, 0x17
  60. .set objFloorHeight, 0x18
  61. .set objMoveFlags, 0x19
  62. .set objAnimState, 0x1A
  63. # object-specific fields
  64. .set objVarF4, 0x1B
  65. .set objVarF8, 0x1C
  66. .set objVarFC, 0x1D
  67. .set objVar100, 0x1E
  68. .set objVar104, 0x1F
  69. .set objVar108, 0x20
  70. .set objVar10C, 0x21
  71. .set objVar110, 0x22
  72. #
  73. .set objAngleVelPitch, 0x23
  74. .set objAngleVelYaw, 0x24
  75. .set objAngleVelRoll, 0x25
  76. .set objAnimations, 0x26
  77. .set objHeldState, 0x27
  78. .set objWallHitboxRadius, 0x28
  79. .set objDragStrength, 0x29
  80. .set objInteractType, 0x2A
  81. .set objInteractStatus, 0x2B
  82. .set objParentRelativePosX, 0x2C
  83. .set objParentRelativePosY, 0x2D
  84. .set objParentRelativePosZ, 0x2E
  85. .set objBehParams2ndByte, 0x2F
  86. .set objUnk148, 0x30
  87. .set objAction, 0x31
  88. .set objSubAction, 0x32
  89. .set objTimer, 0x33
  90. .set objBounce, 0x34
  91. .set objDistanceToMario, 0x35
  92. .set objAngleToMario, 0x36
  93. .set objHomeX, 0x37
  94. .set objHomeY, 0x38
  95. .set objHomeZ, 0x39
  96. .set objFriction, 0x3A
  97. .set objBuoyancy, 0x3B
  98. .set objSoundStateID, 0x3C
  99. .set objOpacity, 0x3D
  100. .set objDamageOrCoinValue, 0x3E
  101. .set objHealth, 0x3F
  102. .set objBehParams, 0x40
  103. .set objPrevAction, 0x41
  104. .set objUnk190, 0x42
  105. .set objCollisionDistance, 0x43
  106. .set objNumLootCoins, 0x44
  107. .set objDrawingDistance, 0x45
  108. .set objRoom, 0x46
  109. .set objUnk1A4, 0x47
  110. .set objUnk1A8, 0x48
  111. .set objUnk1AC, 0x49
  112. .set objUnk1B0, 0x4A
  113. .set objWallAngle, 0x4B
  114. .set objFloorType, 0x4C
  115. .set objUnk1BC, 0x4D
  116. .set objFloor, 0x4E
  117. .set objDeathSound, 0x4F
  118. # Interactions only used
  119. .set INTERACT_DAMAGE, 0x00000008
  120. .set INTERACT_POLE, 0x00000040
  121. .set INTERACT_STAR_OR_KEY, 0x00001000
  122. .set INTERACT_WATER_RING, 0x00010000
  123. .set INTERACT_FLAME, 0x00040000
  124. .set INTERACT_TEXT, 0x00800000
  125. .set INTERACT_IGLOO_BARRIER, 0x40000000
  126. .macro bytes4 byte1, byte2, byte3, byte4
  127. .word ((\byte1 & 0xFF) << 24) | ((\byte2 & 0xFF) << 16) | ((\byte3 & 0xFF) << 8) | (\byte4 & 0xFF)
  128. .endm
  129. .macro begin arg1
  130. bytes4 0x00, \arg1, 0x00, 0x00
  131. .endm
  132. .macro delay frames
  133. .word (0x01 << 24) | (0x00 << 16) | (\frames & 0xFFFF)
  134. .endm
  135. .macro call addr
  136. bytes4 0x02, 0x00, 0x00, 0x00
  137. .word \addr
  138. .endm
  139. .macro return
  140. bytes4 0x03, 0x00, 0x00, 0x00
  141. .endm
  142. .macro goto addr
  143. bytes4 0x04, 0x00, 0x00, 0x00
  144. .word \addr
  145. .endm
  146. .macro begin_repeat times
  147. .word (0x05 << 24) | (0x00 << 16) | (\times & 0xFFFF)
  148. .endm
  149. .macro end_repeat
  150. bytes4 0x06, 0x00, 0x00, 0x00
  151. .endm
  152. .macro end_repeat_nobreak
  153. bytes4 0x07, 0x00, 0x00, 0x00
  154. .endm
  155. .macro begin_loop
  156. bytes4 0x08, 0x00, 0x00, 0x00
  157. .endm
  158. .macro end_loop
  159. bytes4 0x09, 0x00, 0x00, 0x00
  160. .endm
  161. .macro break
  162. bytes4 0x0A, 0x00, 0x00, 0x00
  163. .endm
  164. .macro callnative addr
  165. bytes4 0x0C, 0x00, 0x00, 0x00
  166. .word \addr
  167. .endm
  168. .macro obj_add_float field, value
  169. .word (0x0D << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
  170. .endm
  171. .macro obj_set_float field, value
  172. .word (0x0E << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
  173. .endm
  174. .macro obj_add_int field, value
  175. .word (0x0F << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
  176. .endm
  177. .macro obj_set_int field, value
  178. .word (0x10 << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
  179. .endm
  180. .macro obj_or_int field, value
  181. .word (0x11 << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
  182. .endm
  183. .macro obj_bit_clear_int field, value
  184. .word (0x12 << 24) | ((\field & 0xFF) << 16) | (\value & 0xFFFF)
  185. .endm
  186. .macro obj_set_int_rand_rshift field, min, rshift
  187. .word (0x13 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
  188. .word ((\rshift & 0xFFFF) << 16) | 0x0000
  189. .endm
  190. .macro obj_set_float_rand field, min, max
  191. .word (0x14 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
  192. .word ((\max & 0xFFFF) << 16) | 0x0000
  193. .endm
  194. .macro obj_set_int_rand field, min, max
  195. .word (0x15 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
  196. .word ((\max & 0xFFFF) << 16) | 0x0000
  197. .endm
  198. .macro obj_add_float_rand field, min, max
  199. .word (0x16 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
  200. .word ((\max & 0xFFFF) << 16) | 0x0000
  201. .endm
  202. .macro obj_add_int_rand_rshift field, min, rshift
  203. .word (0x17 << 24) | ((\field & 0xFF) << 16) | (\min & 0xFFFF)
  204. .word ((\rshift & 0xFFFF) << 16) | 0x0000
  205. .endm
  206. .macro geo_layout model_id
  207. .word (0x1B << 24) | (0x00 << 16) | (\model_id & 0xFFFF)
  208. .endm
  209. .macro obj_child model_id, beh
  210. bytes4 0x1C, 0x00, 0x00, 0x00
  211. .word \model_id, \beh
  212. .endm
  213. .macro deactivate
  214. bytes4 0x1D, 0x00, 0x00, 0x00
  215. .endm
  216. .macro drop_floor
  217. bytes4 0x1E, 0x00, 0x00, 0x00
  218. .endm
  219. .macro obj_sum_float fieldDest, fieldSrc1, fieldSrc2
  220. bytes4 0x1F, \fieldDest, \fieldSrc1, \fieldSrc2
  221. .endm
  222. .macro obj_sum_int fieldDest, fieldSrc1, fieldSrc2
  223. bytes4 0x20, \fieldDest, \fieldSrc1, \fieldSrc2
  224. .endm
  225. .macro billboard
  226. bytes4 0x21, 0x00, 0x00, 0x00
  227. .endm
  228. .macro unhide
  229. bytes4 0x22, 0x00, 0x00, 0x00
  230. .endm
  231. .macro set_hitbox radius, height
  232. bytes4 0x23, 0x00, 0x00, 0x00
  233. .word ((\radius & 0xFFFF) << 16) | (\height & 0xFFFF)
  234. .endm
  235. .macro delay_var field
  236. bytes4 0x25, \field, 0x00, 0x00
  237. .endm
  238. .macro obj_set_int32 field, value
  239. bytes4 0x27, \field, 0x00, 0x00
  240. .word \value
  241. .endm
  242. .macro animate animIndex
  243. bytes4 0x28, \animIndex, 0x00, 0x00
  244. .endm
  245. .macro obj_child_param behParam, model_id, beh
  246. .word (0x29 << 24) | (0x00 << 16) | (\behParam & 0xFFFF)
  247. .word \model_id
  248. .word \beh
  249. .endm
  250. .macro collision_data addr
  251. bytes4 0x2A, 0x00, 0x00, 0x00
  252. .word \addr
  253. .endm
  254. .macro collision_sphere radius, height, arg3
  255. bytes4 0x2B, 0x00, 0x00, 0x00
  256. .word ((\radius & 0xFFFF) << 16) | (\height & 0xFFFF)
  257. .word ((\arg3 & 0xFFFF) << 16) | 0x0000
  258. .endm
  259. .macro obj_spawn model_id, beh
  260. bytes4 0x2C, 0x00, 0x00, 0x00
  261. .word \model_id
  262. .word \beh
  263. .endm
  264. .macro obj_set_pos
  265. bytes4 0x2D, 0x00, 0x00, 0x00
  266. .endm
  267. .macro obj_set_float2 arg1, arg2
  268. bytes4 0x2E, 0x00, 0x00, 0x00
  269. .word ((\arg1 & 0xFFFF) << 16) | (\arg2 & 0xFFFF)
  270. .endm
  271. .macro interact_type type
  272. bytes4 0x2F, 0x00, 0x00, 0x00
  273. .word \type
  274. .endm
  275. .macro gravity arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8
  276. bytes4 0x30, 0x00, 0x00, 0x00
  277. .word ((\arg1 & 0xFFFF) << 16) | (\arg2 & 0xFFFF)
  278. .word ((\arg3 & 0xFFFF) << 16) | (\arg4 & 0xFFFF)
  279. .word ((\arg5 & 0xFFFF) << 16) | (\arg6 & 0xFFFF)
  280. .word ((\arg7 & 0xFFFF) << 16) | (\arg8 & 0xFFFF)
  281. .endm
  282. .macro scale percent
  283. .word (0x32 << 24) | (0x00 << 16) | (\percent & 0xFFFF)
  284. .endm
  285. .macro obj_bit_clear_int32 field, value
  286. bytes4 0x33, \field, 0x00, 0x00
  287. .word \value
  288. .endm
  289. .macro text_anim_rate field, arg2
  290. .word (0x34 << 24) | ((\field & 0xFF) << 16) | (\arg2 & 0xFFFF)
  291. .endm
  292. .macro graph_clear
  293. bytes4 0x35, 0x00, 0x00, 0x00
  294. .endm
  295. .macro spawn_addr arg1
  296. bytes4 0x37, 0x00, 0x00, 0x00
  297. .word \arg1
  298. .endm
  299. # TODO: Go through these and rename a bunch of them, some of these names are really bad.
  300. .section .behavior, "a"
  301. glabel behavior_data
  302. glabel bhvStarDoor # 0000
  303. begin OBJ_LIST_SURFACE
  304. obj_set_int objInteractType, 4
  305. collision_data inside_castle_seg7_collision_star_door
  306. obj_set_int objUnk190, 32
  307. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  308. set_hitbox 80, 100
  309. obj_set_pos
  310. obj_set_float objDrawingDistance, 20000
  311. callnative bhv_door_init
  312. obj_set_int objIntangibleTimer, 0
  313. begin_loop
  314. callnative bhv_star_door_loop
  315. callnative bhv_star_door_loop_2
  316. callnative load_object_collision_model
  317. end_loop
  318. glabel bhvMrI # 0054
  319. begin OBJ_LIST_GENACTOR
  320. 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)
  321. obj_set_pos
  322. obj_child MODEL_MR_I_IRIS, bhvMrIBody
  323. geo_layout MODEL_MR_I
  324. billboard
  325. callnative bhv_init_room
  326. begin_loop
  327. callnative bhv_mr_i_loop
  328. end_loop
  329. glabel bhvMrIBody # 008C
  330. begin OBJ_LIST_DEFAULT
  331. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  332. callnative bhv_init_room
  333. begin_loop
  334. callnative bhv_mr_i_body_loop
  335. end_loop
  336. glabel bhvMrIParticle # 00AC
  337. begin OBJ_LIST_LEVEL
  338. billboard
  339. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  340. obj_set_int objIntangibleTimer, 0
  341. set_hitbox 50, 50
  342. obj_set_int objDamageOrCoinValue, 1
  343. obj_set_int objInteractType, 8
  344. gravity 0x001E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  345. callnative bhv_init_room
  346. begin_loop
  347. callnative bhv_mr_i_particle_loop
  348. end_loop
  349. glabel bhvGiantPiranhaParticle # 00F8
  350. begin OBJ_LIST_UNIMPORTANT
  351. billboard
  352. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  353. begin_repeat 10
  354. callnative bhv_piranha_particle_loop
  355. end_repeat
  356. deactivate
  357. glabel bhvGiantPole # 0118
  358. begin OBJ_LIST_POLELIKE
  359. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  360. obj_set_int objInteractType, 0x40
  361. set_hitbox 0x0050, 0x0834
  362. obj_set_pos
  363. obj_set_int objIntangibleTimer, 0
  364. begin_loop
  365. callnative bhv_giant_pole_loop
  366. end_loop
  367. glabel bhvPoleGrabbing # 0144
  368. begin OBJ_LIST_POLELIKE
  369. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  370. obj_set_int objInteractType, 0x40
  371. set_hitbox 0x0050, 0x05DC
  372. callnative bhv_pole_init
  373. obj_set_int objIntangibleTimer, 0
  374. begin_loop
  375. callnative BehClimbDetectLoop
  376. end_loop
  377. glabel bhvThiHugeIslandTop # 0174
  378. begin OBJ_LIST_SURFACE
  379. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  380. collision_data thi_seg7_collision_top_trap
  381. begin_loop
  382. callnative bhv_thi_huge_island_top_loop
  383. end_loop
  384. glabel bhvThiTinyIslandTop # 0194
  385. begin OBJ_LIST_DEFAULT
  386. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  387. begin_loop
  388. callnative bhv_thi_tiny_island_top_loop
  389. end_loop
  390. glabel bhvCapSwitchBase # 01AC
  391. begin OBJ_LIST_SURFACE
  392. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  393. collision_data capswitch_collision_05003448
  394. begin_loop
  395. callnative load_object_collision_model
  396. end_loop
  397. glabel bhvCapSwitch # 01CC
  398. begin OBJ_LIST_SURFACE
  399. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  400. collision_data capswitch_collision_050033D0
  401. begin_loop
  402. callnative bhv_cap_switch_loop
  403. callnative load_object_collision_model
  404. end_loop
  405. glabel bhvKingBobomb # 01F4
  406. begin OBJ_LIST_GENACTOR
  407. 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)
  408. obj_set_int32 objAnimations, king_bobomb_seg5_anims_0500FE30
  409. obj_set_int objInteractType, 0x02
  410. set_hitbox 0x0064, 0x0064
  411. gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  412. obj_set_int objIntangibleTimer, 0
  413. drop_floor
  414. obj_set_pos
  415. obj_spawn MODEL_NONE, bhvBobombAnchorMario
  416. obj_set_int objHealth, 0x0003
  417. obj_set_int objDamageOrCoinValue, 1
  418. begin_loop
  419. callnative bhv_king_bobomb_loop
  420. end_loop
  421. glabel bhvBobombAnchorMario # 0254
  422. begin OBJ_LIST_GENACTOR
  423. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  424. billboard
  425. obj_set_float objParentRelativePosX, 0x0064
  426. obj_set_float objParentRelativePosZ, 0x0096
  427. begin_loop
  428. callnative bhv_bobomb_anchor_mario_loop
  429. end_loop
  430. glabel bhvBetaChest # 0278
  431. begin OBJ_LIST_DEFAULT
  432. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  433. drop_floor
  434. callnative bhv_beta_chest_init
  435. begin_loop
  436. callnative bhv_beta_chest_loop
  437. end_loop
  438. glabel bhvBetaChestUpper # 029C
  439. begin OBJ_LIST_DEFAULT
  440. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  441. obj_set_pos
  442. begin_loop
  443. callnative bhv_beta_chest_upper_loop
  444. end_loop
  445. glabel bhvBubbleMario # 02B8
  446. begin OBJ_LIST_DEFAULT
  447. graph_clear
  448. obj_set_int_rand objVarF4, 0x0002, 0x0009
  449. delay_var objVarF4
  450. obj_child MODEL_BUBBLE, bhvSmallWaterWave
  451. obj_bit_clear_int32 objUnkE0, 0x00000020
  452. deactivate
  453. glabel bhvBubbleMaybe # 02E4
  454. begin OBJ_LIST_UNIMPORTANT
  455. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  456. billboard
  457. callnative bhv_bubble_wave_init
  458. obj_set_float_rand objVarF4, 0xFFB5, 0x0096
  459. obj_set_float_rand objVarF8, 0xFFB5, 0x0096
  460. obj_set_float_rand objVarFC, 0xFFB5, 0x0096
  461. obj_sum_float objPosX, objPosX, objVarF4
  462. obj_sum_float objPosZ, objPosZ, objVarF8
  463. obj_sum_float objPosY, objPosY, objVarFC
  464. obj_set_int objAnimState, -1
  465. begin_repeat 60
  466. obj_add_int objAnimState, 1
  467. callnative bhv_bubble_maybe_loop
  468. end_repeat
  469. deactivate
  470. glabel bhvSmallWaterWave # 0338
  471. begin OBJ_LIST_UNIMPORTANT
  472. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  473. billboard
  474. callnative bhv_bubble_wave_init
  475. obj_set_float_rand objVarF4, 0xFFCE, 0x0064
  476. obj_set_float_rand objVarF8, 0xFFCE, 0x0064
  477. obj_sum_float objPosX, objPosX, objVarF4
  478. obj_sum_float objPosZ, objPosZ, objVarF8
  479. obj_set_float_rand objVarFC, 0x0000, 0x0032
  480. obj_sum_float objPosY, objPosY, objVarFC
  481. obj_set_int objAnimState, -1
  482. call bhvSmallWaterWave398
  483. begin_repeat 60
  484. call bhvSmallWaterWave398
  485. callnative bhv_small_water_wave_loop
  486. end_repeat
  487. deactivate
  488. glabel bhvSmallWaterWave398 # 0398
  489. obj_add_int objAnimState, 1
  490. obj_add_float objPosY, 7
  491. obj_set_float_rand objVarF4, -2, 5
  492. obj_set_float_rand objVarF8, -2, 5
  493. obj_sum_float objPosX, objPosX, objVarF4
  494. obj_sum_float objPosZ, objPosZ, objVarF8
  495. return
  496. glabel bhvWaterAirBubble # 03BC
  497. begin OBJ_LIST_LEVEL
  498. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  499. billboard
  500. collision_sphere 0x0190, 0x0096, 0xFF6A
  501. obj_set_int objIntangibleTimer, 0
  502. interact_type INTERACT_WATER_RING
  503. obj_set_int objDamageOrCoinValue, 5
  504. callnative bhv_water_air_bubble_init
  505. obj_set_int objAnimState, -1
  506. begin_loop
  507. callnative bhv_water_air_bubble_loop
  508. end_loop
  509. glabel bhvSmallParticle # 0400
  510. begin OBJ_LIST_UNIMPORTANT
  511. billboard
  512. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  513. callnative bhv_particle_init
  514. begin_repeat 70
  515. callnative bhv_particle_loop
  516. end_repeat
  517. deactivate
  518. glabel bhvWaterWaves # 0428
  519. begin OBJ_LIST_DEFAULT
  520. obj_bit_clear_int32 objUnkE0, 0x00000200
  521. graph_clear
  522. callnative bhv_water_waves_init
  523. deactivate
  524. glabel bhvSmallParticleSnow # 0444
  525. begin OBJ_LIST_UNIMPORTANT
  526. billboard
  527. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  528. callnative bhv_particle_init
  529. begin_repeat 30
  530. callnative bhv_particle_loop
  531. end_repeat
  532. deactivate
  533. glabel bhvSmallParticleBubbles # 046C
  534. begin OBJ_LIST_UNIMPORTANT
  535. billboard
  536. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  537. callnative bhv_particle_init
  538. begin_repeat 70
  539. callnative bhv_small_bubbles_loop
  540. end_repeat
  541. deactivate
  542. glabel bhvFishGroup # 0494
  543. begin OBJ_LIST_DEFAULT
  544. begin_loop
  545. callnative bhv_fish_group_loop
  546. end_loop
  547. glabel bhvCannon # 04A8
  548. begin OBJ_LIST_LEVEL
  549. 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)
  550. obj_child MODEL_CANNON_BARREL, bhvCannonBarrel
  551. obj_set_int objInteractType, 0x4000
  552. obj_add_float objPosY, -340
  553. obj_set_pos
  554. set_hitbox 0x0096, 0x0096
  555. obj_set_int objIntangibleTimer, 0
  556. begin_loop
  557. callnative bhv_cannon_base_loop
  558. end_loop
  559. glabel bhvCannonBarrel # 04E4
  560. begin OBJ_LIST_DEFAULT
  561. 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)
  562. drop_floor
  563. begin_loop
  564. callnative bhv_cannon_barrel_loop
  565. end_loop
  566. glabel bhvCannonBaseUnused # 0500
  567. begin OBJ_LIST_DEFAULT
  568. 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)
  569. billboard
  570. obj_set_int objAnimState, -1
  571. begin_repeat 8
  572. callnative bhv_cannon_base_unused_loop
  573. obj_add_int objAnimState, 1
  574. end_repeat
  575. deactivate
  576. glabel bhvChuckya # 0528
  577. begin OBJ_LIST_GENACTOR
  578. 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)
  579. obj_set_int32 objAnimations, chuckya_seg8_anims_0800C070
  580. animate 0x05
  581. obj_set_int objInteractType, 0x02
  582. set_hitbox 0x0096, 0x0064
  583. gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  584. obj_spawn MODEL_NONE, bhvChuckyaAnchorMario
  585. obj_set_int objNumLootCoins, 5
  586. obj_set_int objIntangibleTimer, 0
  587. obj_set_pos
  588. begin_loop
  589. callnative bhv_chuckya_loop
  590. end_loop
  591. glabel bhvChuckyaAnchorMario # 0584
  592. begin OBJ_LIST_GENACTOR
  593. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  594. billboard
  595. obj_set_float objParentRelativePosY, 0xFFC4
  596. obj_set_float objParentRelativePosZ, 0x0096
  597. begin_loop
  598. callnative bhv_chuckya_anchor_mario_loop
  599. end_loop
  600. glabel bhvUnused05A8 # 05A8
  601. begin OBJ_LIST_DEFAULT
  602. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  603. break
  604. glabel bhvRotatingPlatform # 05B4
  605. begin OBJ_LIST_SURFACE
  606. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  607. obj_set_pos
  608. begin_loop
  609. callnative bhv_rotating_platform_loop
  610. callnative load_object_collision_model
  611. end_loop
  612. glabel bhvTower # 05D8
  613. begin OBJ_LIST_SURFACE
  614. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  615. collision_data wf_seg7_collision_tower
  616. obj_set_float objCollisionDistance, 0x0BB8
  617. obj_set_float objDrawingDistance, 0x4E20
  618. begin_loop
  619. callnative load_object_collision_model
  620. end_loop
  621. glabel bhvBulletBillCannon # 0600
  622. begin OBJ_LIST_SURFACE
  623. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  624. collision_data wf_seg7_collision_bullet_bill_cannon
  625. obj_set_float objCollisionDistance, 0x012C
  626. begin_loop
  627. callnative load_object_collision_model
  628. end_loop
  629. glabel bhvWfBreakableWallRight # 0624
  630. begin OBJ_LIST_SURFACE
  631. collision_data wf_seg7_collision_breakable_wall
  632. goto .L13000644
  633. glabel bhvWfBreakableWallLeft # 0638
  634. begin OBJ_LIST_SURFACE
  635. collision_data wf_seg7_collision_breakable_wall_2
  636. .L13000644: # 0644
  637. 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)
  638. set_hitbox 0x012C, 0x0190
  639. obj_set_int objIntangibleTimer, 0
  640. begin_loop
  641. callnative bhv_wf_breakable_wall_loop
  642. callnative load_object_collision_model
  643. end_loop
  644. glabel bhvKickableBoard # 066C
  645. begin OBJ_LIST_SURFACE
  646. 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)
  647. collision_data wf_seg7_collision_kickable_board
  648. set_hitbox 0x0064, 0x04B0
  649. obj_set_float2 0x0001, 0x0001
  650. obj_set_float objCollisionDistance, 0x05DC
  651. obj_set_int objIntangibleTimer, 0
  652. begin_loop
  653. callnative bhv_kickable_board_loop
  654. end_loop
  655. glabel bhvTowerDoor # 06A4
  656. begin OBJ_LIST_SURFACE
  657. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  658. collision_data wf_seg7_collision_tower_door
  659. set_hitbox 0x0064, 0x0064
  660. obj_set_int objIntangibleTimer, 0
  661. begin_loop
  662. callnative bhv_tower_door_loop
  663. callnative load_object_collision_model
  664. end_loop
  665. glabel bhvRotatingCounterClockwise # 06D8
  666. begin OBJ_LIST_DEFAULT
  667. break
  668. glabel bhvWfRotatingWoodenPlatform # 06E0
  669. begin OBJ_LIST_SURFACE
  670. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  671. collision_data wf_seg7_collision_clocklike_rotation
  672. begin_loop
  673. callnative bhv_wf_rotating_wooden_platform_loop
  674. callnative load_object_collision_model
  675. end_loop
  676. glabel bhvKoopaShellUnderwater # 0708
  677. begin OBJ_LIST_GENACTOR
  678. obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  679. begin_loop
  680. callnative bhv_koopa_shell_underwater_loop
  681. end_loop
  682. glabel bhvExitPodiumWarp # 0720
  683. begin OBJ_LIST_SURFACE
  684. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  685. obj_set_int objInteractType, 0x2000
  686. drop_floor
  687. obj_set_float objCollisionDistance, 0x1F40
  688. collision_data ttm_seg7_collision_podium_warp
  689. obj_set_int objIntangibleTimer, 0
  690. set_hitbox 0x0032, 0x0032
  691. begin_loop
  692. callnative load_object_collision_model
  693. obj_set_int objInteractStatus, 0
  694. end_loop
  695. glabel bhvFadingWarp # 075C
  696. begin OBJ_LIST_LEVEL
  697. obj_set_int objUnk190, 0x0001
  698. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  699. obj_set_int objInteractType, 0x2000
  700. obj_set_int objIntangibleTimer, 0
  701. begin_loop
  702. callnative BehFadingWarpLoop
  703. end_loop
  704. glabel bhvWarp # 0780
  705. begin OBJ_LIST_LEVEL
  706. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  707. obj_set_int objInteractType, 0x2000
  708. obj_set_int objIntangibleTimer, 0
  709. begin_loop
  710. callnative bhv_warp_loop
  711. end_loop
  712. glabel bhvWarpPipe # 07A0
  713. begin OBJ_LIST_SURFACE
  714. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  715. obj_set_int objInteractType, 0x2000
  716. collision_data warp_pipe_seg3_collision_03009AC8
  717. obj_set_float objDrawingDistance, 0x3E80
  718. obj_set_int objIntangibleTimer, 0
  719. set_hitbox 0x0046, 0x0032
  720. begin_loop
  721. callnative bhv_warp_loop
  722. callnative load_object_collision_model
  723. end_loop
  724. glabel bhvWhitePuffExplosion # 07DC
  725. begin OBJ_LIST_UNIMPORTANT
  726. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  727. billboard
  728. begin_loop
  729. callnative bhv_white_puff_exploding_loop
  730. end_loop
  731. glabel bhvSpawnedStar # 07F8
  732. begin OBJ_LIST_LEVEL
  733. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  734. obj_set_int objBehParams2ndByte, 1
  735. goto .L13000814
  736. glabel bhvUnused080C # 080C
  737. begin OBJ_LIST_LEVEL
  738. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  739. .L13000814: # 0814
  740. obj_set_pos
  741. callnative bhv_unused_080c_init
  742. begin_loop
  743. callnative bhv_unused_080c_loop
  744. end_loop
  745. glabel bhvMrIBlueCoin # 0830
  746. begin OBJ_LIST_LEVEL
  747. obj_set_int objInteractType, 0x10
  748. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  749. billboard
  750. obj_set_int objIntangibleTimer, 0
  751. obj_set_float objVar110, 0x0014
  752. obj_set_int objAnimState, -1
  753. gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  754. callnative bhv_coin_init
  755. obj_set_int objDamageOrCoinValue, 0x0005
  756. set_hitbox 0x0078, 0x0040
  757. begin_loop
  758. callnative bhv_coin_loop
  759. obj_add_int objAnimState, 1
  760. end_loop
  761. glabel bhvCoinInsideBoo # 0888
  762. begin OBJ_LIST_LEVEL
  763. set_hitbox 0x0064, 0x0040
  764. obj_set_int objInteractType, 0x10
  765. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  766. gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  767. billboard
  768. callnative bhv_init_room
  769. begin_loop
  770. callnative bhv_coin_inside_boo_loop
  771. obj_add_int objAnimState, 1
  772. end_loop
  773. glabel bhvCoinFormationSpawn # 08D0
  774. begin OBJ_LIST_LEVEL
  775. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  776. billboard
  777. begin_loop
  778. callnative bhv_coin_formation_spawn_loop
  779. end_loop
  780. glabel bhvCoinFormation # 08EC
  781. begin OBJ_LIST_SPAWNER
  782. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  783. callnative bhv_coin_formation_init
  784. begin_loop
  785. callnative bhv_coin_formation_loop
  786. end_loop
  787. glabel bhvOneCoin # 090C
  788. begin OBJ_LIST_LEVEL
  789. obj_set_int objBehParams2ndByte, 1
  790. goto .L13000920
  791. glabel bhvYellowCoin # 091C
  792. begin OBJ_LIST_LEVEL
  793. .L13000920: # 0920
  794. billboard
  795. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  796. callnative bhv_yellow_coin_init
  797. begin_loop
  798. callnative bhv_yellow_coin_loop
  799. end_loop
  800. glabel bhvTemporaryYellowCoin # 0940
  801. begin OBJ_LIST_LEVEL
  802. billboard
  803. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  804. callnative bhv_yellow_coin_init
  805. begin_loop
  806. callnative bhv_temp_coin_loop
  807. end_loop
  808. glabel bhvThreeCoinsSpawn # 0964
  809. begin OBJ_LIST_DEFAULT
  810. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  811. begin_repeat 3
  812. obj_child MODEL_YELLOW_COIN, bhvSingleCoinGetsSpawned
  813. end_repeat
  814. deactivate
  815. glabel bhvTenCoinsSpawn # 0984
  816. begin OBJ_LIST_DEFAULT
  817. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  818. begin_repeat 10
  819. obj_child MODEL_YELLOW_COIN, bhvSingleCoinGetsSpawned
  820. end_repeat
  821. deactivate
  822. glabel bhvSingleCoinGetsSpawned # 09A4
  823. begin OBJ_LIST_LEVEL
  824. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  825. billboard
  826. callnative bhv_coin_init
  827. gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  828. begin_loop
  829. callnative bhv_coin_loop
  830. obj_add_int objAnimState, 1
  831. end_loop
  832. glabel bhvCoinSparkles # 09E0
  833. begin OBJ_LIST_DEFAULT
  834. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  835. billboard
  836. obj_set_float objGraphYOffset, 25
  837. obj_set_int objAnimState, -1
  838. begin_repeat 8
  839. obj_add_int objAnimState, 1
  840. end_repeat
  841. begin_repeat 2
  842. callnative bhv_coin_sparkles_loop
  843. end_repeat
  844. deactivate
  845. glabel bhvGoldenCoinSparkles # 0A14
  846. begin OBJ_LIST_DEFAULT
  847. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  848. graph_clear
  849. begin_repeat 3
  850. callnative bhv_golden_coin_sparkles_loop
  851. end_repeat
  852. deactivate
  853. glabel bhvWallTinyStarParticle # 0A34
  854. begin OBJ_LIST_UNIMPORTANT
  855. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  856. billboard
  857. begin_repeat 10
  858. callnative bhv_wall_tiny_star_particle_loop
  859. end_repeat
  860. deactivate
  861. glabel bhvWallTinyStarParticleSpawn # 0A54
  862. begin OBJ_LIST_DEFAULT
  863. graph_clear
  864. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  865. obj_bit_clear_int32 objUnkE0, 0x00040000
  866. callnative bhv_tiny_star_particles_init
  867. delay 1
  868. deactivate
  869. glabel bhvPoundTinyStarParticle # 0A78
  870. begin OBJ_LIST_UNIMPORTANT
  871. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  872. billboard
  873. begin_repeat 10
  874. callnative bhv_pound_tiny_star_particle_loop
  875. end_repeat
  876. deactivate
  877. glabel bhvPoundTinyStarParticleSpawn # 0A98
  878. begin OBJ_LIST_DEFAULT
  879. graph_clear
  880. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  881. obj_bit_clear_int32 objUnkE0, 0x00000010
  882. callnative bhv_pound_tiny_star_particle_init
  883. delay 1
  884. deactivate
  885. glabel bhvPunchTinyTriangle # 0ABC
  886. begin OBJ_LIST_UNIMPORTANT
  887. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  888. billboard
  889. begin_loop
  890. callnative bhv_punch_tiny_triangle_loop
  891. end_loop
  892. glabel bhvPunchTinyTriangleSpawn # 0AD8
  893. begin OBJ_LIST_DEFAULT
  894. graph_clear
  895. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  896. obj_bit_clear_int32 objUnkE0, 0x00080000
  897. callnative bhv_punch_tiny_triangle_init
  898. delay 1
  899. deactivate
  900. glabel bhvDoorWarp # 0AFC
  901. begin OBJ_LIST_SURFACE
  902. obj_set_int objInteractType, 0x800
  903. goto .L13000B14
  904. glabel bhvDoor # 0B0C
  905. begin OBJ_LIST_SURFACE
  906. obj_set_int objInteractType, 0x04
  907. .L13000B14: # 0B14
  908. 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)
  909. obj_set_int32 objAnimations, door_seg3_anim_030156C0
  910. animate 0x00
  911. collision_data door_seg3_collision_0301CE78
  912. set_hitbox 0x0050, 0x0064
  913. obj_set_int objIntangibleTimer, 0
  914. obj_set_float objCollisionDistance, 0x03E8
  915. obj_set_pos
  916. callnative bhv_door_init
  917. begin_loop
  918. callnative bhv_door_loop
  919. end_loop
  920. glabel bhvGrindel # 0B58
  921. begin OBJ_LIST_SURFACE
  922. 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)
  923. collision_data ssl_seg7_collision_grindel
  924. drop_floor
  925. obj_add_float objPosY, 1
  926. obj_set_pos
  927. begin_loop
  928. callnative bhv_grindel_thwomp_loop
  929. callnative load_object_collision_model
  930. end_loop
  931. glabel bhvThwomp2 # 0B8C
  932. begin OBJ_LIST_SURFACE
  933. collision_data thwomp_seg5_collision_0500B92C
  934. 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)
  935. drop_floor
  936. obj_add_float objPosY, 1
  937. obj_set_pos
  938. scale 140
  939. obj_set_float objDrawingDistance, 0x0FA0
  940. begin_loop
  941. callnative bhv_grindel_thwomp_loop
  942. callnative load_object_collision_model
  943. end_loop
  944. glabel bhvThwomp # 0BC8
  945. begin OBJ_LIST_SURFACE
  946. collision_data thwomp_seg5_collision_0500B7D0
  947. 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)
  948. drop_floor
  949. obj_add_float objPosY, 1
  950. scale 140
  951. obj_set_pos
  952. obj_set_float objDrawingDistance, 0x0FA0
  953. begin_loop
  954. callnative bhv_grindel_thwomp_loop
  955. callnative load_object_collision_model
  956. end_loop
  957. glabel bhvTumblingBridgePlatform # 0C04
  958. begin OBJ_LIST_SURFACE
  959. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  960. obj_set_float objCollisionDistance, 0x012C
  961. begin_loop
  962. callnative bhv_tumbling_bridge_platform_loop
  963. callnative load_object_collision_model
  964. end_loop
  965. glabel bhvWfTumblingBridge # 0C28
  966. begin OBJ_LIST_SPAWNER
  967. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  968. obj_set_pos
  969. begin_loop
  970. callnative bhv_tumbling_bridge_loop
  971. end_loop
  972. glabel bhvBbhTumblingBridge # 0C44
  973. begin OBJ_LIST_SPAWNER
  974. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  975. obj_set_pos
  976. obj_set_int objBehParams2ndByte, 1
  977. begin_loop
  978. callnative bhv_tumbling_bridge_loop
  979. end_loop
  980. glabel bhvLllTumblingBridge # 0C64
  981. begin OBJ_LIST_SPAWNER
  982. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  983. obj_set_pos
  984. obj_set_int objBehParams2ndByte, 2
  985. begin_loop
  986. callnative bhv_tumbling_bridge_loop
  987. end_loop
  988. glabel bhvFlame # 0C84
  989. begin OBJ_LIST_LEVEL
  990. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  991. billboard
  992. obj_set_pos
  993. scale 700
  994. interact_type INTERACT_FLAME
  995. collision_sphere 0x0032, 0x0019, 0x0019
  996. obj_set_int objIntangibleTimer, 0
  997. callnative bhv_init_room
  998. begin_loop
  999. obj_set_int objInteractStatus, 0
  1000. text_anim_rate objAnimState, 0x0002
  1001. end_loop
  1002. glabel bhvAnotherElavator # 0CC8
  1003. begin OBJ_LIST_SURFACE
  1004. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1005. collision_data hmc_seg7_collision_elevator
  1006. obj_set_pos
  1007. callnative bhv_elevator_init
  1008. begin_loop
  1009. callnative bhv_elevator_loop
  1010. callnative load_object_collision_model
  1011. end_loop
  1012. glabel bhvRrElevatorPlatform # 0CFC
  1013. begin OBJ_LIST_SURFACE
  1014. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1015. collision_data rr_seg7_collision_elevator_platform
  1016. obj_set_pos
  1017. callnative bhv_elevator_init
  1018. begin_loop
  1019. callnative bhv_elevator_loop
  1020. callnative load_object_collision_model
  1021. end_loop
  1022. glabel bhvHmcElevatorPlatform # 0D30
  1023. begin OBJ_LIST_SURFACE
  1024. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1025. collision_data hmc_seg7_collision_elevator
  1026. obj_set_pos
  1027. callnative bhv_elevator_init
  1028. callnative bhv_init_room
  1029. begin_loop
  1030. callnative bhv_elevator_loop
  1031. callnative load_object_collision_model
  1032. end_loop
  1033. glabel bhvWaterMist # 0D6C
  1034. begin OBJ_LIST_UNIMPORTANT
  1035. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1036. billboard
  1037. obj_set_int objOpacity, 0xFE
  1038. obj_set_float objForwardVel, 0x0014
  1039. obj_set_float objVelY, 0xFFF8
  1040. obj_add_float objPosY, 62
  1041. begin_loop
  1042. callnative bhv_water_mist_loop
  1043. end_loop
  1044. glabel bhvWaterMistSpawn # 0D98
  1045. begin OBJ_LIST_DEFAULT
  1046. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1047. begin_repeat 8
  1048. callnative bhv_water_mist_spawn_loop
  1049. end_repeat
  1050. deactivate
  1051. glabel bhvBreakBoxTriangle # 0DB4
  1052. begin OBJ_LIST_UNIMPORTANT
  1053. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1054. begin_repeat 18
  1055. callnative obj_rotate_face_angle_using_vel
  1056. callnative obj_move_using_fvel_and_gravity
  1057. end_repeat
  1058. deactivate
  1059. glabel bhvWaterMist2 # 0DD8
  1060. begin OBJ_LIST_DEFAULT
  1061. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1062. obj_set_pos
  1063. obj_set_int objFaceAnglePitch, 0xC000
  1064. scale 2100
  1065. begin_loop
  1066. callnative bhv_water_mist_2_loop
  1067. end_loop
  1068. glabel bhvUnused0DFC # 0DFC
  1069. begin OBJ_LIST_DEFAULT
  1070. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1071. obj_set_int objAnimState, -1
  1072. obj_set_float objFaceAnglePitch, 0
  1073. obj_set_float objFaceAngleYaw, 0
  1074. obj_set_float objFaceAngleRoll, 0
  1075. begin_repeat 6
  1076. obj_add_int objAnimState, 1
  1077. end_repeat
  1078. deactivate
  1079. glabel bhvPoundWhitePuffs # 0E24
  1080. begin OBJ_LIST_DEFAULT
  1081. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1082. callnative bhv_pound_white_puffs_init
  1083. delay 1
  1084. deactivate
  1085. glabel bhvGroundSand # 0E3C
  1086. begin OBJ_LIST_DEFAULT
  1087. glabel bhvUnused0E40 # 0E40
  1088. begin OBJ_LIST_DEFAULT
  1089. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1090. callnative bhv_unused_0e40_init
  1091. delay 1
  1092. deactivate
  1093. glabel bhvGroundSnow # 0E58
  1094. begin OBJ_LIST_DEFAULT
  1095. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1096. callnative bhv_ground_snow_init
  1097. delay 1
  1098. deactivate
  1099. glabel bhvWind # 0E70
  1100. begin OBJ_LIST_UNIMPORTANT
  1101. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1102. begin_loop
  1103. callnative bhv_wind_loop
  1104. end_loop
  1105. glabel bhvEndToad # 0E88
  1106. begin OBJ_LIST_DEFAULT
  1107. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1108. obj_set_int32 objAnimations, toad_seg6_anims_0600FB58
  1109. animate 0x00
  1110. begin_loop
  1111. callnative BehEndToadLoop
  1112. end_loop
  1113. glabel bhvEndPeach # 0EAC
  1114. begin OBJ_LIST_DEFAULT
  1115. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1116. obj_set_int32 objAnimations, peach_seg5_anims_0501C41C
  1117. animate 0x00
  1118. begin_loop
  1119. callnative BehEndPeachLoop
  1120. end_loop
  1121. glabel bhvPiranhaParticlesSpawn # 0ED0
  1122. begin OBJ_LIST_GENACTOR
  1123. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1124. gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1125. obj_set_int objIntangibleTimer, 0
  1126. set_hitbox 0x0028, 0x0028
  1127. begin_loop
  1128. callnative bhv_piranha_particles_spawn_loop
  1129. end_loop
  1130. glabel bhvUkiki # 0F08
  1131. begin OBJ_LIST_GENACTOR
  1132. goto .L13001CB4
  1133. glabel bhvUnused0F14 # 0F14
  1134. begin OBJ_LIST_GENACTOR
  1135. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1136. obj_set_float objPosX, 0x0A00
  1137. obj_set_float objPosY, 0x05B1
  1138. obj_set_float objPosZ, 0x076A
  1139. break
  1140. glabel bhvLittleCage2 # 0F2C
  1141. begin OBJ_LIST_DEFAULT
  1142. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1143. obj_set_pos
  1144. begin_loop
  1145. callnative bhv_little_cage_2_loop
  1146. end_loop
  1147. glabel bhvLittleCage # 0F48
  1148. begin OBJ_LIST_SURFACE
  1149. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1150. obj_set_pos
  1151. collision_data ttm_seg7_collision_little_cage
  1152. obj_child MODEL_STAR, bhvLittleCage2
  1153. obj_child MODEL_NONE, bhvUnused0F14
  1154. obj_set_float objCollisionDistance, 0x4E20
  1155. gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1156. begin_loop
  1157. callnative bhv_little_cage_loop
  1158. end_loop
  1159. glabel bhvBitfsSinkingPlatforms # 0F9C
  1160. begin OBJ_LIST_SURFACE
  1161. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1162. collision_data bitfs_seg7_collision_sinking_platform
  1163. obj_set_pos
  1164. begin_loop
  1165. callnative bhv_bitfs_sinking_platform_loop
  1166. callnative load_object_collision_model
  1167. end_loop
  1168. glabel bhvBitfsSinkingCagePlatform # 0FC8
  1169. begin OBJ_LIST_SURFACE
  1170. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1171. collision_data bitfs_seg7_collision_sinking_cage_platform
  1172. obj_set_pos
  1173. obj_child MODEL_BITFS_BLUE_POLE, bhvDddMovingPole
  1174. begin_loop
  1175. callnative bhv_bitfs_sinking_cage_platform_loop
  1176. callnative load_object_collision_model
  1177. end_loop
  1178. glabel bhvDddMovingPole # 1000
  1179. begin OBJ_LIST_POLELIKE
  1180. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1181. obj_set_int objInteractType, 0x40
  1182. set_hitbox 0x0050, 0x02C6
  1183. obj_set_int objIntangibleTimer, 0
  1184. begin_loop
  1185. callnative bhv_ddd_moving_pole_loop
  1186. callnative BehClimbDetectLoop
  1187. end_loop
  1188. glabel bhvBitfsTiltingSquarePlatform # 1030
  1189. begin OBJ_LIST_SURFACE
  1190. 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)
  1191. collision_data bitfs_seg7_collision_inverted_pyramid
  1192. obj_set_pos
  1193. callnative bhv_tilting_platform_init
  1194. begin_loop
  1195. callnative bhv_tilting_platform_loop
  1196. callnative load_object_collision_model
  1197. end_loop
  1198. glabel bhvSquishablePlatform # 1064
  1199. begin OBJ_LIST_SURFACE
  1200. 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)
  1201. collision_data bitfs_seg7_collision_squishable_platform
  1202. obj_set_float objCollisionDistance, 0x2710
  1203. callnative bhv_tilting_platform_init
  1204. begin_loop
  1205. callnative bhv_squishable_platform_loop
  1206. callnative load_object_collision_model
  1207. end_loop
  1208. glabel bhvCutOutObject # 1098
  1209. begin OBJ_LIST_GENACTOR
  1210. graph_clear
  1211. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1212. break
  1213. glabel bhvBetaMovingFlamesSpawn # 10A8
  1214. begin_loop
  1215. callnative bhv_beta_moving_flames_spawn_loop
  1216. end_loop
  1217. glabel bhvBetaMovingFlames # 10B8
  1218. begin OBJ_LIST_LEVEL
  1219. 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)
  1220. billboard
  1221. begin_loop
  1222. callnative bhv_beta_moving_flames_loop
  1223. obj_add_int objAnimState, 1
  1224. end_loop
  1225. glabel bhvRrRotatingBridgePlatform # 10D8
  1226. begin OBJ_LIST_SURFACE
  1227. 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)
  1228. collision_data rr_seg7_collision_rotating_platform_with_fire
  1229. obj_set_float objCollisionDistance, 0x05DC
  1230. obj_set_pos
  1231. begin_loop
  1232. callnative bhv_rr_rotating_bridge_platform_loop
  1233. callnative load_object_collision_model
  1234. end_loop
  1235. glabel bhvFlamethrower # 1108
  1236. begin OBJ_LIST_DEFAULT
  1237. 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)
  1238. obj_set_pos
  1239. begin_loop
  1240. callnative bhv_flamethrower_loop
  1241. end_loop
  1242. glabel bhvFlamethrowerFlame # 1124
  1243. begin OBJ_LIST_GENACTOR
  1244. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1245. interact_type INTERACT_FLAME
  1246. collision_sphere 0x0032, 0x0019, 0x0019
  1247. billboard
  1248. obj_set_pos
  1249. obj_set_int objIntangibleTimer, 0
  1250. callnative bhv_init_room
  1251. begin_loop
  1252. callnative bhv_flamethrower_flame_loop
  1253. obj_add_int objAnimState, 1
  1254. end_loop
  1255. glabel bhvBouncingFireball # 1168
  1256. begin OBJ_LIST_DEFAULT
  1257. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1258. graph_clear
  1259. begin_loop
  1260. callnative bhv_bouncing_fireball_loop
  1261. end_loop
  1262. glabel bhvBouncingFireballFlame # 1184
  1263. begin OBJ_LIST_GENACTOR
  1264. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1265. interact_type INTERACT_FLAME
  1266. obj_set_float objGraphYOffset, 30
  1267. collision_sphere 0x0032, 0x0019, 0x0019
  1268. gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1269. billboard
  1270. begin_loop
  1271. callnative bhv_bouncing_fireball_flame_loop
  1272. obj_add_int objAnimState, 1
  1273. end_loop
  1274. glabel bhvBowserShockWave # 11D0
  1275. begin OBJ_LIST_DEFAULT
  1276. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1277. obj_set_int objOpacity, 0x00FF
  1278. begin_loop
  1279. callnative bhv_bowser_shock_wave_loop
  1280. end_loop
  1281. glabel bhvFlameMario # 11EC
  1282. begin OBJ_LIST_DEFAULT
  1283. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1284. billboard
  1285. obj_set_float objGraphYOffset, 0x0046
  1286. obj_set_int objAnimState, -1
  1287. begin_loop
  1288. obj_add_int objAnimState, 1
  1289. callnative bhv_flame_mario_loop
  1290. end_loop
  1291. glabel bhvBlackSmokeMario # 1214
  1292. begin OBJ_LIST_UNIMPORTANT
  1293. 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)
  1294. billboard
  1295. obj_set_int objAnimState, 0x0004
  1296. obj_set_float objGraphYOffset, 0x0032
  1297. begin_repeat 8
  1298. callnative bhv_black_smoke_mario_loop
  1299. delay 1
  1300. callnative bhv_black_smoke_mario_loop
  1301. delay 1
  1302. callnative bhv_black_smoke_mario_loop
  1303. end_repeat
  1304. deactivate
  1305. glabel bhvBlackSmokeBowser # 1254
  1306. begin OBJ_LIST_UNIMPORTANT
  1307. 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)
  1308. billboard
  1309. obj_set_float objGraphYOffset, 0x0000
  1310. begin_repeat 8
  1311. callnative bhv_black_smoke_bowser_loop
  1312. text_anim_rate objAnimState, 0x0004
  1313. end_repeat
  1314. deactivate
  1315. glabel bhvBlackSmokeUpward # 127C
  1316. begin OBJ_LIST_DEFAULT
  1317. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1318. begin_repeat 4
  1319. callnative bhv_black_smoke_upward_loop
  1320. end_repeat
  1321. deactivate
  1322. glabel bhvBetaFishSplashSpawner # 1298
  1323. begin OBJ_LIST_DEFAULT
  1324. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1325. graph_clear
  1326. begin_loop
  1327. callnative bhv_beta_fish_splash_spawner_loop
  1328. end_loop
  1329. glabel bhvSpindrift # 12B4
  1330. begin OBJ_LIST_GENACTOR
  1331. 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)
  1332. obj_set_int32 objAnimations, spindrift_seg5_anims_05002D68
  1333. animate 0x00
  1334. gravity 0x001E, 0xFE70, 0x0000, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  1335. obj_set_pos
  1336. obj_set_int objUnk190, 0x0080
  1337. begin_loop
  1338. callnative bhv_spindrift_loop
  1339. end_loop
  1340. glabel bhvTowerPlatformGroup # 12F4
  1341. begin OBJ_LIST_SURFACE
  1342. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1343. graph_clear
  1344. obj_add_float objPosY, 300
  1345. obj_set_pos
  1346. begin_loop
  1347. callnative bhv_tower_platform_group_loop
  1348. end_loop
  1349. glabel bhvWfSlidingTowerPlatform # 1318
  1350. begin OBJ_LIST_SURFACE
  1351. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1352. collision_data wf_seg7_collision_platform
  1353. begin_loop
  1354. callnative bhv_wf_sliding_tower_platform_loop
  1355. callnative load_object_collision_model
  1356. end_loop
  1357. glabel bhvWfElevatorTowerPlatform # 1340
  1358. begin OBJ_LIST_SURFACE
  1359. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1360. collision_data wf_seg7_collision_platform
  1361. begin_loop
  1362. callnative bhv_wf_elevator_tower_platform_loop
  1363. callnative load_object_collision_model
  1364. end_loop
  1365. glabel bhvWfSolidTowerPlatform # 1368
  1366. begin OBJ_LIST_SURFACE
  1367. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1368. collision_data wf_seg7_collision_platform
  1369. begin_loop
  1370. callnative bhv_wf_solid_tower_platform_loop
  1371. callnative load_object_collision_model
  1372. end_loop
  1373. glabel bhvSnowLeafParticleSpawn # 1390
  1374. begin OBJ_LIST_DEFAULT
  1375. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1376. callnative bhv_snow_leaf_particle_spawn_init
  1377. delay 1
  1378. deactivate
  1379. glabel bhvTreeSnow # 13A8
  1380. begin OBJ_LIST_UNIMPORTANT
  1381. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1382. billboard
  1383. begin_loop
  1384. callnative bhv_tree_snow_or_leaf_loop
  1385. end_loop
  1386. glabel bhvTreeLeaf # 13C4
  1387. begin OBJ_LIST_UNIMPORTANT
  1388. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1389. begin_loop
  1390. callnative bhv_tree_snow_or_leaf_loop
  1391. end_loop
  1392. glabel bhvAnotherTiltingPlatform # 13DC
  1393. begin OBJ_LIST_SURFACE
  1394. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1395. obj_set_pos
  1396. callnative bhv_tilting_platform_init
  1397. begin_loop
  1398. callnative bhv_tilting_platform_loop
  1399. callnative load_object_collision_model
  1400. end_loop
  1401. glabel bhvSquarishPathMoving # 1408
  1402. begin OBJ_LIST_SURFACE
  1403. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1404. collision_data bitdw_seg7_collision_moving_pyramid
  1405. obj_set_pos
  1406. begin_loop
  1407. callnative bhv_squarish_path_moving_loop
  1408. end_loop
  1409. glabel bhvPiranhaPlantBubble # 142C
  1410. begin OBJ_LIST_UNIMPORTANT
  1411. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1412. billboard
  1413. begin_loop
  1414. callnative bhv_piranha_plant_bubble_loop
  1415. end_loop
  1416. glabel bhvPiranhaPlantWakingBubbles # 1448
  1417. begin OBJ_LIST_UNIMPORTANT
  1418. billboard
  1419. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1420. begin_repeat 10
  1421. callnative bhv_piranha_plant_waking_bubbles_loop
  1422. end_repeat
  1423. deactivate
  1424. glabel bhvFloorSwitchAnimatesObject # 1468
  1425. begin OBJ_LIST_SURFACE
  1426. obj_set_int objBehParams2ndByte, 1
  1427. goto .Lbeh_floor_switch_1488
  1428. glabel bhvFloorSwitchGrills # 1478
  1429. begin OBJ_LIST_SURFACE
  1430. goto .Lbeh_floor_switch_1488
  1431. glabel bhvFloorSwitchHardcodedModel # 1484
  1432. begin OBJ_LIST_SURFACE
  1433. .Lbeh_floor_switch_1488: # 1488
  1434. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1435. collision_data purple_switch_seg8_collision_0800C7A8
  1436. begin_loop
  1437. callnative bhv_floor_switch_loop
  1438. callnative load_object_collision_model
  1439. end_loop
  1440. glabel bhvFloorSwitchHiddenObjects # 14AC
  1441. begin OBJ_LIST_SURFACE
  1442. obj_set_int objBehParams2ndByte, 2
  1443. goto .Lbeh_floor_switch_1488
  1444. glabel bhvHiddenObject # 14BC
  1445. begin OBJ_LIST_SURFACE
  1446. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1447. collision_data breakable_box_seg8_collision_08012D70
  1448. obj_set_float objCollisionDistance, 0x012C
  1449. begin_loop
  1450. callnative bhv_hidden_object_loop
  1451. end_loop
  1452. glabel bhvBreakableBox # 14E0
  1453. begin OBJ_LIST_SURFACE
  1454. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1455. collision_data breakable_box_seg8_collision_08012D70
  1456. obj_set_float objCollisionDistance, 0x01F4
  1457. callnative bhv_init_room
  1458. begin_loop
  1459. callnative bhv_breakable_box_loop
  1460. callnative load_object_collision_model
  1461. end_loop
  1462. break
  1463. glabel bhvPushableMetalBox # 1518
  1464. begin OBJ_LIST_SURFACE
  1465. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1466. collision_data metal_box_seg8_collision_08024C28
  1467. obj_set_float objCollisionDistance, 0x01F4
  1468. obj_set_pos
  1469. begin_loop
  1470. callnative bhv_pushable_loop
  1471. callnative load_object_collision_model
  1472. end_loop
  1473. glabel bhvHeaveHo # 1548
  1474. begin OBJ_LIST_GENACTOR
  1475. 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)
  1476. obj_set_int32 objAnimations, heave_ho_seg5_anims_0501534C
  1477. animate 0x00
  1478. gravity 0x00C8, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0258, 0x0000, 0x0000
  1479. obj_spawn MODEL_NONE, bhvHeaveHoThrowMario
  1480. obj_set_int objInteractType, 0x02
  1481. obj_set_int objUnk190, 0x0204
  1482. set_hitbox 0x0078, 0x0064
  1483. obj_set_pos
  1484. obj_set_int objIntangibleTimer, 0
  1485. begin_loop
  1486. callnative bhv_heave_ho_loop
  1487. end_loop
  1488. glabel bhvHeaveHoThrowMario # 15A4
  1489. begin OBJ_LIST_GENACTOR
  1490. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1491. billboard
  1492. begin_loop
  1493. callnative bhv_heave_ho_throw_mario_loop
  1494. end_loop
  1495. glabel bhvCcmTouchedStarSpawn # 15C0
  1496. begin OBJ_LIST_LEVEL
  1497. obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1498. set_hitbox 0x01F4, 0x01F4
  1499. obj_set_int objIntangibleTimer, 0
  1500. begin_loop
  1501. callnative bhv_ccm_touched_star_spawn_loop
  1502. end_loop
  1503. glabel bhvPoundExplodes # 15E4
  1504. begin OBJ_LIST_SURFACE
  1505. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1506. collision_data sl_seg7_collision_pound_explodes
  1507. obj_set_pos
  1508. begin_loop
  1509. callnative bhv_pound_explodes_loop
  1510. end_loop
  1511. glabel bhvBetaTrampoline # 1608
  1512. begin OBJ_LIST_SURFACE
  1513. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1514. collision_data springboard_collision_05001A28
  1515. obj_set_pos
  1516. begin_loop
  1517. callnative bhv_beta_trampoline_loop
  1518. callnative load_object_collision_model
  1519. end_loop
  1520. glabel bhvBetaTrampolineSpawn # 1634
  1521. begin OBJ_LIST_DEFAULT
  1522. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1523. obj_set_pos
  1524. begin_loop
  1525. callnative bhv_beta_trampoline_spawn_loop
  1526. end_loop
  1527. glabel bhvJumpingBox # 1650
  1528. begin OBJ_LIST_GENACTOR
  1529. obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1530. gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0258, 0x0000, 0x0000
  1531. begin_loop
  1532. callnative bhv_jumping_box_loop
  1533. end_loop
  1534. glabel bhvBooCage # 167C
  1535. begin OBJ_LIST_GENACTOR
  1536. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1537. obj_set_float objGraphYOffset, 0x000A
  1538. gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  1539. begin_loop
  1540. callnative bhv_boo_cage_loop
  1541. end_loop
  1542. glabel bhvStub # 16AC
  1543. begin OBJ_LIST_DEFAULT
  1544. graph_clear
  1545. break
  1546. glabel bhvIgloo # 16B8
  1547. begin OBJ_LIST_LEVEL
  1548. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1549. interact_type INTERACT_IGLOO_BARRIER
  1550. set_hitbox 0x0064, 0x00C8
  1551. obj_set_int objIntangibleTimer, 0
  1552. obj_set_pos
  1553. begin_loop
  1554. obj_set_int objInteractStatus, 0
  1555. end_loop
  1556. glabel bhvBowserKey2 # 16E4
  1557. begin OBJ_LIST_LEVEL
  1558. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1559. obj_set_pos
  1560. gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1561. begin_loop
  1562. callnative bhv_bowser_key_2_loop
  1563. end_loop
  1564. glabel bhvGrandStar # 1714
  1565. begin OBJ_LIST_LEVEL
  1566. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1567. interact_type INTERACT_STAR_OR_KEY
  1568. obj_set_int objUnk190, 0x0800
  1569. set_hitbox 0x00A0, 0x0064
  1570. obj_set_pos
  1571. begin_loop
  1572. callnative bhv_grand_star_loop
  1573. end_loop
  1574. glabel bhvBetaBooKeyInside # 1744
  1575. begin OBJ_LIST_LEVEL
  1576. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1577. set_hitbox 0x0020, 0x0040
  1578. gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1579. begin_loop
  1580. callnative bhv_beta_boo_key_inside_loop
  1581. end_loop
  1582. glabel bhvBetaBooKeyOutside # 1778
  1583. begin OBJ_LIST_LEVEL
  1584. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1585. set_hitbox 0x0020, 0x0040
  1586. obj_set_int objIntangibleTimer, 0
  1587. begin_loop
  1588. callnative bhv_beta_boo_key_outside_loop
  1589. end_loop
  1590. glabel bhvBulletBill # 179C
  1591. begin OBJ_LIST_GENACTOR
  1592. 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)
  1593. obj_set_pos
  1594. collision_sphere 0x0032, 0x0032, 0x0032
  1595. interact_type INTERACT_DAMAGE
  1596. obj_set_int objDamageOrCoinValue, 3
  1597. scale 40
  1598. obj_set_int objIntangibleTimer, 0
  1599. gravity 0x001E, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  1600. callnative bhv_bullet_bill_init
  1601. begin_loop
  1602. callnative bhv_bullet_bill_loop
  1603. end_loop
  1604. glabel bhvWhitePuffSmoke # 17F4
  1605. begin OBJ_LIST_DEFAULT
  1606. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1607. billboard
  1608. obj_add_float objPosY, -100
  1609. callnative bhv_white_puff_smoke_init
  1610. obj_set_int objAnimState, -1
  1611. begin_repeat 10
  1612. obj_add_int objAnimState, 1
  1613. end_repeat
  1614. deactivate
  1615. glabel bhvUnused1820 # 1820
  1616. begin OBJ_LIST_DEFAULT
  1617. break
  1618. glabel bhvBowserTailAnchor # 1828
  1619. begin OBJ_LIST_GENACTOR
  1620. collision_sphere 0x0064, 0x0032, 0xFFCE
  1621. obj_set_int objIntangibleTimer, 0
  1622. graph_clear
  1623. begin_loop
  1624. callnative bhv_bowser_tail_anchor_loop
  1625. end_loop
  1626. glabel bhvBowser # 1850
  1627. begin OBJ_LIST_GENACTOR
  1628. 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)
  1629. obj_set_int objInteractType, 0x02
  1630. set_hitbox 0x0190, 0x0190
  1631. drop_floor
  1632. obj_set_pos
  1633. obj_set_int32 objAnimations, bowser_seg6_anims_06057690
  1634. obj_child MODEL_NONE, bhvBowserBodyAnchor
  1635. obj_child MODEL_BOWSER_BOMB2, bhvBowserFlameSpawn
  1636. obj_spawn MODEL_NONE, bhvBowserTailAnchor
  1637. obj_set_int objNumLootCoins, 0x0032
  1638. gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1639. obj_set_pos
  1640. callnative bhv_bowser_init
  1641. begin_loop
  1642. callnative bhv_bowser_loop
  1643. end_loop
  1644. glabel bhvBowserBodyAnchor # 18CC
  1645. begin OBJ_LIST_GENACTOR
  1646. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1647. set_hitbox 0x0064, 0x012C
  1648. interact_type INTERACT_DAMAGE
  1649. obj_set_int objUnk190, 0x0008
  1650. graph_clear
  1651. obj_set_int objDamageOrCoinValue, 2
  1652. obj_set_int objIntangibleTimer, 0
  1653. begin_loop
  1654. callnative bhv_bowser_body_anchor_loop
  1655. end_loop
  1656. glabel bhvBowserFlameSpawn # 1904
  1657. begin OBJ_LIST_DEFAULT
  1658. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1659. geo_layout MODEL_NONE
  1660. begin_loop
  1661. callnative bhv_bowser_flame_spawn_loop
  1662. end_loop
  1663. glabel bhvTiltingBowserLavaPlatform # 1920
  1664. begin OBJ_LIST_SURFACE
  1665. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1666. collision_data bowser_2_seg7_collision_tilting_platform
  1667. obj_set_float objDrawingDistance, 0x4E20
  1668. obj_set_float objCollisionDistance, 0x4E20
  1669. obj_set_int objFaceAngleYaw, 0x0000
  1670. obj_set_pos
  1671. begin_loop
  1672. callnative obj_rotate_face_angle_using_vel
  1673. callnative load_object_collision_model
  1674. end_loop
  1675. glabel bhvFallingBowserPlatform # 1958
  1676. begin OBJ_LIST_SURFACE
  1677. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1678. obj_set_float objDrawingDistance, 0x4E20
  1679. obj_set_float objCollisionDistance, 0x4E20
  1680. obj_set_pos
  1681. begin_loop
  1682. callnative bhv_falling_bowser_platform_loop
  1683. callnative load_object_collision_model
  1684. end_loop
  1685. glabel bhvBlueBowserFlame # 1984
  1686. begin OBJ_LIST_LEVEL
  1687. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1688. interact_type INTERACT_FLAME
  1689. billboard
  1690. gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1691. callnative bhv_blue_bowser_flame_init
  1692. begin_loop
  1693. callnative bhv_blue_bowser_flame_loop
  1694. text_anim_rate objAnimState, 0x0002
  1695. end_loop
  1696. glabel bhvFlameFloatingLanding # 19C8
  1697. begin OBJ_LIST_LEVEL
  1698. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1699. interact_type INTERACT_FLAME
  1700. billboard
  1701. gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1702. callnative bhv_flame_floating_landing_init
  1703. begin_loop
  1704. callnative bhv_flame_floating_landing_loop
  1705. text_anim_rate objAnimState, 0x0002
  1706. end_loop
  1707. glabel bhvBlueFlamesGroup # 1A0C
  1708. begin OBJ_LIST_LEVEL
  1709. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1710. interact_type INTERACT_FLAME
  1711. billboard
  1712. begin_loop
  1713. callnative bhv_blue_flames_group_loop
  1714. end_loop
  1715. glabel bhvFlameBouncing # 1A30
  1716. begin OBJ_LIST_LEVEL
  1717. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1718. interact_type INTERACT_FLAME
  1719. billboard
  1720. callnative bhv_flame_bouncing_init
  1721. gravity 0x0000, 0xFE70, 0xFFBA, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  1722. begin_loop
  1723. callnative bhv_flame_bouncing_loop
  1724. text_anim_rate objAnimState, 0x0002
  1725. end_loop
  1726. glabel bhvFlameMovingForwardGrowing # 1A74
  1727. begin OBJ_LIST_LEVEL
  1728. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1729. interact_type INTERACT_FLAME
  1730. billboard
  1731. callnative bhv_flame_moving_forward_growing_init
  1732. begin_loop
  1733. callnative bhv_flame_moving_forward_growing_loop
  1734. text_anim_rate objAnimState, 0x0002
  1735. end_loop
  1736. glabel bhvFlameBowser # 1AA4
  1737. begin OBJ_LIST_LEVEL
  1738. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1739. interact_type INTERACT_FLAME
  1740. billboard
  1741. callnative bhv_flame_bowser_init
  1742. gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1743. begin_loop
  1744. callnative bhv_flame_bowser_loop
  1745. text_anim_rate objAnimState, 0x0002
  1746. end_loop
  1747. glabel bhvFlameLargeBurningOut # 1AE8
  1748. begin OBJ_LIST_LEVEL
  1749. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1750. interact_type INTERACT_FLAME
  1751. billboard
  1752. callnative bhv_flame_large_burning_out_init
  1753. gravity 0x0000, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1754. begin_loop
  1755. callnative bhv_flame_bowser_loop
  1756. text_anim_rate objAnimState, 0x0002
  1757. end_loop
  1758. glabel bhvBlueFish # 1B2C
  1759. begin OBJ_LIST_DEFAULT
  1760. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1761. obj_set_pos
  1762. obj_set_int32 objAnimations, blue_fish_seg3_anims_0301C2B0
  1763. animate 0x00
  1764. begin_loop
  1765. callnative bhv_blue_fish_loop
  1766. end_loop
  1767. glabel bhvTankFishGroups # 1B54
  1768. begin OBJ_LIST_DEFAULT
  1769. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1770. obj_set_pos
  1771. begin_loop
  1772. callnative bhv_tank_fish_groups_loop
  1773. end_loop
  1774. glabel bhvCheckerboardElevatorGroup # 1B70
  1775. begin OBJ_LIST_SPAWNER
  1776. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1777. callnative bhv_checkerboard_elevator_group_init
  1778. delay 1
  1779. deactivate
  1780. glabel bhvCheckerboardPlatformSub # 1B88
  1781. begin OBJ_LIST_SURFACE
  1782. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1783. collision_data checkerboard_platform_seg8_collision_0800D710
  1784. callnative bhv_checkerboard_platform_init
  1785. obj_set_pos
  1786. begin_loop
  1787. callnative bhv_checkerboard_platform_loop
  1788. end_loop
  1789. glabel bhvDoorKey1 # 1BB4
  1790. begin OBJ_LIST_DEFAULT
  1791. obj_set_int32 objAnimations, bowser_key_seg3_anims_030172D0
  1792. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1793. begin_loop
  1794. callnative bhv_door_key_1_loop
  1795. end_loop
  1796. glabel bhvDoorKey2 # 1BD4
  1797. begin OBJ_LIST_DEFAULT
  1798. obj_set_int32 objAnimations, bowser_key_seg3_anims_030172D0
  1799. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1800. begin_loop
  1801. callnative bhv_door_key_2_loop
  1802. end_loop
  1803. glabel bhvInvisibleObjectsUnderBridge # 1BF4
  1804. begin OBJ_LIST_DEFAULT
  1805. callnative bhv_invisible_objects_under_bridge_init
  1806. break
  1807. glabel bhvWaterLevelPillar # 1C04
  1808. begin OBJ_LIST_SURFACE
  1809. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1810. collision_data inside_castle_seg7_collision_water_level_pillar
  1811. callnative bhv_water_level_pillar_init
  1812. begin_loop
  1813. callnative bhv_water_level_pillar_loop
  1814. callnative load_object_collision_model
  1815. end_loop
  1816. glabel bhvDddWarp # 1C34
  1817. begin OBJ_LIST_SURFACE
  1818. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1819. obj_set_float objCollisionDistance, 0x7530
  1820. begin_loop
  1821. callnative bhv_ddd_warp_loop
  1822. callnative load_object_collision_model
  1823. end_loop
  1824. glabel bhvMoatGrills # 1C58
  1825. begin OBJ_LIST_SURFACE
  1826. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1827. collision_data castle_grounds_seg7_collision_moat_grills
  1828. obj_set_float objCollisionDistance, 0x7530
  1829. begin_loop
  1830. callnative bhv_moat_grills_loop
  1831. end_loop
  1832. glabel bhvClockMinuteHand # 1C7C
  1833. begin OBJ_LIST_DEFAULT
  1834. obj_set_int objAngleVelRoll, 0xFE80
  1835. goto .L13001C94
  1836. glabel bhvClockHourHand # 1C8C
  1837. begin OBJ_LIST_DEFAULT
  1838. obj_set_int objAngleVelRoll, 0xFFE0
  1839. .L13001C94: # 1C94
  1840. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1841. callnative bhv_init_room
  1842. begin_loop
  1843. callnative bhv_rotating_clock_arm_loop
  1844. end_loop
  1845. glabel bhvUkikiOpenCage # 1CB0
  1846. begin OBJ_LIST_GENACTOR
  1847. .L13001CB4: # 1CB4
  1848. 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)
  1849. obj_set_int objInteractType, 0x02
  1850. obj_set_int objUnk190, 0x0010
  1851. set_hitbox 0x0028, 0x0028
  1852. obj_set_int objIntangibleTimer, 0
  1853. drop_floor
  1854. obj_set_int32 objAnimations, ukiki_seg5_anims_05015784
  1855. animate 0x00
  1856. gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  1857. obj_set_pos
  1858. callnative bhv_ukiki_open_cage_init
  1859. begin_loop
  1860. callnative bhv_ukiki_open_cage_loop
  1861. end_loop
  1862. glabel bhvStub1D0C # 1D0C
  1863. begin OBJ_LIST_DEFAULT
  1864. deactivate
  1865. glabel bhvLllRotatingHexagonalPlatform # 1D14
  1866. begin OBJ_LIST_SURFACE
  1867. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1868. collision_data lll_seg7_collision_hexagonal_platform
  1869. obj_set_pos
  1870. begin_loop
  1871. obj_set_int objAngleVelYaw, 0x100
  1872. obj_add_int objMoveAngleYaw, 0x100
  1873. callnative load_object_collision_model
  1874. end_loop
  1875. glabel bhvLllSinkingRockBlock # 1D40
  1876. begin OBJ_LIST_SURFACE
  1877. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1878. collision_data lll_seg7_collision_floating_block
  1879. obj_add_float objPosY, -50
  1880. obj_set_pos
  1881. begin_loop
  1882. callnative bhv_lll_sinking_rock_block_loop
  1883. callnative load_object_collision_model
  1884. end_loop
  1885. glabel bhvStub1D70 # 1D70
  1886. begin OBJ_LIST_DEFAULT
  1887. break
  1888. glabel bhvLllMovingOctagonalMeshPlatform # 1D78
  1889. begin OBJ_LIST_SURFACE
  1890. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  1891. obj_add_float objPosY, -50
  1892. collision_data lll_seg7_collision_octagonal_moving_platform
  1893. begin_loop
  1894. callnative bhv_lll_moving_octagonal_mesh_platform_loop
  1895. callnative load_object_collision_model
  1896. end_loop
  1897. glabel bhvSnowBall # 1DA4
  1898. break
  1899. glabel bhvLllRotatingBlockWithFireBars # 1DA8
  1900. begin OBJ_LIST_SURFACE
  1901. 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)
  1902. collision_data lll_seg7_collision_rotating_fire_bars
  1903. obj_set_float objCollisionDistance, 0x0FA0
  1904. begin_loop
  1905. callnative bhv_lll_rotating_block_fire_bars_loop
  1906. end_loop
  1907. glabel bhvLllRotatingHexFlame # 1DCC
  1908. begin OBJ_LIST_LEVEL
  1909. 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)
  1910. interact_type INTERACT_FLAME
  1911. collision_sphere 0x0032, 0x0064, 0x0032
  1912. obj_set_int objIntangibleTimer, 0
  1913. billboard
  1914. begin_loop
  1915. callnative bhv_lll_rotating_hex_flame_loop
  1916. obj_add_int objAnimState, 1
  1917. end_loop
  1918. glabel bhvLllWoodPiece # 1E04
  1919. begin OBJ_LIST_SURFACE
  1920. 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)
  1921. collision_data lll_seg7_collision_wood_piece
  1922. obj_set_pos
  1923. begin_loop
  1924. callnative bhv_lll_wood_piece_loop
  1925. callnative load_object_collision_model
  1926. end_loop
  1927. glabel bhvLllFloatingWoodBridge # 1E30
  1928. begin OBJ_LIST_DEFAULT
  1929. 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)
  1930. geo_layout MODEL_NONE
  1931. begin_loop
  1932. callnative bhv_lll_floating_wood_bridge_loop
  1933. end_loop
  1934. glabel bhvVolcanoFlames # 1E4C
  1935. begin OBJ_LIST_UNIMPORTANT
  1936. 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)
  1937. billboard
  1938. begin_loop
  1939. obj_add_int objAnimState, 1
  1940. callnative bhv_volcano_flames_loop
  1941. end_loop
  1942. glabel bhvLllRotatingHexagonalRing # 1E6C
  1943. begin OBJ_LIST_SURFACE
  1944. 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)
  1945. collision_data lll_seg7_collision_rotating_platform
  1946. begin_loop
  1947. callnative bhv_lll_rotating_hexagonal_ring_loop
  1948. callnative load_object_collision_model
  1949. end_loop
  1950. glabel bhvLllSinkingRectangularPlatform # 1E94
  1951. begin OBJ_LIST_SURFACE
  1952. 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)
  1953. collision_data lll_seg7_collision_slow_tilting_platform
  1954. obj_set_float objCollisionDistance, 0x07D0
  1955. obj_set_pos
  1956. begin_loop
  1957. callnative bhv_lll_sinking_rectangular_platform_loop
  1958. callnative load_object_collision_model
  1959. end_loop
  1960. glabel bhvLllSinkingSquarePlatforms # 1EC4
  1961. begin OBJ_LIST_SURFACE
  1962. 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)
  1963. collision_data lll_seg7_collision_sinking_pyramids
  1964. obj_add_float objPosY, 5
  1965. obj_set_float objCollisionDistance, 0x07D0
  1966. obj_set_pos
  1967. begin_loop
  1968. callnative bhv_lll_sinking_square_platforms_loop
  1969. callnative load_object_collision_model
  1970. end_loop
  1971. glabel bhvLllTiltingSquarePlatform # 1EF8
  1972. begin OBJ_LIST_SURFACE
  1973. 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)
  1974. collision_data lll_seg7_collision_inverted_pyramid
  1975. obj_add_float objPosY, 5
  1976. obj_set_pos
  1977. callnative bhv_tilting_platform_init
  1978. begin_loop
  1979. callnative bhv_tilting_platform_loop
  1980. callnative load_object_collision_model
  1981. end_loop
  1982. glabel bhvUnused1F30 # 1F30
  1983. begin OBJ_LIST_DEFAULT
  1984. 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)
  1985. break
  1986. glabel bhvKoopaShell # 1F3C
  1987. begin OBJ_LIST_LEVEL
  1988. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1989. gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  1990. begin_loop
  1991. callnative bhv_koopa_shell_loop
  1992. end_loop
  1993. glabel bhvKoopaShellFlame # 1F68
  1994. begin OBJ_LIST_UNIMPORTANT
  1995. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  1996. interact_type INTERACT_FLAME
  1997. billboard
  1998. begin_loop
  1999. callnative bhv_koopa_shell_flame_loop
  2000. text_anim_rate objAnimState, 0x0002
  2001. end_loop
  2002. glabel bhvToxBox # 1F90
  2003. begin OBJ_LIST_SURFACE
  2004. 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)
  2005. collision_data ssl_seg7_collision_tox_box
  2006. obj_add_float objPosY, 256
  2007. obj_set_float objDrawingDistance, 0x1F40
  2008. obj_set_pos
  2009. begin_loop
  2010. callnative bhv_tox_box_loop
  2011. end_loop
  2012. glabel bhvPiranhaPlant2 # 1FBC
  2013. begin OBJ_LIST_GENACTOR
  2014. 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)
  2015. obj_set_int32 objAnimations, piranha_plant_seg6_anims_0601C31C
  2016. animate 0x00
  2017. interact_type INTERACT_DAMAGE
  2018. set_hitbox 0x0064, 0x00C8
  2019. obj_set_float2 0x0032, 0x00C8
  2020. obj_set_int objIntangibleTimer, 0
  2021. obj_set_int objDamageOrCoinValue, 3
  2022. obj_set_int objNumLootCoins, 5
  2023. obj_child MODEL_BUBBLE, bhvPiranhaPlantBubble
  2024. obj_set_float objDrawingDistance, 0x07D0
  2025. obj_set_pos
  2026. begin_loop
  2027. callnative bhv_piranha_plant_2_loop
  2028. end_loop
  2029. glabel bhvLllHexagonalMesh # 2018
  2030. begin OBJ_LIST_SURFACE
  2031. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2032. collision_data lll_hexagonal_mesh_seg3_collision_0301CECC
  2033. begin_loop
  2034. callnative load_object_collision_model
  2035. end_loop
  2036. glabel bhvLllBowserPuzzlePiece # 2038
  2037. begin OBJ_LIST_SURFACE
  2038. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2039. collision_data lll_seg7_collision_puzzle_piece
  2040. obj_set_pos
  2041. obj_set_float objCollisionDistance, 0x0BB8
  2042. begin_loop
  2043. callnative bhv_lll_bowser_puzzle_piece_loop
  2044. callnative load_object_collision_model
  2045. end_loop
  2046. glabel bhvLllBowserPuzzle # 2068
  2047. begin OBJ_LIST_SPAWNER
  2048. graph_clear
  2049. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2050. obj_add_float objPosZ, -50
  2051. begin_loop
  2052. callnative bhv_lll_bowser_puzzle_loop
  2053. end_loop
  2054. glabel bhvTuxiesMother # 2088
  2055. begin OBJ_LIST_GENACTOR
  2056. 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)
  2057. obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
  2058. animate 0x03
  2059. gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  2060. obj_set_pos
  2061. interact_type INTERACT_TEXT
  2062. set_hitbox 0x00C8, 0x012C
  2063. obj_set_int objIntangibleTimer, 0
  2064. begin_loop
  2065. callnative bhv_tuxies_mother_loop
  2066. end_loop
  2067. glabel bhvPenguinBaby # 20D8
  2068. begin OBJ_LIST_GENACTOR
  2069. break
  2070. glabel bhvUnused20E0 # 20E0
  2071. begin OBJ_LIST_GENACTOR
  2072. break
  2073. glabel bhvSmallPenguin # 20E8
  2074. begin OBJ_LIST_GENACTOR
  2075. 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)
  2076. drop_floor
  2077. obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
  2078. animate 0x00
  2079. gravity 0x001E, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  2080. obj_set_int objInteractType, 0x02
  2081. obj_set_int objUnk190, 0x0010
  2082. obj_set_int objIntangibleTimer, 0
  2083. set_hitbox 0x0028, 0x0028
  2084. obj_set_pos
  2085. begin_loop
  2086. callnative bhv_small_penguin_loop
  2087. end_loop
  2088. glabel bhvFish2 # 213C
  2089. begin OBJ_LIST_DEFAULT
  2090. obj_set_int objBehParams2ndByte, 0x0000
  2091. goto bhvFishCommon
  2092. glabel bhvFish3 # 214C
  2093. begin OBJ_LIST_DEFAULT
  2094. obj_set_int objBehParams2ndByte, 1
  2095. goto bhvFishCommon
  2096. glabel bhvLargeFishGroup # 215C
  2097. begin OBJ_LIST_DEFAULT
  2098. glabel bhvFishCommon # 2160
  2099. graph_clear
  2100. 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)
  2101. begin_loop
  2102. callnative bhv_fish_loop
  2103. end_loop
  2104. glabel bhvFishGroup2 # 2178
  2105. begin OBJ_LIST_DEFAULT
  2106. 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)
  2107. obj_set_pos
  2108. begin_loop
  2109. callnative bhv_fish_group_2_loop
  2110. end_loop
  2111. glabel bhvWdwExpressElevator # 2194
  2112. begin OBJ_LIST_SURFACE
  2113. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2114. collision_data wdw_seg7_collision_express_elevator_platform
  2115. obj_set_pos
  2116. begin_loop
  2117. callnative bhv_wdw_express_elevator_loop
  2118. callnative load_object_collision_model
  2119. end_loop
  2120. glabel bhvWdwExpressElevatorPlatform # 21C0
  2121. begin OBJ_LIST_SURFACE
  2122. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2123. collision_data wdw_seg7_collision_express_elevator_platform
  2124. obj_set_pos
  2125. begin_loop
  2126. callnative load_object_collision_model
  2127. end_loop
  2128. glabel bhvChirpChirp # 21E4
  2129. begin OBJ_LIST_DEFAULT
  2130. obj_set_int objVarF4, 1
  2131. goto .LbhvChirpChirp_21F4
  2132. glabel bhvChirpChirpUnused # 21F4
  2133. .LbhvChirpChirp_21F4:
  2134. graph_clear
  2135. 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)
  2136. begin_loop
  2137. callnative bhv_bird_chirp_chirp_loop
  2138. end_loop
  2139. glabel bhvBub # 220C
  2140. begin OBJ_LIST_GENACTOR
  2141. 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)
  2142. obj_set_int32 objAnimations, bub_seg6_anims_06012354
  2143. animate 0x00
  2144. collision_sphere 0x0014, 0x000A, 0x000A
  2145. interact_type INTERACT_DAMAGE
  2146. obj_set_int objDamageOrCoinValue, 1
  2147. obj_set_pos
  2148. obj_set_int objIntangibleTimer, 0
  2149. begin_loop
  2150. callnative bhv_cheep_cheep_loop
  2151. end_loop
  2152. glabel bhvExclamationBox # 2250
  2153. begin OBJ_LIST_SURFACE
  2154. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2155. collision_data exclamation_box_outline_seg8_collision_08025F78
  2156. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2157. obj_set_float objCollisionDistance, 0x012C
  2158. obj_set_pos
  2159. begin_loop
  2160. callnative bhv_exclamation_box_loop
  2161. end_loop
  2162. glabel bhvRotatingExclamationMark # 227C
  2163. begin OBJ_LIST_DEFAULT
  2164. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2165. scale 200
  2166. begin_loop
  2167. callnative bhv_rotatin_exclamation_box_loop
  2168. obj_add_int objMoveAngleYaw, 0x800
  2169. end_loop
  2170. glabel bhvSoundSpawner # 229C
  2171. begin OBJ_LIST_UNIMPORTANT
  2172. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2173. delay 3
  2174. callnative bhv_sound_spawner_init
  2175. delay 30
  2176. deactivate
  2177. glabel bhvRockSolid # 22B8
  2178. begin OBJ_LIST_SURFACE
  2179. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2180. collision_data jrb_seg7_collision_rock_solid
  2181. begin_loop
  2182. callnative load_object_collision_model
  2183. end_loop
  2184. glabel bhvBowserSubDoor # 22D8
  2185. begin OBJ_LIST_SURFACE
  2186. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2187. collision_data ddd_seg7_collision_bowser_sub_door
  2188. obj_set_float objDrawingDistance, 0x4E20
  2189. obj_set_float objCollisionDistance, 0x4E20
  2190. begin_loop
  2191. callnative bhv_bowsers_sub_loop
  2192. callnative load_object_collision_model
  2193. end_loop
  2194. glabel bhvBowsersSub # 2308
  2195. begin OBJ_LIST_SURFACE
  2196. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2197. obj_set_float objDrawingDistance, 0x4E20
  2198. obj_set_float objCollisionDistance, 0x4E20
  2199. collision_data ddd_seg7_collision_submarine
  2200. begin_loop
  2201. callnative bhv_bowsers_sub_loop
  2202. callnative load_object_collision_model
  2203. end_loop
  2204. glabel bhvSushiShark # 2338
  2205. begin OBJ_LIST_GENACTOR
  2206. 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)
  2207. obj_set_int32 objAnimations, sushi_seg5_anims_0500AE54
  2208. obj_spawn MODEL_NONE, bhvSushiSharkCollisionChild
  2209. collision_sphere 0x0064, 0x0032, 0x0032
  2210. interact_type INTERACT_DAMAGE
  2211. obj_set_int objDamageOrCoinValue, 3
  2212. obj_set_pos
  2213. animate 0x00
  2214. obj_set_int objIntangibleTimer, 0
  2215. begin_loop
  2216. callnative bhv_sushi_shark_loop
  2217. end_loop
  2218. glabel bhvSushiSharkCollisionChild # 2388
  2219. begin OBJ_LIST_GENACTOR
  2220. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2221. graph_clear
  2222. begin_loop
  2223. callnative bhv_sushi_shark_collision_loop
  2224. end_loop
  2225. glabel bhvJrbSlidingBox # 23A4
  2226. begin OBJ_LIST_SURFACE
  2227. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2228. collision_data jrb_seg7_collision_floating_box
  2229. obj_set_pos
  2230. begin_loop
  2231. callnative bhv_jrb_sliding_box_loop
  2232. callnative load_object_collision_model
  2233. end_loop
  2234. glabel bhvShipPart3 # 23D0
  2235. begin OBJ_LIST_DEFAULT
  2236. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2237. obj_set_pos
  2238. begin_loop
  2239. callnative bhv_ship_part_3_loop
  2240. end_loop
  2241. glabel bhvInSunkenShip3 # 23EC
  2242. begin OBJ_LIST_SURFACE
  2243. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2244. collision_data jrb_seg7_collision_in_sunken_ship_3
  2245. obj_set_pos
  2246. obj_set_float objCollisionDistance, 0x0FA0
  2247. begin_loop
  2248. callnative bhv_ship_part_3_loop
  2249. callnative load_object_collision_model
  2250. end_loop
  2251. glabel bhvSunkenShipPart # 241C
  2252. begin OBJ_LIST_DEFAULT
  2253. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2254. scale 50
  2255. obj_set_pos
  2256. begin_loop
  2257. callnative bhv_sunken_ship_part_loop
  2258. end_loop
  2259. glabel bhvUnused243C # 243C
  2260. obj_set_int objFaceAnglePitch, 0xE958
  2261. obj_set_int objFaceAngleYaw, 0xEE6C
  2262. obj_set_int objFaceAngleRoll, 0x0C80
  2263. return
  2264. glabel bhvSunkenShipPart2 # 244C
  2265. begin OBJ_LIST_DEFAULT
  2266. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2267. scale 100
  2268. obj_set_float objDrawingDistance, 0x1770
  2269. obj_set_pos
  2270. call bhvUnused243C
  2271. break
  2272. glabel bhvInSunkenShip # 246C
  2273. begin OBJ_LIST_SURFACE
  2274. collision_data jrb_seg7_collision_in_sunken_ship
  2275. goto .LbhvInSunkenShip248C
  2276. glabel bhvInSunkenShip2 # 2480
  2277. begin OBJ_LIST_SURFACE
  2278. collision_data jrb_seg7_collision_in_sunken_ship_2
  2279. .LbhvInSunkenShip248C: # 248C
  2280. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2281. obj_set_float objCollisionDistance, 0x0FA0
  2282. call bhvUnused243C
  2283. begin_loop
  2284. callnative load_object_collision_model
  2285. end_loop
  2286. glabel bhvMarioDustGenerator # 24AC
  2287. begin OBJ_LIST_DEFAULT
  2288. obj_bit_clear_int32 objUnkE0, 0x00000001
  2289. graph_clear
  2290. obj_child MODEL_MIST, bhvWhitePuff1
  2291. obj_child MODEL_SMOKE, bhvWhitePuff2
  2292. delay 1
  2293. deactivate
  2294. glabel bhvWhitePuff1 # 24DC
  2295. begin OBJ_LIST_DEFAULT
  2296. obj_bit_clear_int32 objUnkE0, 0x00000001
  2297. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2298. billboard
  2299. begin_loop
  2300. callnative bhv_white_puff_1_loop
  2301. end_loop
  2302. glabel bhvWhitePuff2 # 2500
  2303. begin OBJ_LIST_UNIMPORTANT
  2304. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2305. billboard
  2306. obj_set_int objAnimState, -1
  2307. begin_repeat 7
  2308. callnative bhv_white_puff_2_loop
  2309. obj_add_int objAnimState, 1
  2310. end_repeat
  2311. deactivate
  2312. glabel bhvWhitePuffSmoke2 # 2528
  2313. begin OBJ_LIST_UNIMPORTANT
  2314. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2315. billboard
  2316. obj_set_int objAnimState, -1
  2317. begin_repeat 7
  2318. callnative bhv_white_puff_2_loop
  2319. callnative obj_move_using_fvel_and_gravity
  2320. obj_add_int objAnimState, 1
  2321. end_repeat
  2322. deactivate
  2323. glabel bhvPurpleSwitchHiddenBoxes # 2558
  2324. begin OBJ_LIST_SURFACE
  2325. obj_set_int objBehParams2ndByte, 2
  2326. goto .Lbeh_floor_switch_1488
  2327. glabel bhvBlueCoinSwitch # 2568
  2328. begin OBJ_LIST_SURFACE
  2329. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2330. collision_data blue_coin_switch_seg8_collision_08000E98
  2331. begin_loop
  2332. callnative bhv_blue_coin_switch_loop
  2333. end_loop
  2334. glabel bhvHiddenBlueCoin # 2588
  2335. begin OBJ_LIST_LEVEL
  2336. obj_set_int objInteractType, 0x10
  2337. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2338. billboard
  2339. set_hitbox 0x0064, 0x0040
  2340. obj_set_int objDamageOrCoinValue, 0x0005
  2341. obj_set_int objIntangibleTimer, 0
  2342. obj_set_int objAnimState, -1
  2343. begin_loop
  2344. callnative bhv_hidden_blue_coins_loop
  2345. obj_add_int objAnimState, 1
  2346. end_loop
  2347. glabel bhvOpenableCageDoor # 25C0
  2348. begin OBJ_LIST_SURFACE
  2349. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2350. begin_loop
  2351. callnative bhv_bob_hmc_cage_door_loop
  2352. callnative load_object_collision_model
  2353. end_loop
  2354. glabel bhvOpenableGrill # 25E0
  2355. begin OBJ_LIST_DEFAULT
  2356. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2357. begin_loop
  2358. callnative bhv_openable_grill_loop
  2359. end_loop
  2360. glabel bhvWaterLevelDiamond # 25F8
  2361. begin OBJ_LIST_SURFACE
  2362. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2363. set_hitbox 0x0046, 0x001E
  2364. obj_set_float objCollisionDistance, 0x00C8
  2365. obj_set_int objIntangibleTimer, 0
  2366. begin_loop
  2367. callnative bhv_water_level_diamond_loop
  2368. end_loop
  2369. glabel bhvInitializeChangingWaterLevel # 2620
  2370. begin OBJ_LIST_DEFAULT
  2371. begin_loop
  2372. callnative bhv_init_changing_water_level_loop
  2373. end_loop
  2374. glabel bhvTornadoSandParticle # 2634
  2375. begin OBJ_LIST_UNIMPORTANT
  2376. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2377. billboard
  2378. begin_loop
  2379. callnative bhv_tweester_sand_particle_loop
  2380. end_loop
  2381. glabel bhvTornado # 2650
  2382. begin OBJ_LIST_POLELIKE
  2383. 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)
  2384. gravity 0x001E, 0xFE70, 0x0000, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  2385. drop_floor
  2386. obj_set_pos
  2387. begin_loop
  2388. callnative bhv_tweester_loop
  2389. end_loop
  2390. glabel bhvSpawnBigBoo # 2684
  2391. begin OBJ_LIST_DEFAULT
  2392. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2393. begin_loop
  2394. callnative bhv_spawn_big_boo_loop
  2395. end_loop
  2396. glabel bhvAnimatedTexture # 269C
  2397. begin OBJ_LIST_GENACTOR
  2398. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2399. gravity 0x001E, 0xFE70, 0xFFBA, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  2400. billboard
  2401. begin_loop
  2402. callnative bhv_animated_texture_loop
  2403. obj_add_int objAnimState, 1
  2404. text_anim_rate objAnimState, 0x0002
  2405. end_loop
  2406. glabel bhvBooInCastle # 26D4
  2407. begin OBJ_LIST_DEFAULT
  2408. 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)
  2409. obj_set_pos
  2410. obj_set_float objGraphYOffset, 0x003C
  2411. gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  2412. callnative bhv_init_room
  2413. begin_loop
  2414. callnative bhv_boo_in_castle_loop
  2415. end_loop
  2416. glabel bhvBooWithCage # 2710
  2417. begin OBJ_LIST_GENACTOR
  2418. 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)
  2419. obj_set_pos
  2420. obj_set_int objDamageOrCoinValue, 3
  2421. obj_set_float2 0x0050, 0x0078
  2422. set_hitbox 0x00B4, 0x008C
  2423. obj_set_float objGraphYOffset, 0x003C
  2424. gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  2425. callnative bhv_boo_with_cage_init
  2426. callnative bhv_init_room
  2427. begin_loop
  2428. callnative bhv_boo_with_cage_loop
  2429. end_loop
  2430. glabel bhvPatrollingBoo # 2768
  2431. begin OBJ_LIST_GENACTOR
  2432. obj_set_int objBehParams2ndByte, 2
  2433. obj_set_int objUnk1AC, 10
  2434. goto .LbhvBoo2794
  2435. glabel bhvSpawnedBoo # 277C
  2436. begin OBJ_LIST_GENACTOR
  2437. obj_set_int objBehParams2ndByte, 1
  2438. obj_set_int objUnk1AC, 10
  2439. goto .LbhvBoo2794
  2440. glabel bhvBooGivingStar # 2790
  2441. begin OBJ_LIST_GENACTOR
  2442. .LbhvBoo2794: # 2794
  2443. 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)
  2444. obj_set_pos
  2445. gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  2446. callnative bhv_init_room
  2447. callnative bhv_boo_init
  2448. begin_loop
  2449. callnative bhv_boo_giving_star_loop
  2450. end_loop
  2451. glabel bhvBooGroup # 27D0
  2452. begin OBJ_LIST_DEFAULT
  2453. graph_clear
  2454. callnative bhv_boo_group_init
  2455. deactivate
  2456. glabel bhvBoo3 # 27E4
  2457. begin OBJ_LIST_GENACTOR
  2458. obj_set_int objBehParams2ndByte, 1
  2459. goto .LbhvBoo2808
  2460. glabel bhvSpawnedBoo2 # 27F4
  2461. begin OBJ_LIST_GENACTOR
  2462. obj_set_int objBehParams2ndByte, 2
  2463. goto .LbhvBoo2808
  2464. glabel bhvBoo2 # 2804
  2465. begin OBJ_LIST_GENACTOR
  2466. .LbhvBoo2808: # 2808
  2467. 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)
  2468. obj_set_int objIntangibleTimer, 0
  2469. obj_set_pos
  2470. obj_set_int objDamageOrCoinValue, 2
  2471. set_hitbox 0x008C, 0x0050
  2472. obj_set_float2 0x0028, 0x003C
  2473. obj_set_float objGraphYOffset, 30
  2474. callnative bhv_init_room
  2475. obj_child MODEL_YELLOW_COIN, bhvCoinInsideBoo
  2476. gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  2477. callnative bhv_boo_init
  2478. begin_loop
  2479. callnative bhv_boo_loop
  2480. end_loop
  2481. glabel bhvHiddenStaircaseStep # 286C
  2482. begin OBJ_LIST_SURFACE
  2483. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2484. collision_data bbh_seg7_collision_staircase_step
  2485. obj_set_int objRoom, 0x0001
  2486. obj_set_float objCollisionDistance, 0x03E8
  2487. obj_set_pos
  2488. begin_loop
  2489. callnative load_object_collision_model
  2490. end_loop
  2491. glabel bhvBooBossSpawnedBridge # 2898
  2492. begin OBJ_LIST_SURFACE
  2493. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2494. collision_data bbh_seg7_collision_staircase_step
  2495. obj_set_int objRoom, 0x0001
  2496. obj_set_float objCollisionDistance, 0x03E8
  2497. obj_set_pos
  2498. begin_loop
  2499. callnative bhv_boo_boss_spawned_bridge_loop
  2500. callnative load_object_collision_model
  2501. end_loop
  2502. glabel bhvBbhTiltFloorPlatforms # 28CC
  2503. begin OBJ_LIST_SURFACE
  2504. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2505. collision_data bbh_seg7_collision_tilt_floor_platform
  2506. obj_set_pos
  2507. obj_set_int objRoom, 0x0002
  2508. begin_loop
  2509. callnative bhv_bbh_tilt_floor_platform_loop
  2510. callnative load_object_collision_model
  2511. end_loop
  2512. glabel bhvTumblingBookshelf # 28FC
  2513. begin OBJ_LIST_SURFACE
  2514. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2515. collision_data bbh_seg7_collision_tumbling_bookshelf
  2516. obj_set_pos
  2517. obj_set_int objRoom, 0x0006
  2518. begin_loop
  2519. callnative bhv_tumbling_bookshelf_loop
  2520. callnative load_object_collision_model
  2521. end_loop
  2522. glabel bhvMeshElevator # 292C
  2523. begin OBJ_LIST_SURFACE
  2524. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2525. collision_data bbh_seg7_collision_mesh_elevator
  2526. obj_set_pos
  2527. obj_set_int objRoom, 0x000C
  2528. obj_set_int objBehParams2ndByte, 0x0004
  2529. callnative bhv_elevator_init
  2530. begin_loop
  2531. callnative bhv_elevator_loop
  2532. callnative load_object_collision_model
  2533. end_loop
  2534. glabel bhvRotatingMerryGoRound # 2968
  2535. begin OBJ_LIST_SURFACE
  2536. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2537. collision_data bbh_seg7_collision_rotating_merry_go_round
  2538. obj_set_float objCollisionDistance, 0x07D0
  2539. obj_set_int objRoom, 0x000A
  2540. begin_loop
  2541. callnative bhv_rotating_merry_go_round_loop
  2542. callnative load_object_collision_model
  2543. end_loop
  2544. .ifdef VERSION_US
  2545. glabel bhvPlaysMusicTrackWhenTouched # 2998
  2546. begin OBJ_LIST_DEFAULT
  2547. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2548. begin_loop
  2549. callnative bhv_play_music_track_when_touched_loop
  2550. end_loop
  2551. .endif
  2552. glabel bhvInsideCannon # 2998
  2553. break
  2554. glabel bhvBetaFollowingCirclingObj # 299C
  2555. begin OBJ_LIST_DESTRUCTIVE
  2556. 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)
  2557. billboard
  2558. obj_set_pos
  2559. set_hitbox 0x0064, 0x012C
  2560. obj_set_int objIntangibleTimer, 0
  2561. begin_loop
  2562. obj_add_int objAnimState, 1
  2563. callnative bhv_beta_following_circling_obj_loop
  2564. end_loop
  2565. glabel bhvStaticCheckeredPlatform # 29CC
  2566. begin OBJ_LIST_SURFACE
  2567. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2568. collision_data checkerboard_platform_seg8_collision_0800D710
  2569. obj_set_pos
  2570. begin_loop
  2571. callnative bhv_static_checkered_platform_loop
  2572. callnative load_object_collision_model
  2573. end_loop
  2574. glabel bhvUnused2A10 # 29F8
  2575. begin OBJ_LIST_DEFAULT
  2576. billboard
  2577. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2578. break
  2579. glabel bhvUnusedFakeStar # 2A08
  2580. begin OBJ_LIST_DEFAULT
  2581. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2582. begin_loop
  2583. obj_add_int objFaceAnglePitch, 256
  2584. obj_add_int objFaceAngleYaw, 256
  2585. end_loop
  2586. # What is this?
  2587. break
  2588. break
  2589. break
  2590. break
  2591. glabel bhvStaticObject # 2A30
  2592. begin OBJ_LIST_DEFAULT
  2593. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2594. break
  2595. glabel bhvUnused2A54 # 2A3C
  2596. begin OBJ_LIST_DEFAULT
  2597. break
  2598. glabel bhvCastleFloorTrap # 2A44
  2599. begin OBJ_LIST_DEFAULT
  2600. graph_clear
  2601. callnative bhv_castle_floor_trap_init
  2602. begin_loop
  2603. callnative bhv_castle_floor_trap_loop
  2604. end_loop
  2605. glabel bhvFloorTrapInCastle # 2A64
  2606. begin OBJ_LIST_SURFACE
  2607. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2608. collision_data inside_castle_seg7_collision_floor_trap
  2609. begin_loop
  2610. callnative bhv_floor_trap_in_castle_loop
  2611. callnative load_object_collision_model
  2612. end_loop
  2613. glabel bhvTree # 2A8C
  2614. begin OBJ_LIST_POLELIKE
  2615. billboard
  2616. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2617. obj_set_int objInteractType, 0x40
  2618. set_hitbox 0x0050, 0x01F4
  2619. obj_set_int objIntangibleTimer, 0
  2620. begin_loop
  2621. callnative BehClimbDetectLoop
  2622. end_loop
  2623. glabel bhvPowerupSparkles1 # 2AB8
  2624. begin OBJ_LIST_UNIMPORTANT
  2625. billboard
  2626. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2627. obj_set_int objAnimState, -1
  2628. begin_repeat 9
  2629. obj_add_int objAnimState, 1
  2630. end_repeat
  2631. deactivate
  2632. glabel bhvPowerupSparkles2 # 2AD8
  2633. begin OBJ_LIST_UNIMPORTANT
  2634. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2635. begin_loop
  2636. callnative bhv_powerup_sparkles_loop
  2637. end_loop
  2638. glabel bhvSpecialTripleJumpSparkles # 2AF0
  2639. begin OBJ_LIST_DEFAULT
  2640. obj_bit_clear_int32 objUnkE0, 0x00000008
  2641. glabel bhvSomeGfx # 2AFC
  2642. begin OBJ_LIST_UNIMPORTANT
  2643. billboard
  2644. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2645. obj_set_float objGraphYOffset, 25
  2646. obj_set_float_rand objVarF4, 0xFFCE, 0x0064
  2647. obj_sum_float objPosX, objPosX, objVarF4
  2648. obj_set_float_rand objVarF4, 0xFFCE, 0x0064
  2649. obj_sum_float objPosZ, objPosZ, objVarF4
  2650. obj_set_float_rand objVarF4, 0xFFCE, 0x0064
  2651. obj_sum_float objPosY, objPosY, objVarF4
  2652. obj_set_int objAnimState, -1
  2653. begin_repeat 12
  2654. obj_add_int objAnimState, 1
  2655. end_repeat
  2656. deactivate
  2657. glabel bhvScuttlebug # 2B44
  2658. begin OBJ_LIST_GENACTOR
  2659. 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)
  2660. obj_set_int32 objAnimations, scuttlebug_seg6_anims_06015064
  2661. animate 0x00
  2662. gravity 0x0050, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  2663. obj_set_pos
  2664. callnative bhv_init_room
  2665. begin_loop
  2666. callnative bhv_scuttlebug_loop
  2667. end_loop
  2668. glabel bhvScuttlebugSpawn # 2B88
  2669. begin OBJ_LIST_SPAWNER
  2670. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2671. begin_loop
  2672. callnative bhv_scuttlebug_spawn_loop
  2673. end_loop
  2674. glabel bhvWhompKingBoss # 2BA0
  2675. begin OBJ_LIST_SURFACE
  2676. obj_set_int objBehParams2ndByte, 1
  2677. obj_set_int objHealth, 0x0003
  2678. goto .Lbeh_whomp_2BD4
  2679. glabel bhvSmallWhomp # 2BB4
  2680. begin OBJ_LIST_SURFACE
  2681. obj_set_int objNumLootCoins, 5
  2682. .Lbeh_whomp_2BD4: # 2BBC
  2683. 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)
  2684. obj_set_int32 objAnimations, whomp_seg6_anims_06020A04
  2685. collision_data whomp_seg6_collision_06020A0C
  2686. animate 0x00
  2687. gravity 0x0000, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  2688. obj_set_pos
  2689. begin_loop
  2690. callnative bhv_whomp_loop
  2691. end_loop
  2692. glabel bhvWaterSplash # 2BFC
  2693. begin OBJ_LIST_DEFAULT
  2694. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2695. billboard
  2696. obj_set_int objAnimState, -1
  2697. begin_repeat 3
  2698. obj_add_int objAnimState, 1
  2699. callnative bhv_water_splash_loop
  2700. delay 1
  2701. callnative bhv_water_splash_loop
  2702. end_repeat
  2703. begin_repeat 5
  2704. obj_add_int objAnimState, 1
  2705. delay 1
  2706. end_repeat
  2707. obj_bit_clear_int32 objUnkE0, 0x00000040
  2708. deactivate
  2709. glabel bhvWaterDrops # 2C48
  2710. begin OBJ_LIST_UNIMPORTANT
  2711. 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)
  2712. billboard
  2713. begin_loop
  2714. callnative bhv_water_drops_loop
  2715. end_loop
  2716. glabel bhvWaterSurfaceWhiteWave # 2C64
  2717. begin OBJ_LIST_DEFAULT
  2718. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2719. .ifdef VERSION_US
  2720. obj_set_int objFaceAnglePitch, 0
  2721. obj_set_int objFaceAngleYaw, 0
  2722. obj_set_int objFaceAngleRoll, 0
  2723. .endif
  2724. callnative bhv_water_surface_white_wave_init
  2725. obj_add_float objPosY, 5
  2726. obj_set_int objAnimState, -1
  2727. begin_repeat 6
  2728. obj_add_int objAnimState, 1
  2729. end_repeat
  2730. deactivate
  2731. glabel bhvObjectBubbleRipples # 2C8C
  2732. begin OBJ_LIST_DEFAULT
  2733. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2734. .ifdef VERSION_JP
  2735. obj_set_float objFaceAnglePitch, 0
  2736. obj_set_float objFaceAngleYaw, 0
  2737. obj_set_float objFaceAngleRoll, 0
  2738. .endif
  2739. .ifdef VERSION_US
  2740. obj_set_int objFaceAnglePitch, 0
  2741. obj_set_int objFaceAngleYaw, 0
  2742. obj_set_int objFaceAngleRoll, 0
  2743. .endif
  2744. obj_set_int objAnimState, -1
  2745. callnative bhv_object_bubble_ripples_init
  2746. begin_repeat 6
  2747. obj_add_int objAnimState, 1
  2748. end_repeat
  2749. deactivate
  2750. glabel bhvSurfaceWaves # 2CBC
  2751. begin OBJ_LIST_DEFAULT
  2752. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2753. .ifdef VERSION_JP
  2754. obj_set_float objFaceAnglePitch, 0
  2755. obj_set_float objFaceAngleYaw, 0
  2756. obj_set_float objFaceAngleRoll, 0
  2757. .endif
  2758. .ifdef VERSION_US
  2759. obj_set_int objFaceAnglePitch, 0
  2760. obj_set_int objFaceAngleYaw, 0
  2761. obj_set_int objFaceAngleRoll, 0
  2762. .endif
  2763. obj_set_int objAnimState, -1
  2764. obj_add_int objAnimState, 1
  2765. begin_loop
  2766. callnative bhv_surface_waves_loop
  2767. obj_add_int objAnimState, 1
  2768. begin_repeat 6
  2769. callnative bhv_surface_waves_loop
  2770. end_repeat
  2771. callnative bhv_surface_waves_loop
  2772. end_loop
  2773. glabel bhvWaterSurfaceWhiteWave2 # 2D04
  2774. begin OBJ_LIST_UNIMPORTANT
  2775. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2776. .ifdef VERSION_JP
  2777. obj_set_float objFaceAnglePitch, 0
  2778. obj_set_float objFaceAngleYaw, 0
  2779. obj_set_float objFaceAngleRoll, 0
  2780. .endif
  2781. .ifdef VERSION_US
  2782. obj_set_int objFaceAnglePitch, 0
  2783. obj_set_int objFaceAngleYaw, 0
  2784. obj_set_int objFaceAngleRoll, 0
  2785. .endif
  2786. obj_set_int objAnimState, -1
  2787. begin_repeat 6
  2788. obj_add_int objAnimState, 1
  2789. end_repeat
  2790. deactivate
  2791. glabel bhvWavesGenerator # 2D2C
  2792. begin OBJ_LIST_DEFAULT
  2793. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2794. graph_clear
  2795. begin_repeat 5
  2796. spawn_addr D_8032FE18
  2797. end_repeat_nobreak
  2798. delay 1
  2799. obj_bit_clear_int32 objUnkE0, 0x00000100
  2800. deactivate
  2801. glabel bhvSurfaceWaveShrinking # 2D58
  2802. begin OBJ_LIST_DEFAULT
  2803. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2804. graph_clear
  2805. begin_repeat 18
  2806. spawn_addr D_8032FDD0
  2807. end_repeat_nobreak
  2808. callnative bhv_surface_wave_shrinking_init
  2809. delay 1
  2810. obj_bit_clear_int32 objUnkE0, 0x00001000
  2811. deactivate
  2812. glabel bhvWaterType # 2D8C
  2813. begin OBJ_LIST_UNIMPORTANT
  2814. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2815. goto .Lbeh_wave_trail_2DD0
  2816. glabel bhvWaveTrailOnSurface # 2D9C
  2817. begin OBJ_LIST_DEFAULT
  2818. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2819. obj_bit_clear_int32 objUnkE0, 0x00000400
  2820. .Lbeh_wave_trail_2DD0: # 2DAC
  2821. obj_set_float objFaceAnglePitch, 0
  2822. obj_set_float objFaceAngleYaw, 0
  2823. obj_set_float objFaceAngleRoll, 0
  2824. obj_set_int objAnimState, -1
  2825. begin_repeat 8
  2826. obj_add_int objAnimState, 1
  2827. callnative bhv_wave_trail_loop
  2828. delay 1
  2829. callnative bhv_wave_trail_loop
  2830. end_repeat
  2831. deactivate
  2832. glabel bhvTinyWhiteWindParticle # 2DE0
  2833. begin OBJ_LIST_UNIMPORTANT
  2834. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2835. billboard
  2836. begin_loop
  2837. callnative bhv_white_wind_particle_loop
  2838. end_loop
  2839. glabel bhvWindParticle # 2DFC
  2840. begin OBJ_LIST_POLELIKE
  2841. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2842. billboard
  2843. begin_loop
  2844. callnative bhv_white_wind_particle_loop
  2845. end_loop
  2846. glabel bhvSnowmanWindBlowing # 2E18
  2847. begin OBJ_LIST_DEFAULT
  2848. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2849. obj_set_pos
  2850. begin_loop
  2851. callnative bhv_snowman_wind_blowing_loop
  2852. end_loop
  2853. glabel bhvWalkingPenguin # 2E34
  2854. begin OBJ_LIST_SURFACE
  2855. 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)
  2856. collision_data penguin_seg5_collision_05008B88
  2857. obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
  2858. animate 0x00
  2859. gravity 0x0000, 0xFE70, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  2860. scale 600
  2861. obj_set_pos
  2862. begin_loop
  2863. callnative bhv_walking_penguin_loop
  2864. callnative load_object_collision_model
  2865. end_loop
  2866. glabel bhvYellowBall # 2E84
  2867. begin OBJ_LIST_DEFAULT
  2868. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2869. billboard
  2870. break
  2871. .align 4
  2872. glabel bhvMario # 2EA0
  2873. begin OBJ_LIST_PLAYER
  2874. obj_set_int objIntangibleTimer, 0
  2875. obj_or_int objFlags, OBJ_FLAG_0100
  2876. obj_or_int objUnk94, 0x0001
  2877. set_hitbox 0x0025, 0x00A0
  2878. begin_loop
  2879. callnative try_print_debug_mario_level_info
  2880. callnative bhv_mario_update
  2881. callnative try_do_mario_debug_object_spawn
  2882. end_loop
  2883. glabel bhvToadMessage # 2ED8
  2884. begin OBJ_LIST_GENACTOR
  2885. 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)
  2886. obj_set_int32 objAnimations, toad_seg6_anims_0600FB58
  2887. animate 0x06
  2888. interact_type INTERACT_TEXT
  2889. set_hitbox 0x0050, 0x0064
  2890. obj_set_int objIntangibleTimer, 0
  2891. callnative bhv_init_room
  2892. callnative bhvToadMessage_init
  2893. begin_loop
  2894. callnative bhvToadMessage_loop
  2895. end_loop
  2896. glabel bhvUnlockDoorStar # 2F20
  2897. begin OBJ_LIST_LEVEL
  2898. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2899. callnative bhvUnlockDoorStar_init
  2900. begin_loop
  2901. callnative bhvUnlockDoorStar_loop
  2902. end_loop
  2903. glabel bhvWarps60 # 2F40
  2904. break
  2905. glabel bhvWarps64 # 2F44
  2906. break
  2907. glabel bhvWarps68 # 2F48
  2908. break
  2909. glabel bhvWarps6C # 2F4C
  2910. break
  2911. glabel bhvWarps70 # 2F50
  2912. break
  2913. glabel bhvWarps74 # 2F54
  2914. break
  2915. glabel bhvWarps78 # 2F58
  2916. break
  2917. glabel bhvWarps7C # 2F5C
  2918. break
  2919. glabel bhvWarps80 # 2F60
  2920. break
  2921. glabel bhvWarps84 # 2F64
  2922. break
  2923. glabel bhvWarps88 # 2F68
  2924. break
  2925. glabel bhvWarps8C # 2F6C
  2926. break
  2927. glabel bhvWarps90 # 2F70
  2928. break
  2929. glabel bhvWarps94 # 2F74
  2930. break
  2931. .align 4
  2932. glabel bhvRandomAnimatedTexture # 2F80
  2933. begin OBJ_LIST_LEVEL
  2934. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2935. obj_set_float objGraphYOffset, 0xFFF0
  2936. billboard
  2937. obj_set_int objAnimState, -1
  2938. begin_loop
  2939. obj_add_int objAnimState, 1
  2940. end_loop
  2941. glabel bhvYellowBackgroundInMenu # 2FA0
  2942. begin OBJ_LIST_LEVEL
  2943. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2944. callnative beh_yellow_background_menu_init
  2945. begin_loop
  2946. obj_set_int objIntangibleTimer, 0
  2947. callnative beh_yellow_background_menu_loop
  2948. end_loop
  2949. glabel bhvMenuButton # 2FC4
  2950. begin OBJ_LIST_LEVEL
  2951. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2952. callnative bhvMenuButton_init
  2953. begin_loop
  2954. obj_set_int objIntangibleTimer, 0
  2955. callnative bhvMenuButton_loop
  2956. end_loop
  2957. glabel bhvMenuButtonManager # 2FE8
  2958. begin OBJ_LIST_LEVEL
  2959. obj_or_int objFlags, (OBJ_FLAG_0800 | OBJ_FLAG_0020 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  2960. callnative bhvMenuButtonManager_init
  2961. begin_loop
  2962. obj_set_int objIntangibleTimer, 0
  2963. callnative bhvMenuButtonManager_loop
  2964. end_loop
  2965. glabel bhvStarInActSelector # 300C
  2966. begin OBJ_LIST_DEFAULT
  2967. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2968. obj_set_pos
  2969. begin_loop
  2970. callnative BehStarActSelectorLoop
  2971. end_loop
  2972. glabel bhvActSelector # 3028
  2973. begin OBJ_LIST_DEFAULT
  2974. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2975. callnative BehActSelectorInit
  2976. begin_loop
  2977. callnative BehActSelectorLoop
  2978. end_loop
  2979. glabel bhvMovingYellowCoin # 3048
  2980. begin OBJ_LIST_LEVEL
  2981. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2982. billboard
  2983. set_hitbox 0x0064, 0x0040
  2984. obj_set_int objInteractType, 0x10
  2985. obj_set_int objIntangibleTimer, 0
  2986. obj_set_int objAnimState, -1
  2987. callnative bhv_moving_yellow_coin_init
  2988. begin_loop
  2989. callnative bhv_moving_yellow_coin_loop
  2990. obj_add_int objAnimState, 1
  2991. end_loop
  2992. glabel bhvMovingBlueCoin # 3084
  2993. begin OBJ_LIST_LEVEL
  2994. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  2995. billboard
  2996. obj_set_int objIntangibleTimer, 0
  2997. obj_set_int objAnimState, -1
  2998. callnative bhv_moving_blue_coin_init
  2999. begin_loop
  3000. callnative bhv_moving_blue_coin_loop
  3001. obj_add_int objAnimState, 1
  3002. end_loop
  3003. glabel bhvBlueCoinSliding # 30B4
  3004. begin OBJ_LIST_GENACTOR
  3005. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3006. billboard
  3007. obj_set_int objIntangibleTimer, 0
  3008. obj_set_int objAnimState, -1
  3009. callnative bhv_blue_coin_sliding_jumping_init
  3010. begin_loop
  3011. callnative bhv_blue_coin_sliding_loop
  3012. obj_add_int objAnimState, 1
  3013. end_loop
  3014. glabel bhvBlueCoinJumping # 30E4
  3015. begin OBJ_LIST_GENACTOR
  3016. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3017. billboard
  3018. obj_set_int objIntangibleTimer, 0
  3019. obj_set_int objAnimState, -1
  3020. callnative bhv_blue_coin_sliding_jumping_init
  3021. begin_loop
  3022. callnative bhv_blue_coin_jumping_loop
  3023. obj_add_int objAnimState, 1
  3024. end_loop
  3025. glabel bhvSeaweed # 3114
  3026. begin OBJ_LIST_LEVEL
  3027. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3028. obj_set_int32 objAnimations, seaweed_seg6_anims_0600A4D4
  3029. animate 0x00
  3030. callnative bhv_seaweed_init
  3031. begin_loop
  3032. end_loop
  3033. glabel bhvSeaweedBundle # 3138
  3034. begin OBJ_LIST_LEVEL
  3035. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3036. drop_floor
  3037. callnative bhv_seaweed_bundle_init
  3038. begin_loop
  3039. end_loop
  3040. glabel bhvBobomb # 3154
  3041. begin OBJ_LIST_DESTRUCTIVE
  3042. 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)
  3043. obj_set_int32 objAnimations, bobomb_seg8_anims_0802396C
  3044. drop_floor
  3045. animate 0x00
  3046. obj_set_int objIntangibleTimer, 0
  3047. obj_set_pos
  3048. callnative bhv_bobomb_init
  3049. begin_loop
  3050. callnative bhv_bobomb_loop
  3051. end_loop
  3052. glabel bhvBobombFuseSmoke # 318C
  3053. begin OBJ_LIST_DEFAULT
  3054. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3055. billboard
  3056. obj_set_int objAnimState, -1
  3057. callnative bhv_bobomb_fuse_smoke_init
  3058. delay 1
  3059. begin_loop
  3060. callnative BehDustSmokeLoop
  3061. obj_add_int objAnimState, 1
  3062. end_loop
  3063. glabel bhvBobombBuddy # 31BC
  3064. begin OBJ_LIST_GENACTOR
  3065. 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)
  3066. obj_set_int32 objAnimations, bobomb_seg8_anims_0802396C
  3067. interact_type INTERACT_TEXT
  3068. drop_floor
  3069. set_hitbox 0x0064, 0x003C
  3070. animate 0x00
  3071. obj_set_int objVarFC, 0x0000
  3072. obj_set_pos
  3073. callnative bhv_bobomb_buddy_init
  3074. begin_loop
  3075. obj_set_int objIntangibleTimer, 0
  3076. callnative bhv_bobomb_buddy_loop
  3077. end_loop
  3078. # 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?
  3079. glabel bhvBobombBuddyOpensCannon # 3208
  3080. begin OBJ_LIST_GENACTOR
  3081. 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)
  3082. obj_set_int32 objAnimations, bobomb_seg8_anims_0802396C
  3083. interact_type INTERACT_TEXT
  3084. drop_floor
  3085. set_hitbox 0x0064, 0x003C
  3086. animate 0x00
  3087. obj_set_int objVarFC, 0x0001
  3088. obj_set_pos
  3089. callnative bhv_bobomb_buddy_init
  3090. begin_loop
  3091. obj_set_int objIntangibleTimer, 0
  3092. callnative bhv_bobomb_buddy_loop
  3093. end_loop
  3094. glabel bhvCannonClosed # 3254
  3095. begin OBJ_LIST_SURFACE
  3096. obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3097. collision_data cannon_lid_seg8_collision_08004950
  3098. obj_set_pos
  3099. callnative bhv_cannon_closed_init
  3100. begin_loop
  3101. callnative bhv_cannon_closed_loop
  3102. callnative load_object_collision_model
  3103. end_loop
  3104. glabel bhvWhirlpool # 3288
  3105. begin OBJ_LIST_POLELIKE
  3106. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3107. callnative bhv_whirlpool_init
  3108. begin_loop
  3109. callnative bhv_whirlpool_loop
  3110. end_loop
  3111. glabel bhvJetStream # 32A8
  3112. begin OBJ_LIST_DEFAULT
  3113. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3114. begin_loop
  3115. callnative bhv_jet_stream_loop
  3116. end_loop
  3117. glabel bhvMessagePanel # 32C0
  3118. begin OBJ_LIST_SURFACE
  3119. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3120. collision_data wooden_signpost_seg3_collision_0302DD80
  3121. interact_type INTERACT_TEXT
  3122. obj_set_int objUnk190, 0x1000
  3123. drop_floor
  3124. set_hitbox 0x0096, 0x0050
  3125. obj_set_int objVarF4, 0
  3126. begin_loop
  3127. obj_set_int objIntangibleTimer, 0
  3128. callnative load_object_collision_model
  3129. obj_set_int objInteractStatus, 0
  3130. end_loop
  3131. glabel bhvSignOnWall # 3304
  3132. begin OBJ_LIST_SURFACE
  3133. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3134. interact_type INTERACT_TEXT
  3135. obj_set_int objUnk190, 0x1000
  3136. set_hitbox 0x0096, 0x0050
  3137. obj_set_int objVarF4, 0
  3138. begin_loop
  3139. obj_set_int objIntangibleTimer, 0
  3140. obj_set_int objInteractStatus, 0
  3141. end_loop
  3142. glabel bhvAmpHoming # 3334
  3143. begin OBJ_LIST_GENACTOR
  3144. 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)
  3145. obj_set_int32 objAnimations, amp_seg8_anims_08004034
  3146. animate 0x00
  3147. obj_set_float objGraphYOffset, 0x0028
  3148. obj_set_int objIntangibleTimer, 0
  3149. callnative bhv_amp_homing_init
  3150. begin_loop
  3151. callnative bhv_amp_homing_loop
  3152. end_loop
  3153. glabel bhvAmpCircling # 3368
  3154. begin OBJ_LIST_GENACTOR
  3155. 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)
  3156. obj_set_int32 objAnimations, amp_seg8_anims_08004034
  3157. animate 0x00
  3158. obj_set_float objGraphYOffset, 0x0028
  3159. obj_set_int objIntangibleTimer, 0
  3160. callnative bhv_amp_init
  3161. begin_loop
  3162. callnative bhv_amp_loop
  3163. end_loop
  3164. glabel bhvButterfly # 339C
  3165. begin OBJ_LIST_DEFAULT
  3166. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3167. obj_set_int32 objAnimations, butterfly_seg3_anims_030056B0
  3168. drop_floor
  3169. obj_set_float objGraphYOffset, 0x0005
  3170. callnative bhv_butterfly_init
  3171. begin_loop
  3172. callnative bhv_butterfly_loop
  3173. end_loop
  3174. glabel bhvHoot # 33CC
  3175. begin OBJ_LIST_POLELIKE
  3176. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3177. obj_set_int32 objAnimations, hoot_seg5_anims_05005768
  3178. obj_set_int objInteractType, 0x01
  3179. set_hitbox 0x004B, 0x004B
  3180. callnative bhv_hoot_init
  3181. begin_loop
  3182. callnative bhv_hoot_loop
  3183. end_loop
  3184. glabel bhvBetaGreenShell # 3400
  3185. begin OBJ_LIST_GENACTOR
  3186. obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3187. obj_set_int objInteractType, 0x02
  3188. drop_floor
  3189. set_hitbox 0x0028, 0x0032
  3190. callnative bhv_beta_green_shell_init
  3191. begin_loop
  3192. obj_set_int objIntangibleTimer, 0
  3193. callnative bhv_beta_green_shell_loop
  3194. end_loop
  3195. glabel bhvCarrySomething1 # 3434
  3196. begin OBJ_LIST_DEFAULT
  3197. break
  3198. glabel bhvCarrySomething2 # 343C
  3199. begin OBJ_LIST_DEFAULT
  3200. break
  3201. glabel bhvCarrySomething3 # 3444
  3202. begin OBJ_LIST_DEFAULT
  3203. break
  3204. glabel bhvCarrySomething4 # 344C
  3205. begin OBJ_LIST_DEFAULT
  3206. break
  3207. glabel bhvCarrySomething5 # 3454
  3208. begin OBJ_LIST_DEFAULT
  3209. break
  3210. glabel bhvCarrySomething6 # 345C
  3211. begin OBJ_LIST_DEFAULT
  3212. break
  3213. glabel bhvObjectBubble # 3464
  3214. begin OBJ_LIST_UNIMPORTANT
  3215. obj_or_int objFlags, (OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3216. billboard
  3217. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3218. obj_set_int objAnimState, -1
  3219. callnative bhv_object_bubble_init
  3220. obj_set_float_rand objVelY, 0x0003, 0x0006
  3221. obj_set_int_rand_rshift objMoveAngleYaw, 0x0000, 0x0000
  3222. delay 1
  3223. begin_loop
  3224. callnative bhv_object_bubble_loop
  3225. end_loop
  3226. glabel bhvObjectWaterWave # 34A4
  3227. begin OBJ_LIST_UNIMPORTANT
  3228. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3229. obj_set_float objFaceAnglePitch, 0
  3230. obj_set_float objFaceAngleYaw, 0
  3231. obj_set_float objFaceAngleRoll, 0
  3232. obj_set_int objAnimState, -1
  3233. callnative bhv_object_water_wave_init
  3234. obj_add_int objAnimState, 1
  3235. delay 6
  3236. begin_loop
  3237. callnative bhv_object_water_wave_loop
  3238. obj_add_int objAnimState, 1
  3239. begin_repeat 6
  3240. callnative bhv_object_water_wave_loop
  3241. end_repeat
  3242. end_loop
  3243. glabel bhvExplosion # 34F0
  3244. begin OBJ_LIST_DESTRUCTIVE
  3245. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3246. billboard
  3247. interact_type INTERACT_DAMAGE
  3248. obj_set_int objDamageOrCoinValue, 2
  3249. obj_set_int objIntangibleTimer, 0
  3250. collision_sphere 0x0096, 0x0096, 0x0096
  3251. obj_set_int objAnimState, -1
  3252. callnative bhv_explosion_init
  3253. begin_loop
  3254. callnative bhv_explosion_loop
  3255. obj_add_int objAnimState, 1
  3256. end_loop
  3257. glabel bhvBobombBullyDeathSmoke # 3538
  3258. begin OBJ_LIST_UNIMPORTANT
  3259. obj_or_int objFlags, (OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3260. billboard
  3261. obj_set_int objAnimState, -1
  3262. callnative bhv_bobomb_bully_death_smoke_init
  3263. delay 1
  3264. begin_loop
  3265. callnative BehDustSmokeLoop
  3266. obj_add_int objAnimState, 1
  3267. end_loop
  3268. glabel bhvSmoke # 3568
  3269. begin OBJ_LIST_UNIMPORTANT
  3270. obj_or_int objFlags, (OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL | OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3271. billboard
  3272. obj_set_int objAnimState, -1
  3273. delay 1
  3274. begin_loop
  3275. callnative BehDustSmokeLoop
  3276. obj_add_int objAnimState, 1
  3277. end_loop
  3278. glabel bhvBobombExplosionBubble # 3590
  3279. begin OBJ_LIST_DEFAULT
  3280. billboard
  3281. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3282. callnative bhv_bobomb_explosion_bubble_init
  3283. obj_add_float_rand objPosX, -50, 100
  3284. obj_add_float_rand objPosY, -50, 100
  3285. obj_add_float_rand objPosZ, -50, 100
  3286. call bhvBobombExplosionBubble3600
  3287. delay 1
  3288. begin_loop
  3289. call bhvBobombExplosionBubble3600
  3290. callnative bhv_bobomb_explosion_bubble_loop
  3291. end_loop
  3292. glabel bhvBobombExplosionBubble3600 # 35E0
  3293. obj_add_float_rand objPosX, -2, 4
  3294. obj_add_float_rand objPosZ, -2, 4
  3295. return
  3296. glabel bhvRespawner # 35F4
  3297. begin OBJ_LIST_DEFAULT
  3298. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3299. begin_loop
  3300. callnative bhv_respawner_loop
  3301. end_loop
  3302. glabel bhvSmallBully # 360C
  3303. begin OBJ_LIST_GENACTOR
  3304. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3305. obj_set_int32 objAnimations, bully_seg5_anims_0500470C
  3306. drop_floor
  3307. obj_set_pos
  3308. callnative bhv_small_bully_init
  3309. begin_loop
  3310. obj_set_int objIntangibleTimer, 0
  3311. callnative bhv_bully_loop
  3312. end_loop
  3313. glabel bhvBigBully # 3640
  3314. begin OBJ_LIST_GENACTOR
  3315. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3316. obj_set_int32 objAnimations, bully_seg5_anims_0500470C
  3317. drop_floor
  3318. obj_set_pos
  3319. callnative bhv_big_bully_init
  3320. begin_loop
  3321. obj_set_int objIntangibleTimer, 0
  3322. callnative bhv_bully_loop
  3323. end_loop
  3324. glabel bhvBigBullyWithMinions # 3674
  3325. begin OBJ_LIST_GENACTOR
  3326. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3327. obj_set_int32 objAnimations, bully_seg5_anims_0500470C
  3328. obj_set_pos
  3329. callnative bhv_big_bully_init
  3330. callnative bhv_big_bully_with_minions_init
  3331. begin_loop
  3332. callnative bhv_big_bully_with_minions_loop
  3333. end_loop
  3334. glabel bhvSmallChillBully # 36A8
  3335. begin OBJ_LIST_GENACTOR
  3336. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3337. obj_set_int32 objAnimations, chilly_chief_seg6_anims_06003994
  3338. drop_floor
  3339. obj_set_pos
  3340. obj_set_int objVarF4, 0x0010
  3341. callnative bhv_small_bully_init
  3342. begin_loop
  3343. obj_set_int objIntangibleTimer, 0
  3344. callnative bhv_bully_loop
  3345. end_loop
  3346. glabel bhvBigChillBully # 36E0
  3347. begin OBJ_LIST_GENACTOR
  3348. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3349. obj_set_int32 objAnimations, chilly_chief_seg6_anims_06003994
  3350. drop_floor
  3351. obj_set_pos
  3352. obj_set_int objVarF4, 0x0010
  3353. callnative bhv_big_bully_init
  3354. begin_loop
  3355. obj_set_int objIntangibleTimer, 0
  3356. callnative bhv_bully_loop
  3357. end_loop
  3358. glabel bhvJetStreamRingSpawner # 3718
  3359. begin OBJ_LIST_DEFAULT
  3360. unhide
  3361. begin_loop
  3362. callnative bhv_jet_stream_ring_spawner_loop
  3363. end_loop
  3364. glabel bhvJetStreamWaterRing # 3730
  3365. begin OBJ_LIST_LEVEL
  3366. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3367. obj_set_int32 objAnimations, water_ring_seg6_anims_06013F7C
  3368. collision_sphere 0x004B, 0x0014, 0x0014
  3369. interact_type INTERACT_WATER_RING
  3370. obj_set_int objDamageOrCoinValue, 2
  3371. obj_set_int objIntangibleTimer, 0
  3372. callnative bhv_jet_stream_water_ring_init
  3373. begin_loop
  3374. obj_set_int objIntangibleTimer, 0
  3375. callnative bhv_jet_stream_water_ring_loop
  3376. end_loop
  3377. glabel bhvMantaRayWaterRing # 3778
  3378. begin OBJ_LIST_LEVEL
  3379. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3380. obj_set_int32 objAnimations, water_ring_seg6_anims_06013F7C
  3381. collision_sphere 0x004B, 0x0014, 0x0014
  3382. interact_type INTERACT_WATER_RING
  3383. obj_set_int objDamageOrCoinValue, 2
  3384. obj_set_int objIntangibleTimer, 0
  3385. callnative bhv_manta_ray_water_ring_init
  3386. begin_loop
  3387. obj_set_int objIntangibleTimer, 0
  3388. callnative bhv_manta_ray_water_ring_loop
  3389. end_loop
  3390. glabel bhvMantaRayRingManager # 37C0
  3391. begin OBJ_LIST_DEFAULT
  3392. begin_loop
  3393. end_loop
  3394. glabel bhvBowserBomb # 37CC
  3395. begin OBJ_LIST_GENACTOR
  3396. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3397. obj_set_int objIntangibleTimer, 0
  3398. collision_sphere 0x0028, 0x0028, 0x0028
  3399. delay 1
  3400. begin_loop
  3401. obj_set_int objIntangibleTimer, 0
  3402. callnative bhv_bowser_bomb_loop
  3403. end_loop
  3404. glabel bhvBowserBombExplosion # 37FC
  3405. begin OBJ_LIST_DEFAULT
  3406. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3407. billboard
  3408. obj_set_float objGraphYOffset, 0xFEE0
  3409. obj_set_int objAnimState, -1
  3410. begin_loop
  3411. callnative bhv_bowser_bomb_explosion_loop
  3412. end_loop
  3413. glabel bhvBowserBombSmoke # 3820
  3414. begin OBJ_LIST_DEFAULT
  3415. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3416. billboard
  3417. obj_set_float objGraphYOffset, 0xFEE0
  3418. obj_set_int objOpacity, 0x00FF
  3419. obj_set_int objAnimState, -1
  3420. begin_loop
  3421. callnative bhv_bowser_bomb_smoke_loop
  3422. end_loop
  3423. glabel bhvCelebrationStar # 3848
  3424. begin OBJ_LIST_LEVEL
  3425. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3426. callnative bhv_celebration_star_init
  3427. begin_loop
  3428. callnative bhv_celebration_star_loop
  3429. end_loop
  3430. glabel bhvCelebrationStarSparkle # 3868
  3431. begin OBJ_LIST_UNIMPORTANT
  3432. billboard
  3433. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3434. obj_set_float objGraphYOffset, 25
  3435. obj_set_int objAnimState, -1
  3436. begin_loop
  3437. obj_add_int objAnimState, 1
  3438. callnative bhv_celebration_star_sparkle_loop
  3439. end_loop
  3440. glabel bhvStarKeyCollectionPuffSpawner # 3890
  3441. begin OBJ_LIST_DEFAULT
  3442. billboard
  3443. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3444. obj_set_int objAnimState, -1
  3445. begin_loop
  3446. callnative bhv_star_key_collection_puff_spawner_loop
  3447. end_loop
  3448. glabel bhvLllDrawbridgeSpawner # 38B0
  3449. begin OBJ_LIST_DEFAULT
  3450. unhide
  3451. begin_loop
  3452. callnative bhv_lll_drawbridge_spawner_loop
  3453. end_loop
  3454. glabel bhvLllDrawbridge # 38C8
  3455. begin OBJ_LIST_SURFACE
  3456. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3457. collision_data lll_seg7_collision_drawbridge
  3458. begin_loop
  3459. callnative bhv_lll_drawbridge_loop
  3460. callnative load_object_collision_model
  3461. end_loop
  3462. glabel bhvSmallBomp # 38F0
  3463. begin OBJ_LIST_SURFACE
  3464. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3465. collision_data wf_seg7_collision_small_bomp
  3466. callnative bhv_small_bomp_init
  3467. begin_loop
  3468. callnative bhv_small_bomp_loop
  3469. callnative load_object_collision_model
  3470. end_loop
  3471. glabel bhvLargeBomp # 3920
  3472. begin OBJ_LIST_SURFACE
  3473. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3474. collision_data wf_seg7_collision_large_bomp
  3475. callnative bhv_large_bomp_init
  3476. begin_loop
  3477. callnative bhv_large_bomp_loop
  3478. callnative load_object_collision_model
  3479. end_loop
  3480. glabel bhvWfSlidingPlatform # 3950
  3481. begin OBJ_LIST_SURFACE
  3482. obj_or_int objFlags, (OBJ_FLAG_MOVE_XZ_USING_FVEL | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3483. collision_data wf_seg7_collision_sliding_brick_platform
  3484. callnative bhv_wf_sliding_platform_init
  3485. begin_loop
  3486. callnative bhv_wf_sliding_platform_loop
  3487. callnative load_object_collision_model
  3488. end_loop
  3489. glabel bhvMoneybag # 3980
  3490. begin OBJ_LIST_GENACTOR
  3491. 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)
  3492. obj_set_int32 objAnimations, moneybag_seg6_anims_06005E5C
  3493. drop_floor
  3494. obj_set_pos
  3495. obj_set_int objIntangibleTimer, -1
  3496. callnative bhv_moneybag_init
  3497. begin_loop
  3498. callnative bhv_moneybag_loop
  3499. end_loop
  3500. glabel bhvMoneybagHidden # 39B4
  3501. begin OBJ_LIST_LEVEL
  3502. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3503. obj_set_float objGraphYOffset, 0x001B
  3504. billboard
  3505. set_hitbox 0x006E, 0x0064
  3506. obj_set_int objIntangibleTimer, 0
  3507. obj_set_int objAnimState, -1
  3508. begin_loop
  3509. obj_add_int objAnimState, 1
  3510. callnative bhv_moneybag_hidden_loop
  3511. end_loop
  3512. glabel bhvPitBowlingBall # 39E8
  3513. begin OBJ_LIST_GENACTOR
  3514. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3515. billboard
  3516. obj_set_float objGraphYOffset, 130
  3517. callnative bhv_bob_pit_bowling_ball_init
  3518. begin_loop
  3519. callnative bhv_bob_pit_bowling_ball_loop
  3520. end_loop
  3521. glabel bhvFreeBowlingBall # 3A10
  3522. begin OBJ_LIST_GENACTOR
  3523. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3524. billboard
  3525. obj_set_float objGraphYOffset, 130
  3526. callnative bhv_free_bowling_ball_init
  3527. begin_loop
  3528. callnative bhv_free_bowling_ball_loop
  3529. end_loop
  3530. glabel bhvBowlingBall # 3A38
  3531. begin OBJ_LIST_GENACTOR
  3532. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3533. billboard
  3534. obj_set_float objGraphYOffset, 130
  3535. callnative bhv_bowling_ball_init
  3536. begin_loop
  3537. callnative bhv_bowling_ball_loop
  3538. end_loop
  3539. glabel bhvTtmBowlingBallSpawner # 3A60
  3540. begin OBJ_LIST_GENACTOR
  3541. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3542. obj_set_int objVarFC, 0x003F
  3543. callnative bhv_generic_bowling_ball_spawner_init
  3544. begin_loop
  3545. callnative bhv_generic_bowling_ball_spawner_loop
  3546. end_loop
  3547. glabel bhvBobBowlingBallSpawner # 3A84
  3548. begin OBJ_LIST_GENACTOR
  3549. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3550. obj_set_int objVarFC, 0x007F
  3551. callnative bhv_generic_bowling_ball_spawner_init
  3552. begin_loop
  3553. callnative bhv_generic_bowling_ball_spawner_loop
  3554. end_loop
  3555. glabel bhvThiBowlingBallSpawner # 3AA8
  3556. begin OBJ_LIST_GENACTOR
  3557. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3558. begin_loop
  3559. callnative bhv_thi_bowling_ball_spawner_loop
  3560. end_loop
  3561. glabel bhvRrCruiserWing # 3AC0
  3562. begin OBJ_LIST_DEFAULT
  3563. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3564. callnative bhv_rr_cruiser_wing_init
  3565. begin_loop
  3566. callnative bhv_rr_cruiser_wing_loop
  3567. end_loop
  3568. glabel bhvSpindel # 3AE0
  3569. begin OBJ_LIST_SURFACE
  3570. obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3571. collision_data ssl_seg7_collision_spindel
  3572. callnative bhv_spindel_init
  3573. begin_loop
  3574. callnative bhv_spindel_loop
  3575. callnative load_object_collision_model
  3576. end_loop
  3577. glabel bhvSslMovingPyramidWall # 3B10
  3578. begin OBJ_LIST_SURFACE
  3579. obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3580. collision_data ssl_seg7_collision_0702808C
  3581. callnative bhv_ssl_moving_pyramid_wall_init
  3582. begin_loop
  3583. callnative bhv_ssl_moving_pyramid_wall_loop
  3584. callnative load_object_collision_model
  3585. end_loop
  3586. glabel bhvPyramidElevator # 3B40
  3587. begin OBJ_LIST_SURFACE
  3588. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3589. collision_data ssl_seg7_collision_pyramid_elevator
  3590. obj_set_pos
  3591. obj_set_float objCollisionDistance, 0x4E20
  3592. callnative bhv_pyramid_elevator_init
  3593. begin_loop
  3594. callnative bhv_pyramid_elevator_loop
  3595. callnative load_object_collision_model
  3596. end_loop
  3597. glabel bhvPyramidElevatorMetalBalls # 3B78
  3598. begin OBJ_LIST_DEFAULT
  3599. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3600. billboard
  3601. begin_loop
  3602. callnative bhv_pyramid_elevator_metal_balls_loop
  3603. end_loop
  3604. glabel bhvPyramidTop # 3B94
  3605. begin OBJ_LIST_SURFACE
  3606. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3607. collision_data ssl_seg7_collision_pyramid_top
  3608. obj_set_pos
  3609. obj_set_float objCollisionDistance, 0x4E20
  3610. callnative bhv_pyramid_top_init
  3611. begin_loop
  3612. callnative bhv_pyramid_top_loop
  3613. callnative load_object_collision_model
  3614. end_loop
  3615. glabel bhvPyramidTopExplosion # 3BCC
  3616. begin OBJ_LIST_DEFAULT
  3617. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3618. callnative bhv_pyramid_top_explosion_init
  3619. begin_loop
  3620. callnative bhv_pyramid_top_explosion_loop
  3621. end_loop
  3622. glabel bhvCollisionBoxSubbehavior # 3BEC
  3623. begin OBJ_LIST_LEVEL
  3624. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3625. set_hitbox 0x0032, 0x0032
  3626. obj_set_int objIntangibleTimer, 0
  3627. begin_loop
  3628. callnative bhv_collision_box_sub_bhvavior_loop
  3629. end_loop
  3630. glabel bhvWaterfallSoundLoop # 3C10
  3631. begin OBJ_LIST_DEFAULT
  3632. begin_loop
  3633. callnative BehWaterfallSoundLoop
  3634. end_loop
  3635. glabel bhvVolcanoSoundLoop # 3C24
  3636. begin OBJ_LIST_DEFAULT
  3637. begin_loop
  3638. callnative BehVolcanoSoundLoop
  3639. end_loop
  3640. glabel bhvCastleFlagWaving # 3C38
  3641. begin OBJ_LIST_DEFAULT
  3642. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3643. obj_set_int32 objAnimations, castle_grounds_seg7_anim_flags
  3644. animate 0x00
  3645. callnative BehCastleFlagWavingInit
  3646. begin_loop
  3647. end_loop
  3648. glabel bhvBirdsSoundLoop # 3C5C
  3649. begin OBJ_LIST_DEFAULT
  3650. begin_loop
  3651. callnative BehBirdsSoundLoop
  3652. end_loop
  3653. glabel bhvAmbientSounds # 3C70
  3654. begin OBJ_LIST_DEFAULT
  3655. callnative BehAmbiantSoundsInit
  3656. begin_loop
  3657. end_loop
  3658. glabel bhvSandSoundLoop # 3C84
  3659. begin OBJ_LIST_DEFAULT
  3660. begin_loop
  3661. callnative BehSandSoundLoop
  3662. end_loop
  3663. glabel bhvHiddenAt120Stars # 3C98
  3664. begin OBJ_LIST_SURFACE
  3665. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3666. collision_data castle_grounds_seg7_collision_cannon_grill
  3667. obj_set_float objCollisionDistance, 0x0FA0
  3668. callnative BehHiddenAt120StarsInit
  3669. begin_loop
  3670. callnative load_object_collision_model
  3671. end_loop
  3672. glabel bhvSnowmansBottom # 3CC4
  3673. begin OBJ_LIST_GENACTOR
  3674. 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)
  3675. drop_floor
  3676. obj_set_int objIntangibleTimer, 0
  3677. callnative bhv_snowmans_bottom_init
  3678. begin_loop
  3679. callnative bhv_snowmans_bottom_loop
  3680. end_loop
  3681. glabel bhvSnowmansHead # 3CEC
  3682. begin OBJ_LIST_DEFAULT
  3683. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3684. drop_floor
  3685. obj_set_float objGraphYOffset, 0x006E
  3686. callnative bhv_snowmans_head_init
  3687. begin_loop
  3688. callnative bhv_snowmans_head_loop
  3689. end_loop
  3690. glabel bhvSnowmansBodyCheckpoint # 3D14
  3691. begin OBJ_LIST_DEFAULT
  3692. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3693. begin_loop
  3694. callnative bhv_snowmans_body_checkpoint_loop
  3695. end_loop
  3696. glabel bhvBigSnowmanWhole # 3D2C
  3697. begin OBJ_LIST_GENACTOR
  3698. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3699. obj_set_float objGraphYOffset, 0x00B4
  3700. interact_type INTERACT_TEXT
  3701. set_hitbox 0x00D2, 0x0226
  3702. begin_loop
  3703. obj_set_int objIntangibleTimer, 0
  3704. end_loop
  3705. glabel bhvBigBoulder # 3D54
  3706. begin OBJ_LIST_GENACTOR
  3707. 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)
  3708. obj_set_float objGraphYOffset, 0x00B4
  3709. callnative bhv_big_boulder_init
  3710. obj_set_float objCollisionDistance, 0x4E20
  3711. begin_loop
  3712. obj_set_int objIntangibleTimer, 0
  3713. callnative bhv_big_boulder_loop
  3714. end_loop
  3715. glabel bhvBigBoulderGenerator # 3D80
  3716. begin OBJ_LIST_DEFAULT
  3717. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3718. begin_loop
  3719. callnative bhv_big_boulder_generator_loop
  3720. end_loop
  3721. glabel bhvWingCap # 3D98
  3722. begin OBJ_LIST_LEVEL
  3723. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3724. callnative bhv_wing_cap_init
  3725. begin_loop
  3726. callnative bhv_wing_vanish_cap_loop
  3727. end_loop
  3728. glabel bhvMetalCap # 3DB8
  3729. begin OBJ_LIST_LEVEL
  3730. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3731. callnative bhv_metal_cap_init
  3732. begin_loop
  3733. callnative bhv_metal_cap_loop
  3734. end_loop
  3735. glabel bhvNormalCap # 3DD8
  3736. begin OBJ_LIST_LEVEL
  3737. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3738. callnative bhv_normal_cap_init
  3739. begin_loop
  3740. obj_set_int objIntangibleTimer, 0
  3741. callnative bhv_normal_cap_loop
  3742. end_loop
  3743. glabel bhvVanishCap # 3DFC
  3744. begin OBJ_LIST_LEVEL
  3745. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3746. callnative bhv_vanish_cap_init
  3747. begin_loop
  3748. callnative bhv_wing_vanish_cap_loop
  3749. end_loop
  3750. glabel bhvStar # 3E1C
  3751. begin OBJ_LIST_LEVEL
  3752. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3753. callnative bhv_init_room
  3754. callnative bhv_collect_star_init
  3755. begin_loop
  3756. callnative bhv_collect_star_loop
  3757. end_loop
  3758. glabel bhvStarSpawnCoordinates # 3E44
  3759. begin OBJ_LIST_LEVEL
  3760. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3761. callnative bhv_collect_star_init
  3762. callnative bhv_star_spawn_init
  3763. begin_loop
  3764. callnative bhv_star_spawn_loop
  3765. end_loop
  3766. glabel bhvHiddenRedCoinStar # 3E6C
  3767. begin OBJ_LIST_LEVEL
  3768. obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3769. callnative bhv_hidden_red_coin_star_init
  3770. begin_loop
  3771. callnative bhv_hidden_red_coin_star_loop
  3772. end_loop
  3773. glabel bhvRedCoin # 3E8C
  3774. begin OBJ_LIST_LEVEL
  3775. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3776. billboard
  3777. obj_set_int objIntangibleTimer, 0
  3778. obj_set_int objAnimState, -1
  3779. callnative bhv_init_room
  3780. callnative bhv_red_coin_init
  3781. begin_loop
  3782. callnative bhv_red_coin_loop
  3783. obj_add_int objAnimState, 1
  3784. end_loop
  3785. glabel bhvBowserCourseRedCoinStar # 3EC4
  3786. begin OBJ_LIST_LEVEL
  3787. obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3788. begin_loop
  3789. callnative bhv_bowser_course_red_coin_star_loop
  3790. end_loop
  3791. glabel bhvHiddenStar # 3EDC
  3792. begin OBJ_LIST_LEVEL
  3793. obj_or_int objFlags, (OBJ_FLAG_PERSISTENT_RESPAWN | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3794. callnative bhv_hidden_star_init
  3795. begin_loop
  3796. callnative bhv_hidden_star_loop
  3797. end_loop
  3798. glabel bhvHiddenStarTrigger # 3EFC
  3799. begin OBJ_LIST_LEVEL
  3800. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3801. set_hitbox 0x0064, 0x0064
  3802. obj_set_int objIntangibleTimer, 0
  3803. begin_loop
  3804. callnative bhv_hidden_star_trigger_loop
  3805. end_loop
  3806. glabel bhvTtmRollingLog # 3F20
  3807. begin OBJ_LIST_SURFACE
  3808. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3809. collision_data ttm_seg7_collision_pitoune_2
  3810. obj_set_pos
  3811. obj_set_float objCollisionDistance, 0x07D0
  3812. callnative bhv_ttm_rolling_log_init
  3813. begin_loop
  3814. callnative bhv_rolling_log_loop
  3815. callnative load_object_collision_model
  3816. end_loop
  3817. glabel bhvLllVolcanoFallingTrap # 3F58
  3818. begin OBJ_LIST_SURFACE
  3819. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3820. collision_data lll_seg7_collision_falling_wall
  3821. obj_set_pos
  3822. begin_loop
  3823. callnative bhvLllVolcanoFallingTrap_loop
  3824. callnative load_object_collision_model
  3825. end_loop
  3826. glabel bhvLllRollingLog # 3F84
  3827. begin OBJ_LIST_SURFACE
  3828. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3829. collision_data lll_seg7_collision_pitoune
  3830. obj_set_pos
  3831. obj_set_float objCollisionDistance, 0x07D0
  3832. callnative bhv_lll_rolling_log_init
  3833. begin_loop
  3834. callnative bhv_rolling_log_loop
  3835. callnative load_object_collision_model
  3836. end_loop
  3837. glabel bhv1upWalking # 3FBC
  3838. begin OBJ_LIST_LEVEL
  3839. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3840. billboard
  3841. collision_sphere 0x001E, 0x001E, 0x0000
  3842. obj_set_float objGraphYOffset, 30
  3843. callnative bhv_1up_common_init
  3844. begin_loop
  3845. callnative bhv_1up_walking_loop
  3846. end_loop
  3847. glabel bhv1upRunningAway # 3FF0
  3848. begin OBJ_LIST_LEVEL
  3849. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3850. billboard
  3851. collision_sphere 0x001E, 0x001E, 0x0000
  3852. obj_set_float objGraphYOffset, 30
  3853. callnative bhv_1up_common_init
  3854. begin_loop
  3855. callnative bhv_1up_running_away_loop
  3856. end_loop
  3857. glabel bhv1upSliding # 4024
  3858. begin OBJ_LIST_LEVEL
  3859. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3860. billboard
  3861. collision_sphere 0x001E, 0x001E, 0x0000
  3862. obj_set_float objGraphYOffset, 30
  3863. callnative bhv_1up_common_init
  3864. begin_loop
  3865. obj_set_int objIntangibleTimer, 0
  3866. callnative bhv_1up_sliding_loop
  3867. end_loop
  3868. glabel bhv1Up # 405C
  3869. begin OBJ_LIST_LEVEL
  3870. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3871. billboard
  3872. collision_sphere 0x001E, 0x001E, 0x0000
  3873. obj_set_float objGraphYOffset, 30
  3874. callnative bhv_1up_init
  3875. begin_loop
  3876. obj_set_int objIntangibleTimer, 0
  3877. callnative bhv_1up_loop
  3878. end_loop
  3879. glabel bhv1upJumpOnApproach # 4094
  3880. begin OBJ_LIST_LEVEL
  3881. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3882. billboard
  3883. collision_sphere 0x001E, 0x001E, 0x0000
  3884. obj_set_float objGraphYOffset, 30
  3885. callnative bhv_1up_common_init
  3886. begin_loop
  3887. obj_set_int objIntangibleTimer, 0
  3888. callnative bhv_1up_jump_on_approach_loop
  3889. end_loop
  3890. glabel bhvHidden1up # 40CC
  3891. begin OBJ_LIST_LEVEL
  3892. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3893. billboard
  3894. collision_sphere 0x001E, 0x001E, 0x0000
  3895. obj_set_float objGraphYOffset, 30
  3896. callnative bhv_1up_common_init
  3897. begin_loop
  3898. obj_set_int objIntangibleTimer, 0
  3899. callnative bhv_1up_hidden_loop
  3900. end_loop
  3901. glabel bhvHidden1upTrigger # 4104
  3902. begin OBJ_LIST_LEVEL
  3903. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3904. set_hitbox 0x0064, 0x0064
  3905. obj_set_int objIntangibleTimer, 0
  3906. begin_loop
  3907. callnative bhv_1up_hidden_trigger_loop
  3908. end_loop
  3909. glabel bhvHidden1upInPole # 4128
  3910. begin OBJ_LIST_LEVEL
  3911. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3912. billboard
  3913. collision_sphere 0x001E, 0x001E, 0x0000
  3914. obj_set_float objGraphYOffset, 30
  3915. callnative bhv_1up_common_init
  3916. begin_loop
  3917. obj_set_int objIntangibleTimer, 0
  3918. callnative bhv_1up_hidden_in_pole_loop
  3919. end_loop
  3920. glabel bhvHidden1upInPoleTrigger # 4160
  3921. begin OBJ_LIST_LEVEL
  3922. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3923. set_hitbox 0x0064, 0x0064
  3924. obj_set_int objIntangibleTimer, 0
  3925. begin_loop
  3926. callnative bhv_1up_hidden_in_pole_trigger_loop
  3927. end_loop
  3928. glabel bhvHidden1upInPoleSpawner # 4184
  3929. begin OBJ_LIST_LEVEL
  3930. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3931. begin_loop
  3932. callnative bhv_1up_hidden_in_pole_spawner_loop
  3933. end_loop
  3934. glabel bhvControllablePlatform # 419C
  3935. begin OBJ_LIST_SURFACE
  3936. obj_or_int objFlags, (OBJ_FLAG_0800 | OBJ_FLAG_0020 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3937. collision_data hmc_seg7_collision_controllable_platform
  3938. obj_set_pos
  3939. callnative bhv_controllable_platform_init
  3940. begin_loop
  3941. callnative bhv_controllable_platform_loop
  3942. callnative load_object_collision_model
  3943. end_loop
  3944. glabel bhvControllablePlatformSub # 41D0
  3945. begin OBJ_LIST_SURFACE
  3946. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3947. collision_data hmc_seg7_collision_controllable_platform_sub
  3948. begin_loop
  3949. callnative bhv_controllable_platform_sub_loop
  3950. callnative load_object_collision_model
  3951. end_loop
  3952. glabel bhvBreakableBoxSmall # 41F8
  3953. begin OBJ_LIST_DESTRUCTIVE
  3954. 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)
  3955. drop_floor
  3956. obj_set_pos
  3957. callnative bhv_breakable_box_small_init
  3958. begin_loop
  3959. obj_set_int objIntangibleTimer, 0
  3960. callnative bhv_breakable_box_small_loop
  3961. end_loop
  3962. glabel bhvSlidingSnowMound # 4224
  3963. begin OBJ_LIST_SURFACE
  3964. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  3965. collision_data sl_seg7_collision_sliding_snow_mound
  3966. obj_set_pos
  3967. begin_loop
  3968. callnative bhv_sliding_snow_mound_loop
  3969. callnative load_object_collision_model
  3970. end_loop
  3971. glabel bhvSnowMoundSpawn # 4250
  3972. begin OBJ_LIST_DEFAULT
  3973. begin_loop
  3974. callnative bhv_snow_mound_spawn_loop
  3975. end_loop
  3976. glabel bhvWdwSquareFloatingPlatform # 4264
  3977. begin OBJ_LIST_SURFACE
  3978. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3979. collision_data wdw_seg7_collision_square_floating_platform
  3980. obj_set_float objVarFC, 0x0040
  3981. obj_set_pos
  3982. begin_loop
  3983. callnative bhv_floating_platform_loop
  3984. callnative load_object_collision_model
  3985. end_loop
  3986. glabel bhvWdwRectangularFloatingPlatform # 4294
  3987. begin OBJ_LIST_SURFACE
  3988. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3989. collision_data wdw_seg7_collision_rect_floating_platform
  3990. obj_set_float objVarFC, 0x0040
  3991. obj_set_pos
  3992. begin_loop
  3993. callnative bhv_floating_platform_loop
  3994. callnative load_object_collision_model
  3995. end_loop
  3996. glabel bhvJrbFloatingPlatform # 42C4
  3997. begin OBJ_LIST_SURFACE
  3998. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  3999. collision_data jrb_seg7_collision_floating_platform
  4000. obj_set_float objVarFC, 0x0040
  4001. obj_set_pos
  4002. begin_loop
  4003. callnative bhv_floating_platform_loop
  4004. callnative load_object_collision_model
  4005. end_loop
  4006. glabel bhvArrowLift # 42F4
  4007. begin OBJ_LIST_SURFACE
  4008. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4009. collision_data wdw_seg7_collision_arrow_lift
  4010. obj_set_int_rand_rshift objVar100, 0x0001, 0x0020
  4011. obj_set_pos
  4012. begin_loop
  4013. callnative bhv_arrow_lift_loop
  4014. callnative load_object_collision_model
  4015. end_loop
  4016. glabel bhvOrangeNumber # 4328
  4017. begin OBJ_LIST_LEVEL
  4018. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4019. billboard
  4020. obj_set_pos
  4021. callnative bhv_orange_number_init
  4022. begin_loop
  4023. callnative bhv_orange_number_loop
  4024. end_loop
  4025. glabel bhvMantaRay # 4350
  4026. begin OBJ_LIST_GENACTOR
  4027. obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4028. obj_set_int32 objAnimations, manta_seg5_anims_05008EB4
  4029. animate 0x00
  4030. callnative bhv_manta_ray_init
  4031. begin_loop
  4032. obj_set_int objIntangibleTimer, 0
  4033. callnative bhv_manta_ray_loop
  4034. end_loop
  4035. glabel bhvFallingPillar # 4380
  4036. begin OBJ_LIST_GENACTOR
  4037. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4038. obj_set_pos
  4039. callnative bhv_falling_pillar_init
  4040. begin_loop
  4041. callnative bhv_falling_pillar_loop
  4042. end_loop
  4043. glabel bhvSomeSubojbjectOfFallingPillar # 43A4
  4044. begin OBJ_LIST_GENACTOR
  4045. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4046. obj_set_pos
  4047. begin_loop
  4048. callnative bhv_some_subobject_falling_pillar_loop
  4049. end_loop
  4050. glabel bhvPillarBase # 43C0
  4051. begin OBJ_LIST_SURFACE
  4052. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4053. collision_data jrb_seg7_collision_pillar_base
  4054. begin_loop
  4055. callnative load_object_collision_model
  4056. end_loop
  4057. glabel bhvJrbFloatingBox # 43E0
  4058. begin OBJ_LIST_SURFACE
  4059. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4060. collision_data jrb_seg7_collision_floating_box
  4061. obj_set_pos
  4062. begin_loop
  4063. callnative bhv_jrb_floating_box_loop
  4064. callnative load_object_collision_model
  4065. end_loop
  4066. glabel bhvOscillatingPendulum # 440C
  4067. begin OBJ_LIST_DEFAULT
  4068. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4069. callnative bhv_oscillating_pendulum_init
  4070. begin_loop
  4071. callnative bhv_oscillating_pendulum_loop
  4072. end_loop
  4073. glabel bhvTreasureChestsShip # 442C
  4074. begin OBJ_LIST_DEFAULT
  4075. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4076. drop_floor
  4077. callnative bhv_treasure_chest_ship_init
  4078. begin_loop
  4079. callnative bhv_treasure_chest_ship_loop
  4080. end_loop
  4081. glabel bhvTreasureChestsJrb # 4450
  4082. begin OBJ_LIST_DEFAULT
  4083. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4084. drop_floor
  4085. callnative bhv_treasure_chest_jrb_init
  4086. begin_loop
  4087. callnative bhv_treasure_chest_jrb_loop
  4088. end_loop
  4089. glabel bhvTreasureChests # 4474
  4090. begin OBJ_LIST_DEFAULT
  4091. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4092. drop_floor
  4093. callnative bhv_treasure_chest_init
  4094. begin_loop
  4095. callnative bhv_treasure_chest_loop
  4096. end_loop
  4097. glabel bhvTreasureChestBottom # 4498
  4098. begin OBJ_LIST_GENACTOR
  4099. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4100. drop_floor
  4101. callnative bhv_treasure_chest_bottom_init
  4102. obj_set_int objIntangibleTimer, -1
  4103. begin_loop
  4104. callnative bhv_treasure_chest_bottom_loop
  4105. end_loop
  4106. glabel bhvTreasureChestTop # 44C0
  4107. begin OBJ_LIST_DEFAULT
  4108. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4109. obj_set_pos
  4110. begin_loop
  4111. callnative bhv_treasure_chest_top_loop
  4112. end_loop
  4113. glabel bhvMips # 44DC
  4114. begin OBJ_LIST_GENACTOR
  4115. obj_or_int objFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4116. obj_set_int32 objAnimations, mips_seg6_anims_06015634
  4117. obj_set_int objInteractType, 0x02
  4118. drop_floor
  4119. set_hitbox 0x0032, 0x004B
  4120. obj_set_int objIntangibleTimer, 0
  4121. callnative bhv_mips_init
  4122. begin_loop
  4123. callnative bhv_mips_loop
  4124. end_loop
  4125. glabel bhvYoshi # 4518
  4126. begin OBJ_LIST_GENACTOR
  4127. 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)
  4128. obj_set_int32 objAnimations, yoshi_seg5_anims_05024100
  4129. interact_type INTERACT_TEXT
  4130. drop_floor
  4131. set_hitbox 0x00A0, 0x0096
  4132. animate 0x00
  4133. obj_set_pos
  4134. callnative bhv_yoshi_init
  4135. begin_loop
  4136. obj_set_int objIntangibleTimer, 0
  4137. callnative BehYoshiLoop
  4138. end_loop
  4139. glabel bhvKoopa # 4560
  4140. begin OBJ_LIST_PUSHABLE
  4141. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4142. drop_floor
  4143. obj_set_int32 objAnimations, koopa_seg6_anims_06011364
  4144. animate 0x09
  4145. obj_set_pos
  4146. gravity 0x0032, 0xFE70, 0x0000, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
  4147. scale 150
  4148. obj_set_float objVarF4, 1
  4149. callnative bhv_koopa_init
  4150. begin_loop
  4151. callnative bhv_koopa_update
  4152. end_loop
  4153. glabel bhvKoopaRaceEndpoint # 45B0
  4154. begin OBJ_LIST_DEFAULT
  4155. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4156. drop_floor
  4157. obj_child_param 0x0000, MODEL_KOOPA_FLAG, bhvKoopaFlag
  4158. begin_loop
  4159. callnative bhv_koopa_race_endpoint_update
  4160. end_loop
  4161. glabel bhvKoopaFlag # 45D8
  4162. begin OBJ_LIST_POLELIKE
  4163. interact_type INTERACT_POLE
  4164. set_hitbox 0x0050, 0x02BC
  4165. obj_set_int objIntangibleTimer, 0
  4166. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4167. drop_floor
  4168. obj_set_int32 objAnimations, koopa_flag_seg6_anims_06001028
  4169. animate 0x00
  4170. begin_loop
  4171. callnative BehClimbDetectLoop
  4172. end_loop
  4173. glabel bhvPokey # 4614
  4174. begin OBJ_LIST_GENACTOR
  4175. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4176. drop_floor
  4177. obj_set_pos
  4178. gravity 0x003C, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4179. begin_loop
  4180. callnative bhv_pokey_update
  4181. end_loop
  4182. glabel bhvPokeyBodyPart # 4648
  4183. begin OBJ_LIST_GENACTOR
  4184. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4185. gravity 0x003C, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4186. billboard
  4187. begin_loop
  4188. callnative bhv_pokey_body_part_update
  4189. end_loop
  4190. glabel bhvSwoop # 4678
  4191. begin OBJ_LIST_GENACTOR
  4192. 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)
  4193. obj_set_int32 objAnimations, swoop_seg6_anims_060070D0
  4194. obj_set_pos
  4195. gravity 0x0032, 0x0000, 0xFFCE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  4196. callnative bhv_init_room
  4197. scale 0
  4198. begin_loop
  4199. callnative bhv_swoop_update
  4200. end_loop
  4201. glabel bhvFlyGuy # 46BC
  4202. begin OBJ_LIST_GENACTOR
  4203. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4204. obj_set_int32 objAnimations, flyguy_seg8_anims_08011A64
  4205. animate 0x00
  4206. obj_set_pos
  4207. gravity 0x0032, 0x0000, 0x0000, 0x0000, 0x03E8, 0x0258, 0x0000, 0x0000
  4208. callnative bhv_init_room
  4209. obj_set_int objUnk190, 0x0080
  4210. obj_set_float objGraphYOffset, 30
  4211. scale 150
  4212. begin_loop
  4213. callnative bhv_fly_guy_update
  4214. end_loop
  4215. glabel bhvGoomba # 470C
  4216. begin OBJ_LIST_PUSHABLE
  4217. 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)
  4218. drop_floor
  4219. obj_set_int32 objAnimations, goomba_seg8_anims_0801DA4C
  4220. obj_set_pos
  4221. gravity 0x0028, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0000, 0x0000, 0x0000
  4222. callnative bhv_goomba_init
  4223. begin_loop
  4224. callnative bhv_goomba_update
  4225. end_loop
  4226. glabel bhvGoombaTripletSpawner # 4750
  4227. begin OBJ_LIST_PUSHABLE
  4228. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4229. drop_floor
  4230. begin_loop
  4231. callnative bhv_goomba_triplet_spawner_update
  4232. end_loop
  4233. glabel bhvChainChomp # 476C
  4234. begin OBJ_LIST_GENACTOR
  4235. 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)
  4236. drop_floor
  4237. obj_set_int32 objAnimations, chain_chomp_seg6_anims_06025178
  4238. animate 0x00
  4239. gravity 0x0000, 0xFE70, 0xFFCE, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
  4240. unhide
  4241. obj_set_pos
  4242. obj_set_float objGraphYOffset, 0x00F0
  4243. scale 200
  4244. obj_child_param 0x0000, MODEL_WOODEN_POST, bhvWoodenPost
  4245. begin_loop
  4246. callnative bhv_chain_chomp_update
  4247. end_loop
  4248. glabel bhvChainChompChainPart # 47C4
  4249. begin OBJ_LIST_GENACTOR
  4250. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4251. billboard
  4252. gravity 0x0000, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4253. obj_set_float objGraphYOffset, 0x0028
  4254. scale 200
  4255. begin_loop
  4256. callnative bhv_chain_chomp_chain_part_update
  4257. end_loop
  4258. glabel bhvWoodenPost # 47FC
  4259. begin OBJ_LIST_SURFACE
  4260. collision_data poundable_pole_collision_06002490
  4261. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4262. gravity 0x0000, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4263. obj_set_int objNumLootCoins, 5
  4264. drop_floor
  4265. obj_set_pos
  4266. scale 50
  4267. begin_loop
  4268. callnative bhv_wooden_post_update
  4269. callnative load_object_collision_model
  4270. end_loop
  4271. glabel bhvChainChompGate # 4848
  4272. begin OBJ_LIST_SURFACE
  4273. collision_data bob_seg7_collision_chain_chomp_gate
  4274. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4275. callnative bhv_chain_chomp_gate_init
  4276. begin_loop
  4277. callnative bhv_chain_chomp_gate_update
  4278. callnative load_object_collision_model
  4279. end_loop
  4280. glabel bhvWiggler # 4878
  4281. begin OBJ_LIST_GENACTOR
  4282. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4283. drop_floor
  4284. obj_set_int32 objAnimations, wiggler_seg5_anims_0500EC8C
  4285. obj_set_pos
  4286. gravity 0x003C, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4287. unhide
  4288. scale 400
  4289. obj_set_float objVarF4, 5000
  4290. begin_loop
  4291. callnative bhv_wiggler_update
  4292. end_loop
  4293. glabel bhvWigglerBodyPart # 48C0
  4294. begin OBJ_LIST_GENACTOR
  4295. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4296. obj_set_int32 objAnimations, wiggler_seg5_anims_0500C874
  4297. gravity 0x0000, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4298. scale 400
  4299. begin_loop
  4300. callnative bhv_wiggler_body_part_update
  4301. end_loop
  4302. glabel bhvEnemyLakitu # 48F8
  4303. begin OBJ_LIST_PUSHABLE
  4304. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4305. obj_set_int32 objAnimations, lakitu_enemy_seg5_anims_050144D4
  4306. animate 0x00
  4307. obj_set_pos
  4308. gravity 0x0028, 0x0000, 0xFFCE, 0x0000, 0x0000, 0x00C8, 0x0000, 0x0000
  4309. begin_loop
  4310. callnative bhv_enemy_lakitu_update
  4311. end_loop
  4312. glabel bhvCameraLakitu # 4934
  4313. begin OBJ_LIST_DEFAULT
  4314. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4315. obj_set_int32 objAnimations, lakitu_seg6_anims_060058F8
  4316. animate 0x00
  4317. callnative bhv_init_room
  4318. callnative bhv_camera_lakitu_init
  4319. begin_loop
  4320. callnative bhv_camera_lakitu_update
  4321. end_loop
  4322. glabel bhvCloud # 4968
  4323. begin OBJ_LIST_DEFAULT
  4324. 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)
  4325. billboard
  4326. obj_set_pos
  4327. obj_set_int objOpacity, 0x00F0
  4328. begin_loop
  4329. callnative bhv_cloud_update
  4330. end_loop
  4331. glabel bhvCloudPart # 498C
  4332. begin OBJ_LIST_DEFAULT
  4333. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4334. obj_set_int objOpacity, 0x00F0
  4335. begin_loop
  4336. callnative bhv_cloud_part_update
  4337. end_loop
  4338. glabel bhvSpiny # 49A8
  4339. begin OBJ_LIST_PUSHABLE
  4340. 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)
  4341. obj_set_int32 objAnimations, spiny_seg5_anims_05016EAC
  4342. animate 0x00
  4343. gravity 0x0028, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4344. begin_loop
  4345. callnative bhv_spiny_update
  4346. end_loop
  4347. glabel bhvMontyMole # 49E0
  4348. begin OBJ_LIST_GENACTOR
  4349. 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)
  4350. drop_floor
  4351. obj_set_int32 objAnimations, monty_mole_seg5_anims_05007248
  4352. animate 0x03
  4353. gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4354. unhide
  4355. obj_set_int objIntangibleTimer, -1
  4356. obj_set_float objGraphYOffset, 0xFFC4
  4357. scale 150
  4358. delay 1
  4359. callnative bhv_monty_mole_init
  4360. begin_loop
  4361. callnative bhv_monty_mole_update
  4362. end_loop
  4363. glabel bhvMontyMoleHole # 4A38
  4364. begin OBJ_LIST_DEFAULT
  4365. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4366. drop_floor
  4367. scale 150
  4368. begin_loop
  4369. callnative bhv_monty_mole_hole_update
  4370. end_loop
  4371. glabel bhvMontyMoleRock # 4A58
  4372. begin OBJ_LIST_GENACTOR
  4373. 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)
  4374. billboard
  4375. gravity 0x001E, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4376. obj_set_float objGraphYOffset, 0x000A
  4377. scale 200
  4378. begin_loop
  4379. callnative bhv_monty_mole_rock_update
  4380. end_loop
  4381. glabel bhvPlatformOnTrack # 4A90
  4382. begin OBJ_LIST_SURFACE
  4383. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4384. gravity 0x0032, 0xFF9C, 0xFFCE, 0x0064, 0x03E8, 0x00C8, 0x0000, 0x0000
  4385. callnative bhv_init_room
  4386. callnative bhv_platform_on_track_init
  4387. begin_loop
  4388. callnative bhv_platform_on_track_update
  4389. callnative load_object_collision_model
  4390. end_loop
  4391. glabel bhvTrackBall # 4AD4
  4392. begin OBJ_LIST_SURFACE
  4393. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4394. billboard
  4395. callnative bhv_init_room
  4396. scale 15
  4397. begin_loop
  4398. callnative bhv_track_ball_update
  4399. end_loop
  4400. glabel bhvSeesawPlatform # 4AFC
  4401. begin OBJ_LIST_SURFACE
  4402. 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)
  4403. callnative bhv_seesaw_platform_init
  4404. begin_loop
  4405. callnative bhv_seesaw_platform_update
  4406. callnative load_object_collision_model
  4407. end_loop
  4408. glabel bhvFerrisWheelAxle # 4B24
  4409. begin OBJ_LIST_SURFACE
  4410. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4411. obj_add_int objMoveAngleYaw, 0x4000
  4412. callnative bhv_ferris_wheel_axle_init
  4413. begin_loop
  4414. obj_add_int objFaceAngleRoll, 400
  4415. callnative load_object_collision_model
  4416. end_loop
  4417. glabel bhvFerrisWheelPlatform # 4B4C
  4418. begin OBJ_LIST_SURFACE
  4419. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4420. begin_loop
  4421. callnative bhv_ferris_wheel_platform_update
  4422. callnative load_object_collision_model
  4423. end_loop
  4424. glabel bhvWaterBombSpawner # 4B6C
  4425. begin OBJ_LIST_GENACTOR
  4426. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4427. drop_floor
  4428. begin_loop
  4429. callnative bhv_water_bomb_spawner_update
  4430. end_loop
  4431. glabel bhvWaterBomb # 4B88
  4432. begin OBJ_LIST_GENACTOR
  4433. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4434. gravity 0x0078, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4435. begin_loop
  4436. callnative bhv_water_bomb_update
  4437. end_loop
  4438. glabel bhvWaterBombShadow # 4BB4
  4439. begin OBJ_LIST_GENACTOR
  4440. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4441. scale 150
  4442. begin_loop
  4443. callnative bhv_water_bomb_shadow_update
  4444. end_loop
  4445. glabel bhvTTCRotatingSolid # 4BD0
  4446. begin OBJ_LIST_SURFACE
  4447. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4448. obj_set_pos
  4449. obj_set_float objCollisionDistance, 0x01C2
  4450. callnative bhv_ttc_rotating_solid_init
  4451. obj_set_int objVarF4, 1
  4452. begin_loop
  4453. callnative bhv_ttc_rotating_solid_update
  4454. callnative load_object_collision_model
  4455. end_loop
  4456. glabel bhvTTCPendulum # 4C04
  4457. begin OBJ_LIST_SURFACE
  4458. collision_data ttc_seg7_collision_clock_pendulum
  4459. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4460. obj_set_float objCollisionDistance, 0x05DC
  4461. callnative bhv_ttc_pendulum_init
  4462. obj_set_float objVarF4, 1
  4463. begin_loop
  4464. callnative bhv_ttc_pendulum_update
  4465. callnative load_object_collision_model
  4466. end_loop
  4467. glabel bhvTTCTreadmill # 4C3C
  4468. begin OBJ_LIST_SURFACE
  4469. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4470. obj_set_float objCollisionDistance, 0x02EE
  4471. callnative bhv_ttc_treadmill_init
  4472. delay 1
  4473. begin_loop
  4474. callnative bhv_ttc_treadmill_update
  4475. callnative obj_compute_vel_xz
  4476. callnative load_object_collision_model
  4477. end_loop
  4478. glabel bhvTTCMovingBar # 4C74
  4479. begin OBJ_LIST_SURFACE
  4480. collision_data ttc_seg7_collision_sliding_surface
  4481. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4482. obj_set_pos
  4483. obj_set_float objCollisionDistance, 0x0226
  4484. callnative bhv_ttc_moving_bar_init
  4485. begin_loop
  4486. callnative bhv_ttc_moving_bar_update
  4487. callnative load_object_collision_model
  4488. end_loop
  4489. glabel bhvTTCCog # 4CAC
  4490. begin OBJ_LIST_SURFACE
  4491. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4492. obj_set_float objCollisionDistance, 0x0190
  4493. callnative bhv_ttc_cog_init
  4494. begin_loop
  4495. callnative bhv_ttc_cog_update
  4496. callnative load_object_collision_model
  4497. end_loop
  4498. glabel bhvTTCPitBlock # 4CD8
  4499. begin OBJ_LIST_SURFACE
  4500. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4501. obj_set_pos
  4502. obj_set_float objCollisionDistance, 0x015E
  4503. callnative bhv_ttc_pit_block_init
  4504. begin_loop
  4505. callnative bhv_ttc_pit_block_update
  4506. callnative load_object_collision_model
  4507. end_loop
  4508. glabel bhvTTCElevator # 4D08
  4509. begin OBJ_LIST_SURFACE
  4510. collision_data ttc_seg7_collision_clock_platform
  4511. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4512. obj_set_pos
  4513. obj_set_float objCollisionDistance, 0x0190
  4514. callnative bhv_ttc_elevator_init
  4515. obj_set_float objVarF4, 1
  4516. begin_loop
  4517. callnative bhv_ttc_elevator_update
  4518. callnative load_object_collision_model
  4519. end_loop
  4520. glabel bhvTTC2DRotator # 4D44
  4521. begin OBJ_LIST_SURFACE
  4522. collision_data ttc_seg7_collision_clock_main_rotation
  4523. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4524. obj_set_float objCollisionDistance, 0x0708
  4525. callnative bhv_ttc_2d_rotator_init
  4526. begin_loop
  4527. callnative bhv_ttc_2d_rotator_update
  4528. end_loop
  4529. glabel bhvTTCSpinner # 4D70
  4530. begin OBJ_LIST_SURFACE
  4531. collision_data ttc_seg7_collision_rotating_clock_platform2
  4532. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4533. obj_set_float objCollisionDistance, 0x01C2
  4534. begin_loop
  4535. callnative bhv_ttc_spinner_update
  4536. callnative load_object_collision_model
  4537. end_loop
  4538. glabel bhvMrBlizzard # 4D9C
  4539. begin OBJ_LIST_GENACTOR
  4540. 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)
  4541. drop_floor
  4542. obj_set_int32 objAnimations, snowman_seg5_anims_0500D118
  4543. animate 0x00
  4544. obj_set_pos
  4545. gravity 0x001E, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4546. callnative bhv_mr_blizzard_init
  4547. obj_set_float objVarF4, 1
  4548. begin_loop
  4549. callnative bhv_mr_blizzard_update
  4550. end_loop
  4551. glabel bhvMrBlizzardSnowball # 4DE8
  4552. begin OBJ_LIST_GENACTOR
  4553. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4554. billboard
  4555. gravity 0x001E, 0xFED4, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4556. scale 200
  4557. obj_add_int objMoveAngleYaw, -0x5B58
  4558. obj_set_float objForwardVel, 5
  4559. obj_set_float objVelY, -1
  4560. obj_set_float objGraphYOffset, 10
  4561. begin_loop
  4562. callnative bhv_mr_blizzard_snowball
  4563. end_loop
  4564. glabel bhvSlidingPlatform2 # 4E2C
  4565. begin OBJ_LIST_SURFACE
  4566. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4567. obj_set_pos
  4568. callnative BehSlidingPlatform2Init
  4569. begin_loop
  4570. callnative BehSlidingPlatform2Loop
  4571. callnative load_object_collision_model
  4572. end_loop
  4573. glabel bhvOctagonalPlatformRotating # 4E58
  4574. begin OBJ_LIST_SURFACE
  4575. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4576. callnative BehOctagonalPlatformRotatingInit
  4577. begin_loop
  4578. callnative BehOctagonalPlatformRotatingLoop
  4579. callnative load_object_collision_model
  4580. end_loop
  4581. glabel bhvAnimatesOnFloorSwitchPress # 4E80
  4582. begin OBJ_LIST_SURFACE
  4583. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4584. obj_set_float objCollisionDistance, 0x1F40
  4585. callnative BehAnimatesOnFloorSwitchPressInit
  4586. begin_loop
  4587. callnative BehAnimatesOnFloorSwitchPressLoop
  4588. callnative load_object_collision_model
  4589. end_loop
  4590. glabel bhvActivatedBackAndForthPlatform # 4EAC
  4591. begin OBJ_LIST_SURFACE
  4592. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4593. obj_set_pos
  4594. callnative bhv_activated_back_and_forth_platform_init
  4595. begin_loop
  4596. callnative bhv_activated_back_and_forth_platform_update
  4597. callnative load_object_collision_model
  4598. end_loop
  4599. glabel bhvRecoveryHeart # 4ED8
  4600. begin OBJ_LIST_LEVEL
  4601. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4602. begin_loop
  4603. callnative bhv_recovery_heart_loop
  4604. end_loop
  4605. glabel bhvWaterBombCannon # 4EF0
  4606. begin OBJ_LIST_DEFAULT
  4607. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4608. begin_loop
  4609. callnative BehWaterBombCannonLoop
  4610. end_loop
  4611. glabel bhvCannonBarrelBubbles # 4F08
  4612. begin OBJ_LIST_DEFAULT
  4613. obj_or_int objFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4614. begin_loop
  4615. callnative BehCannonBarrelBubblesLoop
  4616. end_loop
  4617. glabel bhvUnagi # 4F20
  4618. begin OBJ_LIST_GENACTOR
  4619. 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)
  4620. obj_set_int32 objAnimations, unagi_seg5_anims_05012824
  4621. animate 0x06
  4622. obj_set_pos
  4623. scale 300
  4624. obj_set_float objDrawingDistance, 0x1770
  4625. callnative BehUnagiInit
  4626. begin_loop
  4627. callnative BehUnagiLoop
  4628. end_loop
  4629. glabel bhvUnagiSubobject # 4F58
  4630. begin OBJ_LIST_GENACTOR
  4631. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4632. begin_loop
  4633. callnative BehUnagiSubobjectLoop
  4634. end_loop
  4635. glabel bhvDorrie # 4F70
  4636. begin OBJ_LIST_SURFACE
  4637. collision_data dorrie_seg6_collision_0600F644
  4638. 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)
  4639. obj_set_int32 objAnimations, dorrie_seg6_anims_0600F638
  4640. obj_set_pos
  4641. obj_set_float objCollisionDistance, 0x7530
  4642. obj_add_float objPosX, 2000
  4643. callnative bhv_init_room
  4644. begin_loop
  4645. callnative bhv_dorrie_update
  4646. callnative load_object_collision_model
  4647. end_loop
  4648. glabel bhvHauntedChair # 4FB4
  4649. begin OBJ_LIST_GENACTOR
  4650. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4651. drop_floor
  4652. obj_set_int32 objAnimations, chair_seg5_anims_05005784
  4653. animate 0x00
  4654. gravity 0x0028, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4655. obj_set_pos
  4656. callnative bhv_init_room
  4657. callnative BehHauntedChairInit
  4658. begin_loop
  4659. callnative BehHauntedChairLoop
  4660. end_loop
  4661. glabel bhvMadPiano # 5004
  4662. begin OBJ_LIST_GENACTOR
  4663. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4664. drop_floor
  4665. obj_set_int32 objAnimations, mad_piano_seg5_anims_05009B14
  4666. gravity 0x0028, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4667. obj_set_pos
  4668. obj_add_int objMoveAngleYaw, 0x4000
  4669. callnative bhv_init_room
  4670. begin_loop
  4671. callnative bhv_mad_piano_update
  4672. end_loop
  4673. glabel bhvFlyingBookend # 504C
  4674. begin OBJ_LIST_GENACTOR
  4675. 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)
  4676. obj_set_int32 objAnimations, bookend_seg5_anims_05002540
  4677. animate 0x00
  4678. gravity 0x003C, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4679. obj_set_int objMoveFlags, 0
  4680. scale 70
  4681. callnative bhv_init_room
  4682. begin_loop
  4683. callnative BehFlyingBookendLoop
  4684. end_loop
  4685. glabel bhvBookendSpawn # 5094
  4686. begin OBJ_LIST_GENACTOR
  4687. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4688. callnative bhv_init_room
  4689. begin_loop
  4690. callnative BehBookendSpawnLoop
  4691. end_loop
  4692. glabel bhvBookshelfThing # 50B4
  4693. begin OBJ_LIST_GENACTOR
  4694. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4695. callnative bhv_init_room
  4696. begin_loop
  4697. callnative BehBookshelfThingLoop
  4698. end_loop
  4699. glabel bhvBookSwitch # 50D4
  4700. begin OBJ_LIST_GENACTOR
  4701. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4702. obj_set_pos
  4703. obj_set_float objGraphYOffset, 30
  4704. obj_add_int objMoveAngleYaw, 0x4000
  4705. callnative bhv_init_room
  4706. begin_loop
  4707. callnative BehBookSwitchLoop
  4708. end_loop
  4709. glabel bhvFirePiranhaPlant # 5100
  4710. begin OBJ_LIST_GENACTOR
  4711. 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)
  4712. drop_floor
  4713. obj_set_int32 objAnimations, piranha_plant_seg6_anims_0601C31C
  4714. animate 0x00
  4715. obj_set_pos
  4716. unhide
  4717. callnative bhv_fire_piranha_plant_init
  4718. begin_loop
  4719. callnative bhv_fire_piranha_plant_update
  4720. end_loop
  4721. glabel bhvSmallPiranhaFlame # 5138
  4722. begin OBJ_LIST_GENACTOR
  4723. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4724. billboard
  4725. gravity 0x001E, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4726. begin_loop
  4727. callnative BehSmallPiranhaFlameLoop
  4728. obj_add_int objAnimState, 1
  4729. end_loop
  4730. glabel bhvFireSpitter # 516C
  4731. begin OBJ_LIST_GENACTOR
  4732. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4733. billboard
  4734. scale 40
  4735. begin_loop
  4736. callnative bhv_fire_spitter_update
  4737. end_loop
  4738. glabel bhvFlyguyFlame # 518C
  4739. begin OBJ_LIST_UNIMPORTANT
  4740. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4741. billboard
  4742. gravity 0x0000, 0x00C8, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4743. begin_loop
  4744. callnative BehFlyGuyFlameLoop
  4745. obj_add_int objAnimState, 1
  4746. end_loop
  4747. glabel bhvSnufit # 51C0
  4748. begin OBJ_LIST_GENACTOR
  4749. 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)
  4750. obj_set_pos
  4751. gravity 0x001E, 0x0000, 0xFFCE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  4752. callnative bhv_init_room
  4753. begin_loop
  4754. obj_set_int objVarF4, 0
  4755. callnative BehSnufitLoop
  4756. end_loop
  4757. glabel bhvSnufitBalls # 51FC
  4758. begin OBJ_LIST_GENACTOR
  4759. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4760. billboard
  4761. gravity 0x000A, 0x0000, 0xFFCE, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4762. callnative bhv_init_room
  4763. obj_set_float objGraphYOffset, 0x000A
  4764. scale 10
  4765. begin_loop
  4766. callnative BehSnufitBallsLoop
  4767. end_loop
  4768. glabel bhvHorizontalGrindel # 523C
  4769. begin OBJ_LIST_SURFACE
  4770. collision_data ssl_seg7_collision_grindel
  4771. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4772. drop_floor
  4773. obj_set_pos
  4774. gravity 0x0028, 0xFE70, 0x0000, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4775. scale 90
  4776. callnative bhv_horizontal_grindel_init
  4777. begin_loop
  4778. callnative obj_update_floor_and_walls
  4779. callnative bhv_horizontal_grindel_update
  4780. callnative load_object_collision_model
  4781. end_loop
  4782. glabel bhvEyerokBoss # 5294
  4783. begin OBJ_LIST_GENACTOR
  4784. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4785. obj_set_pos
  4786. begin_loop
  4787. callnative bhv_eyerok_boss_loop
  4788. end_loop
  4789. glabel bhvEyerokHand # 52B0
  4790. begin OBJ_LIST_SURFACE
  4791. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4792. obj_set_int32 objAnimations, eyerok_seg5_anims_050116E4
  4793. animate 0x06
  4794. gravity 0x0096, 0x0000, 0x0000, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
  4795. obj_set_pos
  4796. obj_set_int objAnimState, 3
  4797. begin_loop
  4798. callnative bhv_eyerok_hand_loop
  4799. end_loop
  4800. glabel bhvKlepto # 52F0
  4801. begin OBJ_LIST_GENACTOR
  4802. 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)
  4803. obj_set_int32 objAnimations, klepto_seg5_anims_05008CFC
  4804. animate 0x00
  4805. gravity 0x0064, 0x0000, 0xFFEC, 0x03E8, 0x03E8, 0x00C8, 0x0000, 0x0000
  4806. obj_set_pos
  4807. callnative bhv_klepto_init
  4808. begin_loop
  4809. callnative bhv_klepto_update
  4810. end_loop
  4811. glabel bBird # 5334
  4812. begin OBJ_LIST_DEFAULT
  4813. 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)
  4814. obj_set_int32 objAnimations, birds_seg5_anims_050009E8
  4815. animate 0x00
  4816. unhide
  4817. scale 70
  4818. begin_loop
  4819. callnative bhv_bird_update
  4820. end_loop
  4821. glabel bhvRacingPenguin # 5360
  4822. begin OBJ_LIST_GENACTOR
  4823. 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)
  4824. obj_set_int32 objAnimations, penguin_seg5_anims_05008B74
  4825. animate 0x03
  4826. gravity 0x012C, 0xFCE0, 0xFFFB, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
  4827. scale 400
  4828. callnative bhv_racing_penguin_init
  4829. begin_loop
  4830. callnative bhv_racing_penguin_update
  4831. end_loop
  4832. glabel bhvPenguinRaceFinishLine # 53A4
  4833. begin OBJ_LIST_DEFAULT
  4834. obj_or_int objFlags, (OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4835. begin_loop
  4836. callnative bhv_penguin_race_finish_line_update
  4837. end_loop
  4838. glabel bhvPenguinRaceShortcutCheck # 53BC
  4839. begin OBJ_LIST_DEFAULT
  4840. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4841. begin_loop
  4842. callnative bhv_penguin_race_shortcut_check_update
  4843. end_loop
  4844. glabel bhvHauntedRoomCheck # 53D4
  4845. begin OBJ_LIST_SURFACE
  4846. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4847. callnative bhv_init_room
  4848. begin_loop
  4849. callnative BehHauntedRoomCheckLoop
  4850. end_loop
  4851. glabel bhvHauntedRoomCheckSubobject # 53F4
  4852. begin OBJ_LIST_SURFACE
  4853. collision_data bbh_seg7_collision_coffin
  4854. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4855. obj_set_pos
  4856. callnative bhv_init_room
  4857. begin_loop
  4858. callnative BehHauntedRoomCheckSubobjectLoop
  4859. end_loop
  4860. glabel bhvClamShell # 5420
  4861. begin OBJ_LIST_GENACTOR
  4862. 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)
  4863. drop_floor
  4864. obj_set_int32 objAnimations, clam_shell_seg5_anims_05001744
  4865. obj_set_float objGraphYOffset, 0x000A
  4866. begin_loop
  4867. callnative BehClamShellLoop
  4868. end_loop
  4869. glabel bhvSkeeter # 5448
  4870. begin OBJ_LIST_GENACTOR
  4871. 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)
  4872. obj_set_int32 objAnimations, skeeter_seg6_anims_06007DE0
  4873. obj_set_pos
  4874. gravity 0x00B4, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x04B0, 0x0000, 0x0000
  4875. begin_loop
  4876. callnative bhv_skeeter_update
  4877. end_loop
  4878. glabel bhvSkeeterWave # 5480
  4879. begin OBJ_LIST_UNIMPORTANT
  4880. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4881. begin_loop
  4882. callnative bhv_skeeter_wave_update
  4883. end_loop
  4884. glabel bhvSwingPlatform # 5498
  4885. begin OBJ_LIST_SURFACE
  4886. collision_data rr_seg7_collision_pendulum
  4887. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4888. obj_set_float objCollisionDistance, 0x07D0
  4889. callnative bhv_swing_platform_init
  4890. begin_loop
  4891. callnative bhv_swing_platform_update
  4892. callnative load_object_collision_model
  4893. end_loop
  4894. glabel bhvDonutPlatformSpawner # 54CC
  4895. begin OBJ_LIST_SPAWNER
  4896. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4897. begin_loop
  4898. callnative bhv_donut_platform_spawner_update
  4899. end_loop
  4900. glabel bhvDonutPlatform # 54E4
  4901. begin OBJ_LIST_SURFACE
  4902. collision_data rr_seg7_collision_donut_platform
  4903. obj_or_int objFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4904. obj_set_pos
  4905. begin_loop
  4906. callnative bhv_donut_platform_update
  4907. end_loop
  4908. glabel bhvDDDPole # 5508
  4909. begin OBJ_LIST_POLELIKE
  4910. interact_type INTERACT_POLE
  4911. set_hitbox 0x0050, 0x0320
  4912. obj_set_int objIntangibleTimer, 0
  4913. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4914. obj_set_pos
  4915. callnative bhv_ddd_pole_init
  4916. obj_set_float objVarF4, 10
  4917. begin_loop
  4918. callnative bhv_ddd_pole_update
  4919. callnative BehClimbDetectLoop
  4920. end_loop
  4921. glabel bhvRedCoinStarMarker # 554C
  4922. begin OBJ_LIST_DEFAULT
  4923. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4924. drop_floor
  4925. scale 150
  4926. obj_set_int objFaceAnglePitch, 0x4000
  4927. obj_add_float objPosY, 60
  4928. callnative bhv_red_coin_star_marker_init
  4929. begin_loop
  4930. obj_add_int objFaceAngleYaw, 0x100
  4931. end_loop
  4932. glabel bhvTripletButterfly # 5578
  4933. begin OBJ_LIST_GENACTOR
  4934. 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)
  4935. obj_set_int32 objAnimations, butterfly_seg3_anims_030056B0
  4936. animate 0x00
  4937. unhide
  4938. obj_set_pos
  4939. gravity 0x0000, 0x0000, 0x0000, 0x0000, 0x03E8, 0x00C8, 0x0000, 0x0000
  4940. obj_set_float objVarF4, 1
  4941. begin_loop
  4942. callnative bhv_triplet_butterfly_update
  4943. end_loop
  4944. glabel bhvBubba # 55BC
  4945. begin OBJ_LIST_GENACTOR
  4946. 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)
  4947. obj_set_pos
  4948. gravity 0x00C8, 0xFE70, 0xFFCE, 0x03E8, 0x03E8, 0x0000, 0x0000, 0x0000
  4949. scale 50
  4950. begin_loop
  4951. callnative BehBubbaLoop
  4952. end_loop
  4953. glabel bhvBeginningLakitu # 55F0
  4954. begin OBJ_LIST_DEFAULT
  4955. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4956. obj_set_int32 objAnimations, lakitu_seg6_anims_060058F8
  4957. animate 0x00
  4958. obj_set_float objOpacity, 0x0000
  4959. begin_loop
  4960. callnative BehBeginningLakituLoop
  4961. end_loop
  4962. glabel bhvBeginningPeach # 5618
  4963. begin OBJ_LIST_DEFAULT
  4964. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4965. obj_set_int32 objAnimations, peach_seg5_anims_0501C41C
  4966. animate 0x00
  4967. begin_loop
  4968. callnative BehBeginningPeachLoop
  4969. end_loop
  4970. glabel bhvEndBirds1 # 563C
  4971. begin OBJ_LIST_DEFAULT
  4972. obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4973. obj_set_int32 objAnimations, birds_seg5_anims_050009E8
  4974. animate 0x00
  4975. begin_loop
  4976. callnative BehEndBirds1Loop
  4977. end_loop
  4978. glabel bhvEndBirds2 # 5660
  4979. begin OBJ_LIST_DEFAULT
  4980. obj_or_int objFlags, (OBJ_FLAG_0010 | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)
  4981. obj_set_int32 objAnimations, birds_seg5_anims_050009E8
  4982. animate 0x00
  4983. begin_loop
  4984. callnative BehEndBirds2Loop
  4985. end_loop
  4986. glabel bhvIntroScene # 5684
  4987. begin OBJ_LIST_DEFAULT
  4988. obj_or_int objFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE
  4989. begin_loop
  4990. callnative BehIntroSceneLoop
  4991. end_loop
  4992. .align 4
  4993. glabel behavior_data_end