From cbdce77daff5a4a2915d4d2b5aec51154c4bffee Mon Sep 17 00:00:00 2001 From: HailSanta <53960937+HailSanta@users.noreply.github.com> Date: Sun, 25 Dec 2022 00:10:23 -0500 Subject: [PATCH] area_spooky (#894) * obk_01 * obk_02 * obk_03 * obk_06 * obk_05 * checkpoint * chandelier documentation * obk_04 * obk_09 * obk_07 * obk done * tabs * kmr_22 * kmr_11 * last thing Co-authored-by: HailSanta --- include/enums.h | 23 +- include/npc.h | 2 +- include/script_api/common.h | 1 + include/script_api/macros.h | 77 +- include/script_api/map.h | 1 + src/38F00.c | 4 +- src/animation_script.h | 5 +- src/audio.h | 4 +- src/audio/28910_len_5090.c | 50 +- src/audio/30450.c | 8 +- src/audio/private.h | 8 +- src/audio/public.h | 4 +- src/entity/model/BellbellPlant_anim.c | 14 +- src/entity/model/CymbalPlant_anim.c | 32 +- .../model/HitFloatingYellowBlock_anim.c | 12 +- src/entity/model/HitRedBlock_anim.c | 12 +- src/entity/model/HitYellowBlock_anim.c | 12 +- src/entity/model/MunchlesiaBeginChew_anim.c | 28 +- src/entity/model/MunchlesiaChewing_anim.c | 6 +- src/entity/model/MunchlesiaEnvelop_anim.c | 26 +- src/entity/model/MunchlesiaGrab_anim.c | 26 +- src/entity/model/MunchlesiaReset1_anim.c | 28 +- src/entity/model/MunchlesiaReset_anim.c | 26 +- src/entity/model/MunchlesiaSpitOut_anim.c | 28 +- src/entity/model/PinkFlower_anim.c | 16 +- src/entity/model/ScriptSpring_anim.c | 30 +- src/entity/model/SimpleSpring_anim.c | 30 +- src/entity/model/TrumpetPlant_anim.c | 8 +- src/evt/npc_api.c | 4 +- src/npc.c | 69 +- src/world/area_arn/arn_03/arn_03_3_npc.c | 6 +- src/world/area_arn/arn_05/arn_05_3_npc.c | 26 +- src/world/area_arn/arn_07/arn_07_5_npc.c | 6 +- src/world/area_dro/dro_01/dro_01.h | 2 - src/world/area_dro/dro_01/dro_01_3_npc.c | 2 +- src/world/area_end/end_00/end_00_7_boos.c | 12 +- src/world/area_flo/flo_00/flo_00_4_epilogue.c | 2 +- .../area_flo/flo_00/flo_00_5_beanstalk.c | 4 +- ...3_5_new_party.c => flo_13_5_new_partner.c} | 0 src/world/area_flo/flo_21/flo_21_4_npc.c | 6 +- src/world/area_isk/isk_16/isk_16_3_boss.c | 16 +- ...0_7_new_party.c => iwa_10_7_new_partner.c} | 0 src/world/area_iwa/iwa_11/iwa_11_3_train.c | 2 +- src/world/area_kmr/kmr.h | 2 + src/world/area_kmr/kmr_02/8B0070.c | 4 +- src/world/area_kmr/kmr_09/kmr_09_3_npc.c | 6 +- src/world/area_kmr/kmr_11/8DA100.c | 15 - src/world/area_kmr/kmr_11/8DA3A0.c | 24 - src/world/area_kmr/kmr_11/8DAFC0.c | 11 - src/world/area_kmr/kmr_11/8DB020.c | 6 - src/world/area_kmr/kmr_11/kmr_11.h | 52 +- src/world/area_kmr/kmr_11/kmr_11_0_header.c | 14 + .../kmr_11/kmr_11_10_bridge_skeleton.c | 265 ++ .../kmr_11/kmr_11_11_bridge_animation.c | 763 +++++ src/world/area_kmr/kmr_11/kmr_11_1_music.c | 7 + src/world/area_kmr/kmr_11/kmr_11_2_main.c | 150 + src/world/area_kmr/kmr_11/kmr_11_3_scenes.c | 465 +++ src/world/area_kmr/kmr_11/kmr_11_4_npc.c | 441 +++ src/world/area_kmr/kmr_11/kmr_11_5_entity.c | 102 + src/world/area_kmr/kmr_11/kmr_11_6_kammy.c | 59 + src/world/area_kmr/kmr_11/kmr_11_7_foliage.c | 133 + .../kmr_11/kmr_11_8_fortress_skeleton.c | 733 ++++ .../kmr_11/kmr_11_9_fortress_animation.c | 2983 +++++++++++++++++ src/world/area_kmr/kmr_12/kmr_12_3_npc.c | 4 +- src/world/area_kmr/kmr_22/8FF670.c | 16 - src/world/area_kmr/kmr_22/8FF680.c | 83 - src/world/area_kmr/kmr_22/kmr_22.h | 69 +- src/world/area_kmr/kmr_22/kmr_22_0_header.c | 23 + src/world/area_kmr/kmr_22/kmr_22_1_main.c | 186 + src/world/area_kmr/kmr_22/kmr_22_2_npc.c | 809 +++++ src/world/area_kmr/kmr_22/npc/chapter_1.inc.c | 13 + src/world/area_kmr/kmr_22/npc/chapter_2.inc.c | 33 + src/world/area_kmr/kmr_22/npc/chapter_3.inc.c | 13 + src/world/area_kmr/kmr_22/npc/chapter_4.inc.c | 20 + src/world/area_kmr/kmr_22/npc/chapter_5.inc.c | 6 + src/world/area_kmr/kmr_22/npc/chapter_6.inc.c | 41 + src/world/area_kmr/kmr_22/npc/chapter_7.inc.c | 34 + src/world/area_kmr/kmr_22/npc/chapter_8.inc.c | 6 + .../area_kmr/kmr_22/npc/lava_piranha.inc.c | 234 ++ src/world/area_kmr/kmr_23/kmr_23_2_npc.c | 2 +- src/world/area_kzn/kzn_17/kzn_17_3_npc.c | 4 +- src/world/area_kzn/kzn_19/kzn_19_4_npc.c | 674 +--- src/world/area_mac/mac_00/mac_00.h | 2 - src/world/area_mac/mac_00/mac_00_12_intro.c | 4 +- .../area_mac/mac_00/mac_00_14_epilogue.c | 4 +- src/world/area_mac/mac_00/mac_00_5_npc.c | 6 +- src/world/area_mac/mac_01/mac_01_9_npc.c | 8 +- src/world/area_mac/mac_02/npc/bootler.inc.c | 2 +- src/world/area_mac/mac_04/mac_04_6_npc.c | 2 - src/world/area_mim/mim_10/mim_10_4_npc.c | 10 +- src/world/area_mim/mim_11/mim_11_3_gate.c | 4 +- src/world/area_mim/mim_12/mim_12_3_main.c | 4 +- src/world/area_mim/mim_12/mim_12_5_gate.c | 8 +- .../{obk_03/BC4B50.c => RockingChair.inc.c} | 56 +- src/world/area_obk/TrafficBoos.inc.c | 110 + src/world/area_obk/obk.h | 52 +- src/world/area_obk/obk_01/BBD1A0.c | 259 -- src/world/area_obk/obk_01/BBD980.c | 109 - src/world/area_obk/obk_01/obk_01.h | 29 +- src/world/area_obk/obk_01/obk_01_0_header.c | 18 + src/world/area_obk/obk_01/obk_01_1_music.c | 12 + src/world/area_obk/obk_01/obk_01_2_main.c | 206 ++ .../area_obk/obk_01/obk_01_3_chandelier.c | 628 ++++ src/world/area_obk/obk_01/obk_01_4_portrait.c | 255 ++ .../area_obk/obk_01/obk_01_5_jump_scare.c | 43 + src/world/area_obk/obk_01/obk_01_6_npc.c | 285 ++ src/world/area_obk/obk_01/obk_01_7_entity.c | 9 + src/world/area_obk/obk_02/BC2A90.c | 45 - src/world/area_obk/obk_02/BC2CD0.c | 7 - src/world/area_obk/obk_02/obk_02.h | 25 +- src/world/area_obk/obk_02/obk_02_0_header.c | 15 + src/world/area_obk/obk_02/obk_02_1_music.c | 11 + src/world/area_obk/obk_02/obk_02_2_main.c | 201 ++ src/world/area_obk/obk_02/obk_02_3_npc.c | 47 + src/world/area_obk/obk_02/obk_02_4_bombable.c | 36 + src/world/area_obk/obk_02/obk_02_5_clock.c | 41 + src/world/area_obk/obk_02/obk_02_6_entity.c | 59 + src/world/area_obk/obk_03/BC4280.c | 8 - src/world/area_obk/obk_03/BC43F0.c | 46 - src/world/area_obk/obk_03/obk_03.h | 21 +- src/world/area_obk/obk_03/obk_03_0_header.c | 14 + src/world/area_obk/obk_03/obk_03_1_music.c | 11 + src/world/area_obk/obk_03/obk_03_2_main.c | 84 + src/world/area_obk/obk_03/obk_03_3_shop.c | 91 + src/world/area_obk/obk_03/obk_03_4_entity.c | 171 + src/world/area_obk/obk_03/obk_03_5_stairs.c | 201 ++ src/world/area_obk/obk_03/obk_03_6_npc.c | 67 + .../area_obk/obk_03/obk_03_7_rocking_chair.c | 13 + src/world/area_obk/obk_04/BC7E60.c | 9 - src/world/area_obk/obk_04/BC7EB0.c | 362 -- src/world/area_obk/obk_04/obk_04.h | 53 +- src/world/area_obk/obk_04/obk_04_0_header.c | 12 + src/world/area_obk/obk_04/obk_04_1_music.c | 19 + src/world/area_obk/obk_04/obk_04_2_entity.c | 53 + src/world/area_obk/obk_04/obk_04_3_npc.c | 673 ++++ src/world/area_obk/obk_04/obk_04_4_main.c | 84 + src/world/area_obk/obk_04/obk_04_5_hole.c | 17 + src/world/area_obk/obk_04/obk_04_6_game.c | 519 +++ src/world/area_obk/obk_05/BCD060.c | 202 -- src/world/area_obk/obk_05/BCD7D0.c | 80 - src/world/area_obk/obk_05/obk_05.h | 23 +- src/world/area_obk/obk_05/obk_05_0_header.c | 13 + src/world/area_obk/obk_05/obk_05_1_music.c | 11 + src/world/area_obk/obk_05/obk_05_2_main.c | 101 + .../area_obk/obk_05/obk_05_3_rocking_chair.c | 22 + src/world/area_obk/obk_05/obk_05_4_hole.c | 18 + src/world/area_obk/obk_05/obk_05_5_npc.c | 47 + src/world/area_obk/obk_05/obk_05_6_entity.c | 21 + src/world/area_obk/obk_06/BCE690.c | 3 - src/world/area_obk/obk_06/obk_06.h | 10 +- src/world/area_obk/obk_06/obk_06_0_header.c | 13 + src/world/area_obk/obk_06/obk_06_1_music.c | 11 + src/world/area_obk/obk_06/obk_06_2_main.c | 34 + src/world/area_obk/obk_06/obk_06_3_bombable.c | 36 + src/world/area_obk/obk_06/obk_06_4_entity.c | 22 + src/world/area_obk/obk_07/BCEBF0.c | 12 - src/world/area_obk/obk_07/BCEEB0.c | 40 - src/world/area_obk/obk_07/BCF0F0.c | 481 --- src/world/area_obk/obk_07/obk_07.h | 48 +- src/world/area_obk/obk_07/obk_07_0_header.c | 13 + src/world/area_obk/obk_07/obk_07_1_music.c | 11 + src/world/area_obk/obk_07/obk_07_2_main.c | 68 + src/world/area_obk/obk_07/obk_07_3_entity.c | 23 + .../area_obk/obk_07/obk_07_4_fireplace.c | 122 + src/world/area_obk/obk_07/obk_07_5_npc.c | 71 + .../area_obk/obk_07/obk_07_6_phonograph.c | 1089 ++++++ src/world/area_obk/obk_08/BD3870.c | 12 - src/world/area_obk/obk_08/BD40B0.c | 14 - src/world/area_obk/obk_08/BD4110.c | 183 - src/world/area_obk/obk_08/BD4A90.c | 106 - src/world/area_obk/obk_08/obk_08.h | 56 +- src/world/area_obk/obk_08/obk_08_0_header.c | 13 + src/world/area_obk/obk_08/obk_08_1_music.c | 11 + src/world/area_obk/obk_08/obk_08_2_main.c | 59 + src/world/area_obk/obk_08/obk_08_3_cabinets.c | 340 ++ src/world/area_obk/obk_08/obk_08_4_entity.c | 175 + src/world/area_obk/obk_08/obk_08_5_npc.c | 558 +++ src/world/area_obk/obk_08/obk_08_6_game.c | 444 +++ src/world/area_obk/obk_09/BDA7B0.c | 3 - src/world/area_obk/obk_09/BDA940.c | 49 - src/world/area_obk/obk_09/BDABA0.c | 6 - src/world/area_obk/obk_09/obk_09.h | 29 +- src/world/area_obk/obk_09/obk_09_0_header.c | 19 + src/world/area_obk/obk_09/obk_09_1_music.c | 25 + src/world/area_obk/obk_09/obk_09_2_main.c | 78 + src/world/area_obk/obk_09/obk_09_3_meet_bow.c | 189 ++ src/world/area_obk/obk_09/obk_09_4_npc.c | 199 ++ .../{BDAB00.c => obk_09_5_new_partner.c} | 4 +- src/world/area_obk/obk_09/obk_09_6_epilogue.c | 59 + src/world/area_omo/omo_04/DAF240.c | 4 +- src/world/area_omo/omo_07/DC04D0.c | 4 +- src/world/area_omo/omo_09/DD02E0.c | 4 +- src/world/area_trd/trd_03/trd_03_3_npc.c | 4 +- src/world/area_trd/trd_05/trd_05_4_npc.c | 8 +- src/world/area_trd/trd_06/trd_06.h | 1 - .../area_trd/trd_06/trd_06_4_npc_koopa_bros.c | 102 +- .../area_trd/trd_07/trd_07_3_magic_doors.c | 4 +- src/world/area_trd/trd_10/trd_10_2_npc.c | 4 +- src/world/common/enemy/complete/LavaPiranha.h | 7 + src/world/common/enemy/complete/ShyGuy.h | 2 +- .../lava_piranha/LoadAnimationFromTable.inc.c | 33 + src/world/common/lava_piranha/part1.inc.c | 18 + .../lava_piranha/part2.inc.c} | 113 +- .../lava_piranha/skele1.c} | 0 .../lava_piranha/skele2.c} | 0 .../lava_piranha/skele3.c} | 0 src/world/common/npc/Boo_Wander.inc.c | 22 + src/world/common/npc/Bow.h | 29 + src/world/common/npc/KoopaBros.h | 89 + src/world/common/todo/UnkAngleFunc004.inc.c | 36 - .../GetKammyBroomEmitterPos.inc.c} | 10 +- .../dead/area_flo/flo_00/flo_00_4_epilogue.c | 2 +- .../dead/area_flo/flo_00/flo_00_5_beanstalk.c | 4 +- ...3_5_new_party.c => flo_13_5_new_partner.c} | 0 src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c | 4 +- src/world/world.c | 23 +- .../data/world/area_jan/jan_02/B33E50.data.s | 4 +- .../data/world/area_kmr/kmr_02/8B5640.data.s | 2 +- .../data/world/area_kmr/kmr_11/8DB260.data.s | 6 - .../data/world/area_kmr/kmr_11/8DB2F0.data.s | 24 - .../data/world/area_kmr/kmr_11/8DC270.data.s | 54 - .../data/world/area_kmr/kmr_11/8DE400.data.s | 63 - .../data/world/area_kmr/kmr_11/8DFBB0.data.s | 12 - .../data/world/area_kmr/kmr_11/8E0190.data.s | 507 --- .../data/world/area_kmr/kmr_22/900380.data.s | 15 - .../data/world/area_kmr/kmr_22/900A80.data.s | 204 -- .../data/world/area_obk/obk_01/BBE2E0.data.s | 6 - .../data/world/area_obk/obk_01/BBE410.data.s | 60 - .../data/world/area_obk/obk_01/BC0100.data.s | 21 - .../data/world/area_obk/obk_01/BC11A0.data.s | 90 - .../data/world/area_obk/obk_02/BC2D40.data.s | 6 - .../data/world/area_obk/obk_02/BC2E20.data.s | 45 - .../data/world/area_obk/obk_02/BC3720.data.s | 27 - .../data/world/area_obk/obk_02/BC3DE0.data.s | 6 - .../data/world/area_obk/obk_02/BC3F60.data.s | 9 - .../data/world/area_obk/obk_03/BC5270.data.s | 6 - .../data/world/area_obk/obk_03/BC5350.data.s | 15 - .../data/world/area_obk/obk_03/BC5770.data.s | 21 - .../data/world/area_obk/obk_03/BC5A00.data.s | 24 - .../data/world/area_obk/obk_03/BC6250.data.s | 15 - .../data/world/area_obk/obk_03/BC7120.data.s | 51 - .../data/world/area_obk/obk_03/BC7DE0.data.s | 6 - .../data/world/area_obk/obk_04/BC8CE0.data.s | 6 - .../data/world/area_obk/obk_04/BC8DE0.data.s | 9 - .../data/world/area_obk/obk_04/BC9020.data.s | 111 - .../data/world/area_obk/obk_04/BCB260.data.s | 12 - .../data/world/area_obk/obk_04/BCB870.data.s | 24 - .../data/world/area_obk/obk_05/BCDA40.data.s | 6 - .../data/world/area_obk/obk_05/BCDB00.data.s | 21 - .../data/world/area_obk/obk_05/BCDFF0.data.s | 6 - .../data/world/area_obk/obk_05/BCE040.data.s | 24 - .../data/world/area_obk/obk_06/BCE690.data.s | 6 - .../data/world/area_obk/obk_06/BCE760.data.s | 21 - .../data/world/area_obk/obk_06/BCEAD0.data.s | 6 - .../data/world/area_obk/obk_07/BD0780.data.s | 6 - .../data/world/area_obk/obk_07/BD0840.data.s | 12 - .../data/world/area_obk/obk_07/BD0BA0.data.s | 15 - .../data/world/area_obk/obk_07/BD0DB0.data.s | 21 - .../data/world/area_obk/obk_07/BD14F0.data.s | 30 - .../data/world/area_obk/obk_07/BD1C80.data.s | 69 - .../data/world/area_obk/obk_08/BD5010.data.s | 6 - .../data/world/area_obk/obk_08/BD50D0.data.s | 45 - .../data/world/area_obk/obk_08/BD64D0.data.s | 9 - .../data/world/area_obk/obk_08/BD6DD0.data.s | 126 - .../data/world/area_obk/obk_09/BDABE0.data.s | 21 - .../data/world/area_obk/obk_09/BDB140.data.s | 36 - .../data/world/area_obk/obk_09/BDCE10.data.s | 6 - .../data/world/area_omo/omo_04/DAF3E0.data.s | 2 +- .../data/world/area_omo/omo_07/DC3730.data.s | 2 +- .../data/world/area_omo/omo_09/DD6BB0.data.s | 2 +- .../obk_01/BBD980/func_80240B24_BBDCC4.s | 28 - .../obk_03/BC43F0/func_802404B4_BC4734.s | 28 - .../obk_04/BC7EB0/func_80240624_BC8484.s | 4 +- .../obk_07/BCF0F0/func_80240564_BCF154.s | 30 +- .../obk_07/BCF0F0/func_80241790_BD0380.s | 2 +- ver/us/splat.yaml | 199 +- ver/us/symbol_addrs.txt | 162 +- ver/us/undefined_syms.txt | 3 + 278 files changed, 17008 insertions(+), 5533 deletions(-) rename src/world/area_flo/flo_13/{flo_13_5_new_party.c => flo_13_5_new_partner.c} (100%) rename src/world/area_iwa/iwa_10/{iwa_10_7_new_party.c => iwa_10_7_new_partner.c} (100%) delete mode 100644 src/world/area_kmr/kmr_11/8DA100.c delete mode 100644 src/world/area_kmr/kmr_11/8DA3A0.c delete mode 100644 src/world/area_kmr/kmr_11/8DAFC0.c delete mode 100644 src/world/area_kmr/kmr_11/8DB020.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_0_header.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_10_bridge_skeleton.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_11_bridge_animation.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_1_music.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_2_main.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_3_scenes.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_4_npc.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_5_entity.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_6_kammy.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_7_foliage.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_8_fortress_skeleton.c create mode 100644 src/world/area_kmr/kmr_11/kmr_11_9_fortress_animation.c delete mode 100644 src/world/area_kmr/kmr_22/8FF670.c delete mode 100644 src/world/area_kmr/kmr_22/8FF680.c create mode 100644 src/world/area_kmr/kmr_22/kmr_22_0_header.c create mode 100644 src/world/area_kmr/kmr_22/kmr_22_1_main.c create mode 100644 src/world/area_kmr/kmr_22/kmr_22_2_npc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_1.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_2.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_3.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_4.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_5.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_6.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_7.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/chapter_8.inc.c create mode 100644 src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c rename src/world/area_obk/{obk_03/BC4B50.c => RockingChair.inc.c} (85%) create mode 100644 src/world/area_obk/TrafficBoos.inc.c delete mode 100644 src/world/area_obk/obk_01/BBD1A0.c delete mode 100644 src/world/area_obk/obk_01/BBD980.c create mode 100644 src/world/area_obk/obk_01/obk_01_0_header.c create mode 100644 src/world/area_obk/obk_01/obk_01_1_music.c create mode 100644 src/world/area_obk/obk_01/obk_01_2_main.c create mode 100644 src/world/area_obk/obk_01/obk_01_3_chandelier.c create mode 100644 src/world/area_obk/obk_01/obk_01_4_portrait.c create mode 100644 src/world/area_obk/obk_01/obk_01_5_jump_scare.c create mode 100644 src/world/area_obk/obk_01/obk_01_6_npc.c create mode 100644 src/world/area_obk/obk_01/obk_01_7_entity.c delete mode 100644 src/world/area_obk/obk_02/BC2A90.c delete mode 100644 src/world/area_obk/obk_02/BC2CD0.c create mode 100644 src/world/area_obk/obk_02/obk_02_0_header.c create mode 100644 src/world/area_obk/obk_02/obk_02_1_music.c create mode 100644 src/world/area_obk/obk_02/obk_02_2_main.c create mode 100644 src/world/area_obk/obk_02/obk_02_3_npc.c create mode 100644 src/world/area_obk/obk_02/obk_02_4_bombable.c create mode 100644 src/world/area_obk/obk_02/obk_02_5_clock.c create mode 100644 src/world/area_obk/obk_02/obk_02_6_entity.c delete mode 100644 src/world/area_obk/obk_03/BC4280.c delete mode 100644 src/world/area_obk/obk_03/BC43F0.c create mode 100644 src/world/area_obk/obk_03/obk_03_0_header.c create mode 100644 src/world/area_obk/obk_03/obk_03_1_music.c create mode 100644 src/world/area_obk/obk_03/obk_03_2_main.c create mode 100644 src/world/area_obk/obk_03/obk_03_3_shop.c create mode 100644 src/world/area_obk/obk_03/obk_03_4_entity.c create mode 100644 src/world/area_obk/obk_03/obk_03_5_stairs.c create mode 100644 src/world/area_obk/obk_03/obk_03_6_npc.c create mode 100644 src/world/area_obk/obk_03/obk_03_7_rocking_chair.c delete mode 100644 src/world/area_obk/obk_04/BC7E60.c delete mode 100644 src/world/area_obk/obk_04/BC7EB0.c create mode 100644 src/world/area_obk/obk_04/obk_04_0_header.c create mode 100644 src/world/area_obk/obk_04/obk_04_1_music.c create mode 100644 src/world/area_obk/obk_04/obk_04_2_entity.c create mode 100644 src/world/area_obk/obk_04/obk_04_3_npc.c create mode 100644 src/world/area_obk/obk_04/obk_04_4_main.c create mode 100644 src/world/area_obk/obk_04/obk_04_5_hole.c create mode 100644 src/world/area_obk/obk_04/obk_04_6_game.c delete mode 100644 src/world/area_obk/obk_05/BCD060.c delete mode 100644 src/world/area_obk/obk_05/BCD7D0.c create mode 100644 src/world/area_obk/obk_05/obk_05_0_header.c create mode 100644 src/world/area_obk/obk_05/obk_05_1_music.c create mode 100644 src/world/area_obk/obk_05/obk_05_2_main.c create mode 100644 src/world/area_obk/obk_05/obk_05_3_rocking_chair.c create mode 100644 src/world/area_obk/obk_05/obk_05_4_hole.c create mode 100644 src/world/area_obk/obk_05/obk_05_5_npc.c create mode 100644 src/world/area_obk/obk_05/obk_05_6_entity.c delete mode 100644 src/world/area_obk/obk_06/BCE690.c create mode 100644 src/world/area_obk/obk_06/obk_06_0_header.c create mode 100644 src/world/area_obk/obk_06/obk_06_1_music.c create mode 100644 src/world/area_obk/obk_06/obk_06_2_main.c create mode 100644 src/world/area_obk/obk_06/obk_06_3_bombable.c create mode 100644 src/world/area_obk/obk_06/obk_06_4_entity.c delete mode 100644 src/world/area_obk/obk_07/BCEBF0.c delete mode 100644 src/world/area_obk/obk_07/BCEEB0.c delete mode 100644 src/world/area_obk/obk_07/BCF0F0.c create mode 100644 src/world/area_obk/obk_07/obk_07_0_header.c create mode 100644 src/world/area_obk/obk_07/obk_07_1_music.c create mode 100644 src/world/area_obk/obk_07/obk_07_2_main.c create mode 100644 src/world/area_obk/obk_07/obk_07_3_entity.c create mode 100644 src/world/area_obk/obk_07/obk_07_4_fireplace.c create mode 100644 src/world/area_obk/obk_07/obk_07_5_npc.c create mode 100644 src/world/area_obk/obk_07/obk_07_6_phonograph.c delete mode 100644 src/world/area_obk/obk_08/BD3870.c delete mode 100644 src/world/area_obk/obk_08/BD40B0.c delete mode 100644 src/world/area_obk/obk_08/BD4110.c delete mode 100644 src/world/area_obk/obk_08/BD4A90.c create mode 100644 src/world/area_obk/obk_08/obk_08_0_header.c create mode 100644 src/world/area_obk/obk_08/obk_08_1_music.c create mode 100644 src/world/area_obk/obk_08/obk_08_2_main.c create mode 100644 src/world/area_obk/obk_08/obk_08_3_cabinets.c create mode 100644 src/world/area_obk/obk_08/obk_08_4_entity.c create mode 100644 src/world/area_obk/obk_08/obk_08_5_npc.c create mode 100644 src/world/area_obk/obk_08/obk_08_6_game.c delete mode 100644 src/world/area_obk/obk_09/BDA7B0.c delete mode 100644 src/world/area_obk/obk_09/BDA940.c delete mode 100644 src/world/area_obk/obk_09/BDABA0.c create mode 100644 src/world/area_obk/obk_09/obk_09_0_header.c create mode 100644 src/world/area_obk/obk_09/obk_09_1_music.c create mode 100644 src/world/area_obk/obk_09/obk_09_2_main.c create mode 100644 src/world/area_obk/obk_09/obk_09_3_meet_bow.c create mode 100644 src/world/area_obk/obk_09/obk_09_4_npc.c rename src/world/area_obk/obk_09/{BDAB00.c => obk_09_5_new_partner.c} (56%) create mode 100644 src/world/area_obk/obk_09/obk_09_6_epilogue.c create mode 100644 src/world/common/lava_piranha/LoadAnimationFromTable.inc.c create mode 100644 src/world/common/lava_piranha/part1.inc.c rename src/world/{area_kmr/kmr_22/8FF8B0.c => common/lava_piranha/part2.inc.c} (81%) rename src/world/{area_kzn/kzn_19/kzn_19_anim1.c => common/lava_piranha/skele1.c} (100%) rename src/world/{area_kzn/kzn_19/kzn_19_anim2.c => common/lava_piranha/skele2.c} (100%) rename src/world/{area_kzn/kzn_19/kzn_19_anim3.c => common/lava_piranha/skele3.c} (100%) create mode 100644 src/world/common/npc/Boo_Wander.inc.c create mode 100644 src/world/common/npc/Bow.h create mode 100644 src/world/common/npc/KoopaBros.h delete mode 100644 src/world/common/todo/UnkAngleFunc004.inc.c rename src/world/common/{todo/UnkNpcPosFunc.inc.c => util/GetKammyBroomEmitterPos.inc.c} (61%) rename src/world/dead/area_flo/flo_13/{flo_13_5_new_party.c => flo_13_5_new_partner.c} (100%) delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_11/8DB260.data.s delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_11/8DB2F0.data.s delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_11/8DC270.data.s delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_11/8DE400.data.s delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_11/8DFBB0.data.s delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_11/8E0190.data.s delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_22/900380.data.s delete mode 100644 ver/us/asm/data/world/area_kmr/kmr_22/900A80.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_01/BBE2E0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_01/BBE410.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_01/BC0100.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_01/BC11A0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_02/BC2D40.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_02/BC2E20.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_02/BC3720.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_02/BC3DE0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_02/BC3F60.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_03/BC5270.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_03/BC5350.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_03/BC5770.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_03/BC5A00.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_03/BC6250.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_03/BC7120.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_03/BC7DE0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_04/BC8CE0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_04/BC8DE0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_04/BC9020.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_04/BCB260.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_04/BCB870.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_05/BCDA40.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_05/BCDB00.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_05/BCDFF0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_05/BCE040.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_06/BCE690.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_06/BCE760.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_06/BCEAD0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_07/BD0780.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_07/BD0840.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_07/BD0BA0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_07/BD0DB0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_07/BD14F0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_07/BD1C80.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_08/BD5010.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_08/BD50D0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_08/BD64D0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_08/BD6DD0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_09/BDABE0.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_09/BDB140.data.s delete mode 100644 ver/us/asm/data/world/area_obk/obk_09/BDCE10.data.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_01/BBD980/func_80240B24_BBDCC4.s delete mode 100644 ver/us/asm/nonmatchings/world/area_obk/obk_03/BC43F0/func_802404B4_BC4734.s diff --git a/include/enums.h b/include/enums.h index b885c46808..23f3d2355f 100644 --- a/include/enums.h +++ b/include/enums.h @@ -1668,11 +1668,11 @@ enum ItemIDs { ITEM_LETTER_TO_MINHT = 0x0000003E, ITEM_UNUSED_LETTER02 = 0x0000003F, ITEM_LETTER10 = 0x00000040, - ITEM_LETTER11 = 0x00000041, + ITEM_LETTER_TO_IGOR = 0x00000041, ITEM_UNUSED_LETTER03 = 0x00000042, ITEM_UNUSED_LETTER04 = 0x00000043, ITEM_UNUSED_LETTER05 = 0x00000044, - ITEM_LETTER12 = 0x00000045, + ITEM_LETTER_TO_FRANKY = 0x00000045, ITEM_LETTER13 = 0x00000046, ITEM_LETTER14 = 0x00000047, ITEM_LETTER15 = 0x00000048, @@ -4353,6 +4353,25 @@ enum CopiedVtxUnit { VTX_COPY_F = 0xF, }; +enum ModelAnimUnit { + MDL_ANIMATOR_0 = 0x0, + MDL_ANIMATOR_1 = 0x1, + MDL_ANIMATOR_2 = 0x2, + MDL_ANIMATOR_3 = 0x3, + MDL_ANIMATOR_4 = 0x4, + MDL_ANIMATOR_5 = 0x5, + MDL_ANIMATOR_6 = 0x6, + MDL_ANIMATOR_7 = 0x7, + MDL_ANIMATOR_8 = 0x8, + MDL_ANIMATOR_9 = 0x9, + MDL_ANIMATOR_A = 0xA, + MDL_ANIMATOR_B = 0xB, + MDL_ANIMATOR_C = 0xC, + MDL_ANIMATOR_D = 0xD, + MDL_ANIMATOR_E = 0xE, + MDL_ANIMATOR_F = 0xF, +}; + enum EnemyFlags { ENEMY_FLAGS_1 = 0x00000001, ENEMY_FLAGS_2 = 0x00000002, diff --git a/include/npc.h b/include/npc.h index f013dd07b4..4f4f021aa2 100644 --- a/include/npc.h +++ b/include/npc.h @@ -461,7 +461,7 @@ void disable_npc_shadow(Npc* npc); void update_npc_blur(Npc* npc); -void appendGfx_npc_blur(Npc* npc); +void appendGfx_npc_blur(void* appendData); void npc_enable_collisions(void); diff --git a/include/script_api/common.h b/include/script_api/common.h index c7b72b0317..85ca1e1e61 100644 --- a/include/script_api/common.h +++ b/include/script_api/common.h @@ -264,6 +264,7 @@ ApiStatus AddBadge(Evt* script, s32 isInitialCall); ApiStatus RemoveBadge(Evt* script, s32 isInitialCall); ApiStatus SetItemPos(Evt* script, s32 isInitialCall); ApiStatus SetItemFlags(Evt* script, s32 isInitialCall); +ApiStatus SetItemAlpha(Evt* script, s32 isInitialCall); ApiStatus AddCoin(Evt* script, s32 isInitialCall); ApiStatus AddStarPoints(Evt* script, s32 isInitialCall); ApiStatus AddStarPieces(Evt* script, s32 isInitialCall); diff --git a/include/script_api/macros.h b/include/script_api/macros.h index c480c93714..45503abdf6 100644 --- a/include/script_api/macros.h +++ b/include/script_api/macros.h @@ -574,29 +574,70 @@ /// Prints variable name and value #define EVT_DEBUG_PRINT_VAR(VAR) EVT_CMD(EVT_OP_DEBUG_PRINT_VAR, VAR), +/****** VECTOR OPERATIONS *********************************************************************************************/ + +// expand vector components +#define EVT_AS_VEC2(baseVar) (baseVar), (baseVar + 1) +#define EVT_AS_VEC3(baseVar) (baseVar), (baseVar + 1), (baseVar + 2) + +// extract components from vector +#define EVT_VEC_X(baseVar) (baseVar) +#define EVT_VEC_Y(baseVar) (baseVar + 1) +#define EVT_VEC_Z(baseVar) (baseVar + 2) + +#define EVT_VEC2_OP(OPERATION, MUT_BASE, x, y) \ + OPERATION(MUT_BASE + 0, x) \ + OPERATION(MUT_BASE + 1, y) + +#define EVT_VEC3_OP(OPERATION, MUT_BASE, x, y, z) \ + OPERATION(MUT_BASE + 0, x) \ + OPERATION(MUT_BASE + 1, y) \ + OPERATION(MUT_BASE + 2, z) + +#define EVT_VEC2_VOP(OPERATION, MUT_BASE, AMT_BASE) \ + OPERATION(MUT_BASE + 0, AMT_BASE + 0) \ + OPERATION(MUT_BASE + 1, AMT_BASE + 1) + +#define EVT_VEC3_VOP(OPERATION, MUT_BASE, AMT_BASE) \ + OPERATION(MUT_BASE + 0, AMT_BASE + 0) \ + OPERATION(MUT_BASE + 1, AMT_BASE + 1) \ + OPERATION(MUT_BASE + 2, AMT_BASE + 2) + +#define EVT_VEC2I_SET(baseVar, x, y) EVT_VEC2_OP(EVT_SET, baseVar, x, y) +#define EVT_VEC2F_SET(baseVar, x, y) EVT_VEC2_OP(EVT_SETF, baseVar, x, y) +#define EVT_VEC3I_SET(baseVar, x, y, z) EVT_VEC3_OP(EVT_SET, baseVar, x, y, z) +#define EVT_VEC3F_SET(baseVar, x, y, z) EVT_VEC3_OP(EVT_SETF, baseVar, x, y, z) + +#define EVT_VEC2I_VSET(baseVar, baseSrc) EVT_VEC2_VOP(EVT_SET, baseVar, baseSrc) +#define EVT_VEC2F_VSET(baseVar, baseSrc) EVT_VEC2_VOP(EVT_SETF, baseVar, baseSrc) +#define EVT_VEC3I_VSET(baseVar, baseSrc) EVT_VEC3_VOP(EVT_SET, baseVar, baseSrc) +#define EVT_VEC3F_VSET(baseVar, baseSrc) EVT_VEC3_VOP(EVT_SETF, baseVar, baseSrc) + +#define EVT_VEC2I_ADD(baseVar, x, y) EVT_VEC2_OP(EVT_ADD, baseVar, x, y) +#define EVT_VEC2F_ADD(baseVar, x, y) EVT_VEC2_OP(EVT_ADDF, baseVar, x, y) +#define EVT_VEC3I_ADD(baseVar, x, y, z) EVT_VEC3_OP(EVT_ADD, baseVar, x, y, z) +#define EVT_VEC3F_ADD(baseVar, x, y, z) EVT_VEC3_OP(EVT_ADDF, baseVar, x, y, z) + +#define EVT_VEC2I_VADD(baseVar, baseAmt) EVT_VEC2_VOP(EVT_ADD, baseVar, baseAmt) +#define EVT_VEC2F_VADD(baseVar, baseAmt) EVT_VEC2_VOP(EVT_ADDF, baseVar, baseAmt) +#define EVT_VEC3I_VADD(baseVar, baseAmt) EVT_VEC3_VOP(EVT_ADD, baseVar, baseAmt) +#define EVT_VEC3F_VADD(baseVar, baseAmt) EVT_VEC3_VOP(EVT_ADDF, baseVar, baseAmt) + +#define EVT_VEC2I_SUB(baseVar, x, y) EVT_VEC2_OP(EVT_SUB, baseVar, x, y) +#define EVT_VEC2F_SUB(baseVar, x, y) EVT_VEC2_OP(EVT_SUBF, baseVar, x, y) +#define EVT_VEC3I_SUB(baseVar, x, y, z) EVT_VEC3_OP(EVT_SUB, baseVar, x, y, z) +#define EVT_VEC3F_SUB(baseVar, x, y, z) EVT_VEC3_OP(EVT_SUBF, baseVar, x, y, z) + +#define EVT_VEC2I_VSUB(baseVar, baseAmt) EVT_VEC2_VOP(EVT_SUB, baseVar, baseAmt) +#define EVT_VEC2F_VSUB(baseVar, baseAmt) EVT_VEC2_VOP(EVT_SUBF, baseVar, baseAmt) +#define EVT_VEC3I_VSUB(baseVar, baseAmt) EVT_VEC3_VOP(EVT_SUB, baseVar, baseAmt) +#define EVT_VEC3F_VSUB(baseVar, baseAmt) EVT_VEC3_VOP(EVT_SUBF, baseVar, baseAmt) + /****** COMMON SCRIPTS ************************************************************************************************/ #define EVT_IF_TRUE(b) EVT_IF_NE(b, 0) #define EVT_IF_FALSE(b) EVT_IF_EQ(b, 0) -#define EVT_SET_VEC2(baseVar, x, y, z) \ - EVT_SET(baseVar + 0, x) \ - EVT_SET(baseVar + 1, y) - -#define EVT_SETF_VEC2(baseVar, x, y, z) \ - EVT_SETF(baseVar + 0, x) \ - EVT_SETF(baseVar + 1, y) - -#define EVT_SET_VEC3(baseVar, x, y, z) \ - EVT_SET(baseVar + 0, x) \ - EVT_SET(baseVar + 1, y) \ - EVT_SET(baseVar + 2, z) - -#define EVT_SETF_VEC3(baseVar, x, y, z) \ - EVT_SETF(baseVar + 0, x) \ - EVT_SETF(baseVar + 1, y) \ - EVT_SETF(baseVar + 2, z) - #define EVT_EXIT_WALK(walkDistance, exitIdx, map, entryIdx) \ { \ EVT_SET_GROUP(EVT_GROUP_1B) \ diff --git a/include/script_api/map.h b/include/script_api/map.h index c1fba502d4..15bc1a55c5 100644 --- a/include/script_api/map.h +++ b/include/script_api/map.h @@ -35,5 +35,6 @@ extern EvtScript EnterSplitDoubleDoor; extern EvtScript BaseExitDoor; extern EvtScript BaseEnterDoor; extern EvtScript EnterPostPipe; +extern EvtScript ItemShopInteract; #endif diff --git a/src/38F00.c b/src/38F00.c index 46c63925a2..bc936ed215 100644 --- a/src/38F00.c +++ b/src/38F00.c @@ -70,12 +70,12 @@ EvtScript D_800939B4 = { EVT_LOOP(30) EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0) EVT_CALL(func_8005DD54) - EVT_CALL(func_802CFD30, NPC_SELF, 6, LVar2, LVar2, LVar2, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_6, LVar2, LVar2, LVar2, 0) EVT_ADD(LVar0, 30) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetNpcRotation, NPC_SELF, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_SELF, 6, 255, 255, 255, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_6, 255, 255, 255, 0) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000, FALSE) EVT_CALL(SetSelfVar, 0, 0) EVT_CALL(func_8005DDF0) diff --git a/src/animation_script.h b/src/animation_script.h index 95d57eb0b3..2ffa5a6e31 100644 --- a/src/animation_script.h +++ b/src/animation_script.h @@ -41,6 +41,9 @@ enum { #define as_SetScale(node, x, y, z) AS_SET_SCALE, node, AS_F(x), AS_F(y), AS_F(z), #define as_DisableMirroring AS_OP_19, +#define AS_MODEL_ID(modelID) ((modelID) + 1) +#define AS_NULL_MODEL 0 + // used in entity models -#define ENTITY_ANIN_NULL (void*)(0xFFFFFFFF) +#define ENTITY_ANIM_NULL (void*)(0xFFFFFFFF) #endif diff --git a/src/audio.h b/src/audio.h index 156cbacada..10430abb10 100644 --- a/src/audio.h +++ b/src/audio.h @@ -917,7 +917,7 @@ typedef struct BGMPlayer { /* 0x0C4 */ s32 masterVolumeStep; /* 0x0C8 */ s32 masterVolumeTarget; /* 0x0CC */ s32 masterVolumeTime; - /* 0x0D0 */ f32 unk_D0; + /* 0x0D0 */ f32 playbackRate; /* 0x0D4 */ SeqArgs seqCmdArgs; /* 0x0D8 */ SegData* segLoopStartLabels[32]; /* 0x158 */ SegData* segActiveLoopEndPos[4]; @@ -931,7 +931,7 @@ typedef struct BGMPlayer { /* 0x208 */ u16 masterTempoBPM; /* 0x20A */ u16 maxTempo; /* 0x20C */ u16 masterPitchShift; - /* 0x20E */ s16 unk_20E; + /* 0x20E */ s16 detune; /* 0x210 */ u8 segLoopDepth; /* 0x211 */ u8 unk_211; /* 0x212 */ u8 unk_212[8]; diff --git a/src/audio/28910_len_5090.c b/src/audio/28910_len_5090.c index 69eb88acbd..71ec9373b7 100644 --- a/src/audio/28910_len_5090.c +++ b/src/audio/28910_len_5090.c @@ -537,7 +537,7 @@ void au_bgm_player_init(BGMPlayer* player, s32 priority, s32 reverbType, AuGloba player->masterVolumeTarget = 0; player->masterVolumeStep = 0; player->masterPitchShift = 0; - player->unk_20E = 0; + player->detune = 0; player->unk_220 = 0; player->trackVolsConfig = NULL; player->bFadeConfigSetsVolume = FALSE; @@ -547,7 +547,7 @@ void au_bgm_player_init(BGMPlayer* player, s32 priority, s32 reverbType, AuGloba *(s32*)player->segLoopCounters = 0; player->unk_222 = 0; player->unk_223 = 0; - player->unk_D0 = 1.0f; + player->playbackRate = 1.0f; player->unk_22A[0] = 0; player->unk_22A[1] = 1; player->unk_22A[2] = 0; @@ -744,7 +744,7 @@ void au_bgm_player_initialize(BGMPlayer* player) { } func_80050900(player); - player->unk_D0 = 128.0f; // set to 1.0 later om... + player->playbackRate = 128.0f; // set to 1.0 later om... player->masterTempo = BGM_DEFAULT_TEMPO; player->masterTempoBPM = BGM_DEFAULT_TEMPO / 100; player->unk_21E = 0x80; @@ -753,7 +753,7 @@ void au_bgm_player_initialize(BGMPlayer* player) { player->unk_74 = 0; player->masterTempoTarget = 0; player->masterPitchShift = 0; - player->unk_20E = 0; + player->detune = 0; player->masterVolumeTime = 0; player->masterVolumeTarget = 0; player->masterVolumeStep = 0; @@ -772,7 +772,7 @@ void au_bgm_player_initialize(BGMPlayer* player) { player->bFadeConfigSetsVolume = FALSE; player->unk_233 = 1; player->unk_211 = 0; - player->unk_D0 = 1.0f; + player->playbackRate = 1.0f; for (i = 0; i < ARRAY_COUNT(player->unk_212); i++) { func_8004E844(player, i); @@ -1252,7 +1252,7 @@ void au_bgm_player_update_playing(BGMPlayer *player) { + track->subTrackCoarseTune + track->subTrackFineTune - note->ins->keyBase; - temp = (note->adjustedPitch + track->segTrackTune) + player->unk_20E; + temp = (note->adjustedPitch + track->segTrackTune) + player->detune; if (drumInfo->randTune != 0) { note->unk_14 = au_bgm_get_random_pitch(player->randomValue1, temp, drumInfo->randTune); temp = note->unk_14; @@ -1283,7 +1283,7 @@ void au_bgm_player_update_playing(BGMPlayer *player) { note->pitchRatio = au_compute_pitch_ratio( note->adjustedPitch + track->segTrackTune - + player->unk_20E) + + player->detune) * track->instrument->pitchRatio; if (track->unk_57 != 0) { @@ -1359,8 +1359,8 @@ void au_bgm_player_update_playing(BGMPlayer *player) { } } if (track->isDrumTrack) { - if (track->changed.tune || (player->unk_20E != 0)) { - note->pitchRatio = au_compute_pitch_ratio(((note->adjustedPitch + note->unk_14) + track->segTrackTune) + player->unk_20E) * note->ins->pitchRatio; + if (track->changed.tune || (player->detune != 0)) { + note->pitchRatio = au_compute_pitch_ratio(((note->adjustedPitch + note->unk_14) + track->segTrackTune) + player->detune) * note->ins->pitchRatio; if (voice->pitchRatio != note->pitchRatio) { voice->pitchRatio = note->pitchRatio; voice->unk_flags_43 |= AU_VOICE_SYNC_FLAGS_PITCH; @@ -1398,15 +1398,15 @@ void au_bgm_player_update_playing(BGMPlayer *player) { var_a1_5 = -var_a1_5; } - note->pitchRatio = au_compute_pitch_ratio(var_a1_5 + ((note->adjustedPitch + track->segTrackTune) + player->unk_20E)) * note->ins->pitchRatio; + note->pitchRatio = au_compute_pitch_ratio(var_a1_5 + ((note->adjustedPitch + track->segTrackTune) + player->detune)) * note->ins->pitchRatio; if (voice->pitchRatio != note->pitchRatio) { voice->pitchRatio = note->pitchRatio; voice->unk_flags_43 |= AU_VOICE_SYNC_FLAGS_PITCH; } } - } else if (track->changed.tune || (player->unk_20E != 0)) { + } else if (track->changed.tune || (player->detune != 0)) { - note->pitchRatio = au_compute_pitch_ratio((note->adjustedPitch + track->segTrackTune) + player->unk_20E) * note->ins->pitchRatio; + note->pitchRatio = au_compute_pitch_ratio((note->adjustedPitch + track->segTrackTune) + player->detune) * note->ins->pitchRatio; if (voice->pitchRatio != note->pitchRatio) { voice->pitchRatio = note->pitchRatio; voice->unk_flags_43 |= AU_VOICE_SYNC_FLAGS_PITCH; @@ -1457,7 +1457,7 @@ static s32 snd_bpm_to_tempo(BGMPlayer* player, u32 tempo) { u32 maxTempo = player->maxTempo; u32 ret = tempo; - ret *= player->unk_D0; + ret *= player->playbackRate; if (maxTempo < ret) { ret = maxTempo; @@ -1928,14 +1928,14 @@ void au_bgm_set_proximity_mix(s32 songName, u32 mix) { } } -void func_80050770(BGMPlayer* player, f32 arg1) { - if (arg1 > 2.0) { - arg1 = 2.0f; - } else if (arg1 < 0.25) { - arg1 = 0.25f; +void au_bgm_set_playback_rate(BGMPlayer* player, f32 rate) { + if (rate > 2.0) { + rate = 2.0f; + } else if (rate < 0.25) { + rate = 0.25f; } - player->unk_D0 = arg1; + player->playbackRate = rate; player->masterTempo = snd_bpm_to_tempo(player, player->masterTempoBPM); player->nextUpdateStep = player->masterTempo * 10; player->masterTempoTime = 0; @@ -1943,14 +1943,14 @@ void func_80050770(BGMPlayer* player, f32 arg1) { player->masterTempoStep = 0; } -void func_80050818(BGMPlayer* player, s32 arg1) { - if (arg1 > 1200) { - arg1 = 1200; - } else if (arg1 < -2400) { - arg1 = -2400; +void au_bgm_player_set_detune(BGMPlayer* player, s32 detune) { + if (detune > 1200) { + detune = 1200; + } else if (detune < -2400) { + detune = -2400; } - player->unk_20E = arg1; + player->detune = detune; } void au_bgm_change_track_volume(BGMPlayer* player, s32 trackIdx, s16 time, u8 volume) { diff --git a/src/audio/30450.c b/src/audio/30450.c index 9129ef07e6..077b24106f 100644 --- a/src/audio/30450.c +++ b/src/audio/30450.c @@ -655,7 +655,7 @@ AuResult snd_song_get_playing_info(s32 songName, BGMHeader** outFile, BGMPlayer* return status; } -AuResult func_80055D38(s32 songName, f32 arg1) { +AuResult snd_song_set_playback_rate(s32 songName, f32 rate) { BGMPlayer* bgmPlayer; BGMHeader* bgmFile; AuResult status; @@ -663,13 +663,13 @@ AuResult func_80055D38(s32 songName, f32 arg1) { status = snd_song_get_playing_info(songName, &bgmFile, &bgmPlayer); if (status == AU_RESULT_OK) { - func_80050770(bgmPlayer, arg1); + au_bgm_set_playback_rate(bgmPlayer, rate); } return status; } -AuResult func_80055D8C(s32 songName, s32 arg1) { +AuResult snd_song_set_detune(s32 songName, s32 detune) { BGMPlayer* bgmPlayer; BGMHeader* bgmFile; AuResult status; @@ -677,7 +677,7 @@ AuResult func_80055D8C(s32 songName, s32 arg1) { status = snd_song_get_playing_info(songName, &bgmFile, &bgmPlayer); if (status == AU_RESULT_OK) { - func_80050818(bgmPlayer, arg1); + au_bgm_player_set_detune(bgmPlayer, detune); } return status; diff --git a/src/audio/private.h b/src/audio/private.h index 80070110aa..b3ec118459 100644 --- a/src/audio/private.h +++ b/src/audio/private.h @@ -158,8 +158,8 @@ void au_BGMCmd_FC_Jump(BGMPlayer* player, BGMPlayerTrack* track); void au_BGMCmd_FF(BGMPlayer* player, BGMPlayerTrack* track); void au_BGMCmd_NOP(BGMPlayer* player, BGMPlayerTrack* track); void au_bgm_set_proximity_mix(s32 songName, u32 mix); -void func_80050770(BGMPlayer* player, f32 arg1); -void func_80050818(BGMPlayer* player, s32 arg1); +void au_bgm_set_playback_rate(BGMPlayer* player, f32 arg1); +void au_bgm_player_set_detune(BGMPlayer* player, s32 arg1); void au_bgm_change_track_volume(BGMPlayer* player, s32 trackIdx, s16 arg2, u8 arg3); void au_bgm_set_track_volumes(BGMPlayer* player, u8* arg1, s32 arg2); void func_80050888(BGMPlayer* player, BGMPlayerTrack* track, s32 target, s32 duration); @@ -216,8 +216,8 @@ AuResult snd_set_song_variation(s32 songName, s32 variation); */ AuResult snd_song_get_playing_info(s32 songName, BGMHeader** outTrackData, BGMPlayer** outPlayer); /* -AuResult func_80055D38(s32 songName, f32 arg1); -AuResult func_80055D8C(s32 songName, s32 arg1); +AuResult snd_song_set_playback_rate(s32 songName, f32 arg1); +AuResult snd_song_set_detune(s32 songName, s32 arg1); AuResult func_80055DDC(s32 songName, s32 arg1); AuResult snd_song_clear_track_volumes(s32 songName, MusicTrackVols arg1); u8* func_80055EB4(MusicTrackVols arg0); diff --git a/src/audio/public.h b/src/audio/public.h index f03fc1fd5c..844f0c88e0 100644 --- a/src/audio/public.h +++ b/src/audio/public.h @@ -46,8 +46,8 @@ AuResult func_80055C64(s32 songName); AuResult func_80055C94(s32 songName); AuResult snd_set_song_variation(s32 songName, s32 variation); //AuResult snd_song_get_playing_info(s32 songName, BGMHeader** outTrackData, BGMPlayer** outPlayer); -AuResult func_80055D38(s32 songName, f32 arg1); -AuResult func_80055D8C(s32 songName, s32 arg1); +AuResult snd_song_set_playback_rate(s32 songName, f32 arg1); +AuResult snd_song_set_detune(s32 songName, s32 arg1); AuResult snd_song_set_track_volumes(s32 songName, MusicTrackVols arg1); AuResult snd_song_clear_track_volumes(s32 songName, MusicTrackVols arg1); AuResult snd_song_set_track_vol_mute(s32 arg0, s32 arg1); diff --git a/src/entity/model/BellbellPlant_anim.c b/src/entity/model/BellbellPlant_anim.c index b247e668c4..b07cbc8a38 100644 --- a/src/entity/model/BellbellPlant_anim.c +++ b/src/entity/model/BellbellPlant_anim.c @@ -10,23 +10,23 @@ extern Gfx Entity_BellbellPlant_RenderNode5[]; StaticAnimatorNode Entity_BellbellPlant_Node5 = { .displayList = Entity_BellbellPlant_RenderNode5, .rot = { -1092, 0, 0 }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_BellbellPlant_Node4 = { .displayList = Entity_BellbellPlant_RenderNode4, .rot = { -2455, 0, 0 }, .pos = { 15.0f, 39.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_BellbellPlant_Node5, }; StaticAnimatorNode Entity_BellbellPlant_Node3 = { .displayList = Entity_BellbellPlant_RenderNode3, .rot = { -1092, 0, 0 }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_BellbellPlant_Node2 = { @@ -40,7 +40,7 @@ StaticAnimatorNode Entity_BellbellPlant_Node2 = { StaticAnimatorNode Entity_BellbellPlant_Node1 = { .displayList = Entity_BellbellPlant_RenderNode1, .rot = { -2457, 0, 0 }, - .sibling = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_BellbellPlant_Node2, }; @@ -50,7 +50,7 @@ StaticAnimatorNode* Entity_BellbellPlant_Mesh[] = { &Entity_BellbellPlant_Node3, &Entity_BellbellPlant_Node4, &Entity_BellbellPlant_Node5, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_BellbellPlant_AnimationUse = { diff --git a/src/entity/model/CymbalPlant_anim.c b/src/entity/model/CymbalPlant_anim.c index 853d3f1cd1..a3909c2e9a 100644 --- a/src/entity/model/CymbalPlant_anim.c +++ b/src/entity/model/CymbalPlant_anim.c @@ -12,61 +12,61 @@ extern Gfx Entity_CymbalPlant_RenderNode1[]; StaticAnimatorNode Entity_CymbalPlant_Node10 = { .displayList = Entity_CymbalPlant_RenderNode10, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_CymbalPlant_Node9 = { .displayList = Entity_CymbalPlant_RenderNode9, .pos = { -2.0f, -26.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_CymbalPlant_Node8 = { .displayList = Entity_CymbalPlant_RenderNode8, .pos = { -2.0f, -26.0f, 0.0f }, .sibling = &Entity_CymbalPlant_Node9, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_CymbalPlant_Node7 = { .displayList = Entity_CymbalPlant_RenderNode7, .pos = { -2.0f, -26.0f, 0.0f }, .sibling = &Entity_CymbalPlant_Node8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_CymbalPlant_Node6 = { - .displayList = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, .pos = { 2.0f, 26.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_CymbalPlant_Node7, }; StaticAnimatorNode Entity_CymbalPlant_Node5 = { .displayList = Entity_CymbalPlant_RenderNode5, .pos = { 3.0f, -26.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_CymbalPlant_Node4 = { .displayList = Entity_CymbalPlant_RenderNode4, .pos = { 3.0f, -26.0f, 0.0f }, .sibling = &Entity_CymbalPlant_Node5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_CymbalPlant_Node3 = { .displayList = Entity_CymbalPlant_RenderNode3, .pos = { 3.0f, -26.0f, 0.0f }, .sibling = &Entity_CymbalPlant_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_CymbalPlant_Node2 = { - .displayList = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, .pos = { -3.0f, 26.0f, 0.0f }, .sibling = &Entity_CymbalPlant_Node6, .child = &Entity_CymbalPlant_Node3, @@ -79,8 +79,8 @@ StaticAnimatorNode Entity_CymbalPlant_Node1 = { }; StaticAnimatorNode Entity_CymbalPlant_NodeParent = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_CymbalPlant_Node1, }; @@ -96,7 +96,7 @@ StaticAnimatorNode* Entity_CymbalPlant_Mesh[] = { &Entity_CymbalPlant_Node8, &Entity_CymbalPlant_Node9, &Entity_CymbalPlant_Node10, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_CymbalPlant_AnimationGrab = { diff --git a/src/entity/model/HitFloatingYellowBlock_anim.c b/src/entity/model/HitFloatingYellowBlock_anim.c index 2ecb643e08..6d5a1c50dd 100644 --- a/src/entity/model/HitFloatingYellowBlock_anim.c +++ b/src/entity/model/HitFloatingYellowBlock_anim.c @@ -7,19 +7,19 @@ extern Gfx Entity_HitFloatingYellowBlock_RenderBlock1[]; StaticAnimatorNode Entity_HitFloatingYellowBlock_NodeBlock2 = { .displayList = Entity_HitFloatingYellowBlock_RenderBlock2, .pos = { 0.0f, 25.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_HitFloatingYellowBlock_NodeBlock1 = { .displayList = Entity_HitFloatingYellowBlock_RenderBlock1, .sibling = &Entity_HitFloatingYellowBlock_NodeBlock2, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_HitFloatingYellowBlock_NodeMain = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_HitFloatingYellowBlock_NodeBlock1, }; @@ -27,7 +27,7 @@ StaticAnimatorNode* Entity_HitFloatingYellowBlock_Mesh[] = { &Entity_HitFloatingYellowBlock_NodeMain, &Entity_HitFloatingYellowBlock_NodeBlock1, &Entity_HitFloatingYellowBlock_NodeBlock2, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_HitFloatingYellowBlock_AnimationHit = { diff --git a/src/entity/model/HitRedBlock_anim.c b/src/entity/model/HitRedBlock_anim.c index 6a24c12460..bbe0b56d20 100644 --- a/src/entity/model/HitRedBlock_anim.c +++ b/src/entity/model/HitRedBlock_anim.c @@ -7,19 +7,19 @@ extern Gfx Entity_HitRedBlock_RenderBlock1[]; StaticAnimatorNode Entity_HitRedBlock_NodeBlock2 = { .displayList = Entity_HitRedBlock_RenderBlock2, .pos = { 0.0f, 25.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_HitRedBlock_NodeBlock1 = { .displayList = Entity_HitRedBlock_RenderBlock1, .sibling = &Entity_HitRedBlock_NodeBlock2, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_HitRedBlock_NodeMain = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_HitRedBlock_NodeBlock1, }; @@ -27,7 +27,7 @@ StaticAnimatorNode* Entity_HitRedBlock_Mesh[] = { &Entity_HitRedBlock_NodeMain, &Entity_HitRedBlock_NodeBlock1, &Entity_HitRedBlock_NodeBlock2, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_HitRedBlock_AnimationHit = { diff --git a/src/entity/model/HitYellowBlock_anim.c b/src/entity/model/HitYellowBlock_anim.c index d5d4f79f3d..a6c340a88a 100644 --- a/src/entity/model/HitYellowBlock_anim.c +++ b/src/entity/model/HitYellowBlock_anim.c @@ -7,19 +7,19 @@ extern Gfx Entity_HitYellowBlock_RenderBlock1[]; StaticAnimatorNode Entity_HitYellowBlock_NodeBlock2 = { .displayList = Entity_HitYellowBlock_RenderBlock2, .pos = { 0.0f, 25.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_HitYellowBlock_NodeBlock1 = { .displayList = Entity_HitYellowBlock_RenderBlock1, .sibling = &Entity_HitYellowBlock_NodeBlock2, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_HitYellowBlock_NodeMain = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_HitYellowBlock_NodeBlock1, }; @@ -27,7 +27,7 @@ StaticAnimatorNode* Entity_HitYellowBlock_Mesh[] = { &Entity_HitYellowBlock_NodeMain, &Entity_HitYellowBlock_NodeBlock1, &Entity_HitYellowBlock_NodeBlock2, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_HitYellowBlock_AnimationHit = { diff --git a/src/entity/model/MunchlesiaBeginChew_anim.c b/src/entity/model/MunchlesiaBeginChew_anim.c index 1251a64742..f56df156f7 100644 --- a/src/entity/model/MunchlesiaBeginChew_anim.c +++ b/src/entity/model/MunchlesiaBeginChew_anim.c @@ -144,8 +144,8 @@ AnimScript Entity_MunchlesiaBeginChew_Animation = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node9 = { .displayList = Entity_MunchlesiaBeginChew_Render, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 7, .vtxList = D_0A000000_E815F0, }; @@ -153,7 +153,7 @@ StaticAnimatorNode Entity_MunchlesiaBeginChew_Node9 = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node8 = { .displayList = Entity_MunchlesiaBeginChew_Render, .sibling = &Entity_MunchlesiaBeginChew_Node9, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 6, .vtxList = D_0A000000_E815F0, }; @@ -161,7 +161,7 @@ StaticAnimatorNode Entity_MunchlesiaBeginChew_Node8 = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node7 = { .displayList = Entity_MunchlesiaBeginChew_Render, .sibling = &Entity_MunchlesiaBeginChew_Node8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 5, .vtxList = D_0A000000_E815F0, }; @@ -169,7 +169,7 @@ StaticAnimatorNode Entity_MunchlesiaBeginChew_Node7 = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node6 = { .displayList = Entity_MunchlesiaBeginChew_Render, .sibling = &Entity_MunchlesiaBeginChew_Node7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 4, .vtxList = D_0A000000_E815F0, }; @@ -177,7 +177,7 @@ StaticAnimatorNode Entity_MunchlesiaBeginChew_Node6 = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node5 = { .displayList = Entity_MunchlesiaBeginChew_Render, .sibling = &Entity_MunchlesiaBeginChew_Node6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 3, .vtxList = D_0A000000_E815F0, }; @@ -185,7 +185,7 @@ StaticAnimatorNode Entity_MunchlesiaBeginChew_Node5 = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node4 = { .displayList = Entity_MunchlesiaBeginChew_Render, .sibling = &Entity_MunchlesiaBeginChew_Node5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 2, .vtxList = D_0A000000_E815F0, }; @@ -193,7 +193,7 @@ StaticAnimatorNode Entity_MunchlesiaBeginChew_Node4 = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node3 = { .displayList = Entity_MunchlesiaBeginChew_Render, .sibling = &Entity_MunchlesiaBeginChew_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399, .vtxList = D_0A000000_E815F0, }; @@ -201,16 +201,16 @@ StaticAnimatorNode Entity_MunchlesiaBeginChew_Node3 = { StaticAnimatorNode Entity_MunchlesiaBeginChew_Node2 = { .displayList = Entity_MunchlesiaBeginChew_Render, .sibling = &Entity_MunchlesiaBeginChew_Node3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vtxList = D_0A000000_E815F0, }; StaticAnimatorNode Entity_MunchlesiaBeginChew_Node1 = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_MunchlesiaBeginChew_Node2, - .vertexStartOffset = (s32)ENTITY_ANIN_NULL, - .vtxList = ENTITY_ANIN_NULL, + .vertexStartOffset = (s32)ENTITY_ANIM_NULL, + .vtxList = ENTITY_ANIM_NULL, }; StaticAnimatorNode* Entity_MunchlesiaBeginChew_Mesh[] = { @@ -223,5 +223,5 @@ StaticAnimatorNode* Entity_MunchlesiaBeginChew_Mesh[] = { &Entity_MunchlesiaBeginChew_Node7, &Entity_MunchlesiaBeginChew_Node8, &Entity_MunchlesiaBeginChew_Node9, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; diff --git a/src/entity/model/MunchlesiaChewing_anim.c b/src/entity/model/MunchlesiaChewing_anim.c index 80e7c6fc6f..5715d9f451 100644 --- a/src/entity/model/MunchlesiaChewing_anim.c +++ b/src/entity/model/MunchlesiaChewing_anim.c @@ -5,13 +5,13 @@ extern Gfx Entity_MunchlesiaChewing_Render[]; StaticAnimatorNode Entity_MunchlesiaChewing_Node1 = { .displayList = Entity_MunchlesiaChewing_Render, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode* Entity_MunchlesiaChewing_Mesh[] = { &Entity_MunchlesiaChewing_Node1, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_MunchlesiaChewing_Animation = { diff --git a/src/entity/model/MunchlesiaEnvelop_anim.c b/src/entity/model/MunchlesiaEnvelop_anim.c index 37fa7796b0..602240af5c 100644 --- a/src/entity/model/MunchlesiaEnvelop_anim.c +++ b/src/entity/model/MunchlesiaEnvelop_anim.c @@ -141,8 +141,8 @@ AnimScript Entity_MunchlesiaEnvelop_Animation = { StaticAnimatorNode Entity_MunchlesiaEnvelop_Node8 = { .displayList = Entity_MunchlesiaEnvelop_Render, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 6, .vtxList = D_0A000000_E7B0E0, }; @@ -150,7 +150,7 @@ StaticAnimatorNode Entity_MunchlesiaEnvelop_Node8 = { StaticAnimatorNode Entity_MunchlesiaEnvelop_Node7 = { .displayList = Entity_MunchlesiaEnvelop_Render, .sibling = &Entity_MunchlesiaEnvelop_Node8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 5, .vtxList = D_0A000000_E7B0E0, }; @@ -158,7 +158,7 @@ StaticAnimatorNode Entity_MunchlesiaEnvelop_Node7 = { StaticAnimatorNode Entity_MunchlesiaEnvelop_Node6 = { .displayList = Entity_MunchlesiaEnvelop_Render, .sibling = &Entity_MunchlesiaEnvelop_Node7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 4, .vtxList = D_0A000000_E7B0E0, }; @@ -166,7 +166,7 @@ StaticAnimatorNode Entity_MunchlesiaEnvelop_Node6 = { StaticAnimatorNode Entity_MunchlesiaEnvelop_Node5 = { .displayList = Entity_MunchlesiaEnvelop_Render, .sibling = &Entity_MunchlesiaEnvelop_Node6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 3, .vtxList = D_0A000000_E7B0E0, }; @@ -174,7 +174,7 @@ StaticAnimatorNode Entity_MunchlesiaEnvelop_Node5 = { StaticAnimatorNode Entity_MunchlesiaEnvelop_Node4 = { .displayList = Entity_MunchlesiaEnvelop_Render, .sibling = &Entity_MunchlesiaEnvelop_Node5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 2, .vtxList = D_0A000000_E7B0E0, }; @@ -182,7 +182,7 @@ StaticAnimatorNode Entity_MunchlesiaEnvelop_Node4 = { StaticAnimatorNode Entity_MunchlesiaEnvelop_Node3 = { .displayList = Entity_MunchlesiaEnvelop_Render, .sibling = &Entity_MunchlesiaEnvelop_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399, .vtxList = D_0A000000_E7B0E0, }; @@ -190,16 +190,16 @@ StaticAnimatorNode Entity_MunchlesiaEnvelop_Node3 = { StaticAnimatorNode Entity_MunchlesiaEnvelop_Node2 = { .displayList = Entity_MunchlesiaEnvelop_Render, .sibling = &Entity_MunchlesiaEnvelop_Node3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vtxList = D_0A000000_E7B0E0, }; StaticAnimatorNode Entity_MunchlesiaEnvelop_Node1 = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_MunchlesiaEnvelop_Node2, - .vertexStartOffset = (s32)ENTITY_ANIN_NULL, - .vtxList = ENTITY_ANIN_NULL, + .vertexStartOffset = (s32)ENTITY_ANIM_NULL, + .vtxList = ENTITY_ANIM_NULL, }; StaticAnimatorNode* Entity_MunchlesiaEnvelop_Mesh[] = { @@ -211,5 +211,5 @@ StaticAnimatorNode* Entity_MunchlesiaEnvelop_Mesh[] = { &Entity_MunchlesiaEnvelop_Node6, &Entity_MunchlesiaEnvelop_Node7, &Entity_MunchlesiaEnvelop_Node8, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; diff --git a/src/entity/model/MunchlesiaGrab_anim.c b/src/entity/model/MunchlesiaGrab_anim.c index 774d5db046..1cdcd82645 100644 --- a/src/entity/model/MunchlesiaGrab_anim.c +++ b/src/entity/model/MunchlesiaGrab_anim.c @@ -141,8 +141,8 @@ AnimScript Entity_MunchlesiaGrab_Animation = { StaticAnimatorNode Entity_MunchlesiaGrab_Node8 = { .displayList = Entity_MunchlesiaGrab_Render, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 6, .vtxList = D_0A000000_E74BD0, }; @@ -150,7 +150,7 @@ StaticAnimatorNode Entity_MunchlesiaGrab_Node8 = { StaticAnimatorNode Entity_MunchlesiaGrab_Node7 = { .displayList = Entity_MunchlesiaGrab_Render, .sibling = &Entity_MunchlesiaGrab_Node8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 5, .vtxList = D_0A000000_E74BD0, }; @@ -159,7 +159,7 @@ StaticAnimatorNode Entity_MunchlesiaGrab_Node6 = { .displayList = Entity_MunchlesiaGrab_Render, .pos = { 0.0f, 1.0f, 0.0f }, .sibling = &Entity_MunchlesiaGrab_Node7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 4, .vtxList = D_0A000000_E74BD0, }; @@ -168,7 +168,7 @@ StaticAnimatorNode Entity_MunchlesiaGrab_Node5 = { .displayList = Entity_MunchlesiaGrab_Render, .pos = { 0.0f, 2.0f, 0.0f }, .sibling = &Entity_MunchlesiaGrab_Node6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 3, .vtxList = D_0A000000_E74BD0, }; @@ -177,7 +177,7 @@ StaticAnimatorNode Entity_MunchlesiaGrab_Node4 = { .displayList = Entity_MunchlesiaGrab_Render, .pos = { 0.0f, 2.0f, 0.0f }, .sibling = &Entity_MunchlesiaGrab_Node5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 2, .vtxList = D_0A000000_E74BD0, }; @@ -186,7 +186,7 @@ StaticAnimatorNode Entity_MunchlesiaGrab_Node3 = { .displayList = Entity_MunchlesiaGrab_Render, .pos = { 0.0f, 3.0f, 0.0f }, .sibling = &Entity_MunchlesiaGrab_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399, .vtxList = D_0A000000_E74BD0, }; @@ -195,16 +195,16 @@ StaticAnimatorNode Entity_MunchlesiaGrab_Node2 = { .displayList = Entity_MunchlesiaGrab_Render, .pos = { 0.0f, 4.0f, 0.0f }, .sibling = &Entity_MunchlesiaGrab_Node3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vtxList = D_0A000000_E74BD0, }; StaticAnimatorNode Entity_MunchlesiaGrab_Node1 = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_MunchlesiaGrab_Node2, - .vertexStartOffset = (s32)ENTITY_ANIN_NULL, - .vtxList = ENTITY_ANIN_NULL, + .vertexStartOffset = (s32)ENTITY_ANIM_NULL, + .vtxList = ENTITY_ANIM_NULL, }; StaticAnimatorNode* Entity_MunchlesiaGrab_Mesh[] = { @@ -216,5 +216,5 @@ StaticAnimatorNode* Entity_MunchlesiaGrab_Mesh[] = { &Entity_MunchlesiaGrab_Node6, &Entity_MunchlesiaGrab_Node7, &Entity_MunchlesiaGrab_Node8, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; diff --git a/src/entity/model/MunchlesiaReset1_anim.c b/src/entity/model/MunchlesiaReset1_anim.c index 90b3067ab9..5866dc0552 100644 --- a/src/entity/model/MunchlesiaReset1_anim.c +++ b/src/entity/model/MunchlesiaReset1_anim.c @@ -144,8 +144,8 @@ AnimScript Entity_MunchlesiaReset1_Animation = { StaticAnimatorNode Entity_MunchlesiaReset1_Node9 = { .displayList = Entity_MunchlesiaReset1_Render, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 7, .vtxList = D_0A000000_E91890, }; @@ -153,7 +153,7 @@ StaticAnimatorNode Entity_MunchlesiaReset1_Node9 = { StaticAnimatorNode Entity_MunchlesiaReset1_Node8 = { .displayList = Entity_MunchlesiaReset1_Render, .sibling = &Entity_MunchlesiaReset1_Node9, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 6, .vtxList = D_0A000000_E91890, }; @@ -161,7 +161,7 @@ StaticAnimatorNode Entity_MunchlesiaReset1_Node8 = { StaticAnimatorNode Entity_MunchlesiaReset1_Node7 = { .displayList = Entity_MunchlesiaReset1_Render, .sibling = &Entity_MunchlesiaReset1_Node8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 5, .vtxList = D_0A000000_E91890, }; @@ -169,7 +169,7 @@ StaticAnimatorNode Entity_MunchlesiaReset1_Node7 = { StaticAnimatorNode Entity_MunchlesiaReset1_Node6 = { .displayList = Entity_MunchlesiaReset1_Render, .sibling = &Entity_MunchlesiaReset1_Node7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 4, .vtxList = D_0A000000_E91890, }; @@ -177,7 +177,7 @@ StaticAnimatorNode Entity_MunchlesiaReset1_Node6 = { StaticAnimatorNode Entity_MunchlesiaReset1_Node5 = { .displayList = Entity_MunchlesiaReset1_Render, .sibling = &Entity_MunchlesiaReset1_Node6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 3, .vtxList = D_0A000000_E91890, }; @@ -185,7 +185,7 @@ StaticAnimatorNode Entity_MunchlesiaReset1_Node5 = { StaticAnimatorNode Entity_MunchlesiaReset1_Node4 = { .displayList = Entity_MunchlesiaReset1_Render, .sibling = &Entity_MunchlesiaReset1_Node5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 2, .vtxList = D_0A000000_E91890, }; @@ -193,7 +193,7 @@ StaticAnimatorNode Entity_MunchlesiaReset1_Node4 = { StaticAnimatorNode Entity_MunchlesiaReset1_Node3 = { .displayList = Entity_MunchlesiaReset1_Render, .sibling = &Entity_MunchlesiaReset1_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399, .vtxList = D_0A000000_E91890, }; @@ -201,16 +201,16 @@ StaticAnimatorNode Entity_MunchlesiaReset1_Node3 = { StaticAnimatorNode Entity_MunchlesiaReset1_Node2 = { .displayList = Entity_MunchlesiaReset1_Render, .sibling = &Entity_MunchlesiaReset1_Node3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vtxList = D_0A000000_E91890, }; StaticAnimatorNode Entity_MunchlesiaReset1_Node1 = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_MunchlesiaReset1_Node2, - .vertexStartOffset = (s32)ENTITY_ANIN_NULL, - .vtxList = ENTITY_ANIN_NULL, + .vertexStartOffset = (s32)ENTITY_ANIM_NULL, + .vtxList = ENTITY_ANIM_NULL, }; StaticAnimatorNode* Entity_MunchlesiaReset1_Mesh[] = { @@ -223,5 +223,5 @@ StaticAnimatorNode* Entity_MunchlesiaReset1_Mesh[] = { &Entity_MunchlesiaReset1_Node7, &Entity_MunchlesiaReset1_Node8, &Entity_MunchlesiaReset1_Node9, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; diff --git a/src/entity/model/MunchlesiaReset_anim.c b/src/entity/model/MunchlesiaReset_anim.c index 5732d1c570..540ca07360 100644 --- a/src/entity/model/MunchlesiaReset_anim.c +++ b/src/entity/model/MunchlesiaReset_anim.c @@ -156,8 +156,8 @@ AnimScript Entity_MunchlesiaReset_AnimationReset = { StaticAnimatorNode Entity_MunchlesiaReset_Node8 = { .displayList = Entity_MunchlesiaReset_Render, .pos = { 0.0f, 4.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 6, .vtxList = D_0A000000_E6E660, }; @@ -166,7 +166,7 @@ StaticAnimatorNode Entity_MunchlesiaReset_Node7 = { .displayList = Entity_MunchlesiaReset_Render, .pos = { 0.0f, 4.0f, 0.0f }, .sibling = &Entity_MunchlesiaReset_Node8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 5, .vtxList = D_0A000000_E6E660, }; @@ -175,7 +175,7 @@ StaticAnimatorNode Entity_MunchlesiaReset_Node6 = { .displayList = Entity_MunchlesiaReset_Render, .pos = { 0.0f, 5.0f, 0.0f }, .sibling = &Entity_MunchlesiaReset_Node7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 4, .vtxList = D_0A000000_E6E660, }; @@ -184,7 +184,7 @@ StaticAnimatorNode Entity_MunchlesiaReset_Node5 = { .displayList = Entity_MunchlesiaReset_Render, .pos = { 0.0f, 4.0f, 0.0f }, .sibling = &Entity_MunchlesiaReset_Node6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 3, .vtxList = D_0A000000_E6E660, }; @@ -193,7 +193,7 @@ StaticAnimatorNode Entity_MunchlesiaReset_Node4 = { .displayList = Entity_MunchlesiaReset_Render, .pos = { 0.0f, 2.0f, 0.0f }, .sibling = &Entity_MunchlesiaReset_Node5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 2, .vtxList = D_0A000000_E6E660, }; @@ -201,7 +201,7 @@ StaticAnimatorNode Entity_MunchlesiaReset_Node4 = { StaticAnimatorNode Entity_MunchlesiaReset_Node3 = { .displayList = Entity_MunchlesiaReset_Render, .sibling = &Entity_MunchlesiaReset_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399, .vtxList = D_0A000000_E6E660, }; @@ -209,16 +209,16 @@ StaticAnimatorNode Entity_MunchlesiaReset_Node3 = { StaticAnimatorNode Entity_MunchlesiaReset_Node2 = { .displayList = Entity_MunchlesiaReset_Render, .sibling = &Entity_MunchlesiaReset_Node3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vtxList = D_0A000000_E6E660, }; StaticAnimatorNode Entity_MunchlesiaReset_Node1 = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_MunchlesiaReset_Node2, - .vertexStartOffset = (s32)ENTITY_ANIN_NULL, - .vtxList = ENTITY_ANIN_NULL, + .vertexStartOffset = (s32)ENTITY_ANIM_NULL, + .vtxList = ENTITY_ANIM_NULL, }; StaticAnimatorNode* Entity_MunchlesiaReset_Mesh[] = { @@ -230,5 +230,5 @@ StaticAnimatorNode* Entity_MunchlesiaReset_Mesh[] = { &Entity_MunchlesiaReset_Node6, &Entity_MunchlesiaReset_Node7, &Entity_MunchlesiaReset_Node8, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; diff --git a/src/entity/model/MunchlesiaSpitOut_anim.c b/src/entity/model/MunchlesiaSpitOut_anim.c index f9e9054fc7..7953e88f9f 100644 --- a/src/entity/model/MunchlesiaSpitOut_anim.c +++ b/src/entity/model/MunchlesiaSpitOut_anim.c @@ -144,8 +144,8 @@ AnimScript Entity_MunchlesiaSpitOut_Animation = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node9 = { .displayList = Entity_MunchlesiaSpitOut_Render, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 7, .vtxList = D_0A000000_E8A9E0, }; @@ -153,7 +153,7 @@ StaticAnimatorNode Entity_MunchlesiaSpitOut_Node9 = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node8 = { .displayList = Entity_MunchlesiaSpitOut_Render, .sibling = &Entity_MunchlesiaSpitOut_Node9, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 6, .vtxList = D_0A000000_E8A9E0, }; @@ -161,7 +161,7 @@ StaticAnimatorNode Entity_MunchlesiaSpitOut_Node8 = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node7 = { .displayList = Entity_MunchlesiaSpitOut_Render, .sibling = &Entity_MunchlesiaSpitOut_Node8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 5, .vtxList = D_0A000000_E8A9E0, }; @@ -169,7 +169,7 @@ StaticAnimatorNode Entity_MunchlesiaSpitOut_Node7 = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node6 = { .displayList = Entity_MunchlesiaSpitOut_Render, .sibling = &Entity_MunchlesiaSpitOut_Node7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 4, .vtxList = D_0A000000_E8A9E0, }; @@ -177,7 +177,7 @@ StaticAnimatorNode Entity_MunchlesiaSpitOut_Node6 = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node5 = { .displayList = Entity_MunchlesiaSpitOut_Render, .sibling = &Entity_MunchlesiaSpitOut_Node6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 3, .vtxList = D_0A000000_E8A9E0, }; @@ -185,7 +185,7 @@ StaticAnimatorNode Entity_MunchlesiaSpitOut_Node5 = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node4 = { .displayList = Entity_MunchlesiaSpitOut_Render, .sibling = &Entity_MunchlesiaSpitOut_Node5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399 * 2, .vtxList = D_0A000000_E8A9E0, }; @@ -193,7 +193,7 @@ StaticAnimatorNode Entity_MunchlesiaSpitOut_Node4 = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node3 = { .displayList = Entity_MunchlesiaSpitOut_Render, .sibling = &Entity_MunchlesiaSpitOut_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vertexStartOffset = 399, .vtxList = D_0A000000_E8A9E0, }; @@ -201,16 +201,16 @@ StaticAnimatorNode Entity_MunchlesiaSpitOut_Node3 = { StaticAnimatorNode Entity_MunchlesiaSpitOut_Node2 = { .displayList = Entity_MunchlesiaSpitOut_Render, .sibling = &Entity_MunchlesiaSpitOut_Node3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, .vtxList = D_0A000000_E8A9E0, }; StaticAnimatorNode Entity_MunchlesiaSpitOut_Node1 = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_MunchlesiaSpitOut_Node2, - .vertexStartOffset = (s32)ENTITY_ANIN_NULL, - .vtxList = ENTITY_ANIN_NULL, + .vertexStartOffset = (s32)ENTITY_ANIM_NULL, + .vtxList = ENTITY_ANIM_NULL, }; StaticAnimatorNode* Entity_MunchlesiaSpitOut_Mesh[] = { @@ -223,5 +223,5 @@ StaticAnimatorNode* Entity_MunchlesiaSpitOut_Mesh[] = { &Entity_MunchlesiaSpitOut_Node7, &Entity_MunchlesiaSpitOut_Node8, &Entity_MunchlesiaSpitOut_Node9, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; diff --git a/src/entity/model/PinkFlower_anim.c b/src/entity/model/PinkFlower_anim.c index 62e47b09c5..a418f470ac 100644 --- a/src/entity/model/PinkFlower_anim.c +++ b/src/entity/model/PinkFlower_anim.c @@ -9,32 +9,32 @@ extern Gfx Entity_PinkFlower_RenderNode5[]; StaticAnimatorNode Entity_PinkFlower_Node5 = { .displayList = Entity_PinkFlower_RenderNode5, .pos = { 0.0f, -30.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_PinkFlower_Node4 = { - .displayList = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, .pos = { 0.0f, 30.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_PinkFlower_Node5, }; StaticAnimatorNode Entity_PinkFlower_Node3 = { .displayList = Entity_PinkFlower_RenderNode3, .sibling = &Entity_PinkFlower_Node4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_PinkFlower_Node2 = { .displayList = Entity_PinkFlower_RenderNode2, .sibling = &Entity_PinkFlower_Node3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_PinkFlower_Node1 = { .displayList = Entity_PinkFlower_RenderNode1, - .sibling = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_PinkFlower_Node2, }; @@ -44,7 +44,7 @@ StaticAnimatorNode* Entity_PinkFlower_Mesh[] = { &Entity_PinkFlower_Node3, &Entity_PinkFlower_Node4, &Entity_PinkFlower_Node5, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_PinkFlower_AnimationLightUp = { diff --git a/src/entity/model/ScriptSpring_anim.c b/src/entity/model/ScriptSpring_anim.c index 0835021422..bf6e866d5f 100644 --- a/src/entity/model/ScriptSpring_anim.c +++ b/src/entity/model/ScriptSpring_anim.c @@ -10,70 +10,70 @@ extern Gfx Entity_ScriptSpring_RenderPart6[]; extern Gfx Entity_ScriptSpring_RenderPart7[]; StaticAnimatorNode Entity_ScriptSpring_NodePart9 = { - .displayList = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, .pos = { 0.0f, 5.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart8 = { - .displayList = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_ScriptSpring_NodePart9, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart7 = { .displayList = Entity_ScriptSpring_RenderPart7, .sibling = &Entity_ScriptSpring_NodePart8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart6 = { .displayList = Entity_ScriptSpring_RenderPart6, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_ScriptSpring_NodePart7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart5 = { .displayList = Entity_ScriptSpring_RenderPart5, .pos = { 0.0f, 8.0f, 0.0f }, .sibling = &Entity_ScriptSpring_NodePart6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart4 = { .displayList = Entity_ScriptSpring_RenderPart4, .pos = { 0.0f, 12.0f, 0.0f }, .sibling = &Entity_ScriptSpring_NodePart5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart3 = { .displayList = Entity_ScriptSpring_RenderPart3, .pos = { 0.0f, 16.0f, 0.0f }, .sibling = &Entity_ScriptSpring_NodePart4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart2 = { .displayList = Entity_ScriptSpring_RenderPart2, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_ScriptSpring_NodePart3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_NodePart1 = { .displayList = Entity_ScriptSpring_RenderPart1, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_ScriptSpring_NodePart2, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_ScriptSpring_ParentNode = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_ScriptSpring_NodePart1, }; @@ -88,7 +88,7 @@ StaticAnimatorNode* Entity_ScriptSpring_Mesh[] = { &Entity_ScriptSpring_NodePart7, &Entity_ScriptSpring_NodePart8, &Entity_ScriptSpring_NodePart9, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_ScriptSpring_AnimLaunch = { diff --git a/src/entity/model/SimpleSpring_anim.c b/src/entity/model/SimpleSpring_anim.c index bf789c7ba7..31757d924c 100644 --- a/src/entity/model/SimpleSpring_anim.c +++ b/src/entity/model/SimpleSpring_anim.c @@ -10,70 +10,70 @@ extern Gfx Entity_SimpleSpring_RenderPart6[]; extern Gfx Entity_SimpleSpring_RenderPart7[]; StaticAnimatorNode Entity_SimpleSpring_NodePart9 = { - .displayList = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, .pos = { 0.0f, 5.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart8 = { - .displayList = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_SimpleSpring_NodePart9, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart7 = { .displayList = Entity_SimpleSpring_RenderPart7, .sibling = &Entity_SimpleSpring_NodePart8, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart6 = { .displayList = Entity_SimpleSpring_RenderPart6, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_SimpleSpring_NodePart7, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart5 = { .displayList = Entity_SimpleSpring_RenderPart5, .pos = { 0.0f, 8.0f, 0.0f }, .sibling = &Entity_SimpleSpring_NodePart6, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart4 = { .displayList = Entity_SimpleSpring_RenderPart4, .pos = { 0.0f, 12.0f, 0.0f }, .sibling = &Entity_SimpleSpring_NodePart5, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart3 = { .displayList = Entity_SimpleSpring_RenderPart3, .pos = { 0.0f, 16.0f, 0.0f }, .sibling = &Entity_SimpleSpring_NodePart4, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart2 = { .displayList = Entity_SimpleSpring_RenderPart2, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_SimpleSpring_NodePart3, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_NodePart1 = { .displayList = Entity_SimpleSpring_RenderPart1, .pos = { 0.0f, 20.0f, 0.0f }, .sibling = &Entity_SimpleSpring_NodePart2, - .child = ENTITY_ANIN_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_SimpleSpring_ParentNode = { - .displayList = ENTITY_ANIN_NULL, - .sibling = ENTITY_ANIN_NULL, + .displayList = ENTITY_ANIM_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_SimpleSpring_NodePart1, }; @@ -88,7 +88,7 @@ StaticAnimatorNode* Entity_SimpleSpring_Mesh[] = { &Entity_SimpleSpring_NodePart7, &Entity_SimpleSpring_NodePart8, &Entity_SimpleSpring_NodePart9, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_SimpleSpring_AnimLaunch = { diff --git a/src/entity/model/TrumpetPlant_anim.c b/src/entity/model/TrumpetPlant_anim.c index 084d46833b..2d8450389f 100644 --- a/src/entity/model/TrumpetPlant_anim.c +++ b/src/entity/model/TrumpetPlant_anim.c @@ -8,20 +8,20 @@ StaticAnimatorNode Entity_TrumpetPlant_Node2 = { .displayList = Entity_TrumpetPlant_RenderNode2, .rot = { 0, 0, 5461 }, .pos = { 0.0f, 15.0f, 0.0f }, - .sibling = ENTITY_ANIN_NULL, - .child = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, + .child = ENTITY_ANIM_NULL, }; StaticAnimatorNode Entity_TrumpetPlant_Node1 = { .displayList = Entity_TrumpetPlant_RenderNode1, - .sibling = ENTITY_ANIN_NULL, + .sibling = ENTITY_ANIM_NULL, .child = &Entity_TrumpetPlant_Node2, }; StaticAnimatorNode* Entity_TrumpetPlant_Mesh[] = { &Entity_TrumpetPlant_Node1, &Entity_TrumpetPlant_Node2, - ENTITY_ANIN_NULL, + ENTITY_ANIM_NULL, }; AnimScript Entity_TrumpetPlant_AnimationUse = { diff --git a/src/evt/npc_api.c b/src/evt/npc_api.c index cfd47b020c..f4b661efc7 100644 --- a/src/evt/npc_api.c +++ b/src/evt/npc_api.c @@ -968,7 +968,7 @@ ApiStatus PartnerIsFlying(Evt* script, s32 isInitialCall) { ApiStatus func_802CFD30(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 npcId = evt_get_variable(script, *args++); - Bytecode var1 = evt_get_variable(script, *args++); + Bytecode foldType = evt_get_variable(script, *args++); Bytecode var2 = evt_get_variable(script, *args++); Bytecode var3 = evt_get_variable(script, *args++); Bytecode var4 = evt_get_variable(script, *args++); @@ -979,7 +979,7 @@ ApiStatus func_802CFD30(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - func_8003D624(npc, var1, var2, var3, var4, var5, npc->unk_A2); + func_8003D624(npc, foldType, var2, var3, var4, var5, npc->unk_A2); return ApiStatus_DONE2; } diff --git a/src/npc.c b/src/npc.c index 29e10b9f55..58029a2fe1 100644 --- a/src/npc.c +++ b/src/npc.c @@ -1025,7 +1025,8 @@ void update_npc_blur(Npc* npc) { motionBlur->index = index; } -void appendGfx_npc_blur(Npc* npc) { +void appendGfx_npc_blur(void* appendData) { + Npc* npc = (Npc*) appendData; Matrix4f sp20, sp60; f32 x, y, z; f32 yaw; @@ -1993,70 +1994,70 @@ s32 npc_get_collider_below(Npc* npc) { } void func_8003D3BC(Npc* npc) { - s32 temp_s4 = npc->unk_98; - s32 temp_s0 = npc->unk_9A; - s32 temp_s5 = npc->unk_9C; - s32 temp_s2 = npc->unk_9E; - s32 temp_s6 = npc->unk_A0; - s32 temp_s3 = npc->unk_A2; + s32 foldType = npc->unk_98; + s32 foldArg1 = npc->unk_9A; + s32 foldArg2 = npc->unk_9C; + s32 foldArg3 = npc->unk_9E; + s32 foldArg4 = npc->unk_A0; + s32 foldArg5 = npc->unk_A2; func_802DE894(npc->spriteInstanceID, FOLD_TYPE_NONE, 0, 0, 0, 0, 0); - switch (temp_s4) { + switch (foldType) { case FOLD_TYPE_NONE: - npc->renderMode = 13; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_NONE, 0, 0, 0, 0, temp_s3); + npc->renderMode = RENDER_MODE_ALPHATEST; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_NONE, 0, 0, 0, 0, foldArg5); break; case FOLD_TYPE_2: case FOLD_TYPE_3: - npc->renderMode = 13; + npc->renderMode = RENDER_MODE_ALPHATEST; // fallthrough case FOLD_TYPE_1: - func_802DE894(npc->spriteInstanceID, temp_s4, 0, 0, 0, 0, temp_s3); + func_802DE894(npc->spriteInstanceID, foldType, 0, 0, 0, 0, foldArg5); break; case FOLD_TYPE_4: - npc->renderMode = 13; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_4, temp_s0, temp_s5, temp_s2, 0, temp_s3); + npc->renderMode = RENDER_MODE_ALPHATEST; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_4, foldArg1, foldArg2, foldArg3, 0, foldArg5); break; case FOLD_TYPE_6: - npc->renderMode = 13; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_6, temp_s0, temp_s5, temp_s2, 255, temp_s3); + npc->renderMode = RENDER_MODE_ALPHATEST; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_6, foldArg1, foldArg2, foldArg3, 255, foldArg5); break; case FOLD_TYPE_7: - npc->renderMode = 22; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_7, 255, 255, 255, temp_s0, temp_s3); + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_7, 255, 255, 255, foldArg1, foldArg5); break; case FOLD_TYPE_8: - npc->renderMode = 22; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_8, temp_s0, temp_s5, temp_s2, temp_s6, temp_s3); + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_8, foldArg1, foldArg2, foldArg3, foldArg4, foldArg5); break; case FOLD_TYPE_9: - npc->renderMode = 13; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_9, temp_s0, temp_s5, temp_s2, 255, temp_s3); + npc->renderMode = RENDER_MODE_ALPHATEST; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_9, foldArg1, foldArg2, foldArg3, 255, foldArg5); break; case FOLD_TYPE_A: - npc->renderMode = 22; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_A, temp_s0, temp_s5, temp_s2, temp_s6, temp_s3); + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_A, foldArg1, foldArg2, foldArg3, foldArg4, foldArg5); break; case FOLD_TYPE_5: - npc->renderMode = 13; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_5, temp_s0, temp_s5, temp_s2, 0, temp_s3); + npc->renderMode = RENDER_MODE_ALPHATEST; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_5, foldArg1, foldArg2, foldArg3, 0, foldArg5); break; case FOLD_TYPE_D: - npc->renderMode = 22; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_D, temp_s0, temp_s5, temp_s2, temp_s6, temp_s3); + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_D, foldArg1, foldArg2, foldArg3, foldArg4, foldArg5); break; case FOLD_TYPE_E: - npc->renderMode = 13; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_E, temp_s0, temp_s5, temp_s2, 255, temp_s3); + npc->renderMode = RENDER_MODE_ALPHATEST; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_E, foldArg1, foldArg2, foldArg3, 255, foldArg5); break; case FOLD_TYPE_F: - npc->renderMode = 13; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_F, temp_s0, 255, 0, 255, temp_s3); + npc->renderMode = RENDER_MODE_ALPHATEST; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_F, foldArg1, 255, 0, 255, foldArg5); break; case FOLD_TYPE_10: - npc->renderMode = 22; - func_802DE894(npc->spriteInstanceID, FOLD_TYPE_F, temp_s0, temp_s5, 0, temp_s5, temp_s3); + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + func_802DE894(npc->spriteInstanceID, FOLD_TYPE_F, foldArg1, foldArg2, 0, foldArg2, foldArg5); break; } } diff --git a/src/world/area_arn/arn_03/arn_03_3_npc.c b/src/world/area_arn/arn_03/arn_03_3_npc.c index 8f6235b5ee..a4904328a2 100644 --- a/src/world/area_arn/arn_03/arn_03_3_npc.c +++ b/src/world/area_arn/arn_03/arn_03_3_npc.c @@ -195,7 +195,7 @@ EvtScript N(802428CC) = { EVT_END_IF EVT_ADD(LVar1, 20) EVT_CALL(SetNpcPos, NPC_Boo_05, LVar0, LVar1, LVar2) - EVT_CALL(func_802CFD30, NPC_Boo_05, 7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_05, FOLD_TYPE_7, 0, 0, 0, 0) EVT_WAIT(1) EVT_RETURN EVT_END @@ -213,7 +213,7 @@ EvtScript N(802429D4) = { EVT_CALL(MakeLerp, 0, 255, 40, EASING_LINEAR) EVT_LABEL(10) EVT_CALL(UpdateLerp) - EVT_CALL(func_802CFD30, NPC_Boo_05, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_05, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(10) @@ -236,7 +236,7 @@ EvtScript N(80242B0C) = { EVT_CALL(MakeLerp, 255, 0, 40, EASING_LINEAR) EVT_LABEL(10) EVT_CALL(UpdateLerp) - EVT_CALL(func_802CFD30, NPC_Boo_05, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_05, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(10) diff --git a/src/world/area_arn/arn_05/arn_05_3_npc.c b/src/world/area_arn/arn_05/arn_05_3_npc.c index 184b66e8ff..d2086f7980 100644 --- a/src/world/area_arn/arn_05/arn_05_3_npc.c +++ b/src/world/area_arn/arn_05/arn_05_3_npc.c @@ -370,9 +370,9 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(20) EVT_SUBF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, NPC_Boo_01, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_Boo_02, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_Boo_05, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_01, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_02, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_05, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_Boo_01, 420, 300, 220) @@ -385,8 +385,8 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_LOOP(20) EVT_ADDF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, NPC_Boo_01, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_Boo_02, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_01, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo_02, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SpeakToPlayer, NPC_Boo_03, ANIM_Boo_Tan_Flail, ANIM_Boo_Tan_Flail, 0, MSG_CH3_00A1) @@ -445,8 +445,8 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(20) EVT_SUBF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, 1, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_Boo_01, 0, -1000, 0) @@ -565,14 +565,14 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_LOOP(20) EVT_ADDF(LVar0, EVT_FLOAT(12.5)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, 1, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, 4, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 4, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(func_802CFD30, 0, 0, 0, 0, 0, 0) - EVT_CALL(func_802CFD30, 1, 0, 0, 0, 0, 0) - EVT_CALL(func_802CFD30, 4, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_NONE, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_NONE, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 4, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_WAIT(10) EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) diff --git a/src/world/area_arn/arn_07/arn_07_5_npc.c b/src/world/area_arn/arn_07/arn_07_5_npc.c index 09bb0ea498..5a4dbfac39 100644 --- a/src/world/area_arn/arn_07/arn_07_5_npc.c +++ b/src/world/area_arn/arn_07/arn_07_5_npc.c @@ -133,12 +133,12 @@ EvtScript N(EVS_Scene_BossDefeated) = { EVT_IF_NE(LVar6, PARTNER_BOW) EVT_SET(LVar5, 8) EVT_CALL(SetNpcPos, NPC_Bow, 257, 25, 0) - EVT_CALL(func_802CFD30, 8, 7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 8, FOLD_TYPE_7, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_Bow, 0) EVT_CALL(MakeLerp, 0, 240, 20, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) - EVT_CALL(func_802CFD30, 8, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 8, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 0) EVT_BREAK_LOOP @@ -217,7 +217,7 @@ EvtScript N(EVS_Scene_BossDefeated) = { EVT_CALL(MakeLerp, 240, 0, 20, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) - EVT_CALL(func_802CFD30, 8, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 8, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 0) EVT_BREAK_LOOP diff --git a/src/world/area_dro/dro_01/dro_01.h b/src/world/area_dro/dro_01/dro_01.h index a5133816d1..ea00d90ddf 100644 --- a/src/world/area_dro/dro_01/dro_01.h +++ b/src/world/area_dro/dro_01/dro_01.h @@ -53,8 +53,6 @@ extern ShopSellPriceData N(Shop_PriceList)[]; extern ShopItemLocation N(Shop_ItemPositions)[]; extern ShopOwner N(Shop_Owner); -extern EvtScript ItemShopInteract; - extern EvtScript N(80244450); extern EvtScript N(8024CDA0); diff --git a/src/world/area_dro/dro_01/dro_01_3_npc.c b/src/world/area_dro/dro_01/dro_01_3_npc.c index 2cae1a0c0c..301d9b8577 100644 --- a/src/world/area_dro/dro_01/dro_01_3_npc.c +++ b/src/world/area_dro/dro_01/dro_01_3_npc.c @@ -27,7 +27,7 @@ s32 N(LetterList)[] = { EvtScript N(EVS_ShopOwner_LetterDelivery) = { EVT_CALL(N(LetterDelivery_Init), NPC_Mouser_ShopOwner, ANIM_Mouser_Purple_Talk, ANIM_Mouser_Purple_Idle, - ITEM_LETTER19, ITEM_LETTER12, + ITEM_LETTER19, ITEM_LETTER_TO_FRANKY, MSG_CH2_0089, MSG_CH2_008A, MSG_CH2_008B, MSG_CH2_008C, EVT_PTR(N(LetterList))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) diff --git a/src/world/area_end/end_00/end_00_7_boos.c b/src/world/area_end/end_00/end_00_7_boos.c index a81c3359b6..215b4d0164 100644 --- a/src/world/area_end/end_00/end_00_7_boos.c +++ b/src/world/area_end/end_00/end_00_7_boos.c @@ -77,9 +77,9 @@ EvtScript N(EVS_ParadePhase_Boos) = { EVT_END_LOOP EVT_WAIT(10) EVT_CALL(N(SetUnusedAlpha), 255) - EVT_CALL(func_802CFD30, NPC_Boo1, 7, 0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_Boo2, 7, 0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_Boo3, 7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo1, FOLD_TYPE_7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo2, FOLD_TYPE_7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo3, FOLD_TYPE_7, 0, 0, 0, 0) EVT_CALL(EnableNpcShadow, NPC_Boo1, FALSE) EVT_CALL(EnableNpcShadow, NPC_Boo2, FALSE) EVT_CALL(EnableNpcShadow, NPC_Boo3, FALSE) @@ -97,9 +97,9 @@ EvtScript N(EVS_ParadePhase_Boos) = { EVT_CALL(MakeLerp, 0, 255, 30, EASING_LINEAR) EVT_LOOP(30) EVT_CALL(UpdateLerp) - EVT_CALL(func_802CFD30, NPC_Boo1, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_Boo2, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_Boo3, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo1, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo2, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_Boo3, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(EnableNpcShadow, NPC_Boo1, TRUE) diff --git a/src/world/area_flo/flo_00/flo_00_4_epilogue.c b/src/world/area_flo/flo_00/flo_00_4_epilogue.c index b06f7aacb1..f994a53b12 100644 --- a/src/world/area_flo/flo_00/flo_00_4_epilogue.c +++ b/src/world/area_flo/flo_00/flo_00_4_epilogue.c @@ -27,7 +27,7 @@ EvtScript N(EVS_Scene_Epilogue) = { EVT_CALL(DisablePartnerAI, 0) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(DisablePlayerPhysics, TRUE) - EVT_SET_VEC3(LVar0, 230, 0, 350) + EVT_VEC3I_SET(LVar0, 230, 0, 350) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) diff --git a/src/world/area_flo/flo_00/flo_00_5_beanstalk.c b/src/world/area_flo/flo_00/flo_00_5_beanstalk.c index e16dfed5a6..852c37912e 100644 --- a/src/world/area_flo/flo_00/flo_00_5_beanstalk.c +++ b/src/world/area_flo/flo_00/flo_00_5_beanstalk.c @@ -246,8 +246,8 @@ EvtScript N(EVS_Exit_Beanstalk) = { EVT_SET(AF_FLO_RidingBeanstalk, TRUE) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o261, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o351, COLLIDER_FLAGS_UPPER_MASK) - EVT_SET_VEC3(LVar9, EVT_FLOAT(-59.0), EVT_FLOAT(22.0), EVT_FLOAT(125.0)) // target player pos - EVT_SET_VEC3(LVarC, EVT_FLOAT(-55.0), EVT_FLOAT(24.0), EVT_FLOAT(145.0)) // target partner pos + EVT_VEC3I_SET(LVar9, EVT_FLOAT(-59.0), EVT_FLOAT(22.0), EVT_FLOAT(125.0)) // target player pos + EVT_VEC3I_SET(LVarC, EVT_FLOAT(-55.0), EVT_FLOAT(24.0), EVT_FLOAT(145.0)) // target partner pos EVT_CALL(PlayerMoveTo, LVar9, LVarB, 8) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_PARTNER, LVarC, LVarD, LVarE, 5) diff --git a/src/world/area_flo/flo_13/flo_13_5_new_party.c b/src/world/area_flo/flo_13/flo_13_5_new_partner.c similarity index 100% rename from src/world/area_flo/flo_13/flo_13_5_new_party.c rename to src/world/area_flo/flo_13/flo_13_5_new_partner.c diff --git a/src/world/area_flo/flo_21/flo_21_4_npc.c b/src/world/area_flo/flo_21/flo_21_4_npc.c index 383219df2e..f5f0d9d2b4 100644 --- a/src/world/area_flo/flo_21/flo_21_4_npc.c +++ b/src/world/area_flo/flo_21/flo_21_4_npc.c @@ -310,9 +310,9 @@ EvtScript N(EVS_HuffNPuff_Defeat_Flashing) = { EVT_CALL(MakeLerp, 0, 255, 10, EASING_QUADRATIC_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) - EVT_CALL(func_802CFD30, NPC_HuffNPuff_01, 9, LVar0, LVar0, LVar0, 0) - EVT_CALL(func_802CFD30, NPC_HuffNPuff_02, 9, LVar0, LVar0, LVar0, 0) - EVT_CALL(func_802CFD30, NPC_HuffNPuff_03, 9, LVar0, LVar0, LVar0, 0) + EVT_CALL(func_802CFD30, NPC_HuffNPuff_01, FOLD_TYPE_9, LVar0, LVar0, LVar0, 0) + EVT_CALL(func_802CFD30, NPC_HuffNPuff_02, FOLD_TYPE_9, LVar0, LVar0, LVar0, 0) + EVT_CALL(func_802CFD30, NPC_HuffNPuff_03, FOLD_TYPE_9, LVar0, LVar0, LVar0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 0) EVT_BREAK_LOOP diff --git a/src/world/area_isk/isk_16/isk_16_3_boss.c b/src/world/area_isk/isk_16/isk_16_3_boss.c index f0d9f66f93..b9b3388d9c 100644 --- a/src/world/area_isk/isk_16/isk_16_3_boss.c +++ b/src/world/area_isk/isk_16/isk_16_3_boss.c @@ -48,18 +48,18 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = { EVT_WAIT(30) EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) EVT_END_THREAD - EVT_CALL(func_802CFD30, 1, 7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_7, 0, 0, 0, 0) EVT_CALL(SetNpcPos, NPC_Tutankoopa_02, 410, -905, 410) EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_02, ANIM_Tutankoopa_Anim10) EVT_CALL(MakeLerp, 0, 255, 100, EASING_QUADRATIC_IN) EVT_LABEL(2) EVT_CALL(UpdateLerp) - EVT_CALL(func_802CFD30, 1, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_IF_EQ(LVar1, 1) EVT_GOTO(2) EVT_END_IF - EVT_CALL(func_802CFD30, 1, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_WAIT(30) EVT_SET(LVar0, 255) EVT_LOOP(60) @@ -106,17 +106,17 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = { EVT_WAIT(59) EVT_CALL(PlaySoundAtNpc, NPC_Tutankoopa_01, SOUND_3EF, 0) EVT_END_THREAD - EVT_CALL(func_802CFD30, 0, 7, 255, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, 255, 0, 0, 0) EVT_CALL(func_802CFE2C, 0, 0x00000800) - EVT_CALL(func_802CFD30, 0, 5, 14, 2, 1, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_5, 14, 2, 1, 0) EVT_WAIT(39) EVT_CALL(func_802CFE2C, 0, 0x00000800) - EVT_CALL(func_802CFD30, 0, 5, 13, 2, 1, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_5, 13, 2, 1, 0) EVT_WAIT(39) EVT_CALL(func_802CFE2C, 0, 0x00000800) - EVT_CALL(func_802CFD30, 0, 5, 12, 2, 1, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_5, 12, 2, 1, 0) EVT_WAIT(55) - EVT_CALL(func_802CFD30, 0, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(SetNpcPos, NPC_Tutankoopa_02, 457, -1300, 316) EVT_WAIT(10) EVT_CALL(SetPanTarget, CAM_DEFAULT, 438, -800, 332) diff --git a/src/world/area_iwa/iwa_10/iwa_10_7_new_party.c b/src/world/area_iwa/iwa_10/iwa_10_7_new_partner.c similarity index 100% rename from src/world/area_iwa/iwa_10/iwa_10_7_new_party.c rename to src/world/area_iwa/iwa_10/iwa_10_7_new_partner.c diff --git a/src/world/area_iwa/iwa_11/iwa_11_3_train.c b/src/world/area_iwa/iwa_11/iwa_11_3_train.c index 07af99d634..4db5a982d4 100644 --- a/src/world/area_iwa/iwa_11/iwa_11_3_train.c +++ b/src/world/area_iwa/iwa_11/iwa_11_3_train.c @@ -263,7 +263,7 @@ EvtScript N(EVS_UpdatePassengerPos) = { EVT_ELSE EVT_ADD(LVar0, -335) EVT_END_IF - EVT_SET_VEC3(LVar3, LVar0, LVar1, LVar2) + EVT_VEC3I_VSET(LVar3, LVar0) EVT_IF_EQ(MF_TrainReverseDir, FALSE) EVT_ADD(LVar3, -57) EVT_ELSE diff --git a/src/world/area_kmr/kmr.h b/src/world/area_kmr/kmr.h index 0e292db2f3..29d1a0e21d 100644 --- a/src/world/area_kmr/kmr.h +++ b/src/world/area_kmr/kmr.h @@ -21,6 +21,7 @@ enum { }; enum { + AF_KMR_04 = AreaFlag(4), AF_KMR_06 = AreaFlag(6), AF_KMR_07 = AreaFlag(7), AF_KMR_08 = AreaFlag(8), @@ -47,6 +48,7 @@ extern MapSettings kmr_24_settings; extern MapSettings kmr_30_settings; s32 kmr_21_map_init(void); +s32 kmr_22_map_init(void); s32 kmr_23_map_init(void); s32 kmr_24_map_init(void); diff --git a/src/world/area_kmr/kmr_02/8B0070.c b/src/world/area_kmr/kmr_02/8B0070.c index 0182525f18..8c84a95d31 100644 --- a/src/world/area_kmr/kmr_02/8B0070.c +++ b/src/world/area_kmr/kmr_02/8B0070.c @@ -181,8 +181,8 @@ ApiStatus func_8024280C_8B287C(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -#define UNK_NPC_POS_FUNC_NUM 7 -#include "world/common/todo/UnkNpcPosFunc.inc.c" +#define KAMMY_NPC 7 +#include "world/common/util/GetKammyBroomEmitterPos.inc.c" #include "world/common/todo/SyncStatusMenu.inc.c" diff --git a/src/world/area_kmr/kmr_09/kmr_09_3_npc.c b/src/world/area_kmr/kmr_09/kmr_09_3_npc.c index 8441189816..452264cadf 100644 --- a/src/world/area_kmr/kmr_09/kmr_09_3_npc.c +++ b/src/world/area_kmr/kmr_09/kmr_09_3_npc.c @@ -89,10 +89,10 @@ EvtScript N(EVS_NpcIdle_Goomba_Ambush) = { EVT_END_IF EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_F8, 0) EVT_CALL(func_802CFE2C, NPC_SELF, 0x00002000) - EVT_CALL(func_802CFD30, NPC_SELF, 5, 6, 1, 1, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_5, 6, 1, 1, 0) EVT_WAIT(15) EVT_CALL(func_802CFE2C, NPC_SELF, 0x00002000) - EVT_CALL(func_802CFD30, NPC_SELF, 3, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_3, 0, 0, 0, 0) EVT_THREAD EVT_WAIT(2) EVT_SETF(LVar0, EVT_FLOAT(0.0)) @@ -107,7 +107,7 @@ EvtScript N(EVS_NpcIdle_Goomba_Ambush) = { EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6)) EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 25, 23) - EVT_CALL(func_802CFD30, NPC_SELF, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_NO_AI, TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) diff --git a/src/world/area_kmr/kmr_11/8DA100.c b/src/world/area_kmr/kmr_11/8DA100.c deleted file mode 100644 index da4b9a160b..0000000000 --- a/src/world/area_kmr/kmr_11/8DA100.c +++ /dev/null @@ -1,15 +0,0 @@ -#include "kmr_11.h" - -static char* N(exit_str_0) = "kmr_24"; -static char* N(exit_str_1) = "kmr_12"; -static char* N(exit_str_2) = "kmr_10"; -static char* N(exit_str_3) = ""; - -#include "common/foliage.inc.c" - -#include "common/UnkFogFunc.inc.c" - -ApiStatus func_8024027C_8DA37C(Evt* script, s32 isInitialCall) { - set_map_change_fade_rate(10); - return ApiStatus_DONE2; -} diff --git a/src/world/area_kmr/kmr_11/8DA3A0.c b/src/world/area_kmr/kmr_11/8DA3A0.c deleted file mode 100644 index 0f6262a394..0000000000 --- a/src/world/area_kmr/kmr_11/8DA3A0.c +++ /dev/null @@ -1,24 +0,0 @@ -#include "kmr_11.h" -#include "effects.h" - -ApiStatus func_802402A0_8DA3A0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - f32 temp_f24 = evt_get_float_variable(script, *args++); - f32 temp_f22 = evt_get_float_variable(script, *args++); - f32 temp_f20 = evt_get_float_variable(script, *args++); - s32 t4 = evt_get_variable(script, *args++); - - fx_lens_flare(0, temp_f24, temp_f22, temp_f20, t4); - return ApiStatus_DONE2; -} -ApiStatus func_80240344_8DA444(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - gCameras[CAM_DEFAULT].vfov = evt_get_float_variable(script, *args++); - return ApiStatus_DONE2; -} - -#include "world/common/enemy/ai/StationaryAI.inc.c" - -#define UNK_NPC_POS_FUNC_NUM 4 -#include "world/common/todo/UnkNpcPosFunc.inc.c" diff --git a/src/world/area_kmr/kmr_11/8DAFC0.c b/src/world/area_kmr/kmr_11/8DAFC0.c deleted file mode 100644 index ba6ecb714d..0000000000 --- a/src/world/area_kmr/kmr_11/8DAFC0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "kmr_11.h" - -ApiStatus func_80240EC0_8DAFC0(Evt* script, s32 isInitialCall) { - Entity* entity = get_entity_by_index(script->varTable[10]); - - entity->position.x = script->varTable[0]; - entity->position.y = script->varTable[1]; - entity->position.z = script->varTable[2]; - - return ApiStatus_DONE2; -} diff --git a/src/world/area_kmr/kmr_11/8DB020.c b/src/world/area_kmr/kmr_11/8DB020.c deleted file mode 100644 index 79013196b4..0000000000 --- a/src/world/area_kmr/kmr_11/8DB020.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "kmr_11.h" - -#define NAMESPACE dup_kmr_11 -#include "common/foliage.inc.c" -#define NAMESPACE kmr_11 - diff --git a/src/world/area_kmr/kmr_11/kmr_11.h b/src/world/area_kmr/kmr_11/kmr_11.h index e98b8f3027..c370ef6927 100644 --- a/src/world/area_kmr/kmr_11/kmr_11.h +++ b/src/world/area_kmr/kmr_11/kmr_11.h @@ -2,9 +2,59 @@ /// @brief Goomba Region - Goomba King's Castle #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_11_shape.h" +#include "mapfs/kmr_11_hit.h" + +#include "sprite/npc/GoombaKing.h" +#include "sprite/npc/WorldGoombario.h" +#include "sprite/npc/GoombaBros.h" +#include "sprite/npc/WorldKammy.h" + +#include "animation_script.h" + +enum { + NPC_BlueGoombaBro = 0, + NPC_RedGoombaBro = 1, + NPC_GoombaKing = 2, + NPC_Kammy = 4, +}; + +enum { + MV_SwitchEntityID = MapVar(0), +}; + +enum { + MF_SpawnFlag_StarPiece = MapFlag(10), +}; #define NAMESPACE kmr_11 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupFoliage); +extern EvtScript N(EVS_Interact_SwitchBush); +extern EvtScript N(EVS_Scene_MeetGoombaKing); +extern EvtScript N(EVS_Scene_SelfDestruct); +extern EvtScript N(EVS_PlayFortressAnimation); +extern EvtScript N(EVS_PlayBridgeAnimation); +extern EvtScript N(EVS_Scene_KammyWatching); +extern EvtScript N(EVS_BadExit_kmr_24_0); + +extern NpcGroupList N(DefaultNPCs); + +extern StaticAnimatorNode* N(AnimSkeleton_Fortress)[]; +extern StaticAnimatorNode* N(AnimSkeleton_Bridge)[]; +extern AnimScript N(AnimScript_Fortress); +extern AnimScript N(AnimScript_Bridge); + +API_CALLABLE(N(SetCameraVFov)); +API_CALLABLE(N(SetupFog)); + +ApiStatus InitAnimatedModels(Evt* script, s32 isInitialCall); +ApiStatus SetAnimatedModelRenderMode(Evt* script, s32 isInitialCall); +ApiStatus DeleteAnimatedModel(Evt* script, s32 isInitialCall); diff --git a/src/world/area_kmr/kmr_11/kmr_11_0_header.c b/src/world/area_kmr/kmr_11/kmr_11_0_header.c new file mode 100644 index 0000000000..dcc9230108 --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_0_header.c @@ -0,0 +1,14 @@ +#include "kmr_11.h" + +EntryList N(Entrances) = { + [kmr_11_ENTRY_0] { -925.0, 0.0, -53.0, 90.0 }, + [kmr_11_ENTRY_1] { 770.0, 0.0, -525.0, 225.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_kmr_11 }, +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_10_bridge_skeleton.c b/src/world/area_kmr/kmr_11/kmr_11_10_bridge_skeleton.c new file mode 100644 index 0000000000..b8652ae9b4 --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_10_bridge_skeleton.c @@ -0,0 +1,265 @@ +#include "kmr_11.h" + +StaticAnimatorNode N(D_8024EEF0_8E8FF0) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy32), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024EF1C_8E901C) = { + .pos = { -159.0f, 0.0f, -126.0f }, + .child = &N(D_8024EEF0_8E8FF0), +}; + +StaticAnimatorNode N(D_8024EF48_8E9048) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy31), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024EF74_8E9074) = { + .pos = { -159.0f, 0.0f, -126.0f }, + .child = &N(D_8024EF48_8E9048), + .sibling = &N(D_8024EF1C_8E901C), +}; + +StaticAnimatorNode N(D_8024EFA0_8E90A0) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy30), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024EFCC_8E90CC) = { + .pos = { -159.0f, 0.0f, -126.0f }, + .child = &N(D_8024EFA0_8E90A0), + .sibling = &N(D_8024EF74_8E9074), +}; + +StaticAnimatorNode N(D_8024EFF8_8E90F8) = { + .pos = { 140.0f, -10.0f, -360.0f }, + .rot = { AS_F(0.0f), AS_F(-180.0f), AS_F(0.0f) }, + .child = &N(D_8024EFCC_8E90CC), +}; + +StaticAnimatorNode N(D_8024F024_8E9124) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F050_8E9150) = { + .pos = { -159.0f, 0.0f, -126.0f }, + .child = &N(D_8024F024_8E9124), +}; + +StaticAnimatorNode N(D_8024F07C_8E917C) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F0A8_8E91A8) = { + .pos = { -159.0f, 0.0f, -126.0f }, + .child = &N(D_8024F07C_8E917C), + .sibling = &N(D_8024F050_8E9150), +}; + +StaticAnimatorNode N(D_8024F0D4_8E91D4) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F100_8E9200) = { + .pos = { -159.0f, 0.0f, -126.0f }, + .child = &N(D_8024F0D4_8E91D4), + .sibling = &N(D_8024F0A8_8E91A8), +}; + +StaticAnimatorNode N(D_8024F12C_8E922C) = { + .pos = { 0.0f, -10.0f, 0.0f }, + .child = &N(D_8024F100_8E9200), + .sibling = &N(D_8024EFF8_8E90F8), +}; + +StaticAnimatorNode N(D_8024F158_8E9258) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_8024F12C_8E922C), +}; + +StaticAnimatorNode N(D_8024F184_8E9284) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_dummy), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F1B0_8E92B0) = { + .pos = { 0.0f, 110.0f, 0.0f }, + .child = &N(D_8024F184_8E9284), +}; + +StaticAnimatorNode N(D_8024F1DC_8E92DC) = { + .pos = { -237.0f, 109.0f, 155.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(-179.9945f) }, + .modelID = AS_MODEL_ID(MODEL_b1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F208_8E9308) = { + .pos = { 312.0f, -169.0f, 155.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_b2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F234_8E9334) = { + .pos = { -237.0f, 169.0f, 155.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(-179.9945f) }, + .modelID = AS_MODEL_ID(MODEL_b3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F260_8E9360) = { + .pos = { 312.0f, -229.0f, 155.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_b4), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F28C_8E938C) = { + .pos = { -237.0f, 229.0f, 155.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(-179.9945f) }, + .modelID = AS_MODEL_ID(MODEL_b5), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F2B8_8E93B8) = { + .pos = { 312.0f, -289.0f, 155.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_b6), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024F2E4_8E93E4) = { + .pos = { 75.0f, 0.0f, 0.0f }, + .sibling = &N(D_8024F2B8_8E93B8), +}; + +StaticAnimatorNode N(D_8024F310_8E9410) = { + .pos = { 30.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_8024F2E4_8E93E4), +}; + +StaticAnimatorNode N(D_8024F33C_8E943C) = { + .pos = { 30.0f, 0.0f, 0.0f }, + .child = &N(D_8024F310_8E9410), +}; + +StaticAnimatorNode N(D_8024F368_8E9468) = { + .pos = { 75.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_8024F33C_8E943C), + .sibling = &N(D_8024F28C_8E938C), +}; + +StaticAnimatorNode N(D_8024F394_8E9494) = { + .pos = { 75.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(179.9945f) }, + .child = &N(D_8024F368_8E9468), + .sibling = &N(D_8024F260_8E9360), +}; + +StaticAnimatorNode N(D_8024F3C0_8E94C0) = { + .pos = { 30.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_8024F394_8E9494), +}; + +StaticAnimatorNode N(D_8024F3EC_8E94EC) = { + .pos = { 30.0f, 0.0f, 0.0f }, + .child = &N(D_8024F3C0_8E94C0), +}; + +StaticAnimatorNode N(D_8024F418_8E9518) = { + .pos = { 75.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_8024F3EC_8E94EC), + .sibling = &N(D_8024F234_8E9334), +}; + +StaticAnimatorNode N(D_8024F444_8E9544) = { + .pos = { 75.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(179.9945f) }, + .child = &N(D_8024F418_8E9518), + .sibling = &N(D_8024F208_8E9308), +}; + +StaticAnimatorNode N(D_8024F470_8E9570) = { + .pos = { 30.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_8024F444_8E9544), +}; + +StaticAnimatorNode N(D_8024F49C_8E959C) = { + .pos = { 30.0f, 0.0f, 0.0f }, + .child = &N(D_8024F470_8E9570), +}; + +StaticAnimatorNode N(D_8024F4C8_8E95C8) = { + .pos = { 75.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_8024F49C_8E959C), + .sibling = &N(D_8024F1DC_8E92DC), +}; + +StaticAnimatorNode N(D_8024F4F4_8E95F4) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(179.9945f) }, + .child = &N(D_8024F4C8_8E95C8), +}; + +StaticAnimatorNode N(D_8024F520_8E9620) = { + .pos = { 0.0f, 110.0f, 0.0f }, + .child = &N(D_8024F4F4_8E95F4), + .sibling = &N(D_8024F1B0_8E92B0), +}; + +StaticAnimatorNode N(D_8024F54C_8E964C) = { + .pos = { -266.0f, 0.0f, -99.0f }, + .rot = { AS_F(0.0f), AS_F(12.695089f), AS_F(0.0f) }, + .child = &N(D_8024F520_8E9620), + .sibling = &N(D_8024F158_8E9258), +}; + +StaticAnimatorNode N(D_8024F578_8E9678) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_8024F54C_8E964C), +}; + +StaticAnimatorNode* N(AnimSkeleton_Bridge)[] = { + &N(D_8024F578_8E9678), &N(D_8024F54C_8E964C), &N(D_8024F520_8E9620), &N(D_8024F4F4_8E95F4), + &N(D_8024F4C8_8E95C8), &N(D_8024F49C_8E959C), &N(D_8024F470_8E9570), &N(D_8024F444_8E9544), + &N(D_8024F418_8E9518), &N(D_8024F3EC_8E94EC), &N(D_8024F3C0_8E94C0), &N(D_8024F394_8E9494), + &N(D_8024F368_8E9468), &N(D_8024F33C_8E943C), &N(D_8024F310_8E9410), &N(D_8024F2E4_8E93E4), + &N(D_8024F2B8_8E93B8), &N(D_8024F28C_8E938C), &N(D_8024F260_8E9360), &N(D_8024F234_8E9334), + &N(D_8024F208_8E9308), &N(D_8024F1DC_8E92DC), &N(D_8024F1B0_8E92B0), &N(D_8024F184_8E9284), + &N(D_8024F158_8E9258), &N(D_8024F12C_8E922C), &N(D_8024F100_8E9200), &N(D_8024F0D4_8E91D4), + &N(D_8024F0A8_8E91A8), &N(D_8024F07C_8E917C), &N(D_8024F050_8E9150), &N(D_8024F024_8E9124), + &N(D_8024EFF8_8E90F8), &N(D_8024EFCC_8E90CC), &N(D_8024EFA0_8E90A0), &N(D_8024EF74_8E9074), + &N(D_8024EF48_8E9048), &N(D_8024EF1C_8E901C), &N(D_8024EEF0_8E8FF0), NULL +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_11_bridge_animation.c b/src/world/area_kmr/kmr_11/kmr_11_11_bridge_animation.c new file mode 100644 index 0000000000..61da11bbcb --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_11_bridge_animation.c @@ -0,0 +1,763 @@ +#include "kmr_11.h" + +AnimScript N(AnimScript_Bridge) = { + AS_SET_ROTATION, 1, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 1, 0, 0, 0, + AS_SET_SCALE, 1, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 2, AS_F(0.0), AS_F(12.695), AS_F(0.0), + AS_SET_POS, 2, -266, 0, -99, + AS_SET_SCALE, 2, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 3, 0, 110, 0, + AS_SET_SCALE, 3, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(179.995), + AS_SET_POS, 4, 0, 0, 0, + AS_SET_SCALE, 4, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 5, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 5, 75, 0, 0, + AS_SET_SCALE, 5, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 6, 30, 0, 0, + AS_SET_SCALE, 6, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 7, 30, 0, 0, + AS_SET_SCALE, 7, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(179.995), + AS_SET_POS, 8, 75, 0, 0, + AS_SET_SCALE, 8, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 9, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 9, 75, 0, 0, + AS_SET_SCALE, 9, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 10, 30, 0, 0, + AS_SET_SCALE, 10, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 11, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 11, 30, 0, 0, + AS_SET_SCALE, 11, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(179.995), + AS_SET_POS, 12, 75, 0, 0, + AS_SET_SCALE, 12, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 13, 75, 0, 0, + AS_SET_SCALE, 13, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 14, 30, 0, 0, + AS_SET_SCALE, 14, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 15, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 15, 30, 0, 0, + AS_SET_SCALE, 15, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 16, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 16, 75, 0, 0, + AS_SET_SCALE, 16, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(-12.695), AS_F(0.0), + AS_SET_POS, 17, 312, -289, 155, + AS_SET_SCALE, 17, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 18, AS_F(0.0), AS_F(-12.695), AS_F(-179.995), + AS_SET_POS, 18, -237, 229, 155, + AS_SET_SCALE, 18, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(-12.695), AS_F(0.0), + AS_SET_POS, 19, 312, -229, 155, + AS_SET_SCALE, 19, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 20, AS_F(0.0), AS_F(-12.695), AS_F(-179.995), + AS_SET_POS, 20, -237, 169, 155, + AS_SET_SCALE, 20, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(-12.695), AS_F(0.0), + AS_SET_POS, 21, 312, -169, 155, + AS_SET_SCALE, 21, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 22, AS_F(0.0), AS_F(-12.695), AS_F(-179.995), + AS_SET_POS, 22, -237, 109, 155, + AS_SET_SCALE, 22, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 23, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 23, 0, 110, 0, + AS_SET_SCALE, 23, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 24, AS_F(0.0), AS_F(-12.695), AS_F(0.0), + AS_SET_POS, 24, 0, 0, 0, + AS_SET_SCALE, 24, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 25, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 25, 0, 0, 0, + AS_SET_SCALE, 25, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 26, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 26, 0, -10, 0, + AS_SET_SCALE, 26, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 27, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 27, -159, 0, -126, + AS_SET_SCALE, 27, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 28, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 28, 0, 0, 0, + AS_SET_SCALE, 28, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 29, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 29, -159, 0, -126, + AS_SET_SCALE, 29, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 30, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 30, 0, 0, 0, + AS_SET_SCALE, 30, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 31, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 31, -159, 0, -126, + AS_SET_SCALE, 31, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 32, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 32, 0, 0, 0, + AS_SET_SCALE, 32, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 33, AS_F(0.0), AS_F(-180.0), AS_F(0.0), + AS_SET_POS, 33, 140, -10, -360, + AS_SET_SCALE, 33, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 34, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 34, -159, 0, -126, + AS_SET_SCALE, 34, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 35, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 35, 0, 0, 0, + AS_SET_SCALE, 35, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 36, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 36, -159, 0, -126, + AS_SET_SCALE, 36, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 37, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 37, 0, 0, 0, + AS_SET_SCALE, 37, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 38, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 38, -159, 0, -126, + AS_SET_SCALE, 38, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 39, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 39, 0, 0, 0, + AS_SET_SCALE, 39, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(179.975), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(0.09), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(179.89), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(0.095), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(179.985), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(0.1), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(179.82), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(0.295), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(179.675), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(0.31), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(179.85), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(0.32), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(179.505), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(0.65), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(179.315), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(0.665), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(179.56), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(0.675), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(179.03), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(1.175), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(178.775), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(1.2), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(179.085), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(1.215), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(178.37), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(1.91), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(178.035), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(1.94), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(178.385), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(1.955), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(177.51), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(2.89), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(177.05), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(2.915), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(177.44), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(2.94), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(176.44), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(4.135), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(175.8), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(4.17), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(176.215), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(4.19), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(175.15), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(5.69), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(174.245), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(5.725), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(174.675), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(5.745), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(173.615), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(7.575), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(172.355), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(7.61), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(172.805), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(7.63), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(171.825), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(9.83), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(170.1), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(9.86), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(170.555), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(9.885), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(169.77), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(12.475), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(167.455), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(12.51), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(167.905), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(12.53), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(167.425), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(15.55), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(164.38), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(15.585), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(164.815), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(15.605), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(164.785), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(19.09), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(160.845), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(19.115), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(161.27), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(19.145), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(161.835), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(23.115), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(156.825), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(23.145), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(157.225), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(23.165), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(158.55), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(27.665), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(152.275), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(27.69), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(152.655), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(27.715), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(154.925), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(32.77), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(147.17), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(32.795), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(147.53), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(32.815), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(150.94), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(38.46), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(141.485), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(38.485), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(141.81), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(38.505), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(146.59), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(44.765), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(135.185), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(44.785), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(135.475), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(44.805), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(141.85), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(51.72), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(128.235), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(51.74), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(128.495), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(51.755), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(136.705), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(59.355), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(120.605), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(59.37), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(120.83), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(59.385), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(131.15), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(67.7), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(112.265), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(67.715), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(112.46), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(67.725), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(125.16), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(76.79), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(103.18), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(76.8), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(103.34), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(76.815), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(118.725), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(86.65), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(93.325), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(86.665), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(93.455), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(86.67), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(111.835), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(97.32), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(82.66), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(97.325), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(82.755), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(97.33), + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(104.465), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(108.825), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(71.16), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(108.83), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(71.23), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(108.835), + AS_WAIT, 1, + AS_SET_POS, 3, 3, 128, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(96.605), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(121.2), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(58.79), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(121.2), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(58.84), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(121.205), + AS_SET_POS, 23, 3, 128, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 6, 145, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(88.245), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(134.47), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(45.525), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(134.47), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(45.55), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(134.47), + AS_SET_POS, 23, 6, 145, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 10, 159, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(79.37), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(148.67), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(31.315), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(148.67), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(31.335), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(148.67), + AS_SET_POS, 23, 10, 159, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 13, 170, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(69.96), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(163.84), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(16.155), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(163.84), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(16.16), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(163.84), + AS_SET_POS, 23, 13, 170, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 17, 180, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(60.0), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(0.0), AS_F(-180.0), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(-180.0), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(0.0), AS_F(-180.0), + AS_SET_POS, 23, 17, 180, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 20, 187, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(58.41), + AS_SET_POS, 23, 20, 187, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 24, 193, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(56.84), + AS_SET_POS, 23, 24, 193, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 27, 197, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(55.29), + AS_SET_POS, 23, 27, 197, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 30, 199, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(53.75), + AS_SET_POS, 23, 30, 199, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 34, 200, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(52.235), + AS_SET_POS, 23, 34, 200, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 37, 200, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(50.735), + AS_SET_POS, 23, 37, 200, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 41, 200, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(49.26), + AS_SET_POS, 23, 41, 200, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 44, 200, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(47.79), + AS_SET_POS, 23, 44, 200, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 48, 200, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(46.345), + AS_SET_POS, 23, 48, 200, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 51, 200, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(44.92), + AS_SET_POS, 23, 51, 200, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 54, 199, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(43.515), + AS_SET_POS, 23, 54, 199, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 58, 197, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(42.115), + AS_SET_POS, 23, 58, 197, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 61, 195, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(40.745), + AS_SET_POS, 23, 61, 195, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 65, 191, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(39.385), + AS_SET_POS, 23, 65, 191, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 68, 186, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(38.04), + AS_SET_POS, 23, 68, 186, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 72, 180, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(36.725), + AS_SET_POS, 23, 72, 180, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 75, 173, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(35.415), + AS_SET_POS, 23, 75, 173, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 78, 165, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(34.125), + AS_SET_POS, 23, 78, 165, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 82, 156, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(32.855), + AS_SET_POS, 23, 82, 156, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 85, 146, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(31.605), + AS_SET_POS, 23, 85, 146, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 89, 136, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(30.36), + AS_SET_POS, 23, 89, 136, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 92, 124, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(29.14), + AS_SET_POS, 23, 92, 124, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 95, 111, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(27.94), + AS_SET_POS, 23, 95, 111, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 99, 98, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(26.76), + AS_SET_POS, 23, 99, 98, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 102, 84, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(25.59), + AS_SET_POS, 23, 102, 84, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 106, 68, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(24.435), + AS_SET_POS, 23, 106, 68, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 109, 52, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(23.305), + AS_SET_POS, 23, 109, 52, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 113, 36, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(22.18), + AS_SET_POS, 23, 113, 36, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 116, 18, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(21.085), + AS_SET_POS, 23, 116, 18, 0, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 0, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(19.995), + AS_SET_POS, 23, 120, 0, 0, + AS_SET_POS, 27, -149, 0, -126, + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(13.25), + AS_SET_POS, 27, -148, 0, -126, + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(6.535), + AS_SET_POS, 27, -145, -1, -126, + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 27, -141, -3, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 10, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(1.315), + AS_SET_POS, 23, 120, 10, 0, + AS_SET_POS, 27, -137, -5, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 17, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(2.18), + AS_SET_POS, 23, 120, 17, 0, + AS_SET_POS, 27, -133, -9, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 20, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(2.5), + AS_SET_POS, 23, 120, 20, 0, + AS_SET_POS, 27, -131, -13, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 17, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(2.39), + AS_SET_POS, 23, 120, 17, 0, + AS_SET_POS, 27, -130, -18, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 10, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(2.01), + AS_SET_POS, 23, 120, 10, 0, + AS_SET_POS, 27, -130, -23, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 0, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(1.24), + AS_SET_POS, 23, 120, 0, 0, + AS_SET_POS, 27, -131, -29, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 3, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 23, 120, 3, 0, + AS_SET_POS, 27, -133, -36, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 5, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(0.665), + AS_SET_POS, 23, 120, 5, 0, + AS_SET_POS, 27, -136, -43, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 4, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(1.0), + AS_SET_POS, 23, 120, 4, 0, + AS_SET_POS, 27, -139, -51, -126, + AS_WAIT, 1, + AS_SET_POS, 3, 120, 0, 0, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(0.675), + AS_SET_POS, 23, 120, 0, 0, + AS_SET_POS, 27, -142, -60, -126, + AS_WAIT, 1, + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 27, -145, -70, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -149, -80, -126, + AS_SET_POS, 29, -149, 0, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -148, -90, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -147, -101, -126, + AS_SET_POS, 29, -148, -1, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -146, -113, -126, + AS_SET_POS, 29, -148, -3, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -146, -126, -126, + AS_SET_POS, 29, -147, -5, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -145, -139, -126, + AS_SET_POS, 29, -147, -9, -126, + AS_SET_POS, 31, -149, 0, -126, + AS_SET_POS, 34, -149, 0, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -145, -152, -126, + AS_SET_POS, 29, -146, -13, -126, + AS_SET_POS, 31, -148, 0, -126, + AS_SET_POS, 34, -148, 0, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -145, -167, -126, + AS_SET_POS, 29, -145, -18, -126, + AS_SET_POS, 31, -145, -1, -126, + AS_SET_POS, 34, -145, -1, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -145, -181, -126, + AS_SET_POS, 29, -144, -23, -126, + AS_SET_POS, 31, -141, -3, -126, + AS_SET_POS, 34, -141, -3, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -145, -197, -126, + AS_SET_POS, 29, -143, -29, -126, + AS_SET_POS, 31, -137, -5, -126, + AS_SET_POS, 34, -137, -5, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -146, -213, -126, + AS_SET_POS, 29, -142, -36, -126, + AS_SET_POS, 31, -133, -9, -126, + AS_SET_POS, 34, -133, -9, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -147, -229, -126, + AS_SET_POS, 29, -141, -43, -126, + AS_SET_POS, 31, -130, -13, -126, + AS_SET_POS, 34, -131, -13, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -147, -246, -126, + AS_SET_POS, 29, -139, -51, -126, + AS_SET_POS, 31, -130, -18, -126, + AS_SET_POS, 34, -130, -18, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -148, -263, -126, + AS_SET_POS, 29, -138, -60, -126, + AS_SET_POS, 31, -130, -23, -126, + AS_SET_POS, 34, -130, -23, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -148, -281, -126, + AS_SET_POS, 29, -137, -70, -126, + AS_SET_POS, 31, -131, -29, -126, + AS_SET_POS, 34, -131, -29, -126, + AS_WAIT, 1, + AS_SET_POS, 27, -149, -300, -126, + AS_SET_POS, 29, -135, -80, -126, + AS_SET_POS, 31, -132, -36, -126, + AS_SET_POS, 34, -133, -36, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -134, -90, -126, + AS_SET_POS, 31, -133, -43, -126, + AS_SET_POS, 34, -136, -43, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -133, -101, -126, + AS_SET_POS, 31, -135, -51, -126, + AS_SET_POS, 34, -139, -51, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -131, -113, -126, + AS_SET_POS, 31, -136, -60, -126, + AS_SET_POS, 34, -142, -60, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -130, -126, -126, + AS_SET_POS, 31, -138, -70, -126, + AS_SET_POS, 34, -145, -70, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -129, -139, -126, + AS_SET_POS, 31, -140, -80, -126, + AS_SET_POS, 34, -149, -80, -126, + AS_SET_POS, 38, -149, 0, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -128, -152, -126, + AS_SET_POS, 31, -142, -90, -126, + AS_SET_POS, 34, -148, -90, -126, + AS_SET_POS, 38, -148, 0, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -127, -167, -126, + AS_SET_POS, 31, -144, -101, -126, + AS_SET_POS, 34, -147, -101, -126, + AS_SET_POS, 38, -145, -1, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -126, -181, -126, + AS_SET_POS, 31, -146, -113, -126, + AS_SET_POS, 34, -146, -113, -126, + AS_SET_POS, 38, -141, -3, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -125, -197, -126, + AS_SET_POS, 31, -148, -126, -126, + AS_SET_POS, 34, -146, -126, -126, + AS_SET_POS, 38, -137, -5, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -124, -213, -126, + AS_SET_POS, 31, -150, -139, -126, + AS_SET_POS, 34, -145, -139, -126, + AS_SET_POS, 38, -133, -9, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -123, -229, -126, + AS_SET_POS, 31, -152, -152, -126, + AS_SET_POS, 34, -145, -152, -126, + AS_SET_POS, 38, -130, -13, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -123, -246, -126, + AS_SET_POS, 31, -154, -167, -126, + AS_SET_POS, 34, -145, -167, -126, + AS_SET_POS, 38, -130, -18, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -122, -263, -126, + AS_SET_POS, 31, -155, -181, -126, + AS_SET_POS, 34, -145, -181, -126, + AS_SET_POS, 38, -130, -23, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -122, -281, -126, + AS_SET_POS, 31, -157, -197, -126, + AS_SET_POS, 34, -145, -197, -126, + AS_SET_POS, 38, -131, -29, -126, + AS_WAIT, 1, + AS_SET_POS, 29, -122, -300, -126, + AS_SET_POS, 31, -158, -213, -126, + AS_SET_POS, 34, -146, -213, -126, + AS_SET_POS, 38, -132, -36, -126, + AS_WAIT, 1, + AS_SET_POS, 31, -160, -229, -126, + AS_SET_POS, 34, -147, -229, -126, + AS_SET_POS, 38, -133, -43, -126, + AS_WAIT, 1, + AS_SET_POS, 31, -161, -246, -126, + AS_SET_POS, 34, -147, -246, -126, + AS_SET_POS, 38, -135, -51, -126, + AS_WAIT, 1, + AS_SET_POS, 31, -161, -263, -126, + AS_SET_POS, 34, -148, -263, -126, + AS_SET_POS, 38, -136, -60, -126, + AS_WAIT, 1, + AS_SET_POS, 31, -162, -281, -126, + AS_SET_POS, 34, -148, -281, -126, + AS_SET_POS, 38, -138, -70, -126, + AS_WAIT, 1, + AS_SET_POS, 31, -162, -300, -126, + AS_SET_POS, 34, -149, -300, -126, + AS_SET_POS, 36, -149, 0, -126, + AS_SET_POS, 38, -140, -80, -126, + AS_WAIT, 1, + AS_SET_POS, 38, -142, -90, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -148, -1, -126, + AS_SET_POS, 38, -144, -101, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -148, -3, -126, + AS_SET_POS, 38, -146, -113, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -147, -5, -126, + AS_SET_POS, 38, -148, -126, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -147, -9, -126, + AS_SET_POS, 38, -150, -139, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -146, -13, -126, + AS_SET_POS, 38, -152, -152, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -145, -18, -126, + AS_SET_POS, 38, -154, -167, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -144, -23, -126, + AS_SET_POS, 38, -155, -181, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -143, -29, -126, + AS_SET_POS, 38, -157, -197, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -142, -36, -126, + AS_SET_POS, 38, -158, -213, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -141, -43, -126, + AS_SET_POS, 38, -160, -229, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -139, -51, -126, + AS_SET_POS, 38, -161, -246, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -138, -60, -126, + AS_SET_POS, 38, -161, -263, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -137, -70, -126, + AS_SET_POS, 38, -162, -281, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -135, -80, -126, + AS_SET_POS, 38, -162, -300, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -134, -90, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -133, -101, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -131, -113, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -130, -126, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -129, -139, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -128, -152, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -127, -167, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -126, -181, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -125, -197, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -124, -213, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -123, -229, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -123, -246, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -122, -263, -126, + AS_WAIT, 1, + AS_SET_POS, 36, -122, -281, -126, + AS_WAIT, 1, + AS_LOOP, + AS_SET_POS, 36, -122, -300, -126, + AS_WAIT, 1, + AS_END_LOOP, + AS_END, +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_1_music.c b/src/world/area_kmr/kmr_11/kmr_11_1_music.c new file mode 100644 index 0000000000..bc6303b62c --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_1_music.c @@ -0,0 +1,7 @@ +#include "kmr_11.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_CALL(SetMusicTrack, 0, SONG_PLEASANT_PATH, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_2_main.c b/src/world/area_kmr/kmr_11/kmr_11_2_main.c new file mode 100644 index 0000000000..15b6a7d975 --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_2_main.c @@ -0,0 +1,150 @@ +#include "kmr_11.h" + +#define NAME_SUFFIX _Scripted +#include "common/foliage.inc.c" +#define NAME_SUFFIX + +API_CALLABLE(N(SetupFog)) { + set_world_fog_dist(980, 1000); + set_world_fog_color(15, 5, 55, 255); + enable_world_fog(); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(UseSlowerFadeOnMapChange)) { + set_map_change_fade_rate(10); // 20 is default + return ApiStatus_DONE2; +} + +EvtScript N(EVS_PlayFortressAnimation) = { + EVT_CALL(LoadAnimatedModel, MDL_ANIMATOR_1, EVT_PTR(N(AnimSkeleton_Fortress))) + EVT_CALL(PlayModelAnimation, MDL_ANIMATOR_1, EVT_PTR(N(AnimScript_Fortress))) + EVT_CALL(SetAnimatedModelRootPosition, MDL_ANIMATOR_1, 0, 0, 0) + EVT_CALL(SetAnimatedModelRenderMode, MDL_ANIMATOR_1, RENDER_MODE_SURFACE_OPA) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayBridgeAnimation) = { + EVT_CALL(LoadAnimatedModel, MDL_ANIMATOR_0, EVT_PTR(N(AnimSkeleton_Bridge))) + EVT_CALL(PlayModelAnimation, MDL_ANIMATOR_0, EVT_PTR(N(AnimScript_Bridge))) + EVT_CALL(SetAnimatedModelRootPosition, MDL_ANIMATOR_0, 0, 0, 0) + EVT_CALL(SetAnimatedModelRenderMode, MDL_ANIMATOR_0, RENDER_MODE_SURFACE_OPA) + EVT_RETURN + EVT_END +}; + +//@bug exit to 'Save and Continue?' map is not properly terminated! +EvtScript N(EVS_BadExit_kmr_24_0) = { + EVT_CALL(FadeOutMusic, 0, 1500) + EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_24"), kmr_24_ENTRY_0, TRANSITION_10) + EVT_WAIT(100) +}; + +EvtScript N(EVS_ExitWalk_kmr_12_1) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(UseExitHeading, 60, kmr_11_ENTRY_0) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("kmr_12"), kmr_12_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_kmr_10_0) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(UseExitHeading, 60, kmr_11_ENTRY_1) + EVT_EXEC(ExitWalk) + EVT_IF_GE(GB_StoryProgress, STORY_CH0_KAMMY_RETURNED_TO_BOWSER) + EVT_CALL(GotoMap, EVT_PTR("kmr_10"), kmr_10_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_ELSE + EVT_WAIT(10) + EVT_EXEC_WAIT(N(EVS_Scene_KammyWatching)) + EVT_END_IF + EVT_UNBIND + EVT_RETURN + EVT_END +}; + +MAP_RODATA_PAD(1,exits) + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_12_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiliw, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_kmr_10_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiline, 1, 0) + EVT_RETURN + EVT_END +}; + +FoliageModelList N(SwitchBush_Models) = FOLIAGE_MODEL_LIST(MODEL_kusa4); + +FoliageVectorList N(SwitchBush_Effects) = { + .count = 1, + .vectors = { + { -381.0f, 12.0f, 82.0f }, + } +}; + +SearchBushConfig N(SearchBush_SwitchBush) = { + .bush = &N(SwitchBush_Models), + .vectors = &N(SwitchBush_Effects), + .callback = &N(EVS_Interact_SwitchBush), +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_GOOMBA_ROAD) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_CALL(N(UseSlowerFadeOnMapChange)) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_CALL(ClearDefeatedEnemies) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_IF_LT(GB_StoryProgress, STORY_CH0_KAMMY_RETURNED_TO_BOWSER) + EVT_CALL(N(SetupFog)) + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_SetupFoliage)) + EVT_CALL(InitAnimatedModels) + EVT_CALL(EnableModel, MODEL_eye_mask, FALSE) + EVT_IF_LT(GB_StoryProgress, STORY_CH0_HIT_GATEHOUSE_SWITCH) + EVT_CALL(EnableModel, MODEL_bb, FALSE) + EVT_ELSE + EVT_CALL(SetGroupEnabled, MODEL_ue, 0) + EVT_CALL(SetGroupEnabled, MODEL_sotokabe, 0) + EVT_CALL(SetGroupEnabled, MODEL_tobira, 0) + EVT_CALL(EnableModel, MODEL_b1, FALSE) + EVT_CALL(EnableModel, MODEL_b2, FALSE) + EVT_CALL(EnableModel, MODEL_b3, FALSE) + EVT_CALL(EnableModel, MODEL_b4, FALSE) + EVT_CALL(EnableModel, MODEL_b5, FALSE) + EVT_CALL(EnableModel, MODEL_b6, FALSE) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_IF_EQ(GF_KMR11_GoombaBrosFledToCastle, FALSE) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_CALL(SetMusicTrack, 0, SONG_GOOMBA_BROS_RETREAT, 1, 8) + EVT_EXEC_WAIT(N(EVS_Scene_MeetGoombaKing)) + EVT_SET(GF_KMR11_GoombaBrosFledToCastle, TRUE) + EVT_ELSE + EVT_EXEC(N(EVS_SetupMusic)) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_END_IF + EVT_ELSE + EVT_EXEC(N(EVS_SetupMusic)) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_WAIT(1) + EVT_END_IF + EVT_SET(LVar0, EVT_PTR(N(SearchBush_SwitchBush))) + EVT_BIND_TRIGGER(EVT_PTR(N(searchBush_Scripted)), TRIGGER_WALL_PRESS_A, COLLIDER_kusa4, 1, 0) + EVT_CALL(SetGroupEnabled, MODEL_event_cam, 0) + EVT_CALL(TranslateGroup, MODEL_g172, NPC_DISPOSE_LOCATION) + EVT_CALL(TranslateGroup, MODEL_g173, NPC_DISPOSE_LOCATION) + EVT_IF_GE(GB_StoryProgress, STORY_CH0_HIT_GATEHOUSE_SWITCH) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt, COLLIDER_FLAGS_UPPER_MASK) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_3_scenes.c b/src/world/area_kmr/kmr_11/kmr_11_3_scenes.c new file mode 100644 index 0000000000..3312bb3d08 --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_3_scenes.c @@ -0,0 +1,465 @@ +#include "kmr_11.h" +#include "effects.h" + +API_CALLABLE(N(MakeLensFlare)) { + Bytecode* args = script->ptrReadPos; + f32 x = evt_get_float_variable(script, *args++); + f32 y = evt_get_float_variable(script, *args++); + f32 z = evt_get_float_variable(script, *args++); + s32 duration = evt_get_variable(script, *args++); + + fx_lens_flare(0, x, y, z, duration); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetCameraVFov)) { + Bytecode* args = script->ptrReadPos; + + gCameras[CAM_DEFAULT].vfov = evt_get_float_variable(script, *args++); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_GoombaKingBlastoff) = { + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(MakeLerp, 100, 10, 150, EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_MULF(LVar0, EVT_FLOAT(0.01)) + EVT_CALL(SetNpcScale, NPC_GoombaKing, LVar0, LVar0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_THREAD + EVT_CALL(SetNpcJumpscale, NPC_GoombaKing, EVT_FLOAT(0.3)) + EVT_CALL(NpcJump0, NPC_GoombaKing, -1600, 1000, -1600, 150) + EVT_CALL(PlaySoundAt, SOUND_55, 0, -1600, 1000, -1600) + EVT_CALL(N(MakeLensFlare), -1600, 1000, -1600, 40) + EVT_CALL(SetNpcPos, NPC_GoombaKing, 0, -1000, 0) + EVT_CALL(RemoveNpc, NPC_GoombaKing) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FocusCam_FortressExterior) = { + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, -7, 0) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -1208, 881) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -524, -89) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 110) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 500) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FocusCam_BesidePlayer) = { + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, -15, 25) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -1208, 881) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -579, -89) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 110) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 200) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FocusCam_Battlement) = { + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, -7, 2) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -1681, 511) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -430, -92) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 200) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 250) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RandomQuaking) = { + EVT_CALL(PlaySound, SOUND_A5) + EVT_LABEL(0) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 5) + EVT_MULF(LVar0, EVT_FLOAT(0.1)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20, LVar0) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust1) = { + EVT_PLAY_EFFECT(EFFECT_DUST, 0, -273, 345, -44, 70) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust2) = { + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -253, 8, 118, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -253, 18, 138, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -253, 18, 98, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -253, 28, 118, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust3) = { + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -346, 147, -21, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust4) = { + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -336, 147, -21, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust5) = { + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -249, 147, -64, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust6) = { + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -239, 147, -64, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust7) = { + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -158, -10, -175, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -158, 0, -155, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -158, 0, -195, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, -158, 10, -175, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_MakeDust8) = { + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, 263, -10, -264, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, 263, 0, -244, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, 263, 0, -284, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, 263, 10, -264, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_PlayFX) = { + EVT_CALL(PlaySound, SOUND_1E1) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust1)) + EVT_WAIT(97) + EVT_CALL(PlaySound, SOUND_1E2) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust2)) + EVT_WAIT(95) + EVT_CALL(PlaySound, SOUND_A6) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust3)) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust4)) + EVT_WAIT(34) + EVT_CALL(PlaySound, SOUND_A6) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust5)) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust6)) + EVT_WAIT(40) + EVT_CALL(PlaySound, SOUND_A7) + EVT_WAIT(160) + EVT_CALL(PlaySound, SOUND_1E8) + EVT_WAIT(40) + EVT_CALL(PlaySound, SOUND_1E2) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust7)) + EVT_EXEC(N(EVS_FortressCollapse_MakeDust8)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FortressCollapse_PlayerReactions) = { + EVT_CALL(DisablePartnerAI, 0) + EVT_WAIT(37) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8001F) + EVT_WAIT(60) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002B) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(1.8)) + EVT_CALL(PlayerJump1, LVar0, LVar1, LVar2, 10) + EVT_WAIT(30) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_Running) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(6.0)) + EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(6.0)) + EVT_THREAD + EVT_CALL(NpcMoveTo, NPC_PARTNER, -573, 162, 0) + EVT_END_THREAD + EVT_CALL(PlayerMoveTo, -547, 147, 0) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(EnablePartnerAI) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_SelfDestruct) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_WAIT(15) + EVT_CALL(SetCamType, CAM_DEFAULT, 1, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 0, EVT_FLOAT(-12.5)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -389, -12) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -469, 156) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -389, 120, -12) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SetNpcPos, NPC_GoombaKing, -380, 0, -42) + EVT_WAIT(20) + EVT_CALL(SetNpcJumpscale, NPC_GoombaKing, EVT_FLOAT(0.8)) + EVT_CALL(NpcFacePlayer, NPC_GoombaKing, 0) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaKing, SOUND_3E7, 0) + EVT_CALL(NpcJump1, NPC_GoombaKing, -380, 120, -42, 25) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SetPlayerPos, -497, 0, 130) + EVT_CALL(InterpPlayerYaw, 270, 0) + EVT_CALL(SetNpcPos, NPC_PARTNER, -534, 0, 127) + EVT_CALL(InterpNpcYaw, NPC_PARTNER, 90, 0) + EVT_CALL(SpeakToPlayer, NPC_GoombaKing, ANIM_GoombaKing_Idle, ANIM_GoombaKing_Idle, 0, MSG_CH0_00D8) + EVT_SET(GB_StoryProgress, STORY_CH0_HIT_GATEHOUSE_SWITCH) + EVT_CALL(EnableModel, MODEL_eye_mask, TRUE) + EVT_WAIT(1) + EVT_EXEC_GET_TID(N(EVS_RandomQuaking), LVarA) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.7)) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, -100, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(60) + EVT_CALL(SpeakToPlayer, NPC_GoombaKing, ANIM_GoombaKing_Idle, ANIM_GoombaKing_Idle, 0, MSG_CH0_00D9) + EVT_LOOP(100) + EVT_CALL(GetNpcPos, NPC_GoombaKing, LVar0, LVar1, LVar2) + EVT_SUB(LVar1, 1) + EVT_CALL(SetNpcPos, NPC_GoombaKing, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcPos, NPC_GoombaKing, -303, 286, -120) + EVT_CALL(FadeOutMusic, 0, 1000) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_ShockStill) + EVT_WAIT(30) + EVT_KILL_THREAD(LVarA) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 100, EVT_FLOAT(0.5)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 15, EVT_FLOAT(4.0)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 83, EVT_FLOAT(0.5)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(1.5)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 15, EVT_FLOAT(0.5)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(1.5)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 170, EVT_FLOAT(0.5)) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(3.0)) + EVT_WAIT(50) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20, EVT_FLOAT(4.0)) + EVT_WAIT(20) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(0.5)) + EVT_WAIT(20) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(0.2)) + EVT_CALL(PlaySound, SOUND_4A5) + EVT_END_THREAD + EVT_EXEC(N(EVS_PlayFortressAnimation)) + EVT_EXEC(N(EVS_FortressCollapse_PlayFX)) + EVT_EXEC(N(EVS_FortressCollapse_PlayerReactions)) + EVT_WAIT(380) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, -150, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(20) + EVT_EXEC(N(EVS_GoombaKingBlastoff)) + EVT_EXEC(N(EVS_PlayBridgeAnimation)) + EVT_WAIT(150) + EVT_WAIT(50) + EVT_CALL(EnableModel, MODEL_o416, FALSE) + EVT_CALL(EnableModel, MODEL_o415, FALSE) + EVT_CALL(EnableModel, MODEL_eye_mask, FALSE) + EVT_CALL(DeleteAnimatedModel, 1) + EVT_CALL(DeleteAnimatedModel, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.8)) + EVT_LOOP(2) + EVT_CALL(GetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_PARTNER, LVar0, LVar1, LVar2, 10) + EVT_WAIT(3) + EVT_END_LOOP + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_CH0_00DA) + EVT_CALL(EnablePartnerAI) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt, COLLIDER_FLAGS_UPPER_MASK) + EVT_SET(GB_StoryProgress, STORY_CH0_OPENED_BRIDGE_TO_TOAD_TOWN) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(EnablePartnerAI) + EVT_UNBIND + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BouncePlayerAndPartner) = { + EVT_THREAD + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(2.0)) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(PlayerJump1, LVar0, LVar1, LVar2, LVar3) + EVT_END_THREAD + EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(2.0)) + EVT_CALL(GetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump1, NPC_PARTNER, LVar0, LVar1, LVar2, LVar3) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_MeetGoombaKing_Impl) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_EXEC_WAIT(N(EVS_FocusCam_FortressExterior)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.3)) + EVT_CALL(PanToTarget, CAM_DEFAULT, EVT_FLOAT(0.5), 1) + EVT_WAIT(170) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, -830, 0, -70) + EVT_CALL(SetNpcPos, NPC_RedGoombaBro, -800, 0, -20) + EVT_CALL(SetNpcAnimation, NPC_BlueGoombaBro, ANIM_GoombaBros_Blue_CryRun) + EVT_CALL(SetNpcAnimation, NPC_RedGoombaBro, ANIM_GoombaBros_Red_CryRun) + EVT_CALL(SetNpcSpeed, NPC_BlueGoombaBro, EVT_FLOAT(4.0)) + EVT_CALL(SetNpcSpeed, NPC_RedGoombaBro, EVT_FLOAT(4.0)) + EVT_WAIT(50) + EVT_THREAD + EVT_CALL(NpcMoveTo, NPC_BlueGoombaBro, -521, -100, 0) + EVT_END_THREAD + EVT_CALL(NpcMoveTo, NPC_RedGoombaBro, -504, -74, 0) + EVT_CALL(SpeakToPlayer, NPC_RedGoombaBro, ANIM_GoombaBros_Red_CryWalk, ANIM_GoombaBros_Red_CryIdle, 5, MSG_CH0_00C3) + EVT_CALL(SpeakToPlayer, NPC_BlueGoombaBro, ANIM_GoombaBros_Blue_CryWalk, ANIM_GoombaBros_Blue_CryIdle, 5, MSG_CH0_00C4) + EVT_CALL(PlaySoundAtCollider, COLLIDER_tt, SOUND_METAL_DOOR_OPEN, 0) + EVT_CALL(MakeLerp, 0, 90, 30, EASING_COS_IN_OUT) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o416, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o415, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_THREAD + EVT_CALL(NpcMoveTo, NPC_BlueGoombaBro, -353, -93, 0) + EVT_END_THREAD + EVT_CALL(NpcMoveTo, NPC_RedGoombaBro, -364, -77, 0) + EVT_CALL(MakeLerp, 90, 0, 30, EASING_COS_IN_OUT) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o416, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o415, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(PlaySoundAtCollider, COLLIDER_tt, SOUND_METAL_DOOR_CLOSE, 0) + EVT_CALL(PlaySoundAt, SOUND_20EC, 0, -330, 0, -130) + EVT_CALL(PlaySoundAt, SOUND_20B4, 0, -330, 0, -130) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -725, 117, -137, 100) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -617, 108, -137, 100) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(0.5)) + EVT_CALL(SetPlayerPos, -920, 0, -35) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0)) + EVT_CALL(PlayerMoveTo, -575, -60, 0) + EVT_WAIT(30) + EVT_CALL(DisablePartnerAI, 0) + EVT_WAIT(10) + EVT_CALL(PlayerFaceNpc, NPC_PARTNER, FALSE) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_CH0_00C5) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_WAIT(40) + EVT_CALL(PlaySoundAt, SOUND_20EC, 0, -330, 0, -130) + EVT_CALL(PlaySoundAt, SOUND_20B4, 0, -330, 0, -130) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -725, 117, -137, 100) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -617, 108, -137, 100) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(0.2)) + EVT_SET(LVar3, 2) + EVT_EXEC(N(EVS_BouncePlayerAndPartner)) + EVT_WAIT(60) + EVT_CALL(PlaySoundAt, SOUND_20EC, 0, -330, 0, -130) + EVT_CALL(PlaySoundAt, SOUND_20B4, 0, -330, 0, -130) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -725, 117, -137, 100) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -617, 108, -137, 100) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(0.6)) + EVT_SET(LVar3, 4) + EVT_EXEC(N(EVS_BouncePlayerAndPartner)) + EVT_WAIT(60) + EVT_CALL(PlaySoundAt, SOUND_20EC, 0, -330, 0, -130) + EVT_CALL(PlaySoundAt, SOUND_20B4, 0, -330, 0, -130) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -725, 117, -137, 100) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -617, 108, -137, 100) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(1.0)) + EVT_SET(LVar3, 6) + EVT_EXEC(N(EVS_BouncePlayerAndPartner)) + EVT_WAIT(60) + EVT_CALL(PlaySoundAt, SOUND_20EC, 0, -330, 0, -130) + EVT_CALL(PlaySoundAt, SOUND_20B4, 0, -330, 0, -130) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -725, 117, -137, 100) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -617, 108, -137, 100) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(1.5)) + EVT_SET(LVar3, 8) + EVT_EXEC(N(EVS_BouncePlayerAndPartner)) + EVT_WAIT(28) + EVT_CALL(SetMusicTrack, 0, SONG_GOOMBA_KING_THEME, 0, 8) + EVT_WAIT(32) + EVT_CALL(SetNpcAnimation, NPC_BlueGoombaBro, ANIM_GoombaBros_Blue_Idle) + EVT_CALL(SetNpcAnimation, NPC_RedGoombaBro, ANIM_GoombaBros_Red_Idle) + EVT_CALL(SetNpcJumpscale, NPC_BlueGoombaBro, EVT_FLOAT(0.8)) + EVT_CALL(SetNpcJumpscale, NPC_RedGoombaBro, EVT_FLOAT(0.8)) + EVT_THREAD + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, -400, 0, -162) + EVT_CALL(PlaySoundAtNpc, NPC_BlueGoombaBro, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_BlueGoombaBro, -432, 130, -146, 30) + EVT_END_THREAD + EVT_CALL(SetNpcPos, NPC_RedGoombaBro, -400, 0, -41) + EVT_CALL(PlaySoundAtNpc, NPC_RedGoombaBro, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_RedGoombaBro, -412, 130, -35, 30) + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_GoombaKing, EVT_FLOAT(0.8)) + EVT_CALL(SetNpcPos, NPC_GoombaKing, -405, 0, -91) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaKing, SOUND_3E7, 0) + EVT_CALL(NpcJump0, NPC_GoombaKing, -419, 119, -91, 30) + EVT_CALL(PlaySoundAt, SOUND_20EC, 0, -330, 0, -130) + EVT_CALL(PlaySoundAt, SOUND_20B4, 0, -330, 0, -130) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -725, 117, -137, 100) + EVT_PLAY_EFFECT(EFFECT_DROP_LEAVES, 0, -617, 108, -137, 100) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(1.0)) + EVT_END_THREAD + EVT_EXEC_WAIT(N(EVS_FocusCam_Battlement)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(55) + EVT_CALL(SpeakToPlayer, NPC_GoombaKing, ANIM_GoombaKing_Idle, ANIM_GoombaKing_Idle, 0, MSG_CH0_00C6) + EVT_CALL(SpeakToPlayer, NPC_RedGoombaBro, ANIM_GoombaBros_Red_Walk, ANIM_GoombaBros_Red_Idle, 0, MSG_CH0_00C7) + EVT_CALL(SpeakToPlayer, NPC_BlueGoombaBro, ANIM_GoombaBros_Blue_Walk, ANIM_GoombaBros_Blue_Idle, 0, MSG_CH0_00C8) + EVT_EXEC_WAIT(N(EVS_FocusCam_BesidePlayer)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(DisablePartnerAI, 0) + EVT_WAIT(5) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_CH0_00C9) + EVT_CALL(DisablePartnerAI, 0) + EVT_EXEC_WAIT(N(EVS_FocusCam_Battlement)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(5) + EVT_CALL(SpeakToPlayer, NPC_GoombaKing, ANIM_GoombaKing_Idle, ANIM_GoombaKing_Idle, 0, MSG_CH0_00CA) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_WAIT(30) + EVT_CALL(SetNpcVar, NPC_GoombaKing, 0, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_MeetGoombaKing) = { + EVT_CALL(N(SetCameraVFov), 32) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_EXEC(N(EVS_Scene_MeetGoombaKing_Impl)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_4_npc.c b/src/world/area_kmr/kmr_11/kmr_11_4_npc.c new file mode 100644 index 0000000000..0cc0808b8a --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_4_npc.c @@ -0,0 +1,441 @@ +#include "kmr_11.h" + +#include "world/common/enemy/complete/GoombaBros_Stationary.inc.c" + +EvtScript N(EVS_NpcIdle_GoombaBros_01) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_GoombaBros_02) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_GoombaKing) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_IF_EQ(GF_KMR11_GoombaBrosFledToCastle, TRUE) + EVT_CALL(GetNpcPos, NPC_GoombaKing, LVar0, LVar1, LVar2) + EVT_CALL(AwaitPlayerApproach, LVar0, LVar2, 300) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0)) + EVT_CALL(PlayerMoveTo, -564, -64, 0) + EVT_ELSE + EVT_LABEL(0) + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_IF + EVT_CASE_GE(STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_RETURN + EVT_END_SWITCH + EVT_CALL(SetNpcJumpscale, NPC_RedGoombaBro, EVT_FLOAT(0.8)) + EVT_CALL(SetNpcJumpscale, NPC_BlueGoombaBro, EVT_FLOAT(0.8)) + EVT_CALL(SetNpcJumpscale, NPC_GoombaKing, EVT_FLOAT(0.8)) + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_RedGoombaBro, LVar0, LVar1, LVar2) + EVT_CALL(GetAngleToPlayer, NPC_RedGoombaBro, LVar3) + EVT_CALL(AddVectorPolar, LVar0, LVar2, EVT_FLOAT(100.0), LVar3) + EVT_CALL(PlaySoundAtNpc, NPC_RedGoombaBro, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_RedGoombaBro, LVar0, 0, LVar2, 30) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_BlueGoombaBro, LVar0, LVar1, LVar2) + EVT_CALL(GetAngleToPlayer, NPC_BlueGoombaBro, LVar3) + EVT_CALL(AddVectorPolar, LVar0, LVar2, EVT_FLOAT(100.0), LVar3) + EVT_CALL(PlaySoundAtNpc, NPC_BlueGoombaBro, SOUND_10F, 0) + EVT_CALL(NpcJump0, NPC_BlueGoombaBro, LVar0, 0, LVar2, 30) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_GoombaKing, LVar0, LVar1, LVar2) + EVT_CALL(GetAngleToPlayer, NPC_GoombaKing, LVar3) + EVT_CALL(AddVectorPolar, LVar0, LVar2, EVT_FLOAT(100.0), LVar3) + EVT_CALL(PlaySoundAtNpc, NPC_GoombaKing, SOUND_3E7, 0) + EVT_CALL(NpcJump0, NPC_GoombaKing, LVar0, 0, LVar2, 30) + EVT_END_THREAD + EVT_WAIT(15) + EVT_CALL(StartBossBattle, SONG_GOOMBA_KING_BATTLE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_BossDefeated) = { + EVT_CALL(SetEncounterStatusFlags, ENCOUNTER_STATUS_FLAGS_2, TRUE) + EVT_CALL(N(SetupFog)) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-8.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(N(SetCameraVFov), 25) + EVT_CALL(SpeakToPlayer, NPC_GoombaKing, ANIM_GoombaKing_Walk, ANIM_GoombaKing_Idle, 0, MSG_CH0_00D1) + EVT_CALL(SetNpcSpeed, NPC_BlueGoombaBro, EVT_FLOAT(6.0)) + EVT_CALL(SetNpcSpeed, NPC_RedGoombaBro, EVT_FLOAT(6.0)) + EVT_CALL(SetNpcSpeed, NPC_GoombaKing, EVT_FLOAT(6.0)) + EVT_CALL(SetNpcAnimation, NPC_BlueGoombaBro, ANIM_GoombaBros_Blue_Run) + EVT_CALL(SetNpcAnimation, NPC_RedGoombaBro, ANIM_GoombaBros_Red_Run) + EVT_CALL(SetNpcAnimation, NPC_GoombaKing, ANIM_GoombaKing_Run) + EVT_THREAD + EVT_CALL(NpcMoveTo, NPC_GoombaKing, -358, -107, 0) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(20) + EVT_CALL(NpcMoveTo, NPC_BlueGoombaBro, -396, -121, 0) + EVT_END_THREAD + EVT_THREAD + EVT_WAIT(20) + EVT_CALL(NpcMoveTo, NPC_RedGoombaBro, -396, -89, 0) + EVT_END_THREAD + EVT_WAIT(2) + EVT_CALL(PlaySoundAtCollider, COLLIDER_tt, SOUND_METAL_DOOR_OPEN, 0) + EVT_CALL(MakeLerp, 0, 90, 20, EASING_COS_IN_OUT) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o416, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o415, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_WAIT(5) + EVT_CALL(MakeLerp, 90, 0, 20, EASING_COS_IN_OUT) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o416, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o415, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(PlaySoundAtCollider, COLLIDER_tt, SOUND_METAL_DOOR_CLOSE, 0) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(2.0)) + EVT_SET(GB_StoryProgress, STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(4.0), 0, EVT_FLOAT(250.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.5)) + EVT_WAIT(10) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_CH0_00D2) + EVT_CALL(EnablePartnerAI) + EVT_WAIT(10) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_THREAD + EVT_WAIT(40) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_THREAD + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_RedGoombaBro, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcDefeat_GoombaKing) = { + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_EXEC_WAIT(N(EVS_Scene_BossDefeated)) + EVT_CASE_EQ(OUTCOME_PLAYER_LOST) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(6.0)) + EVT_CALL(PlayerMoveTo, -954, -50, 0) + EVT_END_SWITCH + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcDefeat_GoombaBros_01) = { + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_CASE_EQ(OUTCOME_PLAYER_LOST) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcDefeat_GoombaBros_02) = { + EVT_CALL(GetBattleOutcome, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(OUTCOME_PLAYER_WON) + EVT_CASE_EQ(OUTCOME_PLAYER_LOST) + EVT_CASE_EQ(OUTCOME_PLAYER_FLED) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcAuxAI_Kammy) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH0_KAMMY_RETURNED_TO_BOWSER) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +#define KAMMY_NPC NPC_Kammy +#include "world/common/util/GetKammyBroomEmitterPos.inc.c" + +EvtScript N(EVS_NpcAux_Kammy) = { + EVT_LABEL(1) + // wait to be activated + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetNpcPos, NPC_Kammy, LVar6, LVar7, LVar8) + EVT_LABEL(0) + EVT_CALL(N(GetKammyBroomEmitterPos)) + EVT_CALL(GetNpcPos, NPC_Kammy, LVar9, LVarA, LVarB) + EVT_VEC3I_VSET(LVar3, LVar9) + EVT_VEC3I_VSUB(LVar3, LVar6) + EVT_VEC3I_VSET(LVar6, LVar9) + EVT_IF_EQ(LVar3, 0) + EVT_IF_EQ(LVar5, 0) + EVT_ELSE + EVT_PLAY_EFFECT(EFFECT_PURPLE_RING, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0)) + EVT_END_IF + EVT_ELSE + EVT_PLAY_EFFECT(EFFECT_PURPLE_RING, 0, LVar0, LVar1, LVar2, LVar3, LVar4, LVar5, EVT_FLOAT(1.0)) + EVT_END_IF + EVT_WAIT(3) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +s32 N(KammyFloatingOffsets)[] = { + 1, 2, 3, 2, 1, + -1, -2, -3, -2, -1, +}; + +EvtScript N(EVS_NpcAI_Kammy) = { + EVT_LABEL(0) + EVT_USE_BUF(EVT_PTR(N(KammyFloatingOffsets))) + EVT_LOOP(ARRAY_COUNT(N(KammyFloatingOffsets))) + EVT_BUF_READ1(LVar1) + EVT_CALL(GetNpcPos, NPC_SELF, LVar2, LVar3, LVar4) + EVT_ADD(LVar3, LVar1) + EVT_CALL(SetNpcPos, NPC_SELF, LVar2, LVar3, LVar4) + EVT_WAIT(3) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_GoombaBros_01) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_GoombaBros_01))) + EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_GoombaBros_01))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_IF_EQ(GF_KMR11_GoombaBrosFledToCastle, TRUE) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, -432, 130, -146) + EVT_END_IF + EVT_CASE_GE(STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcFlagBits, NPC_BlueGoombaBro, NPC_FLAG_GRAVITY, FALSE) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_GoombaBros_02) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_GoombaBros_02))) + EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_GoombaBros_02))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_IF_EQ(GF_KMR11_GoombaBrosFledToCastle, TRUE) + EVT_CALL(SetNpcPos, NPC_RedGoombaBro, -412, 130, -35) + EVT_END_IF + EVT_CASE_GE(STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_CALL(SetNpcPos, NPC_RedGoombaBro, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcFlagBits, NPC_RedGoombaBro, NPC_FLAG_GRAVITY, FALSE) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_GoombaKing) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_GoombaKing))) + EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_GoombaKing))) + EVT_CALL(SetNpcCollisionSize, NPC_SELF, 70, 50) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH0_DEFEATED_GOOMBA_KING) + EVT_IF_EQ(GF_KMR11_GoombaBrosFledToCastle, TRUE) + EVT_CALL(SetNpcPos, NPC_GoombaKing, -419, 119, -91) + EVT_END_IF + EVT_CASE_LT(STORY_CH0_HIT_GATEHOUSE_SWITCH) + EVT_CALL(SetNpcPos, NPC_GoombaKing, -358, 0, -107) + EVT_CASE_GE(STORY_CH0_HIT_GATEHOUSE_SWITCH) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_Kammy) = { + .defaultAnim = ANIM_WorldKammy_Anim0A, + .height = 24, + .radius = 24, + .otherAI = &N(EVS_NpcAuxAI_Kammy), + .ai = &N(EVS_NpcAI_Kammy), + .aux = &N(EVS_NpcAux_Kammy), + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000, +}; + +StaticNpc N(NpcData_Enemies)[] = { + { + .id = NPC_BlueGoombaBro, + .settings = &N(NpcSettings_GoombaBros_Stationary), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, + .init = &N(EVS_NpcInit_GoombaBros_01), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 0, 0, 0 }, + .wanderSize = { 100 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 100 }, + } + }, + .animations = { + .idle = ANIM_GoombaBros_Blue_Idle, + .walk = ANIM_GoombaBros_Blue_Walk, + .run = ANIM_GoombaBros_Blue_Run, + .chase = ANIM_GoombaBros_Blue_Run, + .anim_4 = ANIM_GoombaBros_Blue_Idle, + .anim_5 = ANIM_GoombaBros_Blue_Idle, + .death = ANIM_GoombaBros_Blue_Hurt, + .hit = ANIM_GoombaBros_Blue_Hurt, + .anim_8 = ANIM_GoombaBros_Blue_Run, + .anim_9 = ANIM_GoombaBros_Blue_Run, + .anim_A = ANIM_GoombaBros_Blue_Run, + .anim_B = ANIM_GoombaBros_Blue_Run, + .anim_C = ANIM_GoombaBros_Blue_Run, + .anim_D = ANIM_GoombaBros_Blue_Run, + .anim_E = ANIM_GoombaBros_Blue_Run, + .anim_F = ANIM_GoombaBros_Blue_Run, + }, + }, + { + .id = NPC_RedGoombaBro, + .settings = &N(NpcSettings_GoombaBros_Stationary), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, + .init = &N(EVS_NpcInit_GoombaBros_02), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 0, 0, 0 }, + .wanderSize = { 100 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 100 }, + } + }, + .animations = { + .idle = ANIM_GoombaBros_Red_Idle, + .walk = ANIM_GoombaBros_Red_Walk, + .run = ANIM_GoombaBros_Red_Run, + .chase = ANIM_GoombaBros_Red_Run, + .anim_4 = ANIM_GoombaBros_Red_Idle, + .anim_5 = ANIM_GoombaBros_Red_Idle, + .death = ANIM_GoombaBros_Red_Hurt, + .hit = ANIM_GoombaBros_Red_Hurt, + .anim_8 = ANIM_GoombaBros_Red_Run, + .anim_9 = ANIM_GoombaBros_Red_Run, + .anim_A = ANIM_GoombaBros_Red_Run, + .anim_B = ANIM_GoombaBros_Red_Run, + .anim_C = ANIM_GoombaBros_Red_Run, + .anim_D = ANIM_GoombaBros_Red_Run, + .anim_E = ANIM_GoombaBros_Red_Run, + .anim_F = ANIM_GoombaBros_Red_Run, + }, + }, + { + .id = NPC_GoombaKing, + .settings = &N(NpcSettings_GoombaBros_Stationary), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000, + .init = &N(EVS_NpcInit_GoombaKing), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .territory = { + .wander = { + .isFlying = FALSE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 0, 0, 0 }, + .wanderSize = { 100 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 100 }, + } + }, + .animations = { + .idle = ANIM_GoombaKing_Idle, + .walk = ANIM_GoombaKing_Walk, + .run = ANIM_GoombaKing_Run, + .chase = ANIM_GoombaKing_Run, + .anim_4 = ANIM_GoombaKing_Idle, + .anim_5 = ANIM_GoombaKing_Idle, + .death = ANIM_GoombaKing_Dead, + .hit = ANIM_GoombaKing_Dead, + .anim_8 = ANIM_GoombaKing_Run, + .anim_9 = ANIM_GoombaKing_Run, + .anim_A = ANIM_GoombaKing_Run, + .anim_B = ANIM_GoombaKing_Run, + .anim_C = ANIM_GoombaKing_Run, + .anim_D = ANIM_GoombaKing_Run, + .anim_E = ANIM_GoombaKing_Run, + .anim_F = ANIM_GoombaKing_Run, + }, + }, +}; + +StaticNpc N(NpcData_Kammy) = { + .id = NPC_Kammy, + .settings = &N(NpcSettings_Kammy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 100, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200000, + .initVarCount = 1, + .initVar = { .value = 0 }, + .animations = {}, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Enemies), BTL_KMR_PART_2_FORMATION_01), + NPC_GROUP(N(NpcData_Kammy)), + {} +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_5_entity.c b/src/world/area_kmr/kmr_11/kmr_11_5_entity.c new file mode 100644 index 0000000000..5d2f55722d --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_5_entity.c @@ -0,0 +1,102 @@ +#include "kmr_11.h" +#include "entity.h" +#include "effects.h" + +API_CALLABLE(N(SetBlueSwitchPosition)) { + Entity* entity = get_entity_by_index(script->varTable[10]); + + entity->position.x = script->varTable[0]; + entity->position.y = script->varTable[1]; + entity->position.z = script->varTable[2]; + + return ApiStatus_DONE2; +} + +EvtScript N(EVS_Scene_OverhearEnemies) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(GetNpcPos, NPC_GoombaKing, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_RedGoombaBro, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, LVar0, LVar1, LVar2) + EVT_CALL(SpeakToPlayer, NPC_GoombaKing, ANIM_GoombaKing_Idle, ANIM_GoombaKing_Idle, 0, MSG_CH0_00D3) + EVT_CALL(SpeakToPlayer, NPC_RedGoombaBro, ANIM_GoombaBros_Red_Talk, ANIM_GoombaBros_Red_Idle, 0, MSG_CH0_00D4) + EVT_CALL(SpeakToPlayer, NPC_GoombaKing, ANIM_GoombaKing_Idle, ANIM_GoombaKing_Idle, 0, MSG_CH0_00D5) + EVT_CALL(SpeakToPlayer, NPC_BlueGoombaBro, ANIM_GoombaBros_Blue_Talk, ANIM_GoombaBros_Blue_Idle, 0, MSG_CH0_00D6) + EVT_CALL(SpeakToPlayer, NPC_RedGoombaBro, ANIM_GoombaBros_Red_Talk, ANIM_GoombaBros_Red_Idle, 0, MSG_CH0_00D7) + EVT_CALL(SetNpcPos, NPC_RedGoombaBro, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, NPC_DISPOSE_LOCATION) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +// NPC_BlueGoombaBro is reused here to do the blue switch jumping +EvtScript N(EVS_TetherSwitchToBlueGoomba) = { + EVT_LABEL(10) + EVT_CALL(GetNpcPos, NPC_BlueGoombaBro, LVar0, LVar1, LVar2) + EVT_SET(LVarA, MV_SwitchEntityID) + EVT_CALL(N(SetBlueSwitchPosition)) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_SwitchBush) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH0_FOUND_GATEHOUSE_SWITCH) + EVT_RETURN + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, -377, -8, 81) + EVT_CALL(SetNpcFlagBits, NPC_BlueGoombaBro, NPC_FLAG_1000000, TRUE) + EVT_EXEC_GET_TID(N(EVS_TetherSwitchToBlueGoomba), LVarB) + EVT_CALL(SetNpcJumpscale, NPC_BlueGoombaBro, EVT_FLOAT(2.0)) + EVT_CALL(NpcJump0, NPC_BlueGoombaBro, -445, 0, 92, 15) + EVT_CALL(PlaySoundAt, SOUND_48, 0, -469, 1, 92) + EVT_CALL(SetNpcJumpscale, NPC_BlueGoombaBro, EVT_FLOAT(2.0)) + EVT_CALL(NpcJump0, NPC_BlueGoombaBro, -469, 0, 92, 7) + EVT_KILL_THREAD(LVarB) + EVT_CALL(SetNpcPos, NPC_BlueGoombaBro, 0, -1000, 0) + EVT_SET(GB_StoryProgress, STORY_CH0_FOUND_GATEHOUSE_SWITCH) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnBreak_SpecialBrick) = { + EVT_CALL(PlaySound, SOUND_B) + EVT_CALL(PlaySoundAt, SOUND_2108, 0, 665, 35, 70) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 0, 665, 48, 70, 10) + EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), 665, 35, 70, 45, ITEM_SUPER_SHROOM, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_KMR11_ItemBlock_SuperShroom) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_IF_LE(GB_StoryProgress, STORY_CH0_FOUND_GATEHOUSE_SWITCH) + EVT_IF_EQ(GB_StoryProgress, STORY_CH0_FOUND_GATEHOUSE_SWITCH) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), -469, 0, 153, 0, MAKE_ENTITY_END) + EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_KMR_04)) + EVT_SET(MV_SwitchEntityID, LVar0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_SelfDestruct)), TRIGGER_AREA_FLAG_SET, AF_KMR_04, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_OverhearEnemies)), TRIGGER_WALL_PRESS_A, COLLIDER_tt, 1, 0) + EVT_ELSE + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), NPC_DISPOSE_LOCATION, 0, MAKE_ENTITY_END) + EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_KMR_04)) + EVT_SET(MV_SwitchEntityID, LVar0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_SelfDestruct)), TRIGGER_AREA_FLAG_SET, AF_KMR_04, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_OverhearEnemies)), TRIGGER_WALL_PRESS_A, COLLIDER_tt, 1, 0) + EVT_END_IF + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 625, -25, 110, 45, MAKE_ENTITY_END) + EVT_IF_EQ(GF_KMR11_ItemBlock_SuperShroom, FALSE) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OnBreak_SpecialBrick))) + EVT_ELSE + EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), 665, 35, 70, 45, ITEM_SUPER_SHROOM, MAKE_ENTITY_END) + EVT_CALL(AssignBlockFlag, GF_KMR11_ItemBlock_SuperShroom) + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 550, 0, -550, 0, MODEL_point, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_KMR11_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_6_kammy.c b/src/world/area_kmr/kmr_11/kmr_11_6_kammy.c new file mode 100644 index 0000000000..ed458b08bd --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_6_kammy.c @@ -0,0 +1,59 @@ +#include "kmr_11.h" + +Vec3f N(FlightPath_Away)[] = { + { 0.0, 0.0, 0.0 }, + { 100.0, 50.0, 0.0 }, + { 200.0, 150.0, 0.0 }, + { 250.0, 400.0, 0.0 }, +}; + +EvtScript N(EVS_Scene_KammyWatching) = { + EVT_CALL(SetMusicTrack, 0, SONG_KAMMY_KOOPA_THEME, 0, 8) + EVT_CALL(SetNpcVar, NPC_Kammy, 0, 1) + EVT_CALL(SetNpcPos, NPC_Kammy, 100, 182, -353) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 100, 0, -220) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 100, 0, -220) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 1176) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 59, -159) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -24, -256) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 8, -5) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(60) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 100, 0, -220) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 100, 190, -353) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 250) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(30) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 100, 0, -220) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 100, 190, -353) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 1000) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.65)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(30) + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_Kammy, LVar7, LVar8, LVar9) + EVT_CALL(LoadPath, 80, EVT_PTR(N(FlightPath_Away)), ARRAY_COUNT(N(FlightPath_Away)), EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(GetNextPathPos) + EVT_ADD(LVar1, LVar7) + EVT_ADD(LVar2, LVar8) + EVT_ADD(LVar3, LVar9) + EVT_CALL(SetNpcPos, NPC_Kammy, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_END_THREAD + EVT_THREAD + EVT_LOOP(24) + EVT_CALL(PlaySoundAtNpc, NPC_Kammy, SOUND_295, 0) + EVT_WAIT(4) + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(110) + EVT_EXEC_WAIT(N(EVS_BadExit_kmr_24_0)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_7_foliage.c b/src/world/area_kmr/kmr_11/kmr_11_7_foliage.c new file mode 100644 index 0000000000..23a5e5cf7e --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_7_foliage.c @@ -0,0 +1,133 @@ +#include "kmr_11.h" + +#include "common/foliage.inc.c" + +FoliageModelList N(Bush2_BushModels) = FOLIAGE_MODEL_LIST(MODEL_kusa1); + +FoliageVectorList N(Bush2_Effects) = { + .count = 1, + .vectors = { + { -257.0f, 13.0f, 32.0f }, + } +}; + +SearchBushConfig N(SearchBush_Bush2) = { + .bush = &N(Bush2_BushModels), + .vectors = &N(Bush2_Effects), +}; + +FoliageModelList N(Bush3_BushModels) = FOLIAGE_MODEL_LIST(MODEL_kusa2); + +FoliageVectorList N(Bush3_Effects) = { + .count = 1, + .vectors = { + { 415.0f, 21.0f, -208.0f }, + } +}; + +SearchBushConfig N(SearchBush_Bush3) = { + .bush = &N(Bush3_BushModels), + .vectors = &N(Bush3_Effects), +}; + +FoliageModelList N(Bush4_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o517); + +FoliageVectorList N(Bush4_Effects) = { + .count = 1, + .vectors = { + { -905.0f, 21.0f, 72.0f }, + } +}; + +SearchBushConfig N(SearchBush_Bush4) = { + .bush = &N(Bush4_BushModels), + .vectors = &N(Bush4_Effects), +}; + +FoliageModelList N(Tree1_LeafModels) = FOLIAGE_MODEL_LIST(MODEL_o349); +FoliageModelList N(Tree1_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o352); + +FoliageDropList N(Tree1_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_STAR_PIECE, + .pos = { -711, 121, -105 }, + .spawnMode = ITEM_SPAWN_MODE_FALL_NEVER_VANISH, + .pickupFlag = GF_KMR11_Tree1_StarPiece, + .spawnFlag = MF_SpawnFlag_StarPiece, + }, + } +}; + +FoliageVectorList N(Tree1_Effects) = { + .count = 2, + .vectors = { + { -725.0f, 117.0f, -137.0f }, + { -617.0f, 108.0f, -137.0f }, + } +}; + +ShakeTreeConfig N(ShakeTree_Tree1) = { + .leaves = &N(Tree1_LeafModels), + .trunk = &N(Tree1_TrunkModels), + .drops = &N(Tree1_Drops), + .vectors = &N(Tree1_Effects), +}; + +BombTrigger N(BombPos_Tree1) = { + .pos = { -665.0f, 0.0f, -149.0f }, + .radius = 0.0f +}; + +FoliageModelList N(Tree2_LeafModels) = FOLIAGE_MODEL_LIST(MODEL_o458); +FoliageModelList N(Tree2_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o461); + +FoliageDropList N(Tree2_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_COIN, + .pos = { 307, 115, -462 }, + .spawnMode = ITEM_SPAWN_MODE_FALL_SPAWN_ONCE, + .pickupFlag = GF_KMR11_Tree2_Coin, + }, + } +}; + +FoliageVectorList N(Tree2_Effects) = { + .count = 2, + .vectors = { + { 259.0f, 77.0f, -443.0f }, + { 354.0f, 96.0f, -500.0f }, + } +}; + +ShakeTreeConfig N(ShakeTree_Tree2) = { + .leaves = &N(Tree2_LeafModels), + .trunk = &N(Tree2_TrunkModels), + .drops = &N(Tree2_Drops), + .vectors = &N(Tree2_Effects), +}; + +BombTrigger N(BombPos_Tree2) = { + .pos = { 320.0f, 0.0f, -496.0f }, + .radius = 0.0f +}; + +EvtScript N(EVS_SetupFoliage) = { + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush2))) + EVT_BIND_TRIGGER(EVT_PTR(N(searchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_kusa1, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush3))) + EVT_BIND_TRIGGER(EVT_PTR(N(searchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_kusa2, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush4))) + EVT_BIND_TRIGGER(EVT_PTR(N(searchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o419, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(ShakeTree_Tree1))) + EVT_BIND_TRIGGER(EVT_PTR(N(shakeTree)), TRIGGER_WALL_HAMMER, COLLIDER_tree1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(shakeTree)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Tree1)), 1, 0) + EVT_SET(LVar0, EVT_PTR(N(ShakeTree_Tree2))) + EVT_BIND_TRIGGER(EVT_PTR(N(shakeTree)), TRIGGER_WALL_HAMMER, COLLIDER_tree2, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(shakeTree)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Tree2)), 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_8_fortress_skeleton.c b/src/world/area_kmr/kmr_11/kmr_11_8_fortress_skeleton.c new file mode 100644 index 0000000000..bf3a737344 --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_8_fortress_skeleton.c @@ -0,0 +1,733 @@ +#include "kmr_11.h" + +StaticAnimatorNode N(D_80247010_8E1110) = { + .pos = { -334.0f, -285.0f, -118.0f }, + .rot = { AS_F(0.0f), AS_F(-164.94827f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_td1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024703C_8E113C) = { + .pos = { 0.0f, 89.0f, 0.0f }, + .rot = { AS_F(-180.0f), AS_F(0.0f), AS_F(0.0f) }, + .child = &N(D_80247010_8E1110), +}; + +StaticAnimatorNode N(D_80247068_8E1168) = { + .pos = { -3.0f, -20.0f, -103.0f }, + .rot = { AS_F(-180.0f), AS_F(152.24768f), AS_F(0.0f) }, + .child = &N(D_8024703C_8E113C), +}; + +StaticAnimatorNode N(D_80247094_8E1194) = { + .pos = { -129.0f, -285.0f, -386.0f }, + .rot = { AS_F(0.0f), AS_F(135.04807f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_te1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802470C0_8E11C0) = { + .pos = { 0.0f, 89.0f, 0.0f }, + .rot = { AS_F(-180.0f), AS_F(0.0f), AS_F(0.0f) }, + .child = &N(D_80247094_8E1194), +}; + +StaticAnimatorNode N(D_802470EC_8E11EC) = { + .pos = { -77.0f, -20.0f, -101.0f }, + .rot = { AS_F(-180.0f), AS_F(-147.74864f), AS_F(0.0f) }, + .child = &N(D_802470C0_8E11C0), + .sibling = &N(D_80247068_8E1168), +}; + +StaticAnimatorNode N(D_80247118_8E1218) = { + .pos = { 205.0f, -285.0f, -342.0f }, + .rot = { AS_F(0.0f), AS_F(75.0499f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tf1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247144_8E1244) = { + .pos = { 0.0f, 89.0f, 0.0f }, + .rot = { AS_F(-180.0f), AS_F(0.0f), AS_F(0.0f) }, + .child = &N(D_80247118_8E1218), +}; + +StaticAnimatorNode N(D_80247170_8E1270) = { + .pos = { -111.0f, -20.0f, -35.0f }, + .rot = { AS_F(-180.0f), AS_F(-87.74499f), AS_F(0.0f) }, + .child = &N(D_80247144_8E1244), + .sibling = &N(D_802470EC_8E11EC), +}; + +StaticAnimatorNode N(D_8024719C_8E129C) = { + .pos = { 334.0f, -285.0f, -31.0f }, + .rot = { AS_F(0.0f), AS_F(15.046235f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_ta1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802471C8_8E12C8) = { + .pos = { 0.0f, 89.0f, 0.0f }, + .rot = { AS_F(-180.0f), AS_F(0.0f), AS_F(0.0f) }, + .child = &N(D_8024719C_8E129C), +}; + +StaticAnimatorNode N(D_802471F4_8E12F4) = { + .pos = { -71.0f, -20.0f, 27.0f }, + .rot = { AS_F(-180.0f), AS_F(-27.746819f), AS_F(0.0f) }, + .child = &N(D_802471C8_8E12C8), + .sibling = &N(D_80247170_8E1270), +}; + +StaticAnimatorNode N(D_80247220_8E1320) = { + .pos = { 129.0f, -285.0f, 236.0f }, + .rot = { AS_F(0.0f), AS_F(-44.94644f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tb1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024724C_8E134C) = { + .pos = { 0.0f, 89.0f, 0.0f }, + .rot = { AS_F(-180.0f), AS_F(0.0f), AS_F(0.0f) }, + .child = &N(D_80247220_8E1320), +}; + +StaticAnimatorNode N(D_80247278_8E1378) = { + .pos = { 2.0f, -20.0f, 24.0f }, + .rot = { AS_F(-180.0f), AS_F(32.245857f), AS_F(0.0f) }, + .child = &N(D_8024724C_8E134C), + .sibling = &N(D_802471F4_8E12F4), +}; + +StaticAnimatorNode N(D_802472A4_8E13A4) = { + .pos = { -205.0f, -285.0f, 192.0f }, + .rot = { AS_F(0.0f), AS_F(-104.94461f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tc1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802472D0_8E13D0) = { + .pos = { 0.0f, 89.0f, 0.0f }, + .rot = { AS_F(-180.0f), AS_F(0.0f), AS_F(0.0f) }, + .child = &N(D_802472A4_8E13A4), +}; + +StaticAnimatorNode N(D_802472FC_8E13FC) = { + .pos = { 36.0f, -20.0f, -41.0f }, + .rot = { AS_F(-180.0f), AS_F(92.24952f), AS_F(0.0f) }, + .child = &N(D_802472D0_8E13D0), + .sibling = &N(D_80247278_8E1378), +}; + +StaticAnimatorNode N(D_80247328_8E1428) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_802472FC_8E13FC), +}; + +StaticAnimatorNode N(D_80247354_8E1454) = { + .pos = { -334.0f, -196.0f, -117.0f }, + .rot = { AS_F(0.0f), AS_F(-164.94827f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_td2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247380_8E1480) = { + .pos = { -3.0f, -109.0f, -103.0f }, + .rot = { AS_F(-180.0f), AS_F(152.24768f), AS_F(0.0f) }, + .child = &N(D_80247354_8E1454), +}; + +StaticAnimatorNode N(D_802473AC_8E14AC) = { + .pos = { -129.0f, -196.0f, -385.0f }, + .rot = { AS_F(0.0f), AS_F(135.04807f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_te2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802473D8_8E14D8) = { + .pos = { -77.0f, -109.0f, -101.0f }, + .rot = { AS_F(-180.0f), AS_F(-147.74864f), AS_F(0.0f) }, + .child = &N(D_802473AC_8E14AC), + .sibling = &N(D_80247380_8E1480), +}; + +StaticAnimatorNode N(D_80247404_8E1504) = { + .pos = { 205.0f, -196.0f, -341.0f }, + .rot = { AS_F(0.0f), AS_F(75.0499f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tf2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247430_8E1530) = { + .pos = { -111.0f, -109.0f, -35.0f }, + .rot = { AS_F(-180.0f), AS_F(-87.74499f), AS_F(0.0f) }, + .child = &N(D_80247404_8E1504), + .sibling = &N(D_802473D8_8E14D8), +}; + +StaticAnimatorNode N(D_8024745C_8E155C) = { + .pos = { 334.0f, -196.0f, -30.0f }, + .rot = { AS_F(0.0f), AS_F(15.046235f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_ta2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247488_8E1588) = { + .pos = { -71.0f, -109.0f, 27.0f }, + .rot = { AS_F(-180.0f), AS_F(-27.746819f), AS_F(0.0f) }, + .child = &N(D_8024745C_8E155C), + .sibling = &N(D_80247430_8E1530), +}; + +StaticAnimatorNode N(D_802474B4_8E15B4) = { + .pos = { 129.0f, -196.0f, 237.0f }, + .rot = { AS_F(0.0f), AS_F(-44.94644f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tb2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802474E0_8E15E0) = { + .pos = { 2.0f, -109.0f, 24.0f }, + .rot = { AS_F(-180.0f), AS_F(32.245857f), AS_F(0.0f) }, + .child = &N(D_802474B4_8E15B4), + .sibling = &N(D_80247488_8E1588), +}; + +StaticAnimatorNode N(D_8024750C_8E160C) = { + .pos = { -205.0f, -196.0f, 193.0f }, + .rot = { AS_F(0.0f), AS_F(-104.94461f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tc2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247538_8E1638) = { + .pos = { 36.0f, -109.0f, -41.0f }, + .rot = { AS_F(-180.0f), AS_F(92.24952f), AS_F(0.0f) }, + .child = &N(D_8024750C_8E160C), + .sibling = &N(D_802474E0_8E15E0), +}; + +StaticAnimatorNode N(D_80247564_8E1664) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80247538_8E1638), + .sibling = &N(D_80247328_8E1428), +}; + +StaticAnimatorNode N(D_80247590_8E1690) = { + .pos = { -129.0f, -106.0f, -384.0f }, + .rot = { AS_F(0.0f), AS_F(135.04807f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_te3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802475BC_8E16BC) = { + .pos = { -76.0f, -106.0f, -100.0f }, + .rot = { AS_F(0.0f), AS_F(-147.74864f), AS_F(0.0f) }, + .child = &N(D_80247590_8E1690), +}; + +StaticAnimatorNode N(D_802475E8_8E16E8) = { + .pos = { -334.0f, -106.0f, -116.0f }, + .rot = { AS_F(0.0f), AS_F(-164.94827f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_td3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247614_8E1714) = { + .pos = { -3.0f, -106.0f, -103.0f }, + .rot = { AS_F(0.0f), AS_F(152.24768f), AS_F(0.0f) }, + .child = &N(D_802475E8_8E16E8), + .sibling = &N(D_802475BC_8E16BC), +}; + +StaticAnimatorNode N(D_80247640_8E1740) = { + .pos = { 205.0f, -106.0f, -340.0f }, + .rot = { AS_F(0.0f), AS_F(75.0499f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tf3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024766C_8E176C) = { + .pos = { -110.0f, -106.0f, -35.0f }, + .rot = { AS_F(0.0f), AS_F(-87.74499f), AS_F(0.0f) }, + .child = &N(D_80247640_8E1740), + .sibling = &N(D_80247614_8E1714), +}; + +StaticAnimatorNode N(D_80247698_8E1798) = { + .pos = { 334.0f, -106.0f, -29.0f }, + .rot = { AS_F(0.0f), AS_F(15.046235f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_ta3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802476C4_8E17C4) = { + .pos = { -71.0f, -106.0f, 26.0f }, + .rot = { AS_F(0.0f), AS_F(-27.746819f), AS_F(0.0f) }, + .child = &N(D_80247698_8E1798), + .sibling = &N(D_8024766C_8E176C), +}; + +StaticAnimatorNode N(D_802476F0_8E17F0) = { + .pos = { 129.0f, -106.0f, 238.0f }, + .rot = { AS_F(0.0f), AS_F(-44.94644f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tb3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_8024771C_8E181C) = { + .pos = { 1.0f, -106.0f, 23.0f }, + .rot = { AS_F(0.0f), AS_F(32.245857f), AS_F(0.0f) }, + .child = &N(D_802476F0_8E17F0), + .sibling = &N(D_802476C4_8E17C4), +}; + +StaticAnimatorNode N(D_80247748_8E1848) = { + .pos = { -205.0f, -106.0f, 194.0f }, + .rot = { AS_F(0.0f), AS_F(-104.94461f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_tc3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247774_8E1874) = { + .pos = { 35.0f, -106.0f, -41.0f }, + .rot = { AS_F(0.0f), AS_F(92.24952f), AS_F(0.0f) }, + .child = &N(D_80247748_8E1848), + .sibling = &N(D_8024771C_8E181C), +}; + +StaticAnimatorNode N(D_802477A0_8E18A0) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80247774_8E1874), + .sibling = &N(D_80247564_8E1664), +}; + +StaticAnimatorNode N(D_802477CC_8E18CC) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_802477A0_8E18A0), +}; + +StaticAnimatorNode N(D_802477F8_8E18F8) = { + .pos = { -266.0f, 0.0f, -99.0f }, + .rot = { AS_F(0.0f), AS_F(12.695089f), AS_F(0.0f) }, + .child = &N(D_802477CC_8E18CC), +}; + +StaticAnimatorNode N(D_80247824_8E1924) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy27), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247850_8E1950) = { + .pos = { -50.0f, -224.0f, 0.0f }, + .child = &N(D_80247824_8E1924), +}; + +StaticAnimatorNode N(D_8024787C_8E197C) = { + .pos = { -67.0f, 0.0f, 86.0f }, + .rot = { AS_F(0.0f), AS_F(-44.99588f), AS_F(0.0f) }, + .child = &N(D_80247850_8E1950), +}; + +StaticAnimatorNode N(D_802478A8_8E19A8) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy28), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802478D4_8E19D4) = { + .pos = { -75.0f, -400.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-180.0f) }, + .child = &N(D_802478A8_8E19A8), +}; + +StaticAnimatorNode N(D_80247900_8E1A00) = { + .pos = { -53.0f, 0.0f, 72.0f }, + .rot = { AS_F(0.0f), AS_F(-44.99588f), AS_F(0.0f) }, + .child = &N(D_802478D4_8E19D4), + .sibling = &N(D_8024787C_8E197C), +}; + +StaticAnimatorNode N(D_8024792C_8E1A2C) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy29), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247958_8E1A58) = { + .pos = { -50.0f, -224.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_8024792C_8E1A2C), +}; + +StaticAnimatorNode N(D_80247984_8E1A84) = { + .pos = { -58.0f, 0.0f, 55.0f }, + .rot = { AS_F(0.0f), AS_F(-44.99588f), AS_F(0.0f) }, + .child = &N(D_80247958_8E1A58), + .sibling = &N(D_80247900_8E1A00), +}; + +StaticAnimatorNode N(D_802479B0_8E1AB0) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80247984_8E1A84), +}; + +StaticAnimatorNode N(D_802479DC_8E1ADC) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy21), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247A08_8E1B08) = { + .pos = { -50.0f, -224.0f, 0.0f }, + .child = &N(D_802479DC_8E1ADC), +}; + +StaticAnimatorNode N(D_80247A34_8E1B34) = { + .pos = { -288.0f, 0.0f, 204.0f }, + .rot = { AS_F(0.0f), AS_F(-89.99725f), AS_F(0.0f) }, + .child = &N(D_80247A08_8E1B08), +}; + +StaticAnimatorNode N(D_80247A60_8E1B60) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy22), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247A8C_8E1B8C) = { + .pos = { -75.0f, -400.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-180.0f) }, + .child = &N(D_80247A60_8E1B60), +}; + +StaticAnimatorNode N(D_80247AB8_8E1BB8) = { + .pos = { -300.0f, 0.0f, 201.0f }, + .rot = { AS_F(0.0f), AS_F(-89.99725f), AS_F(0.0f) }, + .child = &N(D_80247A8C_8E1B8C), + .sibling = &N(D_80247A34_8E1B34), +}; + +StaticAnimatorNode N(D_80247AE4_8E1BE4) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy23), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247B10_8E1C10) = { + .pos = { -50.0f, -224.0f, 0.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-89.99725f) }, + .child = &N(D_80247AE4_8E1BE4), +}; + +StaticAnimatorNode N(D_80247B3C_8E1C3C) = { + .pos = { -269.0f, 0.0f, 186.0f }, + .rot = { AS_F(0.0f), AS_F(-89.99725f), AS_F(0.0f) }, + .child = &N(D_80247B10_8E1C10), + .sibling = &N(D_80247AB8_8E1BB8), +}; + +StaticAnimatorNode N(D_80247B68_8E1C68) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80247B3C_8E1C3C), + .sibling = &N(D_802479B0_8E1AB0), +}; + +StaticAnimatorNode N(D_80247B94_8E1C94) = { + .pos = { 0.0f, -20.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy7), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247BC0_8E1CC0) = { + .pos = { 0.0f, -400.0f, 203.0f }, + .child = &N(D_80247B94_8E1C94), +}; + +StaticAnimatorNode N(D_80247BEC_8E1CEC) = { + .pos = { -271.0f, 0.0f, 53.0f }, + .child = &N(D_80247BC0_8E1CC0), +}; + +StaticAnimatorNode N(D_80247C18_8E1D18) = { + .pos = { 0.0f, -20.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy8), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247C44_8E1D44) = { + .pos = { 0.0f, -400.0f, 203.0f }, + .child = &N(D_80247C18_8E1D18), +}; + +StaticAnimatorNode N(D_80247C70_8E1D70) = { + .pos = { -271.0f, 0.0f, 53.0f }, + .rot = { AS_F(0.0f), AS_F(9.997864f), AS_F(0.0f) }, + .child = &N(D_80247C44_8E1D44), + .sibling = &N(D_80247BEC_8E1CEC), +}; + +StaticAnimatorNode N(D_80247C9C_8E1D9C) = { + .pos = { 0.0f, -20.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy9), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247CC8_8E1DC8) = { + .pos = { 0.0f, -400.0f, 203.0f }, + .child = &N(D_80247C9C_8E1D9C), +}; + +StaticAnimatorNode N(D_80247CF4_8E1DF4) = { + .pos = { -271.0f, 0.0f, 53.0f }, + .rot = { AS_F(0.0f), AS_F(74.994965f), AS_F(0.0f) }, + .child = &N(D_80247CC8_8E1DC8), + .sibling = &N(D_80247C70_8E1D70), +}; + +StaticAnimatorNode N(D_80247D20_8E1E20) = { + .pos = { 0.0f, -20.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy10), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247D4C_8E1E4C) = { + .pos = { 0.0f, -400.0f, 203.0f }, + .rot = { AS_F(0.0f), AS_F(89.99725f), AS_F(0.0f) }, + .child = &N(D_80247D20_8E1E20), +}; + +StaticAnimatorNode N(D_80247D78_8E1E78) = { + .pos = { -271.0f, 0.0f, 53.0f }, + .rot = { AS_F(0.0f), AS_F(49.994812f), AS_F(0.0f) }, + .child = &N(D_80247D4C_8E1E4C), + .sibling = &N(D_80247CF4_8E1DF4), +}; + +StaticAnimatorNode N(D_80247DA4_8E1EA4) = { + .pos = { 0.0f, -20.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy11), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247DD0_8E1ED0) = { + .pos = { 0.0f, -400.0f, 203.0f }, + .child = &N(D_80247DA4_8E1EA4), +}; + +StaticAnimatorNode N(D_80247DFC_8E1EFC) = { + .pos = { -271.0f, 0.0f, 53.0f }, + .rot = { AS_F(0.0f), AS_F(-19.995728f), AS_F(0.0f) }, + .child = &N(D_80247DD0_8E1ED0), + .sibling = &N(D_80247D78_8E1E78), +}; + +StaticAnimatorNode N(D_80247E28_8E1F28) = { + .pos = { -30.0f, 20.0f, -30.0f }, + .child = &N(D_80247DFC_8E1EFC), + .sibling = &N(D_80247B68_8E1C68), +}; + +StaticAnimatorNode N(D_80247E54_8E1F54) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy6), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247E80_8E1F80) = { + .pos = { -135.0f, -400.0f, -191.0f }, + .rot = { AS_F(0.0f), AS_F(0.0f), AS_F(-180.0f) }, + .child = &N(D_80247E54_8E1F54), +}; + +StaticAnimatorNode N(D_80247EAC_8E1FAC) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy5), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247ED8_8E1FD8) = { + .pos = { -150.0f, -400.0f, -191.0f }, + .child = &N(D_80247EAC_8E1FAC), + .sibling = &N(D_80247E80_8E1F80), +}; + +StaticAnimatorNode N(D_80247F04_8E2004) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .modelID = AS_MODEL_ID(MODEL_dummy4), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247F30_8E2030) = { + .pos = { -135.0f, -400.0f, -191.0f }, + .child = &N(D_80247F04_8E2004), + .sibling = &N(D_80247ED8_8E1FD8), +}; + +StaticAnimatorNode N(D_80247F5C_8E205C) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80247F30_8E2030), + .sibling = &N(D_80247E28_8E1F28), +}; + +StaticAnimatorNode N(D_80247F88_8E2088) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80247F5C_8E205C), + .sibling = &N(D_802477F8_8E18F8), +}; + +StaticAnimatorNode N(D_80247FB4_8E20B4) = { + .pos = { 276.0f, -401.0f, 194.0f }, + .rot = { AS_F(0.0f), AS_F(-12.695089f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_top), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80247FE0_8E20E0) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80247FB4_8E20B4), +}; + +StaticAnimatorNode N(D_8024800C_8E210C) = { + .pos = { 8.0f, 26.0f, 104.0f }, + .rot = { AS_F(0.0f), AS_F(-177.84662f), AS_F(0.0f) }, + .child = &N(D_80247FE0_8E20E0), +}; + +StaticAnimatorNode N(D_80248038_8E2138) = { + .pos = { -6.0f, 0.0f, 197.0f }, + .rot = { AS_F(0.0f), AS_F(177.84662f), AS_F(0.0f) }, + .child = &N(D_8024800C_8E210C), +}; + +StaticAnimatorNode N(D_80248064_8E2164) = { + .pos = { 3.0f, 0.0f, 87.0f }, + .rot = { AS_F(89.99725f), AS_F(0.0f), AS_F(0.0f) }, + .child = &N(D_80248038_8E2138), +}; + +StaticAnimatorNode N(D_80248090_8E2190) = { + .pos = { 300.0f, -250.0f, -150.0f }, + .rot = { AS_F(0.0f), AS_F(12.695089f), AS_F(0.0f) }, + .child = &N(D_80248064_8E2164), + .sibling = &N(D_80247F88_8E2088), +}; + +StaticAnimatorNode N(D_802480BC_8E21BC) = { + .pos = { 346.0f, -335.0f, -34.0f }, + .rot = { AS_F(0.0f), AS_F(14.996796f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_mado3), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_802480E8_8E21E8) = { + .pos = { -343.0f, -55.0f, -56.0f }, + .rot = { AS_F(0.0f), AS_F(-14.996796f), AS_F(-34.998016f) }, + .child = &N(D_802480BC_8E21BC), +}; + +StaticAnimatorNode N(D_80248114_8E2214) = { + .pos = { 176.0f, -206.0f, -342.0f }, + .rot = { AS_F(0.0f), AS_F(74.994965f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_mado1), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80248140_8E2240) = { + .pos = { -376.0f, -106.0f, -82.0f }, + .rot = { AS_F(29.999084f), AS_F(-74.994965f), AS_F(0.0f) }, + .child = &N(D_80248114_8E2214), + .sibling = &N(D_802480E8_8E21E8), +}; + +StaticAnimatorNode N(D_8024816C_8E226C) = { + .pos = { 122.0f, -212.0f, 235.0f }, + .rot = { AS_F(0.0f), AS_F(-44.99588f), AS_F(0.0f) }, + .modelID = AS_MODEL_ID(MODEL_mado2), + .vtxList = 0, + .vertexStartOffset = -1 +}; + +StaticAnimatorNode N(D_80248198_8E2298) = { + .pos = { -252.0f, -102.0f, -80.0f }, + .rot = { AS_F(0.0f), AS_F(44.99588f), AS_F(89.99725f) }, + .child = &N(D_8024816C_8E226C), + .sibling = &N(D_80248140_8E2240), +}; + +StaticAnimatorNode N(D_802481C4_8E22C4) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_80248198_8E2298), + .sibling = &N(D_80248090_8E2190), +}; + +StaticAnimatorNode N(D_802481F0_8E22F0) = { + .pos = { 0.0f, 0.0f, 0.0f }, + .child = &N(D_802481C4_8E22C4), +}; + +StaticAnimatorNode* N(AnimSkeleton_Fortress)[] = { + &N(D_802481F0_8E22F0), &N(D_802481C4_8E22C4), &N(D_80248198_8E2298), &N(D_8024816C_8E226C), + &N(D_80248140_8E2240), &N(D_80248114_8E2214), &N(D_802480E8_8E21E8), &N(D_802480BC_8E21BC), + &N(D_80248090_8E2190), &N(D_80248064_8E2164), &N(D_80248038_8E2138), &N(D_8024800C_8E210C), + &N(D_80247FE0_8E20E0), &N(D_80247FB4_8E20B4), &N(D_80247F88_8E2088), &N(D_80247F5C_8E205C), + &N(D_80247F30_8E2030), &N(D_80247F04_8E2004), &N(D_80247ED8_8E1FD8), &N(D_80247EAC_8E1FAC), + &N(D_80247E80_8E1F80), &N(D_80247E54_8E1F54), &N(D_80247E28_8E1F28), &N(D_80247DFC_8E1EFC), + &N(D_80247DD0_8E1ED0), &N(D_80247DA4_8E1EA4), &N(D_80247D78_8E1E78), &N(D_80247D4C_8E1E4C), + &N(D_80247D20_8E1E20), &N(D_80247CF4_8E1DF4), &N(D_80247CC8_8E1DC8), &N(D_80247C9C_8E1D9C), + &N(D_80247C70_8E1D70), &N(D_80247C44_8E1D44), &N(D_80247C18_8E1D18), &N(D_80247BEC_8E1CEC), + &N(D_80247BC0_8E1CC0), &N(D_80247B94_8E1C94), &N(D_80247B68_8E1C68), &N(D_80247B3C_8E1C3C), + &N(D_80247B10_8E1C10), &N(D_80247AE4_8E1BE4), &N(D_80247AB8_8E1BB8), &N(D_80247A8C_8E1B8C), + &N(D_80247A60_8E1B60), &N(D_80247A34_8E1B34), &N(D_80247A08_8E1B08), &N(D_802479DC_8E1ADC), + &N(D_802479B0_8E1AB0), &N(D_80247984_8E1A84), &N(D_80247958_8E1A58), &N(D_8024792C_8E1A2C), + &N(D_80247900_8E1A00), &N(D_802478D4_8E19D4), &N(D_802478A8_8E19A8), &N(D_8024787C_8E197C), + &N(D_80247850_8E1950), &N(D_80247824_8E1924), &N(D_802477F8_8E18F8), &N(D_802477CC_8E18CC), + &N(D_802477A0_8E18A0), &N(D_80247774_8E1874), &N(D_80247748_8E1848), &N(D_8024771C_8E181C), + &N(D_802476F0_8E17F0), &N(D_802476C4_8E17C4), &N(D_80247698_8E1798), &N(D_8024766C_8E176C), + &N(D_80247640_8E1740), &N(D_80247614_8E1714), &N(D_802475E8_8E16E8), &N(D_802475BC_8E16BC), + &N(D_80247590_8E1690), &N(D_80247564_8E1664), &N(D_80247538_8E1638), &N(D_8024750C_8E160C), + &N(D_802474E0_8E15E0), &N(D_802474B4_8E15B4), &N(D_80247488_8E1588), &N(D_8024745C_8E155C), + &N(D_80247430_8E1530), &N(D_80247404_8E1504), &N(D_802473D8_8E14D8), &N(D_802473AC_8E14AC), + &N(D_80247380_8E1480), &N(D_80247354_8E1454), &N(D_80247328_8E1428), &N(D_802472FC_8E13FC), + &N(D_802472D0_8E13D0), &N(D_802472A4_8E13A4), &N(D_80247278_8E1378), &N(D_8024724C_8E134C), + &N(D_80247220_8E1320), &N(D_802471F4_8E12F4), &N(D_802471C8_8E12C8), &N(D_8024719C_8E129C), + &N(D_80247170_8E1270), &N(D_80247144_8E1244), &N(D_80247118_8E1218), &N(D_802470EC_8E11EC), + &N(D_802470C0_8E11C0), &N(D_80247094_8E1194), &N(D_80247068_8E1168), &N(D_8024703C_8E113C), + &N(D_80247010_8E1110), NULL +}; diff --git a/src/world/area_kmr/kmr_11/kmr_11_9_fortress_animation.c b/src/world/area_kmr/kmr_11/kmr_11_9_fortress_animation.c new file mode 100644 index 0000000000..ca358b989a --- /dev/null +++ b/src/world/area_kmr/kmr_11/kmr_11_9_fortress_animation.c @@ -0,0 +1,2983 @@ +#include "kmr_11.h" + +AnimScript N(AnimScript_Fortress) = { + AS_SET_ROTATION, 1, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 1, 0, 0, 0, + AS_SET_SCALE, 1, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 2, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 2, 0, 0, 0, + AS_SET_SCALE, 2, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(0.0), + AS_SET_POS, 3, -252, 212, -80, + AS_SET_SCALE, 3, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 4, AS_F(0.0), AS_F(-44.995), AS_F(0.0), + AS_SET_POS, 4, 122, -212, 235, + AS_SET_SCALE, 4, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 5, AS_F(0.0), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 206, -82, + AS_SET_SCALE, 5, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 6, AS_F(0.0), AS_F(74.995), AS_F(0.0), + AS_SET_POS, 6, 176, -206, -342, + AS_SET_SCALE, 6, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(0.0), + AS_SET_POS, 7, -343, 335, -56, + AS_SET_SCALE, 7, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 8, AS_F(0.0), AS_F(14.995), AS_F(0.0), + AS_SET_POS, 8, 346, -335, -34, + AS_SET_SCALE, 8, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 9, AS_F(0.0), AS_F(12.695), AS_F(0.0), + AS_SET_POS, 9, -311, 374, -129, + AS_SET_SCALE, 9, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 10, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 10, 3, 0, 87, + AS_SET_SCALE, 10, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 11, AS_F(0.0), AS_F(177.845), AS_F(0.0), + AS_SET_POS, 11, 0, 0, 17, + AS_SET_SCALE, 11, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 12, AS_F(0.0), AS_F(-177.845), AS_F(0.0), + AS_SET_POS, 12, 8, 26, 104, + AS_SET_SCALE, 12, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 13, 0, 0, 0, + AS_SET_SCALE, 13, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 14, AS_F(0.0), AS_F(-12.695), AS_F(0.0), + AS_SET_POS, 14, 276, -401, 194, + AS_SET_SCALE, 14, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 15, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 15, 0, 0, 0, + AS_SET_SCALE, 15, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 16, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 16, 0, 0, 0, + AS_SET_SCALE, 16, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 17, -259, 375, -191, + AS_SET_SCALE, 17, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 18, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 18, 0, 0, 0, + AS_SET_SCALE, 18, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 19, -259, 375, -191, + AS_SET_SCALE, 19, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 20, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 20, 0, 0, 0, + AS_SET_SCALE, 20, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 21, -249, 375, -191, + AS_SET_SCALE, 21, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 22, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 22, 0, 0, 0, + AS_SET_SCALE, 22, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 23, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 23, -30, 20, -30, + AS_SET_SCALE, 23, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 24, AS_F(0.0), AS_F(-19.995), AS_F(0.0), + AS_SET_POS, 24, -271, 0, 53, + AS_SET_SCALE, 24, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 25, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 25, 0, -20, 53, + AS_SET_SCALE, 25, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 26, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 26, 0, -20, 0, + AS_SET_SCALE, 26, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 27, AS_F(0.0), AS_F(49.995), AS_F(0.0), + AS_SET_POS, 27, -271, 0, 53, + AS_SET_SCALE, 27, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 28, AS_F(0.0), AS_F(89.995), AS_F(0.0), + AS_SET_POS, 28, 0, -20, 53, + AS_SET_SCALE, 28, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 29, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 29, 0, -20, 0, + AS_SET_SCALE, 29, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 30, AS_F(0.0), AS_F(74.995), AS_F(0.0), + AS_SET_POS, 30, -271, 0, 53, + AS_SET_SCALE, 30, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 31, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 31, 0, -20, 53, + AS_SET_SCALE, 31, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 32, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 32, 0, -20, 0, + AS_SET_SCALE, 32, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 33, AS_F(0.0), AS_F(10.0), AS_F(0.0), + AS_SET_POS, 33, -271, 0, 53, + AS_SET_SCALE, 33, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 34, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 34, 0, -20, 53, + AS_SET_SCALE, 34, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 35, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 35, 0, -20, 0, + AS_SET_SCALE, 35, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 36, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 36, -271, 0, 53, + AS_SET_SCALE, 36, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 37, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 37, 0, -20, 53, + AS_SET_SCALE, 37, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 38, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 38, 0, -20, 0, + AS_SET_SCALE, 38, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 39, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 39, 0, 0, 0, + AS_SET_SCALE, 39, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 40, AS_F(0.0), AS_F(-89.995), AS_F(0.0), + AS_SET_POS, 40, -269, 0, 186, + AS_SET_SCALE, 40, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 41, -259, 375, 0, + AS_SET_SCALE, 41, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 42, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 42, 0, 0, 0, + AS_SET_SCALE, 42, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 43, AS_F(0.0), AS_F(-89.995), AS_F(0.0), + AS_SET_POS, 43, -300, 0, 201, + AS_SET_SCALE, 43, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 44, -259, 375, 0, + AS_SET_SCALE, 44, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 45, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 45, 0, 0, 0, + AS_SET_SCALE, 45, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 46, AS_F(0.0), AS_F(-89.995), AS_F(0.0), + AS_SET_POS, 46, -288, 0, 204, + AS_SET_SCALE, 46, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 47, -259, 375, 0, + AS_SET_SCALE, 47, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 48, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 48, 0, 0, 0, + AS_SET_SCALE, 48, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 49, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 49, 0, 0, 0, + AS_SET_SCALE, 49, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 50, AS_F(0.0), AS_F(-44.995), AS_F(0.0), + AS_SET_POS, 50, -58, 0, 55, + AS_SET_SCALE, 50, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 51, -259, 375, 0, + AS_SET_SCALE, 51, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 52, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 52, 0, 0, 0, + AS_SET_SCALE, 52, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 53, AS_F(0.0), AS_F(-44.995), AS_F(0.0), + AS_SET_POS, 53, -53, 0, 72, + AS_SET_SCALE, 53, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 54, -259, 375, 0, + AS_SET_SCALE, 54, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 55, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 55, 0, 0, 0, + AS_SET_SCALE, 55, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 56, AS_F(0.0), AS_F(-44.995), AS_F(0.0), + AS_SET_POS, 56, -67, 0, 86, + AS_SET_SCALE, 56, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 57, -259, 375, 0, + AS_SET_SCALE, 57, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 58, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 58, 0, 0, 0, + AS_SET_SCALE, 58, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 59, AS_F(0.0), AS_F(12.695), AS_F(0.0), + AS_SET_POS, 59, -266, 0, -99, + AS_SET_SCALE, 59, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 60, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 60, 0, 0, 0, + AS_SET_SCALE, 60, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 61, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 61, 0, 0, 0, + AS_SET_SCALE, 61, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 62, AS_F(0.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 62, 35, 106, -41, + AS_SET_SCALE, 62, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 63, AS_F(0.0), AS_F(-104.945), AS_F(0.0), + AS_SET_POS, 63, -205, -106, 194, + AS_SET_SCALE, 63, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 64, AS_F(0.0), AS_F(32.245), AS_F(0.0), + AS_SET_POS, 64, 1, 106, 23, + AS_SET_SCALE, 64, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 65, AS_F(0.0), AS_F(-44.945), AS_F(0.0), + AS_SET_POS, 65, 129, -106, 238, + AS_SET_SCALE, 65, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 66, AS_F(0.0), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 66, -71, 106, 26, + AS_SET_SCALE, 66, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 67, AS_F(0.0), AS_F(15.045), AS_F(0.0), + AS_SET_POS, 67, 334, -106, -29, + AS_SET_SCALE, 67, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 68, AS_F(0.0), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 68, -110, 106, -35, + AS_SET_SCALE, 68, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 69, AS_F(0.0), AS_F(75.05), AS_F(0.0), + AS_SET_POS, 69, 205, -106, -340, + AS_SET_SCALE, 69, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 70, AS_F(0.0), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 70, -3, 106, -103, + AS_SET_SCALE, 70, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 71, AS_F(0.0), AS_F(-164.95), AS_F(0.0), + AS_SET_POS, 71, -334, -106, -116, + AS_SET_SCALE, 71, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 72, AS_F(0.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 72, -76, 106, -100, + AS_SET_SCALE, 72, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 73, AS_F(0.0), AS_F(135.05), AS_F(0.0), + AS_SET_POS, 73, -129, -106, -384, + AS_SET_SCALE, 73, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 74, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 74, 0, 0, 0, + AS_SET_SCALE, 74, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 75, AS_F(0.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 75, 36, 196, -41, + AS_SET_SCALE, 75, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 76, AS_F(0.0), AS_F(-104.945), AS_F(0.0), + AS_SET_POS, 76, -205, -196, 193, + AS_SET_SCALE, 76, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 77, AS_F(0.0), AS_F(32.245), AS_F(0.0), + AS_SET_POS, 77, 2, 196, 24, + AS_SET_SCALE, 77, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 78, AS_F(0.0), AS_F(-44.945), AS_F(0.0), + AS_SET_POS, 78, 129, -196, 237, + AS_SET_SCALE, 78, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 79, AS_F(0.0), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 79, -71, 196, 27, + AS_SET_SCALE, 79, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 80, AS_F(0.0), AS_F(15.045), AS_F(0.0), + AS_SET_POS, 80, 334, -196, -30, + AS_SET_SCALE, 80, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 81, AS_F(0.0), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 81, -111, 196, -35, + AS_SET_SCALE, 81, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 82, AS_F(0.0), AS_F(75.05), AS_F(0.0), + AS_SET_POS, 82, 205, -196, -341, + AS_SET_SCALE, 82, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 83, AS_F(0.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 83, -77, 196, -101, + AS_SET_SCALE, 83, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 84, AS_F(0.0), AS_F(135.05), AS_F(0.0), + AS_SET_POS, 84, -129, -196, -385, + AS_SET_SCALE, 84, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 85, AS_F(0.0), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 85, -3, 196, -103, + AS_SET_SCALE, 85, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 86, AS_F(0.0), AS_F(-164.95), AS_F(0.0), + AS_SET_POS, 86, -334, -196, -117, + AS_SET_SCALE, 86, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 87, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 87, 0, 0, 0, + AS_SET_SCALE, 87, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 88, AS_F(0.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 88, 36, 196, -41, + AS_SET_SCALE, 88, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 89, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 89, 0, 89, 0, + AS_SET_SCALE, 89, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 90, AS_F(0.0), AS_F(-104.945), AS_F(0.0), + AS_SET_POS, 90, -205, -285, 192, + AS_SET_SCALE, 90, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 91, AS_F(0.0), AS_F(32.245), AS_F(0.0), + AS_SET_POS, 91, 2, 196, 24, + AS_SET_SCALE, 91, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 92, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 92, 0, 89, 0, + AS_SET_SCALE, 92, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 93, AS_F(0.0), AS_F(-44.945), AS_F(0.0), + AS_SET_POS, 93, 129, -285, 236, + AS_SET_SCALE, 93, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 94, AS_F(0.0), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 94, -71, 196, 27, + AS_SET_SCALE, 94, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 95, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 95, 0, 89, 0, + AS_SET_SCALE, 95, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 96, AS_F(0.0), AS_F(15.045), AS_F(0.0), + AS_SET_POS, 96, 334, -285, -31, + AS_SET_SCALE, 96, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 97, AS_F(0.0), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 196, -35, + AS_SET_SCALE, 97, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 98, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 98, 0, 89, 0, + AS_SET_SCALE, 98, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 99, AS_F(0.0), AS_F(75.05), AS_F(0.0), + AS_SET_POS, 99, 205, -285, -342, + AS_SET_SCALE, 99, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 100, AS_F(0.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 100, -77, 196, -101, + AS_SET_SCALE, 100, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 101, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 101, 0, 89, 0, + AS_SET_SCALE, 101, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 102, AS_F(0.0), AS_F(135.05), AS_F(0.0), + AS_SET_POS, 102, -129, -285, -386, + AS_SET_SCALE, 102, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 103, AS_F(0.0), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 103, -3, 196, -103, + AS_SET_SCALE, 103, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 104, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 104, 0, 89, 0, + AS_SET_SCALE, 104, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_SET_ROTATION, 105, AS_F(0.0), AS_F(-164.95), AS_F(0.0), + AS_SET_POS, 105, -334, -285, -118, + AS_SET_SCALE, 105, AS_F(1.0), AS_F(1.0), AS_F(1.0), + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.02), AS_F(0.0), + AS_SET_POS, 21, -247, 375, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.09), AS_F(0.0), + AS_SET_POS, 21, -246, 375, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.2), AS_F(0.0), + AS_SET_POS, 21, -245, 375, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.35), AS_F(0.0), + AS_SET_POS, 21, -244, 375, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 18, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.555), AS_F(0.0), + AS_SET_POS, 21, -243, 375, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.795), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(1.08), AS_F(0.0), + AS_SET_POS, 21, -242, 375, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(1.41), AS_F(0.0), + AS_SET_POS, 21, -241, 374, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 19, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(1.785), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(2.205), AS_F(0.0), + AS_SET_POS, 17, -249, 375, -191, + AS_SET_POS, 21, -240, 373, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(2.66), AS_F(0.0), + AS_SET_POS, 17, -247, 375, -191, + AS_SET_POS, 21, -240, 371, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 20, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(3.16), AS_F(0.0), + AS_SET_POS, 17, -246, 375, -191, + AS_SET_POS, 21, -240, 369, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(3.695), AS_F(0.0), + AS_SET_POS, 17, -245, 375, -191, + AS_SET_POS, 21, -240, 366, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 21, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(4.28), AS_F(0.0), + AS_SET_POS, 17, -244, 375, -191, + AS_SET_POS, 21, -240, 363, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(4.905), AS_F(0.0), + AS_SET_POS, 17, -243, 375, -191, + AS_SET_POS, 19, -249, 375, -191, + AS_SET_POS, 21, -240, 360, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 22, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(5.57), AS_F(0.0), + AS_SET_POS, 19, -248, 375, -191, + AS_SET_POS, 21, -240, 356, -191, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(6.275), AS_F(0.0), + AS_SET_POS, 17, -242, 375, -191, + AS_SET_POS, 19, -247, 375, -191, + AS_SET_POS, 21, -240, 352, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 23, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(7.02), AS_F(0.0), + AS_SET_POS, 17, -241, 374, -191, + AS_SET_POS, 19, -246, 375, -191, + AS_SET_POS, 21, -240, 347, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 24, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(7.805), AS_F(0.0), + AS_SET_POS, 19, -245, 375, -191, + AS_SET_POS, 21, -240, 342, -191, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 25, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(8.635), AS_F(0.0), + AS_SET_POS, 17, -240, 373, -191, + AS_SET_POS, 21, -241, 336, -191, + AS_SET_POS, 51, -249, 375, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(9.5), AS_F(0.0), + AS_SET_POS, 17, -240, 371, -191, + AS_SET_POS, 19, -244, 375, -191, + AS_SET_POS, 21, -241, 330, -191, + AS_SET_POS, 51, -247, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 26, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(10.405), AS_F(0.0), + AS_SET_POS, 17, -240, 369, -191, + AS_SET_POS, 19, -243, 375, -191, + AS_SET_POS, 21, -242, 324, -191, + AS_SET_POS, 51, -245, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 27, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(11.35), AS_F(0.0), + AS_SET_POS, 17, -240, 366, -191, + AS_SET_POS, 19, -242, 374, -191, + AS_SET_POS, 21, -242, 317, -191, + AS_SET_POS, 51, -243, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 28, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(12.325), AS_F(0.0), + AS_SET_POS, 17, -240, 363, -191, + AS_SET_POS, 19, -241, 374, -191, + AS_SET_POS, 21, -243, 310, -191, + AS_SET_POS, 51, -241, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 29, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(13.35), AS_F(0.0), + AS_SET_POS, 17, -240, 360, -191, + AS_SET_POS, 19, -240, 373, -191, + AS_SET_POS, 21, -244, 302, -191, + AS_SET_POS, 51, -239, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 30, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(14.41), AS_F(0.0), + AS_SET_POS, 17, -240, 356, -191, + AS_SET_POS, 19, -240, 371, -191, + AS_SET_POS, 21, -245, 294, -191, + AS_SET_POS, 51, -238, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 31, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(15.51), AS_F(0.0), + AS_SET_POS, 17, -240, 352, -191, + AS_SET_POS, 19, -239, 369, -191, + AS_SET_POS, 21, -246, 286, -191, + AS_SET_POS, 51, -237, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 32, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(16.645), AS_F(0.0), + AS_SET_POS, 17, -240, 347, -191, + AS_SET_POS, 19, -238, 367, -191, + AS_SET_POS, 21, -247, 277, -191, + AS_SET_POS, 51, -236, 374, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 33, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(17.815), AS_F(0.0), + AS_SET_POS, 17, -240, 342, -191, + AS_SET_POS, 19, -237, 364, -191, + AS_SET_POS, 21, -248, 268, -191, + AS_SET_POS, 51, -235, 374, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 34, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(19.025), AS_F(0.0), + AS_SET_POS, 17, -241, 336, -191, + AS_SET_POS, 19, -236, 360, -191, + AS_SET_POS, 21, -249, 258, -191, + AS_SET_POS, 51, -234, 373, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 36, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(20.27), AS_F(0.0), + AS_SET_POS, 17, -241, 330, -191, + AS_SET_POS, 19, -236, 357, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-6.0), + AS_SET_POS, 21, -239, 248, -191, + AS_SET_POS, 51, -234, 371, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 37, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(21.555), AS_F(0.0), + AS_SET_POS, 17, -242, 324, -191, + AS_SET_POS, 19, -235, 352, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-11.995), + AS_SET_POS, 21, -230, 238, -191, + AS_SET_POS, 51, -233, 369, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 38, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(22.875), AS_F(0.0), + AS_SET_POS, 17, -242, 317, -191, + AS_SET_POS, 19, -234, 348, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-17.995), + AS_SET_POS, 21, -222, 227, -191, + AS_SET_POS, 51, -233, 367, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 39, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(24.23), AS_F(0.0), + AS_SET_POS, 17, -243, 310, -191, + AS_SET_POS, 19, -233, 343, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 21, -214, 216, -191, + AS_SET_POS, 51, -233, 364, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 41, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(25.62), AS_F(0.0), + AS_SET_POS, 17, -244, 302, -191, + AS_SET_POS, 19, -232, 337, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-30.0), + AS_SET_POS, 21, -206, 205, -191, + AS_SET_POS, 51, -233, 360, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 42, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(27.05), AS_F(0.0), + AS_SET_POS, 17, -245, 294, -191, + AS_SET_POS, 19, -231, 332, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-36.0), + AS_SET_POS, 21, -199, 193, -191, + AS_SET_POS, 51, -233, 357, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 44, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(28.51), AS_F(0.0), + AS_SET_POS, 17, -246, 286, -191, + AS_SET_POS, 19, -231, 325, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-41.995), + AS_SET_POS, 21, -192, 181, -191, + AS_SET_POS, 51, -233, 353, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 45, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(30.005), AS_F(0.0), + AS_SET_POS, 17, -247, 277, -191, + AS_SET_POS, 19, -230, 319, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 21, -186, 168, -191, + AS_SET_POS, 51, -234, 348, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 47, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(31.535), AS_F(0.0), + AS_SET_POS, 17, -248, 268, -191, + AS_SET_POS, 19, -229, 312, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-54.0), + AS_SET_POS, 21, -181, 155, -191, + AS_SET_POS, 51, -234, 343, 0, + AS_WAIT, 1, + AS_SET_POS, 11, 0, 0, 48, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(33.105), AS_F(0.0), + AS_SET_POS, 17, -249, 258, -191, + AS_SET_POS, 19, -228, 304, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-60.0), + AS_SET_POS, 21, -175, 142, -191, + AS_SET_POS, 51, -235, 337, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 50, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(34.705), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 17, -239, 248, -191, + AS_SET_POS, 19, -227, 296, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-65.995), + AS_SET_POS, 21, -170, 128, -191, + AS_SET_POS, 51, -236, 331, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 52, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(36.34), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-95.995), + AS_SET_POS, 17, -230, 238, -191, + AS_SET_POS, 19, -227, 288, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 21, -166, 114, -191, + AS_SET_POS, 51, -237, 325, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 54, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(38.01), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 17, -222, 227, -191, + AS_SET_POS, 19, -226, 279, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-78.0), + AS_SET_POS, 21, -162, 100, -191, + AS_SET_POS, 51, -238, 318, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 55, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(39.71), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(167.995), + AS_SET_POS, 17, -214, 216, -191, + AS_SET_POS, 19, -225, 270, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-84.0), + AS_SET_POS, 21, -158, 85, -191, + AS_SET_POS, 51, -239, 311, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 57, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(41.445), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(119.995), + AS_SET_POS, 17, -206, 205, -191, + AS_SET_POS, 19, -224, 261, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 21, -155, 70, -191, + AS_SET_POS, 51, -240, 303, 0, + AS_SET_POS, 57, -249, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 59, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(43.21), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(71.995), + AS_SET_POS, 17, -199, 193, -191, + AS_SET_POS, 19, -223, 251, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-95.995), + AS_SET_POS, 21, -152, 55, -191, + AS_SET_POS, 51, -242, 295, 0, + AS_SET_POS, 57, -247, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 61, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(45.01), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(23.995), + AS_SET_POS, 17, -192, 181, -191, + AS_SET_POS, 19, -222, 241, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-101.995), + AS_SET_POS, 21, -149, 40, -191, + AS_SET_POS, 51, -243, 287, 0, + AS_SET_POS, 57, -245, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 63, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(46.845), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 17, -186, 168, -191, + AS_SET_POS, 19, -222, 230, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-108.0), + AS_SET_POS, 21, -146, 24, -191, + AS_SET_POS, 51, -245, 278, 0, + AS_SET_POS, 57, -243, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 65, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(48.71), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 17, -181, 155, -191, + AS_SET_POS, 19, -221, 219, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-114.0), + AS_SET_POS, 21, -144, 7, -191, + AS_SET_POS, 51, -247, 269, 0, + AS_SET_POS, 57, -241, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 67, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(50.605), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-119.995), + AS_SET_POS, 17, -175, 142, -191, + AS_SET_POS, 19, -220, 207, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-119.995), + AS_SET_POS, 21, -142, -8, -191, + AS_SET_POS, 51, -249, 259, 0, + AS_SET_POS, 57, -239, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 70, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(52.535), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-167.995), + AS_SET_POS, 17, -170, 128, -191, + AS_SET_POS, 19, -219, 196, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-125.995), + AS_SET_POS, 21, -141, -25, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-3.0), + AS_SET_POS, 51, -232, 249, 0, + AS_SET_POS, 57, -238, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 72, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(54.495), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(143.995), + AS_SET_POS, 17, -166, 114, -191, + AS_SET_POS, 19, -218, 184, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-132.0), + AS_SET_POS, 21, -139, -42, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-6.0), + AS_SET_POS, 51, -216, 238, 0, + AS_SET_POS, 57, -237, 375, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 74, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(56.48), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(95.995), + AS_SET_POS, 17, -162, 100, -191, + AS_SET_POS, 19, -218, 171, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-138.0), + AS_SET_POS, 21, -138, -60, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-9.0), + AS_SET_POS, 51, -201, 227, 0, + AS_SET_POS, 57, -236, 374, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -1, 0, 76, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(58.505), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(47.995), + AS_SET_POS, 17, -158, 85, -191, + AS_SET_POS, 19, -217, 158, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 21, -137, -77, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-11.995), + AS_SET_POS, 51, -187, 216, 0, + AS_SET_POS, 57, -235, 374, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -2, 0, 79, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(60.56), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 17, -155, 70, -191, + AS_SET_POS, 19, -216, 145, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-149.995), + AS_SET_POS, 21, -136, -96, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-14.995), + AS_SET_POS, 51, -174, 204, 0, + AS_SET_POS, 57, -234, 373, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -2, 0, 81, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(62.635), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 17, -152, 55, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-10.285), + AS_SET_POS, 19, -213, 158, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-156.0), + AS_SET_POS, 21, -136, -114, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-17.995), + AS_SET_POS, 51, -162, 192, 0, + AS_SET_POS, 57, -234, 371, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -2, 0, 84, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(64.75), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-95.995), + AS_SET_POS, 17, -149, 40, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-20.565), + AS_SET_POS, 19, -209, 168, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-162.0), + AS_SET_POS, 21, -135, -133, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-20.995), + AS_SET_POS, 51, -150, 179, 0, + AS_SET_POS, 57, -233, 369, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -2, 0, 86, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(66.89), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 17, -146, 24, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-30.855), + AS_SET_POS, 19, -206, 175, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-167.995), + AS_SET_POS, 21, -135, -151, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 51, -140, 166, 0, + AS_SET_POS, 57, -233, 367, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -2, 0, 89, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(69.06), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(167.995), + AS_SET_POS, 17, -144, 7, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-41.14), + AS_SET_POS, 19, -203, 179, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-173.995), + AS_SET_POS, 21, -135, -171, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-27.0), + AS_SET_POS, 51, -130, 152, 0, + AS_SET_POS, 57, -233, 364, 0, + AS_WAIT, 1, + AS_SET_POS, 11, -2, 0, 91, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(71.26), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(119.995), + AS_SET_POS, 17, -142, -8, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-51.425), + AS_SET_POS, 19, -199, 180, -191, + AS_SET_ROTATION, 21, AS_F(0.0), AS_F(0.0), AS_F(-180.0), + AS_SET_POS, 21, -135, -190, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-30.0), + AS_SET_POS, 51, -121, 138, 0, + AS_SET_POS, 54, -249, 375, 0, + AS_SET_POS, 57, -233, 360, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(0.065), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -2, 0, 94, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(73.49), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(71.995), + AS_SET_POS, 17, -141, -25, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-61.71), + AS_SET_POS, 19, -196, 177, -191, + AS_SET_POS, 21, -135, -210, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-33.0), + AS_SET_POS, 51, -112, 124, 0, + AS_SET_POS, 54, -248, 375, 0, + AS_SET_POS, 57, -233, 357, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(0.275), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -2, 0, 97, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(75.74), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(23.995), + AS_SET_POS, 17, -139, -42, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 19, -193, 171, -191, + AS_SET_POS, 21, -135, -230, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-36.0), + AS_SET_POS, 51, -104, 109, 0, + AS_SET_POS, 54, -247, 375, 0, + AS_SET_POS, 57, -233, 353, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(0.62), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -2, 0, 100, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(78.025), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 17, -138, -60, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-82.285), + AS_SET_POS, 19, -189, 161, -191, + AS_SET_POS, 21, -135, -250, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-38.995), + AS_SET_POS, 51, -97, 94, 0, + AS_SET_POS, 57, -234, 348, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(1.11), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -2, 0, 102, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(80.34), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 17, -137, -77, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-92.57), + AS_SET_POS, 19, -186, 149, -191, + AS_SET_POS, 21, -135, -271, -191, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-41.995), + AS_SET_POS, 51, -90, 79, 0, + AS_SET_POS, 54, -246, 375, 0, + AS_SET_POS, 57, -234, 343, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(1.74), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 105, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(82.685), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-119.995), + AS_SET_POS, 17, -136, -96, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-102.855), + AS_SET_POS, 19, -183, 133, -191, + AS_SET_POS, 21, -135, -292, -191, + AS_SET_POS, 41, -249, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-44.995), + AS_SET_POS, 51, -85, 63, 0, + AS_SET_POS, 54, -245, 375, 0, + AS_SET_POS, 57, -235, 337, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(2.52), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 108, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(85.055), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(-167.995), + AS_SET_POS, 17, -136, -114, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-113.14), + AS_SET_POS, 19, -179, 113, -191, + AS_SET_POS, 21, -135, -313, -191, + AS_SET_POS, 41, -247, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 51, -79, 46, 0, + AS_SET_POS, 54, -244, 375, 0, + AS_SET_POS, 57, -236, 331, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(3.45), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 111, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(87.45), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(143.995), + AS_SET_POS, 17, -135, -133, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-123.425), + AS_SET_POS, 19, -176, 90, -191, + AS_SET_POS, 21, -135, -334, -191, + AS_SET_POS, 41, -245, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-50.995), + AS_SET_POS, 51, -74, 29, 0, + AS_SET_POS, 57, -237, 325, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(4.525), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 114, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(89.87), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(95.995), + AS_SET_POS, 17, -135, -151, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-133.715), + AS_SET_POS, 19, -173, 63, -191, + AS_SET_POS, 21, -135, -356, -191, + AS_SET_POS, 41, -243, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-54.0), + AS_SET_POS, 51, -70, 12, 0, + AS_SET_POS, 54, -243, 374, 0, + AS_SET_POS, 57, -238, 318, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(5.75), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 118, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(92.32), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(47.995), + AS_SET_POS, 17, -135, -171, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 19, -169, 33, -191, + AS_SET_POS, 21, -135, -377, -191, + AS_SET_POS, 41, -241, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-57.0), + AS_SET_POS, 51, -66, -4, 0, + AS_SET_POS, 54, -242, 374, 0, + AS_SET_POS, 57, -239, 311, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(7.13), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 121, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(94.795), AS_F(0.0), + AS_SET_ROTATION, 17, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 17, -135, -190, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-154.28), + AS_SET_POS, 19, -166, 0, -191, + AS_SET_POS, 21, -135, -400, -191, + AS_SET_POS, 41, -239, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-60.0), + AS_SET_POS, 51, -63, -22, 0, + AS_SET_POS, 54, -241, 373, 0, + AS_SET_POS, 57, -240, 303, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(8.665), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 124, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(97.3), AS_F(0.0), + AS_SET_POS, 17, -135, -210, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-164.57), + AS_SET_POS, 19, -163, 13, -191, + AS_SET_POS, 41, -238, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-63.0), + AS_SET_POS, 51, -60, -41, 0, + AS_SET_POS, 54, -241, 371, 0, + AS_SET_POS, 57, -242, 295, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(10.355), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -3, 0, 127, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(99.825), AS_F(0.0), + AS_SET_POS, 17, -135, -230, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(-174.855), + AS_SET_POS, 19, -159, 22, -191, + AS_SET_POS, 41, -237, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-65.995), + AS_SET_POS, 51, -58, -60, 0, + AS_SET_POS, 54, -240, 369, 0, + AS_SET_POS, 57, -243, 287, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(12.2), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -4, 0, 131, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(102.375), AS_F(0.0), + AS_SET_POS, 17, -135, -250, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(174.855), + AS_SET_POS, 19, -156, 28, -191, + AS_SET_POS, 41, -236, 374, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-68.995), + AS_SET_POS, 51, -55, -79, 0, + AS_SET_POS, 54, -239, 367, 0, + AS_SET_POS, 57, -245, 278, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(14.21), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -4, 0, 134, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(104.955), AS_F(0.0), + AS_SET_POS, 17, -135, -271, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(164.57), + AS_SET_POS, 19, -153, 30, -191, + AS_SET_POS, 41, -235, 374, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 51, -54, -98, 0, + AS_SET_POS, 54, -238, 364, 0, + AS_SET_POS, 57, -247, 269, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(16.375), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -4, 0, 138, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(107.56), AS_F(0.0), + AS_SET_POS, 17, -135, -292, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(154.285), + AS_SET_POS, 19, -150, 27, -191, + AS_SET_POS, 41, -234, 373, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-74.995), + AS_SET_POS, 51, -52, -118, 0, + AS_SET_POS, 54, -238, 360, 0, + AS_SET_POS, 57, -249, 259, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(18.66), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -4, 0, 141, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(110.185), AS_F(0.0), + AS_SET_POS, 17, -135, -313, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(143.995), + AS_SET_POS, 19, -150, 21, -191, + AS_SET_POS, 41, -234, 371, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-78.0), + AS_SET_POS, 51, -51, -139, 0, + AS_SET_POS, 54, -237, 357, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 57, -232, 249, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(21.005), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -4, 0, 145, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(112.84), AS_F(0.0), + AS_SET_POS, 17, -135, -334, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(133.715), + AS_SET_POS, 19, -150, 12, -191, + AS_SET_POS, 41, -233, 369, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-81.0), + AS_SET_POS, 51, -50, -160, 0, + AS_SET_POS, 54, -236, 352, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 57, -216, 238, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(23.415), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -4, 0, 148, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(115.515), AS_F(0.0), + AS_SET_POS, 17, -135, -356, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(123.425), + AS_SET_POS, 19, -150, 0, -191, + AS_SET_POS, 41, -233, 367, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-84.0), + AS_SET_POS, 51, -50, -181, 0, + AS_SET_POS, 54, -236, 348, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 57, -201, 227, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(25.885), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -4, 0, 152, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(118.215), AS_F(0.0), + AS_SET_POS, 17, -135, -377, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(113.14), + AS_SET_POS, 19, -150, -17, -191, + AS_SET_POS, 41, -233, 364, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-87.0), + AS_SET_POS, 51, -50, -202, 0, + AS_SET_POS, 54, -235, 343, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-95.995), + AS_SET_POS, 57, -187, 216, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 10, AS_F(28.41), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -5, 0, 156, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(120.94), AS_F(0.0), + AS_SET_POS, 17, -135, -400, -191, + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(102.855), + AS_SET_POS, 19, -150, -36, -191, + AS_SET_POS, 41, -233, 360, 0, + AS_SET_POS, 47, -249, 375, 0, + AS_SET_ROTATION, 51, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 51, -50, -224, 0, + AS_SET_POS, 54, -234, 337, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-119.995), + AS_SET_POS, 57, -174, 204, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -310, 374, -124, + AS_SET_ROTATION, 10, AS_F(31.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -5, 0, 160, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(123.69), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(92.57), + AS_SET_POS, 19, -150, -60, -191, + AS_SET_POS, 41, -233, 357, 0, + AS_SET_POS, 47, -247, 375, 0, + AS_SET_POS, 54, -233, 332, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 57, -162, 192, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -308, 373, -120, + AS_SET_ROTATION, 10, AS_F(33.645), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -5, 0, 163, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(126.46), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(82.285), + AS_SET_POS, 19, -150, -86, -191, + AS_SET_POS, 41, -233, 353, 0, + AS_SET_POS, 47, -245, 375, 0, + AS_SET_POS, 54, -233, 325, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-167.995), + AS_SET_POS, 57, -150, 179, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -307, 371, -115, + AS_SET_ROTATION, 10, AS_F(36.35), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -5, 0, 167, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(129.255), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(71.995), + AS_SET_POS, 19, -150, -115, -191, + AS_SET_POS, 41, -234, 348, 0, + AS_SET_POS, 47, -243, 375, 0, + AS_SET_POS, 54, -232, 319, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(167.995), + AS_SET_POS, 57, -140, 166, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -306, 368, -111, + AS_SET_ROTATION, 10, AS_F(39.105), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -5, 0, 171, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(132.07), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(61.71), + AS_SET_POS, 19, -150, -148, -191, + AS_SET_POS, 41, -234, 343, 0, + AS_SET_POS, 47, -241, 375, 0, + AS_SET_POS, 54, -231, 312, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(143.995), + AS_SET_POS, 57, -130, 152, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -305, 365, -106, + AS_SET_ROTATION, 10, AS_F(41.925), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -5, 0, 176, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(134.91), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(51.43), + AS_SET_POS, 19, -150, -183, -191, + AS_SET_POS, 41, -235, 337, 0, + AS_SET_POS, 47, -239, 375, 0, + AS_SET_POS, 54, -230, 304, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(119.995), + AS_SET_POS, 57, -121, 138, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -304, 361, -102, + AS_SET_ROTATION, 10, AS_F(44.795), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -6, 0, 180, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(137.775), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(41.14), + AS_SET_POS, 19, -150, -221, -191, + AS_SET_POS, 41, -236, 331, 0, + AS_SET_POS, 47, -238, 375, 0, + AS_SET_POS, 54, -230, 296, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(95.995), + AS_SET_POS, 57, -112, 124, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -302, 355, -97, + AS_SET_ROTATION, 10, AS_F(47.715), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -6, 0, 184, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(140.655), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(30.855), + AS_SET_POS, 19, -150, -262, -191, + AS_SET_POS, 41, -237, 325, 0, + AS_SET_POS, 47, -237, 375, 0, + AS_SET_POS, 54, -229, 288, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(71.995), + AS_SET_POS, 57, -104, 109, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -301, 349, -92, + AS_SET_ROTATION, 10, AS_F(50.685), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -6, 0, 188, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(143.555), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(20.565), + AS_SET_POS, 19, -150, -305, -191, + AS_SET_POS, 41, -238, 318, 0, + AS_SET_POS, 47, -236, 374, 0, + AS_SET_POS, 54, -228, 279, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(47.995), + AS_SET_POS, 57, -97, 94, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -300, 342, -87, + AS_SET_ROTATION, 10, AS_F(53.71), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -6, 0, 192, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(146.485), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(10.285), + AS_SET_POS, 19, -150, -351, -191, + AS_SET_POS, 41, -239, 311, 0, + AS_SET_POS, 47, -235, 374, 0, + AS_SET_POS, 54, -228, 270, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(23.995), + AS_SET_POS, 57, -90, 79, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -299, 335, -83, + AS_SET_ROTATION, 10, AS_F(56.78), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 11, -6, 0, 197, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(149.43), AS_F(0.0), + AS_SET_ROTATION, 19, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 19, -150, -400, -191, + AS_SET_POS, 41, -240, 303, 0, + AS_SET_POS, 47, -234, 373, 0, + AS_SET_POS, 54, -227, 261, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 57, -85, 63, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -298, 326, -78, + AS_SET_ROTATION, 10, AS_F(59.9), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(152.4), AS_F(0.0), + AS_SET_POS, 41, -242, 295, 0, + AS_SET_POS, 47, -234, 371, 0, + AS_SET_POS, 54, -226, 251, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 57, -79, 46, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -296, 316, -73, + AS_SET_ROTATION, 10, AS_F(63.07), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(155.39), AS_F(0.0), + AS_SET_POS, 41, -243, 287, 0, + AS_SET_POS, 47, -233, 369, 0, + AS_SET_POS, 54, -225, 241, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 57, -74, 29, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -295, 305, -68, + AS_SET_ROTATION, 10, AS_F(66.285), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(158.395), AS_F(0.0), + AS_SET_POS, 41, -245, 278, 0, + AS_SET_POS, 47, -233, 367, 0, + AS_SET_POS, 54, -225, 230, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 57, -70, 12, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -294, 293, -63, + AS_SET_ROTATION, 10, AS_F(69.545), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(161.425), AS_F(0.0), + AS_SET_POS, 41, -247, 269, 0, + AS_SET_POS, 47, -233, 364, 0, + AS_SET_POS, 54, -224, 219, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-95.995), + AS_SET_POS, 57, -66, -4, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -293, 280, -58, + AS_SET_ROTATION, 10, AS_F(72.845), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(164.47), AS_F(0.0), + AS_SET_POS, 41, -249, 259, 0, + AS_SET_POS, 44, -249, 375, 0, + AS_SET_POS, 47, -233, 360, 0, + AS_SET_POS, 54, -223, 207, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-119.995), + AS_SET_POS, 57, -63, -22, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -292, 266, -53, + AS_SET_ROTATION, 10, AS_F(76.2), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(167.54), AS_F(0.0), + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-3.0), + AS_SET_POS, 41, -232, 249, 0, + AS_SET_POS, 44, -248, 375, 0, + AS_SET_POS, 47, -233, 357, 0, + AS_SET_POS, 54, -222, 196, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 57, -60, -41, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -290, 250, -48, + AS_SET_ROTATION, 10, AS_F(79.585), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(170.63), AS_F(0.0), + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-6.0), + AS_SET_POS, 41, -216, 238, 0, + AS_SET_POS, 44, -247, 375, 0, + AS_SET_POS, 47, -233, 353, 0, + AS_SET_POS, 54, -222, 184, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(-167.995), + AS_SET_POS, 57, -58, -60, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -289, 234, -43, + AS_SET_ROTATION, 10, AS_F(83.015), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(173.73), AS_F(0.0), + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-9.0), + AS_SET_POS, 41, -201, 227, 0, + AS_SET_POS, 47, -234, 348, 0, + AS_SET_POS, 54, -221, 171, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(167.995), + AS_SET_POS, 57, -55, -79, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -288, 216, -38, + AS_SET_ROTATION, 10, AS_F(86.485), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(176.86), AS_F(0.0), + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-11.995), + AS_SET_POS, 41, -187, 216, 0, + AS_SET_POS, 44, -246, 375, 0, + AS_SET_POS, 47, -234, 343, 0, + AS_SET_POS, 54, -220, 158, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(143.995), + AS_SET_POS, 57, -54, -98, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -287, 197, -33, + AS_SET_ROTATION, 10, AS_F(89.995), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-180.0), AS_F(0.0), + AS_SET_POS, 37, 0, 0, 53, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-14.995), + AS_SET_POS, 41, -174, 204, 0, + AS_SET_POS, 44, -245, 375, 0, + AS_SET_POS, 47, -235, 337, 0, + AS_SET_POS, 54, -220, 145, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(119.995), + AS_SET_POS, 57, -52, -118, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -272, 219, -36, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(166.955), AS_F(0.0), + AS_SET_POS, 25, 0, 0, 53, + AS_SET_POS, 28, 0, 0, 53, + AS_SET_POS, 37, 0, 6, 55, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-17.995), + AS_SET_POS, 41, -162, 192, 0, + AS_SET_POS, 44, -244, 375, 0, + AS_SET_POS, 47, -236, 331, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-5.14), + AS_SET_POS, 54, -212, 158, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(95.995), + AS_SET_POS, 57, -51, -139, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -258, 238, -38, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(153.85), AS_F(0.0), + AS_SET_POS, 25, 0, 6, 55, + AS_SET_POS, 28, 0, 6, 55, + AS_SET_POS, 31, 0, 0, 53, + AS_SET_POS, 37, 0, 12, 58, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-20.995), + AS_SET_POS, 41, -150, 179, 0, + AS_SET_POS, 47, -237, 325, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-10.285), + AS_SET_POS, 54, -205, 168, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(71.995), + AS_SET_POS, 57, -50, -160, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -243, 254, -41, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(140.695), AS_F(0.0), + AS_SET_POS, 25, 0, 12, 58, + AS_SET_POS, 28, 0, 12, 58, + AS_SET_POS, 31, 0, 6, 55, + AS_SET_POS, 34, 0, 0, 53, + AS_SET_POS, 37, 0, 17, 60, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 41, -140, 166, 0, + AS_SET_POS, 44, -243, 374, 0, + AS_SET_POS, 47, -238, 318, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-15.425), + AS_SET_POS, 54, -198, 175, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(47.995), + AS_SET_POS, 57, -50, -181, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -228, 267, -44, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(127.49), AS_F(0.0), + AS_SET_POS, 25, 0, 17, 60, + AS_SET_POS, 28, 0, 17, 60, + AS_SET_POS, 31, 0, 12, 58, + AS_SET_POS, 34, 0, 6, 55, + AS_SET_POS, 37, 0, 22, 63, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-27.0), + AS_SET_POS, 41, -130, 152, 0, + AS_SET_POS, 44, -242, 374, 0, + AS_SET_POS, 47, -239, 311, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-20.565), + AS_SET_POS, 54, -191, 179, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(23.995), + AS_SET_POS, 57, -50, -202, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -213, 277, -47, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(114.23), AS_F(0.0), + AS_SET_POS, 25, 0, 22, 63, + AS_SET_POS, 28, 0, 22, 63, + AS_SET_POS, 31, 0, 17, 60, + AS_SET_POS, 34, 0, 12, 58, + AS_SET_POS, 37, 0, 27, 65, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-30.0), + AS_SET_POS, 41, -121, 138, 0, + AS_SET_POS, 44, -241, 373, 0, + AS_SET_POS, 47, -240, 303, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-25.715), + AS_SET_POS, 54, -183, 180, 0, + AS_SET_ROTATION, 57, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 57, -50, -224, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -199, 285, -50, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(100.925), AS_F(0.0), + AS_SET_POS, 25, 0, 27, 65, + AS_SET_POS, 28, 0, 27, 65, + AS_SET_POS, 31, 0, 22, 63, + AS_SET_POS, 34, 0, 17, 60, + AS_SET_POS, 37, 0, 31, 68, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-33.0), + AS_SET_POS, 41, -112, 124, 0, + AS_SET_POS, 44, -241, 371, 0, + AS_SET_POS, 47, -242, 295, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-30.855), + AS_SET_POS, 54, -176, 177, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -184, 291, -53, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(87.575), AS_F(0.0), + AS_SET_POS, 25, 0, 31, 68, + AS_SET_POS, 28, 0, 31, 68, + AS_SET_POS, 31, 0, 27, 65, + AS_SET_POS, 34, 0, 22, 63, + AS_SET_POS, 37, 0, 35, 70, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-36.0), + AS_SET_POS, 41, -104, 109, 0, + AS_SET_POS, 44, -240, 369, 0, + AS_SET_POS, 47, -243, 287, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-36.0), + AS_SET_POS, 54, -169, 171, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -169, 294, -56, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(74.18), AS_F(0.0), + AS_SET_POS, 25, 0, 35, 70, + AS_SET_POS, 28, 0, 35, 70, + AS_SET_POS, 31, 0, 31, 68, + AS_SET_POS, 34, 0, 27, 65, + AS_SET_POS, 37, 0, 38, 73, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-38.995), + AS_SET_POS, 41, -97, 94, 0, + AS_SET_POS, 44, -239, 367, 0, + AS_SET_POS, 47, -245, 278, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-41.14), + AS_SET_POS, 54, -162, 161, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -155, 296, -59, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(60.75), AS_F(0.0), + AS_SET_POS, 25, 0, 38, 73, + AS_SET_POS, 28, 0, 38, 73, + AS_SET_POS, 31, 0, 35, 70, + AS_SET_POS, 34, 0, 31, 68, + AS_SET_POS, 37, 0, 41, 75, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-41.995), + AS_SET_POS, 41, -90, 79, 0, + AS_SET_POS, 44, -238, 364, 0, + AS_SET_POS, 47, -247, 269, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-46.28), + AS_SET_POS, 54, -155, 149, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -140, 297, -62, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(47.28), AS_F(0.0), + AS_SET_POS, 25, 0, 41, 75, + AS_SET_POS, 28, 0, 41, 75, + AS_SET_POS, 31, 0, 38, 73, + AS_SET_POS, 34, 0, 35, 70, + AS_SET_POS, 37, 0, 44, 78, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-44.995), + AS_SET_POS, 41, -85, 63, 0, + AS_SET_POS, 44, -238, 360, 0, + AS_SET_POS, 47, -249, 259, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-51.43), + AS_SET_POS, 54, -147, 133, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -125, 296, -65, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(33.785), AS_F(0.0), + AS_SET_POS, 25, 0, 44, 78, + AS_SET_POS, 28, 0, 44, 78, + AS_SET_POS, 31, 0, 41, 75, + AS_SET_POS, 34, 0, 38, 73, + AS_SET_POS, 37, 0, 46, 80, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 41, -79, 46, 0, + AS_SET_POS, 44, -237, 357, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 47, -232, 249, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-56.57), + AS_SET_POS, 54, -140, 113, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -111, 294, -68, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(20.25), AS_F(0.0), + AS_SET_POS, 25, 0, 46, 80, + AS_SET_POS, 28, 0, 46, 80, + AS_SET_POS, 31, 0, 44, 78, + AS_SET_POS, 34, 0, 41, 75, + AS_SET_POS, 37, 0, 47, 83, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-50.995), + AS_SET_POS, 41, -74, 29, 0, + AS_SET_POS, 44, -236, 352, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 47, -216, 238, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-61.71), + AS_SET_POS, 54, -133, 90, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -96, 289, -71, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(6.69), AS_F(0.0), + AS_SET_POS, 25, 0, 47, 83, + AS_SET_POS, 28, 0, 47, 83, + AS_SET_POS, 31, 0, 46, 80, + AS_SET_POS, 34, 0, 44, 78, + AS_SET_POS, 37, 0, 49, 85, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-54.0), + AS_SET_POS, 41, -70, 12, 0, + AS_SET_POS, 44, -236, 348, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 47, -201, 227, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-66.855), + AS_SET_POS, 54, -126, 63, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -81, 283, -74, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-6.89), AS_F(0.0), + AS_SET_POS, 25, 0, 49, 85, + AS_SET_POS, 28, 0, 49, 85, + AS_SET_POS, 31, 0, 47, 83, + AS_SET_POS, 34, 0, 46, 80, + AS_SET_POS, 37, 0, 49, 88, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-57.0), + AS_SET_POS, 41, -66, -4, 0, + AS_SET_POS, 44, -235, 343, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-95.995), + AS_SET_POS, 47, -187, 216, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 54, -119, 33, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -67, 276, -76, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-20.495), AS_F(0.0), + AS_SET_POS, 25, 0, 49, 88, + AS_SET_POS, 28, 0, 49, 88, + AS_SET_POS, 31, 0, 49, 85, + AS_SET_POS, 34, 0, 47, 83, + AS_SET_POS, 37, 0, 50, 90, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-60.0), + AS_SET_POS, 41, -63, -22, 0, + AS_SET_POS, 44, -234, 337, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-119.995), + AS_SET_POS, 47, -174, 204, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-77.135), + AS_SET_POS, 54, -111, 0, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -52, 266, -79, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-34.125), AS_F(0.0), + AS_SET_POS, 25, 0, 50, 90, + AS_SET_POS, 28, 0, 50, 90, + AS_SET_POS, 31, 0, 49, 88, + AS_SET_POS, 34, 0, 49, 85, + AS_SET_POS, 37, 0, 49, 93, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-63.0), + AS_SET_POS, 41, -60, -41, 0, + AS_SET_POS, 44, -233, 332, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 47, -162, 192, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-82.285), + AS_SET_POS, 54, -104, 13, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -37, 256, -82, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-47.765), AS_F(0.0), + AS_SET_POS, 25, 0, 49, 93, + AS_SET_POS, 28, 0, 49, 93, + AS_SET_POS, 31, 0, 50, 90, + AS_SET_POS, 34, 0, 49, 88, + AS_SET_POS, 37, 0, 48, 95, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-65.995), + AS_SET_POS, 41, -58, -60, 0, + AS_SET_POS, 44, -233, 325, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-167.995), + AS_SET_POS, 47, -150, 179, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-87.425), + AS_SET_POS, 54, -97, 22, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -23, 244, -85, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-61.425), AS_F(0.0), + AS_SET_POS, 25, 0, 48, 95, + AS_SET_POS, 28, 0, 48, 95, + AS_SET_POS, 31, 0, 49, 93, + AS_SET_POS, 34, 0, 50, 90, + AS_SET_POS, 37, 0, 46, 98, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-68.995), + AS_SET_POS, 41, -55, -79, 0, + AS_SET_POS, 44, -232, 319, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(167.995), + AS_SET_POS, 47, -140, 166, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-92.57), + AS_SET_POS, 54, -90, 28, 0, + AS_WAIT, 1, + AS_SET_POS, 9, -8, 230, -88, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-75.095), AS_F(0.0), + AS_SET_POS, 25, 0, 46, 98, + AS_SET_POS, 28, 0, 46, 98, + AS_SET_POS, 31, 0, 48, 95, + AS_SET_POS, 34, 0, 49, 93, + AS_SET_POS, 37, 0, 44, 100, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 41, -54, -98, 0, + AS_SET_POS, 44, -231, 312, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(143.995), + AS_SET_POS, 47, -130, 152, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-97.71), + AS_SET_POS, 54, -83, 30, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 6, 215, -91, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-88.77), AS_F(0.0), + AS_SET_POS, 25, 0, 44, 100, + AS_SET_POS, 28, 0, 44, 100, + AS_SET_POS, 31, 0, 46, 98, + AS_SET_POS, 34, 0, 48, 95, + AS_SET_POS, 37, 0, 41, 103, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-74.995), + AS_SET_POS, 41, -52, -118, 0, + AS_SET_POS, 44, -230, 304, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(119.995), + AS_SET_POS, 47, -121, 138, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-102.855), + AS_SET_POS, 54, -75, 27, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 20, 199, -94, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-102.455), AS_F(0.0), + AS_SET_POS, 25, 0, 41, 103, + AS_SET_POS, 28, 0, 41, 103, + AS_SET_POS, 31, 0, 44, 100, + AS_SET_POS, 34, 0, 46, 98, + AS_SET_POS, 37, 0, 38, 105, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-78.0), + AS_SET_POS, 41, -51, -139, 0, + AS_SET_POS, 44, -230, 296, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(95.995), + AS_SET_POS, 47, -112, 124, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-108.0), + AS_SET_POS, 54, -75, 21, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 35, 182, -97, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-116.145), AS_F(0.0), + AS_SET_POS, 25, 0, 38, 105, + AS_SET_POS, 28, 0, 38, 105, + AS_SET_POS, 31, 0, 41, 103, + AS_SET_POS, 34, 0, 44, 100, + AS_SET_POS, 37, 0, 34, 108, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-81.0), + AS_SET_POS, 41, -50, -160, 0, + AS_SET_POS, 44, -229, 288, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(71.995), + AS_SET_POS, 47, -104, 109, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-113.14), + AS_SET_POS, 54, -75, 12, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 50, 164, -100, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-129.835), AS_F(0.0), + AS_SET_POS, 25, 0, 34, 108, + AS_SET_POS, 28, 0, 34, 108, + AS_SET_POS, 31, 0, 38, 105, + AS_SET_POS, 34, 0, 41, 103, + AS_SET_POS, 37, 0, 29, 110, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-84.0), + AS_SET_POS, 41, -50, -181, 0, + AS_SET_POS, 44, -228, 279, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(47.995), + AS_SET_POS, 47, -97, 94, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-118.28), + AS_SET_POS, 54, -75, 0, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 65, 145, -103, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-143.525), AS_F(0.0), + AS_SET_POS, 25, 0, 29, 110, + AS_SET_POS, 28, 0, 29, 110, + AS_SET_POS, 31, 0, 34, 108, + AS_SET_POS, 34, 0, 38, 105, + AS_SET_POS, 37, 0, 24, 113, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-87.0), + AS_SET_POS, 41, -50, -202, 0, + AS_SET_POS, 44, -228, 270, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(23.995), + AS_SET_POS, 47, -90, 79, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-123.425), + AS_SET_POS, 54, -75, -17, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 79, 125, -106, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-157.205), AS_F(0.0), + AS_SET_POS, 25, 0, 24, 113, + AS_SET_POS, 28, 0, 24, 113, + AS_SET_POS, 31, 0, 29, 110, + AS_SET_POS, 34, 0, 34, 108, + AS_SET_POS, 37, 0, 18, 115, + AS_SET_ROTATION, 41, AS_F(0.0), AS_F(0.0), AS_F(-89.995), + AS_SET_POS, 41, -50, -224, 0, + AS_SET_POS, 44, -227, 261, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 47, -85, 63, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-128.565), + AS_SET_POS, 54, -75, -36, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 94, 104, -109, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(-170.875), AS_F(0.0), + AS_SET_POS, 25, 0, 18, 115, + AS_SET_POS, 28, 0, 18, 115, + AS_SET_POS, 31, 0, 24, 113, + AS_SET_POS, 34, 0, 29, 110, + AS_SET_POS, 37, 0, 11, 118, + AS_SET_POS, 44, -226, 251, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-23.995), + AS_SET_POS, 47, -79, 46, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-133.715), + AS_SET_POS, 54, -75, -60, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 109, 82, -112, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(175.45), AS_F(0.0), + AS_SET_POS, 25, 0, 11, 118, + AS_SET_POS, 28, 0, 11, 118, + AS_SET_POS, 31, 0, 18, 115, + AS_SET_POS, 34, 0, 24, 113, + AS_SET_POS, 37, 0, 4, 120, + AS_SET_POS, 44, -225, 241, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-47.995), + AS_SET_POS, 47, -74, 29, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-138.855), + AS_SET_POS, 54, -75, -86, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 123, 59, -114, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(161.8), AS_F(0.0), + AS_SET_POS, 25, 0, 4, 120, + AS_SET_POS, 28, 0, 4, 120, + AS_SET_POS, 31, 0, 11, 118, + AS_SET_POS, 34, 0, 18, 115, + AS_SET_POS, 37, 0, -2, 123, + AS_SET_POS, 44, -225, 230, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 47, -70, 12, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 54, -75, -115, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 138, 35, -117, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(148.165), AS_F(0.0), + AS_SET_POS, 25, 0, -2, 123, + AS_SET_POS, 28, 0, -2, 123, + AS_SET_POS, 31, 0, 4, 120, + AS_SET_POS, 34, 0, 11, 118, + AS_SET_POS, 37, 0, -10, 125, + AS_SET_POS, 44, -224, 219, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-95.995), + AS_SET_POS, 47, -66, -4, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-149.14), + AS_SET_POS, 54, -75, -148, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 153, 11, -120, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(134.55), AS_F(0.0), + AS_SET_POS, 25, 0, -10, 125, + AS_SET_POS, 28, 0, -10, 125, + AS_SET_POS, 31, 0, -2, 123, + AS_SET_POS, 34, 0, 4, 120, + AS_SET_POS, 37, 0, -18, 128, + AS_SET_POS, 44, -223, 207, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-119.995), + AS_SET_POS, 47, -63, -22, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-154.285), + AS_SET_POS, 54, -75, -183, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 167, -12, -123, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(120.95), AS_F(0.0), + AS_SET_POS, 25, 0, -18, 128, + AS_SET_POS, 28, 0, -18, 128, + AS_SET_POS, 31, 0, -10, 125, + AS_SET_POS, 34, 0, -2, 123, + AS_SET_POS, 37, 0, -27, 130, + AS_SET_POS, 44, -222, 196, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 47, -60, -41, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-159.425), + AS_SET_POS, 54, -75, -221, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 182, -37, -126, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(107.385), AS_F(0.0), + AS_SET_POS, 25, 0, -27, 130, + AS_SET_POS, 28, 0, -27, 130, + AS_SET_POS, 31, 0, -18, 128, + AS_SET_POS, 34, 0, -10, 125, + AS_SET_POS, 37, 0, -36, 133, + AS_SET_POS, 44, -222, 184, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(-167.995), + AS_SET_POS, 47, -58, -60, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-164.57), + AS_SET_POS, 54, -75, -262, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 197, -63, -129, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(93.835), AS_F(0.0), + AS_SET_POS, 25, 0, -36, 133, + AS_SET_POS, 28, 0, -36, 133, + AS_SET_POS, 31, 0, -27, 130, + AS_SET_POS, 34, 0, -18, 128, + AS_SET_POS, 37, 0, -45, 135, + AS_SET_POS, 44, -221, 171, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(167.995), + AS_SET_POS, 47, -55, -79, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-169.71), + AS_SET_POS, 54, -75, -305, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 211, -89, -132, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(80.32), AS_F(0.0), + AS_SET_POS, 25, 0, -45, 135, + AS_SET_POS, 28, 0, -45, 135, + AS_SET_POS, 31, 0, -36, 133, + AS_SET_POS, 34, 0, -27, 130, + AS_SET_POS, 37, 0, -55, 138, + AS_SET_POS, 44, -220, 158, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(143.995), + AS_SET_POS, 47, -54, -98, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-174.855), + AS_SET_POS, 54, -75, -351, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 226, -115, -135, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(66.835), AS_F(0.0), + AS_SET_POS, 25, 0, -55, 138, + AS_SET_POS, 28, 0, -55, 138, + AS_SET_POS, 31, 0, -45, 135, + AS_SET_POS, 34, 0, -36, 133, + AS_SET_POS, 37, 0, -66, 140, + AS_SET_POS, 44, -220, 145, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(119.995), + AS_SET_POS, 47, -52, -118, 0, + AS_SET_ROTATION, 54, AS_F(0.0), AS_F(0.0), AS_F(-180.0), + AS_SET_POS, 54, -75, -400, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 241, -142, -138, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(53.39), AS_F(0.0), + AS_SET_POS, 25, 0, -66, 140, + AS_SET_POS, 28, 0, -66, 140, + AS_SET_POS, 31, 0, -55, 138, + AS_SET_POS, 34, 0, -45, 135, + AS_SET_POS, 37, 0, -77, 143, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-5.14), + AS_SET_POS, 44, -212, 158, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(95.995), + AS_SET_POS, 47, -51, -139, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 255, -169, -141, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(39.975), AS_F(0.0), + AS_SET_POS, 25, 0, -77, 143, + AS_SET_POS, 28, 0, -77, 143, + AS_SET_POS, 31, 0, -66, 140, + AS_SET_POS, 34, 0, -55, 138, + AS_SET_POS, 37, 0, -88, 145, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-10.285), + AS_SET_POS, 44, -205, 168, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(71.995), + AS_SET_POS, 47, -50, -160, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 270, -196, -144, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(26.605), AS_F(0.0), + AS_SET_POS, 25, 0, -88, 145, + AS_SET_POS, 28, 0, -88, 145, + AS_SET_POS, 31, 0, -77, 143, + AS_SET_POS, 34, 0, -66, 140, + AS_SET_POS, 37, 0, -99, 148, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-15.425), + AS_SET_POS, 44, -198, 175, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(47.995), + AS_SET_POS, 47, -50, -181, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 285, -223, -147, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(13.275), AS_F(0.0), + AS_SET_POS, 25, 0, -99, 148, + AS_SET_POS, 28, 0, -99, 148, + AS_SET_POS, 31, 0, -88, 145, + AS_SET_POS, 34, 0, -77, 143, + AS_SET_POS, 37, 0, -111, 150, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-20.565), + AS_SET_POS, 44, -191, 179, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(23.995), + AS_SET_POS, 47, -50, -202, 0, + AS_WAIT, 1, + AS_SET_POS, 9, 300, -250, -150, + AS_SET_ROTATION, 13, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 25, 0, -111, 150, + AS_SET_POS, 28, 0, -111, 150, + AS_SET_POS, 31, 0, -99, 148, + AS_SET_POS, 34, 0, -88, 145, + AS_SET_POS, 37, 0, -123, 153, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-25.71), + AS_SET_POS, 44, -183, 180, 0, + AS_SET_ROTATION, 47, AS_F(0.0), AS_F(0.0), AS_F(0.0), + AS_SET_POS, 47, -50, -224, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -123, 153, + AS_SET_POS, 28, 0, -123, 153, + AS_SET_POS, 31, 0, -111, 150, + AS_SET_POS, 34, 0, -99, 148, + AS_SET_POS, 37, 0, -135, 155, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-30.855), + AS_SET_POS, 44, -176, 177, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -135, 155, + AS_SET_POS, 28, 0, -135, 155, + AS_SET_POS, 31, 0, -123, 153, + AS_SET_POS, 34, 0, -111, 150, + AS_SET_POS, 37, 0, -147, 158, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-36.0), + AS_SET_POS, 44, -169, 171, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -147, 158, + AS_SET_POS, 28, 0, -147, 158, + AS_SET_POS, 31, 0, -135, 155, + AS_SET_POS, 34, 0, -123, 153, + AS_SET_POS, 37, 0, -160, 160, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-41.14), + AS_SET_POS, 44, -162, 161, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -160, 160, + AS_SET_POS, 28, 0, -160, 160, + AS_SET_POS, 31, 0, -147, 158, + AS_SET_POS, 34, 0, -135, 155, + AS_SET_POS, 37, 0, -173, 163, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-46.28), + AS_SET_POS, 44, -155, 149, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -173, 163, + AS_SET_POS, 28, 0, -173, 163, + AS_SET_POS, 31, 0, -160, 160, + AS_SET_POS, 34, 0, -147, 158, + AS_SET_POS, 37, 0, -187, 165, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-51.43), + AS_SET_POS, 44, -147, 133, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -187, 165, + AS_SET_POS, 28, 0, -187, 165, + AS_SET_POS, 31, 0, -173, 163, + AS_SET_POS, 34, 0, -160, 160, + AS_SET_POS, 37, 0, -200, 168, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-56.57), + AS_SET_POS, 44, -140, 113, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -200, 168, + AS_SET_POS, 28, 0, -200, 168, + AS_SET_POS, 31, 0, -187, 165, + AS_SET_POS, 34, 0, -173, 163, + AS_SET_POS, 37, 0, -214, 170, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-61.71), + AS_SET_POS, 44, -133, 90, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -214, 170, + AS_SET_POS, 28, 0, -214, 170, + AS_SET_POS, 31, 0, -200, 168, + AS_SET_POS, 34, 0, -187, 165, + AS_SET_POS, 37, 0, -227, 173, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-66.855), + AS_SET_POS, 44, -126, 63, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -227, 173, + AS_SET_POS, 28, 0, -227, 173, + AS_SET_POS, 31, 0, -214, 170, + AS_SET_POS, 34, 0, -200, 168, + AS_SET_POS, 37, 0, -241, 175, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-71.995), + AS_SET_POS, 44, -119, 33, 0, + AS_WAIT, 1, + AS_SET_POS, 25, 0, -241, 175, + AS_SET_POS, 28, 0, -241, 175, + AS_SET_POS, 31, 0, -227, 173, + AS_SET_POS, 34, 0, -214, 170, + AS_SET_POS, 37, 0, -255, 178, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-77.145), + AS_SET_POS, 44, -111, 0, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-0.57), + AS_SET_POS, 25, 0, -255, 178, + AS_SET_POS, 28, 0, -255, 178, + AS_SET_POS, 31, 0, -241, 175, + AS_SET_POS, 34, 0, -227, 173, + AS_SET_POS, 37, 0, -269, 180, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-82.285), + AS_SET_POS, 44, -104, 13, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-2.185), + AS_SET_POS, 25, 0, -269, 180, + AS_SET_POS, 28, 0, -269, 180, + AS_SET_POS, 31, 0, -255, 178, + AS_SET_POS, 34, 0, -241, 175, + AS_SET_POS, 37, 0, -284, 183, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-87.425), + AS_SET_POS, 44, -97, 22, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-4.675), + AS_SET_POS, 25, 0, -284, 183, + AS_SET_POS, 28, 0, -284, 183, + AS_SET_POS, 31, 0, -269, 180, + AS_SET_POS, 34, 0, -255, 178, + AS_SET_POS, 37, 0, -298, 185, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-92.57), + AS_SET_POS, 44, -90, 28, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-7.89), + AS_SET_POS, 25, 0, -298, 185, + AS_SET_POS, 28, 0, -298, 185, + AS_SET_POS, 31, 0, -284, 183, + AS_SET_POS, 34, 0, -269, 180, + AS_SET_POS, 37, 0, -313, 188, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-97.71), + AS_SET_POS, 44, -83, 30, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-11.66), + AS_SET_POS, 25, 0, -313, 188, + AS_SET_POS, 28, 0, -313, 188, + AS_SET_POS, 31, 0, -298, 185, + AS_SET_POS, 34, 0, -284, 183, + AS_SET_POS, 37, 0, -327, 190, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-102.85), + AS_SET_POS, 44, -75, 27, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-15.835), + AS_SET_POS, 25, 0, -327, 190, + AS_SET_POS, 28, 0, -327, 190, + AS_SET_POS, 31, 0, -313, 188, + AS_SET_POS, 34, 0, -298, 185, + AS_SET_POS, 37, 0, -342, 193, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-108.0), + AS_SET_POS, 44, -75, 21, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-20.25), + AS_SET_POS, 25, 0, -342, 193, + AS_SET_POS, 28, 0, -342, 193, + AS_SET_POS, 31, 0, -327, 190, + AS_SET_POS, 34, 0, -313, 188, + AS_SET_POS, 37, 0, -356, 195, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-113.14), + AS_SET_POS, 44, -75, 12, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-24.74), + AS_SET_POS, 25, 0, -356, 195, + AS_SET_POS, 28, 0, -356, 195, + AS_SET_POS, 31, 0, -342, 193, + AS_SET_POS, 34, 0, -327, 190, + AS_SET_POS, 37, 0, -371, 198, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-118.28), + AS_SET_POS, 44, -75, 0, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-29.16), + AS_SET_POS, 25, 0, -371, 198, + AS_SET_POS, 28, 0, -371, 198, + AS_SET_POS, 31, 0, -356, 195, + AS_SET_POS, 34, 0, -342, 193, + AS_SET_POS, 37, 0, -385, 200, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-123.425), + AS_SET_POS, 44, -75, -17, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-33.33), + AS_SET_POS, 25, 0, -385, 200, + AS_SET_POS, 28, 0, -385, 200, + AS_SET_POS, 31, 0, -371, 198, + AS_SET_POS, 34, 0, -356, 195, + AS_SET_POS, 37, 0, -400, 203, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-128.57), + AS_SET_POS, 44, -75, -36, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-37.1), + AS_SET_POS, 25, 0, -400, 203, + AS_SET_POS, 28, 0, -400, 203, + AS_SET_POS, 31, 0, -385, 200, + AS_SET_POS, 34, 0, -371, 198, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-133.715), + AS_SET_POS, 44, -75, -60, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-40.315), + AS_SET_POS, 31, 0, -400, 203, + AS_SET_POS, 34, 0, -385, 200, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-138.855), + AS_SET_POS, 44, -75, -86, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-42.81), + AS_SET_POS, 34, 0, -400, 203, + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-143.995), + AS_SET_POS, 44, -75, -115, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-44.425), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-149.14), + AS_SET_POS, 44, -75, -148, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-44.995), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-154.285), + AS_SET_POS, 44, -75, -183, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-44.58), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-159.425), + AS_SET_POS, 44, -75, -221, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-43.435), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-164.57), + AS_SET_POS, 44, -75, -262, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-41.755), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-169.71), + AS_SET_POS, 44, -75, -305, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-39.715), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-174.855), + AS_SET_POS, 44, -75, -351, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-37.495), + AS_SET_ROTATION, 44, AS_F(0.0), AS_F(0.0), AS_F(-180.0), + AS_SET_POS, 44, -75, -400, 0, + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-35.28), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-33.235), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-31.56), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-30.415), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-30.0), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-30.515), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-31.755), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-33.235), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-34.475), + AS_WAIT, 1, + AS_SET_ROTATION, 7, AS_F(0.0), AS_F(-14.995), AS_F(-35.0), + AS_WAIT, 1, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 332, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 329, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 323, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 316, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 307, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 296, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 283, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 268, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 251, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 232, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 210, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 186, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 159, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 130, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 99, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 64, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, 27, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, -12, -56, + AS_WAIT, 1, + AS_SET_POS, 7, -343, -55, -56, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(0.35), + AS_SET_POS, 3, -252, 211, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(1.38), + AS_SET_POS, 3, -252, 208, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(3.045), + AS_SET_POS, 3, -252, 202, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(5.3), + AS_SET_POS, 3, -252, 195, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(8.12), + AS_SET_POS, 3, -252, 185, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(11.455), + AS_SET_POS, 3, -252, 174, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(15.265), + AS_SET_POS, 3, -252, 161, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(19.51), + AS_SET_POS, 3, -252, 147, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(24.16), + AS_SET_POS, 3, -252, 131, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(29.16), + AS_SET_POS, 3, -252, 114, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(34.475), + AS_SET_POS, 3, -252, 96, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(40.075), + AS_SET_POS, 3, -252, 76, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(45.9), + AS_SET_POS, 3, -252, 56, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(51.935), + AS_SET_POS, 3, -252, 35, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(58.12), + AS_SET_POS, 3, -252, 13, -80, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(64.42), + AS_SET_POS, 3, -252, -9, -80, + AS_SET_ROTATION, 5, AS_F(0.105), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 205, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(70.8), + AS_SET_POS, 3, -252, -32, -80, + AS_SET_ROTATION, 5, AS_F(0.43), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 201, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(77.215), + AS_SET_POS, 3, -252, -55, -80, + AS_SET_ROTATION, 5, AS_F(0.95), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 196, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(83.625), + AS_SET_POS, 3, -252, -79, -80, + AS_SET_ROTATION, 5, AS_F(1.66), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 189, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 3, AS_F(0.0), AS_F(44.995), AS_F(89.995), + AS_SET_POS, 3, -252, -102, -80, + AS_SET_ROTATION, 5, AS_F(2.55), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 180, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(3.61), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 169, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(4.825), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 156, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(6.185), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 142, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(7.685), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 127, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(9.305), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 110, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(11.04), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 92, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(12.88), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 73, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(14.81), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 53, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(16.825), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 32, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(18.91), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, 10, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(21.05), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, -11, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(23.24), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, -34, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(25.465), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, -58, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(27.725), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, -82, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 5, AS_F(30.0), AS_F(-74.995), AS_F(0.0), + AS_SET_POS, 5, -376, -106, -82, + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(0.1), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(0.425), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(0.99), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(1.815), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(2.91), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(4.32), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(6.045), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(8.105), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(10.525), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(13.33), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(16.535), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(0.1), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(20.155), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(0.425), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(24.22), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(0.99), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(28.74), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(1.815), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 92, AS_F(33.745), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(2.91), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(0.1), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(39.25), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(4.32), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(0.425), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(45.275), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(6.045), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(0.99), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(51.835), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(8.105), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(1.815), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(58.96), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(10.525), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(2.91), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(66.66), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(13.33), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(4.32), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(74.965), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(16.535), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(6.045), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(83.89), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(20.155), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(8.105), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(93.455), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(24.22), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(10.525), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(103.675), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(28.74), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(13.33), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(114.58), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(33.745), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(16.535), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(126.18), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(39.25), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(20.155), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(138.51), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(45.275), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(24.22), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(151.57), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(51.835), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(28.74), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(165.395), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(58.96), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(33.745), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 92, AS_F(-180.0), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(66.66), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(39.25), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(11.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(74.965), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(0.1), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(45.275), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(23.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(83.89), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(0.425), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(51.835), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(36.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(93.455), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(0.99), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(58.96), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(47.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(103.675), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(1.815), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(66.66), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(60.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(114.58), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(2.91), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(74.965), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(71.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(126.18), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(4.32), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(83.89), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(84.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(138.51), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(6.045), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(93.455), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(95.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(151.57), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(8.105), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(103.675), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(108.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(165.395), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(10.525), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(114.58), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(119.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 95, AS_F(-180.0), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(13.33), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(126.18), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(132.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 94, AS_F(11.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(16.535), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(0.1), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(138.51), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(143.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 94, AS_F(23.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(20.155), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(0.425), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(151.57), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(156.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 94, AS_F(36.0), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(24.22), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(0.99), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(165.395), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(167.995), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 94, AS_F(47.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(28.74), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(1.815), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 89, AS_F(-180.0), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 91, AS_F(-180.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 94, AS_F(60.0), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(33.745), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(2.91), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(2.29), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(11.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 181, 24, + AS_SET_ROTATION, 94, AS_F(71.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(39.25), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(4.32), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(8.745), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(23.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 167, 24, + AS_SET_ROTATION, 94, AS_F(84.0), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(45.275), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(6.045), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(18.715), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(36.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 152, 24, + AS_SET_ROTATION, 94, AS_F(95.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(51.835), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(8.105), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(31.57), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(47.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 138, 24, + AS_SET_ROTATION, 94, AS_F(108.0), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(58.96), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(10.525), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(46.665), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(60.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 124, 24, + AS_SET_ROTATION, 94, AS_F(119.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(66.66), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(13.33), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(63.355), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(71.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 109, 24, + AS_SET_ROTATION, 94, AS_F(132.0), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(74.965), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(16.535), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(81.01), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(84.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 95, 24, + AS_SET_ROTATION, 94, AS_F(143.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(83.89), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(20.155), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(98.985), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(95.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 80, 24, + AS_SET_ROTATION, 94, AS_F(156.0), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(93.455), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(24.22), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(116.635), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(108.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 66, 24, + AS_SET_ROTATION, 94, AS_F(167.995), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(103.675), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(28.74), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(133.33), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(119.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 52, 24, + AS_SET_ROTATION, 94, AS_F(-180.0), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 98, AS_F(114.58), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(33.745), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(148.425), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 79, AS_F(2.29), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(132.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 37, 24, + AS_SET_POS, 94, -71, 181, 27, + AS_SET_ROTATION, 98, AS_F(126.18), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(0.1), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(39.25), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(161.28), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 79, AS_F(8.745), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(143.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 23, 24, + AS_SET_POS, 94, -71, 167, 27, + AS_SET_ROTATION, 98, AS_F(138.51), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(0.425), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(45.275), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(171.25), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 79, AS_F(18.715), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(156.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, 8, 24, + AS_SET_POS, 94, -71, 152, 27, + AS_SET_ROTATION, 98, AS_F(151.57), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(0.99), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(51.835), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(177.705), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 79, AS_F(31.57), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(167.995), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, -5, 24, + AS_SET_POS, 94, -71, 138, 27, + AS_SET_ROTATION, 98, AS_F(165.395), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(1.815), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(58.96), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 77, AS_F(-180.0), AS_F(32.245), AS_F(0.0), + AS_SET_ROTATION, 79, AS_F(46.665), AS_F(-27.745), AS_F(0.0), + AS_SET_ROTATION, 88, AS_F(-180.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 91, 2, -20, 24, + AS_SET_POS, 94, -71, 124, 27, + AS_SET_ROTATION, 98, AS_F(-180.0), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(2.91), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(66.66), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(2.29), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 192, 24, + AS_SET_ROTATION, 79, AS_F(63.355), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 181, -41, + AS_SET_POS, 94, -71, 109, 27, + AS_SET_ROTATION, 97, AS_F(11.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(4.32), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(74.965), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(8.745), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 181, 24, + AS_SET_ROTATION, 79, AS_F(81.01), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 167, -41, + AS_SET_POS, 94, -71, 95, 27, + AS_SET_ROTATION, 97, AS_F(23.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(6.045), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(83.89), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(18.715), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 164, 24, + AS_SET_ROTATION, 79, AS_F(98.985), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 152, -41, + AS_SET_POS, 94, -71, 80, 27, + AS_SET_ROTATION, 97, AS_F(36.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(8.105), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(93.455), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(31.57), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 142, 24, + AS_SET_ROTATION, 79, AS_F(116.64), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 138, -41, + AS_SET_POS, 94, -71, 66, 27, + AS_SET_ROTATION, 97, AS_F(47.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(10.525), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(103.675), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(46.665), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 116, 24, + AS_SET_ROTATION, 79, AS_F(133.33), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 124, -41, + AS_SET_POS, 94, -71, 52, 27, + AS_SET_ROTATION, 97, AS_F(60.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(13.33), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(114.58), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(63.355), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 88, 24, + AS_SET_ROTATION, 79, AS_F(148.425), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 109, -41, + AS_SET_POS, 94, -71, 37, 27, + AS_SET_ROTATION, 97, AS_F(71.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(16.535), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(126.18), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(81.01), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 58, 24, + AS_SET_ROTATION, 79, AS_F(161.28), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 95, -41, + AS_SET_POS, 94, -71, 23, 27, + AS_SET_ROTATION, 97, AS_F(84.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(20.155), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(138.51), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(98.985), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, 28, 24, + AS_SET_ROTATION, 79, AS_F(171.25), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 80, -41, + AS_SET_POS, 94, -71, 8, 27, + AS_SET_ROTATION, 97, AS_F(95.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(24.22), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(151.57), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(116.635), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, -1, 24, + AS_SET_ROTATION, 79, AS_F(177.705), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 66, -41, + AS_SET_POS, 94, -71, -5, 27, + AS_SET_ROTATION, 97, AS_F(108.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(28.74), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(165.395), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(133.33), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, -30, 24, + AS_SET_ROTATION, 79, AS_F(-180.0), AS_F(-27.745), AS_F(0.0), + AS_SET_POS, 88, 36, 52, -41, + AS_SET_POS, 94, -71, -20, 27, + AS_SET_ROTATION, 97, AS_F(119.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(33.745), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 104, AS_F(-180.0), AS_F(0.0), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(148.425), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, -55, 24, + AS_SET_POS, 79, -71, 192, 27, + AS_SET_POS, 88, 36, 37, -41, + AS_SET_ROTATION, 97, AS_F(132.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(39.25), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(11.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(161.28), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, -77, 24, + AS_SET_POS, 79, -71, 181, 27, + AS_SET_POS, 88, 36, 23, -41, + AS_SET_ROTATION, 97, AS_F(143.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(45.275), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(23.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(171.25), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, -94, 24, + AS_SET_POS, 79, -71, 164, 27, + AS_SET_POS, 88, 36, 8, -41, + AS_SET_ROTATION, 97, AS_F(156.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(51.835), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(36.0), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(177.705), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, -105, 24, + AS_SET_POS, 79, -71, 142, 27, + AS_SET_POS, 88, 36, -5, -41, + AS_SET_ROTATION, 97, AS_F(167.995), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(58.96), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(47.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_ROTATION, 75, AS_F(-180.0), AS_F(92.25), AS_F(0.0), + AS_SET_POS, 77, 2, -109, 24, + AS_SET_POS, 79, -71, 116, 27, + AS_SET_POS, 88, 36, -20, -41, + AS_SET_ROTATION, 97, AS_F(-180.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 101, AS_F(66.66), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(60.0), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, 103, 23, + AS_SET_POS, 75, 36, 192, -41, + AS_SET_POS, 79, -71, 88, 27, + AS_SET_POS, 97, -111, 181, -35, + AS_SET_ROTATION, 101, AS_F(74.965), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(71.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, 96, 23, + AS_SET_POS, 75, 36, 181, -41, + AS_SET_POS, 79, -71, 58, 27, + AS_SET_ROTATION, 81, AS_F(2.29), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 167, -35, + AS_SET_ROTATION, 101, AS_F(83.89), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(84.0), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, 84, 23, + AS_SET_POS, 75, 36, 164, -41, + AS_SET_POS, 79, -71, 28, 27, + AS_SET_ROTATION, 81, AS_F(8.745), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 152, -35, + AS_SET_ROTATION, 101, AS_F(93.455), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(95.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, 69, 23, + AS_SET_POS, 75, 36, 142, -41, + AS_SET_POS, 79, -71, -1, 27, + AS_SET_ROTATION, 81, AS_F(18.715), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 138, -35, + AS_SET_ROTATION, 101, AS_F(103.675), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(108.0), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, 51, 23, + AS_SET_POS, 75, 36, 116, -41, + AS_SET_POS, 79, -71, -30, 27, + AS_SET_ROTATION, 81, AS_F(31.57), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 124, -35, + AS_SET_ROTATION, 101, AS_F(114.58), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(119.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, 31, 23, + AS_SET_POS, 75, 36, 88, -41, + AS_SET_POS, 79, -71, -55, 27, + AS_SET_ROTATION, 81, AS_F(46.665), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 109, -35, + AS_SET_ROTATION, 101, AS_F(126.18), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(132.0), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, 10, 23, + AS_SET_POS, 75, 36, 58, -41, + AS_SET_POS, 79, -71, -77, 27, + AS_SET_ROTATION, 81, AS_F(63.355), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 95, -35, + AS_SET_ROTATION, 101, AS_F(138.51), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(143.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, -10, 23, + AS_SET_POS, 75, 36, 28, -41, + AS_SET_POS, 79, -71, -94, 27, + AS_SET_ROTATION, 81, AS_F(81.01), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 80, -35, + AS_SET_ROTATION, 101, AS_F(151.57), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(156.0), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, -31, 23, + AS_SET_POS, 75, 36, -1, -41, + AS_SET_POS, 79, -71, -105, 27, + AS_SET_ROTATION, 81, AS_F(98.985), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 66, -35, + AS_SET_ROTATION, 101, AS_F(165.395), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(167.995), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, -51, 23, + AS_SET_POS, 75, 36, -30, -41, + AS_SET_POS, 79, -71, -109, 27, + AS_SET_ROTATION, 81, AS_F(116.64), AS_F(-87.745), AS_F(0.0), + AS_SET_POS, 97, -111, 52, -35, + AS_SET_ROTATION, 101, AS_F(-180.0), AS_F(0.0), AS_F(0.0), + AS_SET_ROTATION, 103, AS_F(-180.0), AS_F(152.25), AS_F(0.0), + AS_WAIT, 1, + AS_SET_POS, 64, 1, -69, 23, + AS_SET_POS, 66, -71, 103, 26, + AS_SET_POS, 75, 36, -55, -41, + AS_SET_ROTATION, 81, AS_F(133.33), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 85, AS_F(2.29), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 97, -111, 37, -35, + AS_SET_ROTATION, 100, AS_F(11.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 181, -103, + AS_WAIT, 1, + AS_SET_POS, 64, 1, -84, 23, + AS_SET_POS, 66, -71, 96, 26, + AS_SET_POS, 75, 36, -77, -41, + AS_SET_ROTATION, 81, AS_F(148.425), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 85, AS_F(8.745), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 97, -111, 23, -35, + AS_SET_ROTATION, 100, AS_F(23.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 167, -103, + AS_WAIT, 1, + AS_SET_POS, 64, 1, -96, 23, + AS_SET_POS, 66, -71, 84, 26, + AS_SET_POS, 75, 36, -94, -41, + AS_SET_ROTATION, 81, AS_F(161.28), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 85, AS_F(18.715), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 97, -111, 8, -35, + AS_SET_ROTATION, 100, AS_F(36.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 152, -103, + AS_WAIT, 1, + AS_SET_POS, 64, 1, -103, 23, + AS_SET_POS, 66, -71, 69, 26, + AS_SET_POS, 75, 36, -105, -41, + AS_SET_ROTATION, 81, AS_F(171.25), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 85, AS_F(31.57), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 97, -111, -5, -35, + AS_SET_ROTATION, 100, AS_F(47.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 138, -103, + AS_WAIT, 1, + AS_SET_POS, 64, 1, -106, 23, + AS_SET_POS, 66, -71, 51, 26, + AS_SET_POS, 75, 36, -109, -41, + AS_SET_ROTATION, 81, AS_F(177.705), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 85, AS_F(46.665), AS_F(152.25), AS_F(0.0), + AS_SET_POS, 97, -111, -20, -35, + AS_SET_ROTATION, 100, AS_F(60.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 124, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, 103, -41, + AS_SET_POS, 66, -71, 31, 26, + AS_SET_ROTATION, 81, AS_F(-180.0), AS_F(-87.745), AS_F(0.0), + AS_SET_ROTATION, 85, AS_F(63.355), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(71.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 109, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, 96, -41, + AS_SET_POS, 66, -71, 10, 26, + AS_SET_POS, 81, -111, 192, -35, + AS_SET_ROTATION, 85, AS_F(81.01), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(84.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 95, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, 84, -41, + AS_SET_POS, 66, -71, -10, 26, + AS_SET_POS, 81, -111, 181, -35, + AS_SET_ROTATION, 85, AS_F(98.985), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(95.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 80, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, 69, -41, + AS_SET_POS, 66, -71, -31, 26, + AS_SET_POS, 81, -111, 164, -35, + AS_SET_ROTATION, 85, AS_F(116.64), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(108.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 66, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, 51, -41, + AS_SET_POS, 66, -71, -51, 26, + AS_SET_POS, 81, -111, 142, -35, + AS_SET_ROTATION, 85, AS_F(133.33), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(119.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 52, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, 31, -41, + AS_SET_POS, 66, -71, -69, 26, + AS_SET_POS, 81, -111, 116, -35, + AS_SET_ROTATION, 85, AS_F(148.425), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(132.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 37, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, 10, -41, + AS_SET_POS, 66, -71, -84, 26, + AS_SET_POS, 81, -111, 88, -35, + AS_SET_ROTATION, 85, AS_F(161.28), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(143.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 23, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -10, -41, + AS_SET_POS, 66, -71, -96, 26, + AS_SET_POS, 81, -111, 58, -35, + AS_SET_ROTATION, 85, AS_F(171.25), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(156.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, 8, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -31, -41, + AS_SET_POS, 66, -71, -103, 26, + AS_SET_POS, 81, -111, 28, -35, + AS_SET_ROTATION, 85, AS_F(177.705), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(167.995), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, -5, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -51, -41, + AS_SET_POS, 66, -71, -106, 26, + AS_SET_POS, 81, -111, -1, -35, + AS_SET_ROTATION, 85, AS_F(-180.0), AS_F(152.25), AS_F(0.0), + AS_SET_ROTATION, 100, AS_F(-180.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 103, -3, -20, -103, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -69, -41, + AS_SET_POS, 81, -111, -30, -35, + AS_SET_ROTATION, 83, AS_F(2.29), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 192, -103, + AS_SET_POS, 100, -77, 181, -101, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -84, -41, + AS_SET_POS, 81, -111, -55, -35, + AS_SET_ROTATION, 83, AS_F(8.745), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 181, -103, + AS_SET_POS, 100, -77, 167, -101, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -96, -41, + AS_SET_POS, 81, -111, -77, -35, + AS_SET_ROTATION, 83, AS_F(18.715), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 164, -103, + AS_SET_POS, 100, -77, 152, -101, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -103, -41, + AS_SET_POS, 81, -111, -94, -35, + AS_SET_ROTATION, 83, AS_F(31.57), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 142, -103, + AS_SET_POS, 100, -77, 138, -101, + AS_WAIT, 1, + AS_SET_POS, 62, 35, -106, -41, + AS_SET_POS, 81, -111, -105, -35, + AS_SET_ROTATION, 83, AS_F(46.665), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 116, -103, + AS_SET_POS, 100, -77, 124, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, 103, -35, + AS_SET_POS, 81, -111, -109, -35, + AS_SET_ROTATION, 83, AS_F(63.355), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 88, -103, + AS_SET_POS, 100, -77, 109, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, 96, -35, + AS_SET_ROTATION, 83, AS_F(81.01), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 58, -103, + AS_SET_POS, 100, -77, 95, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, 84, -35, + AS_SET_ROTATION, 83, AS_F(98.985), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, 28, -103, + AS_SET_POS, 100, -77, 80, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, 69, -35, + AS_SET_ROTATION, 83, AS_F(116.64), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, -1, -103, + AS_SET_POS, 100, -77, 66, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, 51, -35, + AS_SET_ROTATION, 83, AS_F(133.33), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, -30, -103, + AS_SET_POS, 100, -77, 52, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, 31, -35, + AS_SET_ROTATION, 83, AS_F(148.425), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, -55, -103, + AS_SET_POS, 100, -77, 37, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, 10, -35, + AS_SET_ROTATION, 83, AS_F(161.28), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, -77, -103, + AS_SET_POS, 100, -77, 23, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -10, -35, + AS_SET_ROTATION, 83, AS_F(171.25), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, -94, -103, + AS_SET_POS, 100, -77, 8, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -31, -35, + AS_SET_ROTATION, 83, AS_F(177.705), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, -105, -103, + AS_SET_POS, 100, -77, -5, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -51, -35, + AS_SET_ROTATION, 83, AS_F(-180.0), AS_F(-147.75), AS_F(0.0), + AS_SET_POS, 85, -3, -109, -103, + AS_SET_POS, 100, -77, -20, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -69, -35, + AS_SET_POS, 70, -3, 103, -103, + AS_SET_POS, 83, -77, 192, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -84, -35, + AS_SET_POS, 70, -3, 96, -103, + AS_SET_POS, 83, -77, 181, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -96, -35, + AS_SET_POS, 70, -3, 84, -103, + AS_SET_POS, 83, -77, 164, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -103, -35, + AS_SET_POS, 70, -3, 69, -103, + AS_SET_POS, 83, -77, 142, -101, + AS_WAIT, 1, + AS_SET_POS, 68, -110, -106, -35, + AS_SET_POS, 70, -3, 51, -103, + AS_SET_POS, 83, -77, 116, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, 31, -103, + AS_SET_POS, 83, -77, 88, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, 10, -103, + AS_SET_POS, 83, -77, 58, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -10, -103, + AS_SET_POS, 83, -77, 28, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -31, -103, + AS_SET_POS, 83, -77, -1, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -51, -103, + AS_SET_POS, 83, -77, -30, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -69, -103, + AS_SET_POS, 83, -77, -55, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -84, -103, + AS_SET_POS, 83, -77, -77, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -96, -103, + AS_SET_POS, 83, -77, -94, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -103, -103, + AS_SET_POS, 83, -77, -105, -101, + AS_WAIT, 1, + AS_SET_POS, 70, -3, -106, -103, + AS_SET_POS, 83, -77, -109, -101, + AS_WAIT, 1, + AS_SET_POS, 72, -76, 103, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, 96, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, 84, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, 69, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, 51, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, 31, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, 10, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, -10, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, -31, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, -51, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, -69, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, -84, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, -96, -100, + AS_WAIT, 1, + AS_SET_POS, 72, -76, -103, -100, + AS_WAIT, 1, + AS_LOOP, + AS_SET_POS, 72, -76, -106, -100, + AS_WAIT, 1, + AS_END_LOOP, + AS_END, +}; diff --git a/src/world/area_kmr/kmr_12/kmr_12_3_npc.c b/src/world/area_kmr/kmr_12/kmr_12_3_npc.c index 504eabc416..964495eec7 100644 --- a/src/world/area_kmr/kmr_12/kmr_12_3_npc.c +++ b/src/world/area_kmr/kmr_12/kmr_12_3_npc.c @@ -63,14 +63,14 @@ EvtScript N(EVS_NpcIdle_Goomba) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Idle) EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_F8, 0) EVT_CALL(func_802CFE2C, NPC_SELF, 0x00002000) - EVT_CALL(func_802CFD30, NPC_SELF, 5, 6, 1, 1, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_5, 6, 1, 1, 0) EVT_WAIT(12) EVT_WAIT(5) EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_32C, 0) EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6)) EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 30, 23) - EVT_CALL(func_802CFD30, NPC_SELF, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000 | NPC_FLAG_200000, FALSE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAGS_20, 0) diff --git a/src/world/area_kmr/kmr_22/8FF670.c b/src/world/area_kmr/kmr_22/8FF670.c deleted file mode 100644 index 0ec508e2aa..0000000000 --- a/src/world/area_kmr/kmr_22/8FF670.c +++ /dev/null @@ -1,16 +0,0 @@ -#include "kmr_22.h" - -static char* N(exit_str_0) = "kpa_63"; -static char* N(exit_str_1) = "sam_02"; -static char* N(exit_str_2) = "flo_00"; -static char* N(exit_str_3) = "jan_00"; -static char* N(exit_str_4) = "omo_03"; -static char* N(exit_str_5) = "mim_01"; -static char* N(exit_str_6) = "iwa_10"; -static char* N(exit_str_7) = "nok_11"; -static char* N(exit_str_8) = "kmr_00"; -static char* N(exit_str_9) = ""; - -ApiStatus func_80240000_8FF670(Evt* script, s32 isInitialCall) { - return ApiStatus_DONE1; -} diff --git a/src/world/area_kmr/kmr_22/8FF680.c b/src/world/area_kmr/kmr_22/8FF680.c deleted file mode 100644 index 2bd1dbed3c..0000000000 --- a/src/world/area_kmr/kmr_22/8FF680.c +++ /dev/null @@ -1,83 +0,0 @@ -#include "kmr_22.h" -#include "effects.h" - -extern s16 D_80240DE0_900450[]; - -BSS EffectInstance* D_802483C0; -BSS s32 D_802483C4; - -ApiStatus func_80240010_8FF680(Evt* script, s32 isInitialCall) { - s32 var_s0 = script->varTable[0]; - s32 x, y; - s32 xOffset = 0; - - if (var_s0 == 0) { - var_s0 = 9; - xOffset = 38; - } - - if (isInitialCall) { - set_curtain_scale_goal(1.0f); - D_802483C0 = fx_chapter_change(var_s0, 100.0f, 100.0f, 0.0f, 1.0f, 0); - D_802483C4 = 0; - } - - x = xOffset + 117; - if (D_802483C4 >= 0) { - if (D_802483C4 < 0x14) { - x -= D_80240DE0_900450[D_802483C4]; - } - } else { - x = xOffset - 193; - } - y = 58; - D_802483C0->data.chapterChange->chapterPos.x = x; - D_802483C0->data.chapterChange->chapterPos.y = y; - - x = xOffset + 117; - if (D_802483C4 >= 10) { - if (D_802483C4 < 30) { - y -= D_80240DE0_900450[D_802483C4 - 10]; - } - } else { - y = -252; - } - D_802483C0->data.chapterChange->endOfPos.x = x; - D_802483C0->data.chapterChange->endOfPos.y = y; - - x = 280; - if (D_802483C4 >= 20) { - if (D_802483C4 < 40) { - x += D_80240DE0_900450[D_802483C4 - 20]; - } - } else { - x = 590; - } - y = 90; - D_802483C0->data.chapterChange->unk_40 = x; - D_802483C0->data.chapterChange->unk_44 = y; - D_802483C4++; - - return ApiStatus_BLOCK; -} - -ApiStatus func_802401E0_8FF850(Evt* script, s32 isInitialCall) { - set_curtain_scale_goal(2.0f); - return ApiStatus_DONE2; -} - -ApiStatus func_80240208_8FF878(Evt* script, s32 isInitialCall) { - ApiStatus ret; - - if (gGameStatusPtr->pressedButtons[0] & BUTTON_START) { - ret = ApiStatus_DONE2; - } else { - ret = ApiStatus_BLOCK; - } - - if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { - ret = ApiStatus_DONE2; - script->varTable[0] = -1; - } - return ret; -} diff --git a/src/world/area_kmr/kmr_22/kmr_22.h b/src/world/area_kmr/kmr_22/kmr_22.h index 666c35f605..6638b3bdd0 100644 --- a/src/world/area_kmr/kmr_22/kmr_22.h +++ b/src/world/area_kmr/kmr_22/kmr_22.h @@ -2,9 +2,76 @@ /// @brief Goomba Region - Chapter Start #include "common.h" -#include "../kmr.h" #include "message_ids.h" #include "map.h" + #include "../kmr.h" +#include "mapfs/kmr_22_shape.h" +#include "mapfs/kmr_22_hit.h" + +#include "sprite/npc/Tutankoopa.h" +#include "sprite/npc/ChainChomp.h" +#include "sprite/npc/WorldTubba.h" +#include "sprite/npc/GeneralGuy.h" +#include "sprite/npc/HuffNPuff.h" +#include "sprite/npc/TuffPuff.h" +#include "sprite/npc/CrystalKing.h" +#include "sprite/npc/WorldBowser.h" + +enum { + NPC_Eldstar = 0, + NPC_Mamar = 1, + NPC_Skolar = 2, + NPC_Muskular = 3, + NPC_Misstar = 4, + NPC_Klevar = 5, + NPC_Kalmar = 6, + NPC_KoopaBros_01 = 7, + NPC_KoopaBros_02 = 8, + NPC_KoopaBros_03 = 9, + NPC_KoopaBros_04 = 10, + NPC_Tutankoopa = 11, + NPC_ChainChomp_01 = 12, + NPC_ChainChomp_02 = 13, + NPC_ChainChomp_03 = 14, + NPC_ChainChomp_04 = 15, + NPC_ChainChomp_05 = 16, + NPC_Tubba = 17, + NPC_GeneralGuy = 18, + NPC_ShyGuy_01 = 19, + NPC_ShyGuy_02 = 20, + NPC_LavaPiranhaHead = 21, + NPC_LavaBud_01 = 22, + NPC_LavaBud_02 = 23, + NPC_HuffNPuff_Body = 25, + NPC_HuffNPuff_Face = 26, + NPC_HuffNPuff_Arms = 27, + NPC_TuffPuff_01 = 28, + NPC_TuffPuff_02 = 29, + NPC_CrystalKing = 30, + NPC_IceCube = 31, + NPC_IceSphere = 32, + NPC_IceSpike = 33, + NPC_Bowser = 34, +}; + +enum { + MV_VinesData = MapVar(0), + MV_BossDefeated = MapVar(10), +}; #define NAMESPACE kmr_22 + +extern EvtScript N(EVS_Main); +extern NpcGroupList N(NpcGroup_Chapter1); +extern NpcGroupList N(NpcGroup_Chapter2); +extern NpcGroupList N(NpcGroup_Chapter3); +extern NpcGroupList N(NpcGroup_Chapter4); +extern NpcGroupList N(NpcGroup_Chapter5); +extern NpcGroupList N(NpcGroup_Chapter6); +extern NpcGroupList N(NpcGroup_Chapter7); +extern NpcGroupList N(NpcGroup_Chapter8); + +extern API_CALLABLE(SetAnimatorFlags); +extern API_CALLABLE(GetAnimatedPositionByTreeIndex); +extern API_CALLABLE(GetAnimatedRotationByTreeIndex); diff --git a/src/world/area_kmr/kmr_22/kmr_22_0_header.c b/src/world/area_kmr/kmr_22/kmr_22_0_header.c new file mode 100644 index 0000000000..09b2a7ac0c --- /dev/null +++ b/src/world/area_kmr/kmr_22/kmr_22_0_header.c @@ -0,0 +1,23 @@ +#include "kmr_22.h" + +s32 N(map_init)(void) { + return TRUE; +} + +EntryList N(Entrances) = { + [kmr_22_ENTRY_0] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_1] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_2] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_3] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_4] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_5] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_6] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_7] { 0.0, 0.0, 0.0, 90.0 }, + [kmr_22_ENTRY_8] { 0.0, 0.0, 0.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), +}; diff --git a/src/world/area_kmr/kmr_22/kmr_22_1_main.c b/src/world/area_kmr/kmr_22/kmr_22_1_main.c new file mode 100644 index 0000000000..1b3cc1f840 --- /dev/null +++ b/src/world/area_kmr/kmr_22/kmr_22_1_main.c @@ -0,0 +1,186 @@ +#include "kmr_22.h" +#include "effects.h" + +BSS EffectInstance* N(ChapterEffect); +BSS s32 N(ChapterEffectTime); + +s16 N(AnimTextOffsets)[] = { + 310, 290, 270, 250, 230, + 210, 190, 170, 150, 130, + 110, 90, 70, 50, 32, + 16, 8, 4, 2, 1, +}; + +API_CALLABLE(N(ManageEffects)) { + s32 var_s0 = script->varTable[0]; + s32 x, y; + s32 xOffset = 0; + + if (var_s0 == 0) { + var_s0 = 9; + xOffset = 38; + } + + if (isInitialCall) { + set_curtain_scale_goal(1.0f); + N(ChapterEffect) = fx_chapter_change(var_s0, 100.0f, 100.0f, 0.0f, 1.0f, 0); + N(ChapterEffectTime) = 0; + } + + x = xOffset + 117; + if (N(ChapterEffectTime) >= 0) { + if (N(ChapterEffectTime) < 20) { + x -= N(AnimTextOffsets)[N(ChapterEffectTime)]; + } + } else { + x = xOffset - 193; + } + y = 58; + N(ChapterEffect)->data.chapterChange->chapterPos.x = x; + N(ChapterEffect)->data.chapterChange->chapterPos.y = y; + + x = xOffset + 117; + if (N(ChapterEffectTime) >= 10) { + if (N(ChapterEffectTime) < 30) { + y -= N(AnimTextOffsets)[N(ChapterEffectTime) - 10]; + } + } else { + y = -252; + } + N(ChapterEffect)->data.chapterChange->endOfPos.x = x; + N(ChapterEffect)->data.chapterChange->endOfPos.y = y; + + x = 280; + if (N(ChapterEffectTime) >= 20) { + if (N(ChapterEffectTime) < 40) { + x += N(AnimTextOffsets)[N(ChapterEffectTime) - 20]; + } + } else { + x = 590; + } + y = 90; + N(ChapterEffect)->data.chapterChange->unk_40 = x; + N(ChapterEffect)->data.chapterChange->unk_44 = y; + N(ChapterEffectTime)++; + + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(DismissCurtains)) { + set_curtain_scale_goal(2.0f); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(WaitForContinueInput)) { + ApiStatus ret; + + if (gGameStatusPtr->pressedButtons[0] & BUTTON_START) { + ret = ApiStatus_DONE2; + } else { + ret = ApiStatus_BLOCK; + } + + if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { + ret = ApiStatus_DONE2; + script->varTable[0] = -1; + } + return ret; +} + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_THREAD + EVT_CALL(N(ManageEffects)) + EVT_END_THREAD + EVT_WAIT(50) + EVT_CALL(N(WaitForContinueInput)) + EVT_CALL(FadeOutMusic, 0, 2000) + EVT_WAIT(30) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(kmr_22_ENTRY_0) + EVT_CALL(GotoMapSpecial, EVT_PTR("kmr_00"), kmr_00_ENTRY_0, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_1) + EVT_CALL(GotoMapSpecial, EVT_PTR("nok_11"), nok_11_ENTRY_0, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_2) + EVT_CALL(GotoMapSpecial, EVT_PTR("iwa_10"), iwa_10_ENTRY_0, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_3) + EVT_CALL(GotoMapSpecial, EVT_PTR("mim_01"), mim_01_ENTRY_1, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_4) + EVT_CALL(GotoMapSpecial, EVT_PTR("omo_03"), omo_03_ENTRY_4, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_5) + EVT_CALL(GotoMapSpecial, EVT_PTR("jan_00"), jan_00_ENTRY_0, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_6) + EVT_CALL(GotoMapSpecial, EVT_PTR("flo_00"), flo_00_ENTRY_0, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_7) + EVT_CALL(GotoMapSpecial, EVT_PTR("sam_02"), sam_02_ENTRY_2, TRANSITION_6) + EVT_CASE_EQ(kmr_22_ENTRY_8) + EVT_CALL(GotoMapSpecial, EVT_PTR("kpa_63"), kpa_63_ENTRY_1, TRANSITION_6) + EVT_END_SWITCH + EVT_CALL(N(DismissCurtains)) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, kmr_22_ENTRY_0) + EVT_CALL(SetPlayerPos, -200, 0, 0) + EVT_ELSE + EVT_CALL(SetPlayerPos, -95, 0, 0) + EVT_END_IF + EVT_CALL(SetPlayerFlagBits, PS_FLAGS_NO_FLIPPING, TRUE) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_WAIT(1) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_BeforeJump) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_NE(LVar0, PARTNER_NONE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_PARTNER, 0, -1000, 0) + EVT_END_IF + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) + EVT_CALL(SetCamBGColor, CAM_DEFAULT, 208, 208, 208) + EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE) + EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 440) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 100) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 65) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(kmr_22_ENTRY_1) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter1))) + EVT_CASE_EQ(kmr_22_ENTRY_2) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter2))) + EVT_CASE_EQ(kmr_22_ENTRY_3) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter3))) + EVT_CASE_EQ(kmr_22_ENTRY_4) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter4))) + EVT_CASE_EQ(kmr_22_ENTRY_5) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter5))) + EVT_CASE_EQ(kmr_22_ENTRY_6) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter6))) + EVT_CASE_EQ(kmr_22_ENTRY_7) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter7))) + EVT_CASE_EQ(kmr_22_ENTRY_8) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NpcGroup_Chapter8))) + EVT_END_SWITCH + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_WAIT(1) + EVT_EXEC(N(EVS_EnterMap)) + EVT_CALL(SetMusicTrack, 0, SONG_CHAPTER_START, 0, 8) + EVT_CALL(ClearAmbientSounds, 250) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/kmr_22_2_npc.c b/src/world/area_kmr/kmr_22/kmr_22_2_npc.c new file mode 100644 index 0000000000..9248031cac --- /dev/null +++ b/src/world/area_kmr/kmr_22/kmr_22_2_npc.c @@ -0,0 +1,809 @@ +#include "kmr_22.h" + +#include "world/common/npc/StarSpirit.h" +#include "world/common/npc/KoopaBros.h" +#include "world/common/enemy/complete/ShyGuy.h" + +MAP_RODATA_PAD(1,npc) + +NpcSettings N(NpcSettings_Dummy) = { + .height = 24, + .radius = 24, + .level = 99, +}; + +// Kolorado? +NpcSettings N(NpcSettings_Unused) = { + .height = 40, + .radius = 24, + .level = 99, +}; + +#include "npc/lava_piranha.inc.c" + +#include "npc/chapter_1.inc.c" +#include "npc/chapter_2.inc.c" +#include "npc/chapter_3.inc.c" +#include "npc/chapter_4.inc.c" +#include "npc/chapter_5.inc.c" +#include "npc/chapter_6.inc.c" +#include "npc/chapter_7.inc.c" +#include "npc/chapter_8.inc.c" + +StaticNpc N(NpcData_Chapter1)[] = { + { + .id = NPC_Eldstar, + .settings = &N(NpcSettings_Dummy), + .pos = { -62.0f, 96.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Eldstar), + .drops = ELDSTAR_DROPS, + .animations = ELDSTAR_ANIMS, + }, + { + .id = NPC_KoopaBros_01, + .settings = &N(NpcSettings_Dummy), + .pos = { 10.0f, 0.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_KoopaBros), + .drops = KOOPA_BROS_DROPS, + .animations = BLACK_KOOPA_BROS_ANIMS, + }, + { + .id = NPC_KoopaBros_02, + .settings = &N(NpcSettings_Dummy), + .pos = { 90.0f, 10.0f, 91.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_KoopaBros), + .drops = KOOPA_BROS_DROPS, + .animations = BLACK_KOOPA_BROS_ANIMS, + }, + { + .id = NPC_KoopaBros_03, + .settings = &N(NpcSettings_Dummy), + .pos = { 86.0f, 0.0f, -7.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_KoopaBros), + .drops = KOOPA_BROS_DROPS, + .animations = BLACK_KOOPA_BROS_ANIMS, + }, + { + .id = NPC_KoopaBros_04, + .settings = &N(NpcSettings_Dummy), + .pos = { 54.0f, -2.0f, -47.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_KoopaBros), + .drops = KOOPA_BROS_DROPS, + .animations = BLACK_KOOPA_BROS_ANIMS, + }, +}; + +StaticNpc N(NpcData_Chapter2)[] = { + { + .id = NPC_Mamar, + .settings = &N(NpcSettings_Dummy), + .pos = { -62.0f, 96.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Mamar), + .drops = MAMAR_DROPS, + .animations = MAMAR_ANIMS, + }, + { + .id = NPC_Tutankoopa, + .settings = &N(NpcSettings_Dummy), + .pos = { 78.0f, 19.0f, 20.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Tutankoopa), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_Tutankoopa_Anim01, + .walk = ANIM_Tutankoopa_Anim01, + .run = ANIM_Tutankoopa_Anim01, + .chase = ANIM_Tutankoopa_Anim01, + .anim_4 = ANIM_Tutankoopa_Anim01, + .anim_5 = ANIM_Tutankoopa_Anim01, + .death = ANIM_Tutankoopa_Anim06, + .hit = ANIM_Tutankoopa_Anim06, + .anim_8 = ANIM_Tutankoopa_Anim01, + .anim_9 = ANIM_Tutankoopa_Anim01, + .anim_A = ANIM_Tutankoopa_Anim01, + .anim_B = ANIM_Tutankoopa_Anim01, + .anim_C = ANIM_Tutankoopa_Anim01, + .anim_D = ANIM_Tutankoopa_Anim01, + .anim_E = ANIM_Tutankoopa_Anim01, + .anim_F = ANIM_Tutankoopa_Anim01, + }, + }, + { + .id = NPC_ChainChomp_01, + .settings = &N(NpcSettings_Dummy), + .pos = { 23.0f, -4.0f, -180.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_ChainChomp), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_ChainChomp_Anim00, + .walk = ANIM_ChainChomp_Anim00, + .run = ANIM_ChainChomp_Anim00, + .chase = ANIM_ChainChomp_Anim00, + .anim_4 = ANIM_ChainChomp_Anim00, + .anim_5 = ANIM_ChainChomp_Anim00, + .death = ANIM_ChainChomp_Anim00, + .hit = ANIM_ChainChomp_Anim00, + .anim_8 = ANIM_ChainChomp_Anim00, + .anim_9 = ANIM_ChainChomp_Anim00, + .anim_A = ANIM_ChainChomp_Anim00, + .anim_B = ANIM_ChainChomp_Anim00, + .anim_C = ANIM_ChainChomp_Anim00, + .anim_D = ANIM_ChainChomp_Anim00, + .anim_E = ANIM_ChainChomp_Anim00, + .anim_F = ANIM_ChainChomp_Anim00, + }, + }, + { + .id = NPC_ChainChomp_02, + .settings = &N(NpcSettings_Dummy), + .pos = { 23.0f, -4.0f, -180.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_ChainChomp_Anim00, + .walk = ANIM_ChainChomp_Anim00, + .run = ANIM_ChainChomp_Anim00, + .chase = ANIM_ChainChomp_Anim00, + .anim_4 = ANIM_ChainChomp_Anim00, + .anim_5 = ANIM_ChainChomp_Anim00, + .death = ANIM_ChainChomp_Anim00, + .hit = ANIM_ChainChomp_Anim00, + .anim_8 = ANIM_ChainChomp_Anim00, + .anim_9 = ANIM_ChainChomp_Anim00, + .anim_A = ANIM_ChainChomp_Anim00, + .anim_B = ANIM_ChainChomp_Anim00, + .anim_C = ANIM_ChainChomp_Anim00, + .anim_D = ANIM_ChainChomp_Anim00, + .anim_E = ANIM_ChainChomp_Anim00, + .anim_F = ANIM_ChainChomp_Anim00, + }, + }, + { + .id = NPC_ChainChomp_03, + .settings = &N(NpcSettings_Dummy), + .pos = { 23.0f, -4.0f, -180.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_ChainChomp_Anim00, + .walk = ANIM_ChainChomp_Anim00, + .run = ANIM_ChainChomp_Anim00, + .chase = ANIM_ChainChomp_Anim00, + .anim_4 = ANIM_ChainChomp_Anim00, + .anim_5 = ANIM_ChainChomp_Anim00, + .death = ANIM_ChainChomp_Anim00, + .hit = ANIM_ChainChomp_Anim00, + .anim_8 = ANIM_ChainChomp_Anim00, + .anim_9 = ANIM_ChainChomp_Anim00, + .anim_A = ANIM_ChainChomp_Anim00, + .anim_B = ANIM_ChainChomp_Anim00, + .anim_C = ANIM_ChainChomp_Anim00, + .anim_D = ANIM_ChainChomp_Anim00, + .anim_E = ANIM_ChainChomp_Anim00, + .anim_F = ANIM_ChainChomp_Anim00, + }, + }, + { + .id = NPC_ChainChomp_04, + .settings = &N(NpcSettings_Dummy), + .pos = { 23.0f, -4.0f, -180.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_ChainChomp_Anim00, + .walk = ANIM_ChainChomp_Anim00, + .run = ANIM_ChainChomp_Anim00, + .chase = ANIM_ChainChomp_Anim00, + .anim_4 = ANIM_ChainChomp_Anim00, + .anim_5 = ANIM_ChainChomp_Anim00, + .death = ANIM_ChainChomp_Anim00, + .hit = ANIM_ChainChomp_Anim00, + .anim_8 = ANIM_ChainChomp_Anim00, + .anim_9 = ANIM_ChainChomp_Anim00, + .anim_A = ANIM_ChainChomp_Anim00, + .anim_B = ANIM_ChainChomp_Anim00, + .anim_C = ANIM_ChainChomp_Anim00, + .anim_D = ANIM_ChainChomp_Anim00, + .anim_E = ANIM_ChainChomp_Anim00, + .anim_F = ANIM_ChainChomp_Anim00, + }, + }, + { + .id = NPC_ChainChomp_05, + .settings = &N(NpcSettings_Dummy), + .pos = { 23.0f, -4.0f, -180.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_ChainChomp_Anim00, + .walk = ANIM_ChainChomp_Anim00, + .run = ANIM_ChainChomp_Anim00, + .chase = ANIM_ChainChomp_Anim00, + .anim_4 = ANIM_ChainChomp_Anim00, + .anim_5 = ANIM_ChainChomp_Anim00, + .death = ANIM_ChainChomp_Anim00, + .hit = ANIM_ChainChomp_Anim00, + .anim_8 = ANIM_ChainChomp_Anim00, + .anim_9 = ANIM_ChainChomp_Anim00, + .anim_A = ANIM_ChainChomp_Anim00, + .anim_B = ANIM_ChainChomp_Anim00, + .anim_C = ANIM_ChainChomp_Anim00, + .anim_D = ANIM_ChainChomp_Anim00, + .anim_E = ANIM_ChainChomp_Anim00, + .anim_F = ANIM_ChainChomp_Anim00, + }, + }, +}; + +StaticNpc N(NpcData_Chapter3)[] = { + { + .id = NPC_Skolar, + .settings = &N(NpcSettings_Dummy), + .pos = { -62.0f, 96.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Skolar), + .drops = SKOLAR_DROPS, + .animations = SKOLAR_ANIMS, + }, + { + .id = NPC_Tubba, + .settings = &N(NpcSettings_Dummy), + .pos = { 54.0f, -1.0f, 1.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Tubba), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_WorldTubba_Anim06, + .walk = ANIM_WorldTubba_Anim09, + .run = ANIM_WorldTubba_Anim0C, + .chase = ANIM_WorldTubba_Anim0C, + .anim_4 = ANIM_WorldTubba_Anim00, + .anim_5 = ANIM_WorldTubba_Anim00, + .death = ANIM_WorldTubba_Anim00, + .hit = ANIM_WorldTubba_Anim00, + .anim_8 = ANIM_WorldTubba_Anim00, + .anim_9 = ANIM_WorldTubba_Anim00, + .anim_A = ANIM_WorldTubba_Anim00, + .anim_B = ANIM_WorldTubba_Anim00, + .anim_C = ANIM_WorldTubba_Anim00, + .anim_D = ANIM_WorldTubba_Anim00, + .anim_E = ANIM_WorldTubba_Anim00, + .anim_F = ANIM_WorldTubba_Anim00, + }, + }, +}; + +StaticNpc N(NpcData_Chapter4)[] = { + { + .id = NPC_Muskular, + .settings = &N(NpcSettings_Dummy), + .pos = { -62.0f, 96.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Muskular), + .drops = MUSKULAR_DROPS, + .animations = MUSKULAR_ANIMS, + }, + { + .id = NPC_GeneralGuy, + .settings = &N(NpcSettings_Dummy), + .pos = { 97.0f, 0.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_GeneralGuy), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_GeneralGuy_Anim02, + .walk = ANIM_GeneralGuy_Anim02, + .run = ANIM_GeneralGuy_Anim02, + .chase = ANIM_GeneralGuy_Anim02, + .anim_4 = ANIM_GeneralGuy_Anim02, + .anim_5 = ANIM_GeneralGuy_Anim02, + .death = ANIM_GeneralGuy_Anim02, + .hit = ANIM_GeneralGuy_Anim02, + .anim_8 = ANIM_GeneralGuy_Anim02, + .anim_9 = ANIM_GeneralGuy_Anim02, + .anim_A = ANIM_GeneralGuy_Anim02, + .anim_B = ANIM_GeneralGuy_Anim02, + .anim_C = ANIM_GeneralGuy_Anim02, + .anim_D = ANIM_GeneralGuy_Anim02, + .anim_E = ANIM_GeneralGuy_Anim02, + .anim_F = ANIM_GeneralGuy_Anim02, + }, + }, + { + .id = NPC_ShyGuy_01, + .settings = &N(NpcSettings_Dummy), + .pos = { 17.0f, 0.0f, -14.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_ShyGuy), + .drops = SHY_GUY_NO_DROPS, + .animations = RED_SHY_GUY_ANIMS, + }, + { + .id = NPC_ShyGuy_02, + .settings = &N(NpcSettings_Dummy), + .pos = { 47.0f, 0.0f, 25.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_ShyGuy), + .drops = SHY_GUY_NO_DROPS, + .animations = RED_SHY_GUY_ANIMS, + }, +}; + +StaticNpc N(NpcData_Chapter5)[] = { + { + .id = NPC_Misstar, + .settings = &N(NpcSettings_Dummy), + .pos = { -62.0f, 96.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Misstar), + .drops = MISSTAR_DROPS, + .animations = MISSTAR_ANIMS, + }, + { + .id = NPC_LavaPiranhaHead, + .settings = &N(NpcSettings_Dummy), + .pos = { 0.0f, 0.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_4, + .init = &N(EVS_NpcInit_LavaPiranhaHead), + .drops = LAVA_PIRANHA_NO_DROPS, + .animations = LAVA_PIRANHA_HEAD_ANIMS, + .extraAnimations = N(D_80243848_902EB8), + }, + { + .id = NPC_LavaBud_01, + .settings = &N(NpcSettings_Dummy), + .pos = { 0.0f, 0.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4, + .init = &N(EVS_NpcInit_LavaBud_01), + .drops = LAVA_PIRANHA_NO_DROPS, + .animations = LAVA_PIRANHA_BUD_ANIMS, + .extraAnimations = N(D_80243854_902EC4), + }, + { + .id = NPC_LavaBud_02, + .settings = &N(NpcSettings_Dummy), + .pos = { 0.0f, 0.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4, + .init = &N(EVS_NpcInit_LavaBud_01), + .drops = LAVA_PIRANHA_NO_DROPS, + .animations = LAVA_PIRANHA_BUD_ANIMS, + .extraAnimations = N(D_80243854_902EC4), + }, +}; + +StaticNpc N(NpcData_Chapter6)[] = { + { + .id = NPC_Klevar, + .settings = &N(NpcSettings_Dummy), + .pos = { -62.0f, 96.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Klevar), + .drops = KLEVAR_DROPS, + .animations = KLEVAR_ANIMS, + }, + { + .id = NPC_HuffNPuff_Body, + .settings = &N(NpcSettings_Dummy), + .pos = { 70.0f, 109.0f, 1.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_HuffNPuff_Body), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_HuffNPuff_Anim01, + .walk = ANIM_HuffNPuff_Anim01, + .run = ANIM_HuffNPuff_Anim01, + .chase = ANIM_HuffNPuff_Anim01, + .anim_4 = ANIM_HuffNPuff_Anim01, + .anim_5 = ANIM_HuffNPuff_Anim01, + .death = ANIM_HuffNPuff_Anim01, + .hit = ANIM_HuffNPuff_Anim01, + .anim_8 = ANIM_HuffNPuff_Anim01, + .anim_9 = ANIM_HuffNPuff_Anim01, + .anim_A = ANIM_HuffNPuff_Anim01, + .anim_B = ANIM_HuffNPuff_Anim01, + .anim_C = ANIM_HuffNPuff_Anim01, + .anim_D = ANIM_HuffNPuff_Anim01, + .anim_E = ANIM_HuffNPuff_Anim01, + .anim_F = ANIM_HuffNPuff_Anim01, + }, + }, + { + .id = NPC_HuffNPuff_Face, + .settings = &N(NpcSettings_Dummy), + .pos = { 70.0f, 109.0f, 1.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_HuffNPuff_Face), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_HuffNPuff_Anim01, + .walk = ANIM_HuffNPuff_Anim01, + .run = ANIM_HuffNPuff_Anim01, + .chase = ANIM_HuffNPuff_Anim01, + .anim_4 = ANIM_HuffNPuff_Anim01, + .anim_5 = ANIM_HuffNPuff_Anim01, + .death = ANIM_HuffNPuff_Anim01, + .hit = ANIM_HuffNPuff_Anim01, + .anim_8 = ANIM_HuffNPuff_Anim01, + .anim_9 = ANIM_HuffNPuff_Anim01, + .anim_A = ANIM_HuffNPuff_Anim01, + .anim_B = ANIM_HuffNPuff_Anim01, + .anim_C = ANIM_HuffNPuff_Anim01, + .anim_D = ANIM_HuffNPuff_Anim01, + .anim_E = ANIM_HuffNPuff_Anim01, + .anim_F = ANIM_HuffNPuff_Anim01, + }, + }, + { + .id = NPC_HuffNPuff_Arms, + .settings = &N(NpcSettings_Dummy), + .pos = { 70.0f, 109.0f, 1.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_HuffNPuff_Arms), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_HuffNPuff_Anim01, + .walk = ANIM_HuffNPuff_Anim01, + .run = ANIM_HuffNPuff_Anim01, + .chase = ANIM_HuffNPuff_Anim01, + .anim_4 = ANIM_HuffNPuff_Anim01, + .anim_5 = ANIM_HuffNPuff_Anim01, + .death = ANIM_HuffNPuff_Anim01, + .hit = ANIM_HuffNPuff_Anim01, + .anim_8 = ANIM_HuffNPuff_Anim01, + .anim_9 = ANIM_HuffNPuff_Anim01, + .anim_A = ANIM_HuffNPuff_Anim01, + .anim_B = ANIM_HuffNPuff_Anim01, + .anim_C = ANIM_HuffNPuff_Anim01, + .anim_D = ANIM_HuffNPuff_Anim01, + .anim_E = ANIM_HuffNPuff_Anim01, + .anim_F = ANIM_HuffNPuff_Anim01, + }, + }, + { + .id = NPC_TuffPuff_01, + .settings = &N(NpcSettings_Dummy), + .pos = { 60.0f, 40.0f, -50.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TuffPuff_01), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_TuffPuff_Still, + .walk = ANIM_TuffPuff_Still, + .run = ANIM_TuffPuff_Grin, + .chase = ANIM_TuffPuff_Grin, + .anim_4 = ANIM_TuffPuff_Still, + .anim_5 = ANIM_TuffPuff_Still, + .death = ANIM_TuffPuff_Hurt, + .hit = ANIM_TuffPuff_Hurt, + .anim_8 = ANIM_TuffPuff_Grin, + .anim_9 = ANIM_TuffPuff_Idle, + .anim_A = ANIM_TuffPuff_Idle, + .anim_B = ANIM_TuffPuff_Idle, + .anim_C = ANIM_TuffPuff_Idle, + .anim_D = ANIM_TuffPuff_Idle, + .anim_E = ANIM_TuffPuff_Idle, + .anim_F = ANIM_TuffPuff_Idle, + }, + }, + { + .id = NPC_TuffPuff_02, + .settings = &N(NpcSettings_Dummy), + .pos = { 14.0f, 61.0f, 1.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_TuffPuff_Still, + .walk = ANIM_TuffPuff_Still, + .run = ANIM_TuffPuff_Grin, + .chase = ANIM_TuffPuff_Grin, + .anim_4 = ANIM_TuffPuff_Still, + .anim_5 = ANIM_TuffPuff_Still, + .death = ANIM_TuffPuff_Hurt, + .hit = ANIM_TuffPuff_Hurt, + .anim_8 = ANIM_TuffPuff_Grin, + .anim_9 = ANIM_TuffPuff_Idle, + .anim_A = ANIM_TuffPuff_Idle, + .anim_B = ANIM_TuffPuff_Idle, + .anim_C = ANIM_TuffPuff_Idle, + .anim_D = ANIM_TuffPuff_Idle, + .anim_E = ANIM_TuffPuff_Idle, + .anim_F = ANIM_TuffPuff_Idle, + }, + }, +}; + +StaticNpc N(NpcData_Chapter7)[] = { + { + .id = NPC_Kalmar, + .settings = &N(NpcSettings_Dummy), + .pos = { -62.0f, 96.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Kalmar), + .drops = KALMAR_DROPS, + .animations = KALMAR_ANIMS, + }, + { + .id = NPC_CrystalKing, + .settings = &N(NpcSettings_Dummy), + .pos = { 60.0f, -2.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_CrystalKing), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_CrystalKing_Anim09, + .walk = ANIM_CrystalKing_Anim09, + .run = ANIM_CrystalKing_Anim09, + .chase = ANIM_CrystalKing_Anim09, + .anim_4 = ANIM_CrystalKing_Anim09, + .anim_5 = ANIM_CrystalKing_Anim09, + .death = ANIM_CrystalKing_Anim09, + .hit = ANIM_CrystalKing_Anim09, + .anim_8 = ANIM_CrystalKing_Anim09, + .anim_9 = ANIM_CrystalKing_Anim09, + .anim_A = ANIM_CrystalKing_Anim09, + .anim_B = ANIM_CrystalKing_Anim09, + .anim_C = ANIM_CrystalKing_Anim09, + .anim_D = ANIM_CrystalKing_Anim09, + .anim_E = ANIM_CrystalKing_Anim09, + .anim_F = ANIM_CrystalKing_Anim09, + }, + }, + { + .id = NPC_IceCube, + .settings = &N(NpcSettings_Dummy), + .pos = { 10.0f, 31.0f, -12.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_IceCube), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_CrystalKing_Anim09, + .walk = ANIM_CrystalKing_Anim09, + .run = ANIM_CrystalKing_Anim09, + .chase = ANIM_CrystalKing_Anim09, + .anim_4 = ANIM_CrystalKing_Anim09, + .anim_5 = ANIM_CrystalKing_Anim09, + .death = ANIM_CrystalKing_Anim09, + .hit = ANIM_CrystalKing_Anim09, + .anim_8 = ANIM_CrystalKing_Anim09, + .anim_9 = ANIM_CrystalKing_Anim09, + .anim_A = ANIM_CrystalKing_Anim09, + .anim_B = ANIM_CrystalKing_Anim09, + .anim_C = ANIM_CrystalKing_Anim09, + .anim_D = ANIM_CrystalKing_Anim09, + .anim_E = ANIM_CrystalKing_Anim09, + .anim_F = ANIM_CrystalKing_Anim09, + }, + }, + { + .id = NPC_IceSphere, + .settings = &N(NpcSettings_Dummy), + .pos = { 40.0f, 68.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_IceSphere), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_CrystalKing_Anim09, + .walk = ANIM_CrystalKing_Anim09, + .run = ANIM_CrystalKing_Anim09, + .chase = ANIM_CrystalKing_Anim09, + .anim_4 = ANIM_CrystalKing_Anim09, + .anim_5 = ANIM_CrystalKing_Anim09, + .death = ANIM_CrystalKing_Anim09, + .hit = ANIM_CrystalKing_Anim09, + .anim_8 = ANIM_CrystalKing_Anim09, + .anim_9 = ANIM_CrystalKing_Anim09, + .anim_A = ANIM_CrystalKing_Anim09, + .anim_B = ANIM_CrystalKing_Anim09, + .anim_C = ANIM_CrystalKing_Anim09, + .anim_D = ANIM_CrystalKing_Anim09, + .anim_E = ANIM_CrystalKing_Anim09, + .anim_F = ANIM_CrystalKing_Anim09, + }, + }, + { + .id = NPC_IceSpike, + .settings = &N(NpcSettings_Dummy), + .pos = { 96.0f, 53.0f, 0.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_IceSpike), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_CrystalKing_Anim09, + .walk = ANIM_CrystalKing_Anim09, + .run = ANIM_CrystalKing_Anim09, + .chase = ANIM_CrystalKing_Anim09, + .anim_4 = ANIM_CrystalKing_Anim09, + .anim_5 = ANIM_CrystalKing_Anim09, + .death = ANIM_CrystalKing_Anim09, + .hit = ANIM_CrystalKing_Anim09, + .anim_8 = ANIM_CrystalKing_Anim09, + .anim_9 = ANIM_CrystalKing_Anim09, + .anim_A = ANIM_CrystalKing_Anim09, + .anim_B = ANIM_CrystalKing_Anim09, + .anim_C = ANIM_CrystalKing_Anim09, + .anim_D = ANIM_CrystalKing_Anim09, + .anim_E = ANIM_CrystalKing_Anim09, + .anim_F = ANIM_CrystalKing_Anim09, + }, + }, +}; + +StaticNpc N(NpcData_Chapter8) = { + .id = NPC_Bowser, + .settings = &N(NpcSettings_Dummy), + .pos = { 58.0f, 0.0f, 20.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Bowser), + .drops = { + .dropFlags = NPC_DROP_FLAGS_80, + .heartDrops = NO_DROPS, + .flowerDrops = NO_DROPS, + }, + .animations = { + .idle = ANIM_WorldBowser_Idle, + .walk = ANIM_WorldBowser_Idle, + .run = ANIM_WorldBowser_Idle, + .chase = ANIM_WorldBowser_Idle, + .anim_4 = ANIM_WorldBowser_Idle, + .anim_5 = ANIM_WorldBowser_Idle, + .death = ANIM_WorldBowser_Idle, + .hit = ANIM_WorldBowser_Idle, + .anim_8 = ANIM_WorldBowser_Idle, + .anim_9 = ANIM_WorldBowser_Idle, + .anim_A = ANIM_WorldBowser_Idle, + .anim_B = ANIM_WorldBowser_Idle, + .anim_C = ANIM_WorldBowser_Idle, + .anim_D = ANIM_WorldBowser_Idle, + .anim_E = ANIM_WorldBowser_Idle, + .anim_F = ANIM_WorldBowser_Idle, + }, +}; + +NpcGroupList N(NpcGroup_Chapter1) = { + NPC_GROUP(N(NpcData_Chapter1)), + {} +}; + +NpcGroupList N(NpcGroup_Chapter2) = { + NPC_GROUP(N(NpcData_Chapter2)), + {} +}; + +NpcGroupList N(NpcGroup_Chapter3) = { + NPC_GROUP(N(NpcData_Chapter3)), + {} +}; + +NpcGroupList N(NpcGroup_Chapter4) = { + NPC_GROUP(N(NpcData_Chapter4)), + {} +}; + +NpcGroupList N(NpcGroup_Chapter5) = { + NPC_GROUP(N(NpcData_Chapter5)), + {} +}; + +NpcGroupList N(NpcGroup_Chapter6) = { + NPC_GROUP(N(NpcData_Chapter6)), + {} +}; + +NpcGroupList N(NpcGroup_Chapter7) = { + NPC_GROUP(N(NpcData_Chapter7)), + {} +}; + +NpcGroupList N(NpcGroup_Chapter8) = { + NPC_GROUP(N(NpcData_Chapter8)), + {} +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_1.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_1.inc.c new file mode 100644 index 0000000000..52c4117cc6 --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_1.inc.c @@ -0,0 +1,13 @@ +EvtScript N(EVS_NpcInit_Eldstar) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldEldstar_Still) + EVT_CALL(func_802CFD30, -1, 8, 0, 0, 0, 128) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaBros) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaBros_Black_Anim1B) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_2.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_2.inc.c new file mode 100644 index 0000000000..040ce8a545 --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_2.inc.c @@ -0,0 +1,33 @@ +EvtScript N(EVS_NpcInit_Mamar) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldMamar_Still) + EVT_CALL(func_802CFD30, -1, 8, 0, 0, 0, 128) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Tutankoopa) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Tutankoopa_Anim08) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_ChainChomp) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ChainChomp_Anim03) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_SELF, 5, -25, -180) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_02, ANIM_ChainChomp_Anim02) + EVT_CALL(func_802CFD30, 13, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_ChainChomp_02, 35, -14, -180) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_03, ANIM_ChainChomp_Anim02) + EVT_CALL(func_802CFD30, 14, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_ChainChomp_03, 52, -18, -180) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_04, ANIM_ChainChomp_Anim02) + EVT_CALL(func_802CFD30, 15, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_ChainChomp_04, 69, -19, -180) + EVT_CALL(SetNpcAnimation, NPC_ChainChomp_05, ANIM_ChainChomp_Anim02) + EVT_CALL(func_802CFD30, 16, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_ChainChomp_05, 86, -19, -180) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_3.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_3.inc.c new file mode 100644 index 0000000000..daf1d375ad --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_3.inc.c @@ -0,0 +1,13 @@ +EvtScript N(EVS_NpcInit_Skolar) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldSkolar_Still) + EVT_CALL(func_802CFD30, -1, 8, 0, 0, 0, 128) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Tubba) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldTubba_Anim10) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_4.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_4.inc.c new file mode 100644 index 0000000000..c717702f6a --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_4.inc.c @@ -0,0 +1,20 @@ +EvtScript N(EVS_NpcInit_Muskular) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldMuskular_Still) + EVT_CALL(func_802CFD30, -1, 8, 0, 0, 0, 128) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_GeneralGuy) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_GeneralGuy_Anim03) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_ShyGuy) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ShyGuy_Red_Anim02) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_5.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_5.inc.c new file mode 100644 index 0000000000..b77ee79469 --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_5.inc.c @@ -0,0 +1,6 @@ +EvtScript N(EVS_NpcInit_Misstar) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldMisstar_Still) + EVT_CALL(func_802CFD30, -1, 8, 0, 0, 0, 128) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_6.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_6.inc.c new file mode 100644 index 0000000000..ac66fe4313 --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_6.inc.c @@ -0,0 +1,41 @@ +EvtScript N(EVS_NpcInit_Klevar) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldKlevar_Still) + EVT_CALL(func_802CFD30, -1, 8, 0, 0, 0, 128) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_HuffNPuff_Body) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_HuffNPuff_Anim1A) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_SELF, 40, 45, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_HuffNPuff_Face) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_HuffNPuff_Anim1B) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_SELF, 40, 45, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_HuffNPuff_Arms) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_HuffNPuff_Anim1C) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_SELF, 40, 45, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TuffPuff_01) = { + EVT_CALL(SetNpcAnimation, NPC_TuffPuff_01, ANIM_TuffPuff_Idle) + EVT_CALL(func_802CFD30, 28, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_TuffPuff_01, 120, -1, -51) + EVT_CALL(SetNpcAnimation, NPC_TuffPuff_02, ANIM_TuffPuff_Idle) + EVT_CALL(func_802CFD30, 29, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcPos, NPC_TuffPuff_02, -40, 59, 1) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_7.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_7.inc.c new file mode 100644 index 0000000000..43b74eabef --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_7.inc.c @@ -0,0 +1,34 @@ +EvtScript N(EVS_NpcInit_Kalmar) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldKalmar_Still) + EVT_CALL(func_802CFD30, -1, 8, 0, 0, 0, 128) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_CrystalKing) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim09) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_IceCube) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim0A) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_IceSphere) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim0B) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_IceSpike) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim0C) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/chapter_8.inc.c b/src/world/area_kmr/kmr_22/npc/chapter_8.inc.c new file mode 100644 index 0000000000..b55bc780a5 --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/chapter_8.inc.c @@ -0,0 +1,6 @@ +EvtScript N(EVS_NpcInit_Bowser) = { + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBowser_Talk) + EVT_CALL(func_802CFD30, -1, 14, 80, 80, 80, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c b/src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c new file mode 100644 index 0000000000..0308b42181 --- /dev/null +++ b/src/world/area_kmr/kmr_22/npc/lava_piranha.inc.c @@ -0,0 +1,234 @@ + +#include "world/common/enemy/complete/LavaPiranha.h" + +#include "world/common/lava_piranha/part1.inc.c" + +#include "world/area_kmr/kmr_22/lava_piranha_vine.png.inc.c" +#include "world/area_kmr/kmr_22/lava_piranha_vine.pal.inc.c" +#include "world/area_kmr/kmr_22/lava_piranha_vine.gfx.inc.c" + +#include "world/common/lava_piranha/part2.inc.c" +#include "world/common/lava_piranha/LoadAnimationFromTable.inc.c" + +EvtScript N(EVS_NpcAux_LavaPiranhaHead) = { + EVT_CALL(GetSelfVar, 0, LVar0) + EVT_USE_ARRAY(LVar0) + EVT_LABEL(0) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_LavaPiranhaHead, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcRotation, NPC_LavaPiranhaHead, LVar0, 0, LVar2) + EVT_CALL(N(MarkVineInterpolationDirty)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 90) + EVT_CALL(N(SetVineBoneRot), VINE_0, 0, LVar0, 0, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 0, 1, 1, 1) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 9, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 9, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 7, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 8, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_LavaBud_01, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcRotation, NPC_LavaBud_01, LVar0, 0, LVar2) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 90) + EVT_CALL(N(SetVineBoneRot), VINE_1, 0, LVar0, 0, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 0, 1, 1, 1) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 4, LVar0, LVar1, LVar2) + EVT_SUB(LVar2, 2) + EVT_CALL(N(SetVineBonePos), VINE_1, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_LavaBud_02, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcRotation, NPC_LavaBud_02, LVar0, 0, LVar2) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 90) + EVT_CALL(N(SetVineBoneRot), VINE_2, 0, LVar0, 0, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 0, 1, 1, 1) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 4, LVar0, LVar1, LVar2) + EVT_SUB(LVar2, 2) + EVT_CALL(N(SetVineBonePos), VINE_2, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 0, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 0, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_LavaPiranhaHead) = { + EVT_CALL(func_802CFD30, 21, 14, 80, 80, 80, 0) + EVT_CALL(func_802CFD30, 22, 14, 80, 80, 80, 0) + EVT_CALL(func_802CFD30, 23, 14, 80, 80, 80, 0) + EVT_CALL(SetNpcAnimation, NPC_LavaPiranhaHead, ANIM_LavaPiranha_Anim03) + EVT_CALL(SetNpcAnimation, NPC_LavaBud_01, ANIM_LavaBud_Anim03) + EVT_CALL(SetNpcAnimation, NPC_LavaBud_02, ANIM_LavaBud_Anim03) + EVT_CALL(EnableNpcShadow, NPC_LavaPiranhaHead, FALSE) + EVT_CALL(EnableNpcShadow, NPC_LavaBud_01, FALSE) + EVT_CALL(EnableNpcShadow, NPC_LavaBud_02, FALSE) + EVT_MALLOC_ARRAY(64, LVar0) + EVT_CALL(SetSelfVar, 0, LVar0) + EVT_USE_ARRAY(LVar0) + EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_LavaPiranhaHead))) + EVT_CALL(LoadAnimatedModel, VINE_0, EVT_PTR(N(AnimModel_MainHeadVine))) + EVT_CALL(N(LoadAnimationFromTable), VINE_0, 0) + EVT_CALL(PlayModelAnimation, VINE_0, VINE_0_BASE) + EVT_CALL(SetAnimatedModelRootPosition, VINE_0, -40, 0, 0) + EVT_CALL(SetAnimatorFlags, VINE_0, MODEL_ANIMATOR_FLAGS_HIDDEN, 1) + EVT_CALL(LoadAnimatedModel, VINE_1, EVT_PTR(N(AnimModel_SideHeadVine))) + EVT_CALL(N(LoadAnimationFromTable), VINE_1, 31) + EVT_CALL(PlayModelAnimation, VINE_1, VINE_1_BASE) + EVT_CALL(SetAnimatedModelRootPosition, VINE_1, -40, 0, 0) + EVT_CALL(SetAnimatorFlags, VINE_1, MODEL_ANIMATOR_FLAGS_HIDDEN, 1) + EVT_CALL(LoadAnimatedModel, VINE_2, EVT_PTR(N(AnimModel_SideHeadVine))) + EVT_CALL(N(LoadAnimationFromTable), VINE_2, 31) + EVT_CALL(PlayModelAnimation, VINE_2, VINE_2_BASE) + EVT_CALL(SetAnimatedModelRootPosition, VINE_2, 10, 0, 20) + EVT_CALL(SetAnimatorFlags, VINE_2, MODEL_ANIMATOR_FLAGS_HIDDEN, 1) + EVT_CALL(LoadAnimatedModel, VINE_3, EVT_PTR(N(AnimModel_ExtraVine))) + EVT_CALL(N(LoadAnimationFromTable), VINE_3, 34) + EVT_CALL(PlayModelAnimation, VINE_3, VINE_3_BASE) + EVT_CALL(SetAnimatedModelRootPosition, VINE_3, -40, 0, 0) + EVT_CALL(SetAnimatorFlags, VINE_3, MODEL_ANIMATOR_FLAGS_HIDDEN, 1) + EVT_CALL(N(CreateVineRenderer)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_LavaBud_01) = { + EVT_RETURN + EVT_END +}; + +s32 N(D_80243848_902EB8)[] = { + ANIM_LavaPiranha_Anim03, + ANIM_LavaPiranha_Anim0E, + -1 +}; + +s32 N(D_80243854_902EC4)[] = { + ANIM_LavaBud_Anim03, + -1 +}; diff --git a/src/world/area_kmr/kmr_23/kmr_23_2_npc.c b/src/world/area_kmr/kmr_23/kmr_23_2_npc.c index 1e97707c3d..8f6e49a5f4 100644 --- a/src/world/area_kmr/kmr_23/kmr_23_2_npc.c +++ b/src/world/area_kmr/kmr_23/kmr_23_2_npc.c @@ -529,7 +529,7 @@ EvtScript N(EVS_NpcInit_Eldstar_01) = { EvtScript N(EVS_NpcInit_Eldstar_02) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ENEMY_ANIM_8) - EVT_CALL(func_802CFD30, NPC_SELF, 8, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_8, 0, 0, 0, 0) EVT_CALL(SetNpcPos, NPC_SELF, 0, 94, 0) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_RETURN diff --git a/src/world/area_kzn/kzn_17/kzn_17_3_npc.c b/src/world/area_kzn/kzn_17/kzn_17_3_npc.c index 5a2c45e952..285ad34915 100644 --- a/src/world/area_kzn/kzn_17/kzn_17_3_npc.c +++ b/src/world/area_kzn/kzn_17/kzn_17_3_npc.c @@ -45,7 +45,7 @@ EvtScript N(EVS_Kolorado_TrompImpact) = { EVT_CALL(func_802CDE68, 0, 13) EVT_CALL(SetNpcRotation, NPC_Kolorado, 0, 0, 250) EVT_CALL(SetNpcAnimation, NPC_Kolorado, ANIM_Kolorado_HurtStill) - EVT_CALL(func_802CFD30, 0, 4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) EVT_CALL(PlaySoundAtNpc, NPC_Kolorado, SOUND_HIT_PLAYER_NORMAL, 0) EVT_THREAD EVT_CALL(SetNpcCollisionSize, NPC_Kolorado, 20, 24) @@ -70,7 +70,7 @@ EvtScript N(EVS_Kolorado_HurtInit) = { EVT_CALL(func_802CDE68, 0, 13) EVT_CALL(SetNpcRotation, NPC_Kolorado, 0, 0, 250) EVT_CALL(SetNpcAnimation, NPC_Kolorado, ANIM_Kolorado_HurtStill) - EVT_CALL(func_802CFD30, 0, 4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) EVT_RETURN EVT_END }; diff --git a/src/world/area_kzn/kzn_19/kzn_19_4_npc.c b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c index 8fcf3ccd29..37da30e1fa 100644 --- a/src/world/area_kzn/kzn_19/kzn_19_4_npc.c +++ b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c @@ -5,323 +5,13 @@ #include "world/common/npc/StarSpirit.h" #include "world/common/enemy/complete/LavaPiranha.h" -enum { - VINE_0 = 0, - VINE_1 = 1, - VINE_2 = 2, - VINE_3 = 3, - NUM_VINES = 4 -}; +#include "world/common/lava_piranha/part1.inc.c" -enum { - VINE_0_BASE = 0x80200000, - VINE_1_BASE = 0x80204000, - VINE_2_BASE = 0x80207000, - VINE_3_BASE = 0x8020A000, -}; // TODO shiftability -- hard-coded addresses in gBackgroundImage +#include "world/lava_piranha/vine.png.inc.c" +#include "world/lava_piranha/vine.pal.inc.c" +#include "world/lava_piranha/vine.gfx.inc.c" -#include "./kzn_19_anim1.c" -#include "./kzn_19_anim2.c" -#include "./kzn_19_anim3.c" - -#include "world/area_kzn/kzn_19/lava_piranha_vine.png.inc.c" -#include "world/area_kzn/kzn_19/lava_piranha_vine.pal.inc.c" -#include "world/area_kzn/kzn_19/lava_piranha_vine.gfx.inc.c" - -#define PIRANHA_DMA_ENTRY(name) \ - (s32) world_model_anim_kzn_##name##_ROM_START,\ - (s32) world_model_anim_kzn_##name##_ROM_END,\ - (s32) world_model_anim_kzn_##name##_VRAM - -s32 N(VineAnimationsDmaTable)[] = { - PIRANHA_DMA_ENTRY(00), - PIRANHA_DMA_ENTRY(01), - PIRANHA_DMA_ENTRY(02), - PIRANHA_DMA_ENTRY(03), - PIRANHA_DMA_ENTRY(04), - PIRANHA_DMA_ENTRY(05), - PIRANHA_DMA_ENTRY(06), - PIRANHA_DMA_ENTRY(07), - PIRANHA_DMA_ENTRY(08), - PIRANHA_DMA_ENTRY(09), - PIRANHA_DMA_ENTRY(0A), - PIRANHA_DMA_ENTRY(0B), - PIRANHA_DMA_ENTRY(0C), - PIRANHA_DMA_ENTRY(0D), - PIRANHA_DMA_ENTRY(0E), - PIRANHA_DMA_ENTRY(0F), - PIRANHA_DMA_ENTRY(10), - PIRANHA_DMA_ENTRY(11), - PIRANHA_DMA_ENTRY(12), - PIRANHA_DMA_ENTRY(13), - PIRANHA_DMA_ENTRY(14), - PIRANHA_DMA_ENTRY(15), - PIRANHA_DMA_ENTRY(16), - PIRANHA_DMA_ENTRY(17), - PIRANHA_DMA_ENTRY(18), - PIRANHA_DMA_ENTRY(19), - PIRANHA_DMA_ENTRY(1A), - PIRANHA_DMA_ENTRY(1B), - PIRANHA_DMA_ENTRY(1C), - PIRANHA_DMA_ENTRY(1D), - PIRANHA_DMA_ENTRY(1E), - PIRANHA_DMA_ENTRY(1F), - PIRANHA_DMA_ENTRY(20), - PIRANHA_DMA_ENTRY(21), - PIRANHA_DMA_ENTRY(22), - PIRANHA_DMA_ENTRY(23), - PIRANHA_DMA_ENTRY(24), -}; - -BSS s32 N(VineRenderState); - -MAP_STATIC_PAD(1, unk_static_pad); - -void N(make_vine_interpolation)(LavaPiranhaVine* vine) { - Evt dummyEvt; - Evt* dummyEvtPtr = &dummyEvt; - s32 args[4]; - s32 count; - - // setup dummy call to LoadPath - args[0] = 3 * vine->boneCount; // generate three output samples per input - args[1] = (s32) &vine->bonePos; // points - args[2] = vine->boneCount; // num vectors - args[3] = EASING_LINEAR; - dummyEvtPtr->ptrReadPos = args; - LoadPath(dummyEvtPtr, 1); - - count = 0; - do { - GetNextPathPos(dummyEvtPtr, 1); - vine->points[count].x = evt_get_float_variable(dummyEvtPtr, LVar1); - vine->points[count].y = evt_get_float_variable(dummyEvtPtr, LVar2); - vine->points[count].z = evt_get_float_variable(dummyEvtPtr, LVar3); - count++; - } while (dummyEvtPtr->varTable[0] != 0); - vine->numPoints = count; -} - -API_CALLABLE(N(SetVineBonePos)) { - Bytecode* args = script->ptrReadPos; - s32 vineIdx = evt_get_variable(script, *args++); - s32 jointIdx = evt_get_variable(script, *args++); - s32 x = evt_get_variable(script, *args++); - s32 y = evt_get_variable(script, *args++); - s32 z = evt_get_variable(script, *args++); - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); - LavaPiranhaVine* vine = &vines[vineIdx]; - - vine->bonePos[jointIdx].x = x; - vine->bonePos[jointIdx].y = y; - vine->bonePos[jointIdx].z = z; - return ApiStatus_DONE2; -} - -API_CALLABLE(N(SetVineBoneRot)) { - Bytecode* args = script->ptrReadPos; - s32 vineIdx = evt_get_variable(script, *args++); - s32 jointIdx = evt_get_variable(script, *args++); - s32 rx = evt_get_variable(script, *args++); - s32 ry = evt_get_variable(script, *args++); - s32 rz = evt_get_variable(script, *args++); - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); - LavaPiranhaVine* vine = &vines[vineIdx]; - - vine->boneRot[jointIdx] = rz; - return ApiStatus_DONE2; -} - -API_CALLABLE(N(SetVineBoneScale)) { - Bytecode* args = script->ptrReadPos; - s32 vineIdx = evt_get_variable(script, *args++); - s32 jointIdx = evt_get_variable(script, *args++); - s32 sx = evt_get_variable(script, *args++); - s32 sy = evt_get_variable(script, *args++); - s32 sz = evt_get_variable(script, *args++); - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); - LavaPiranhaVine* vine = &vines[vineIdx]; - - // do nothing - return ApiStatus_DONE2; -} - -void N(appendGfx_piranha_vines)(void* data) { - Vtx_t* vtxBuffer; - Vtx_t* vtx; - - f32 boneLength; - s32 boneCount; - - f32 angle; - f32 nextAngle; - f32 curAngle1; - f32 curAngle2; - - f32 alphaCoord; - f32 alphaFrac; - s32 nearest; - - s32 numPoints; - s32 i, j; - - f32 deltaX, deltaY; - f32 posX, posY, posZ; - - if (N(VineRenderState) == -1) { - return; - } - - if (N(VineRenderState) == 0) { - for (i = 0; i < NUM_VINES; i++) { - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); - LavaPiranhaVine* vine = &vines[i]; - - switch (i) { - default: - return; - case 0: - boneCount = 9; - boneLength = 10.0f; - break; - case 1: - boneCount = 7; - boneLength = 8.0f; - break; - case 2: - boneCount = 7; - boneLength = 8.0f; - break; - case 3: - boneCount = 5; - boneLength = 8.0f; - break; - } - - vine->boneCount = boneCount; - vine->boneLength = boneLength; - - for (j = 0; j < boneCount; j++) { - if (j == (boneCount - 1)) { - vine->boneRot[j] += 90.0f; - } else { - curAngle1 = vine->boneRot[j]; - nextAngle = vine->boneRot[j + 1]; - if (nextAngle - curAngle1 > 180.0f) { - curAngle1 += 360.0f; - } else if (nextAngle - curAngle1 < -180.0f) { - nextAngle += 360.0f; - } - // average cur and next angles - vine->boneRot[j] = ((curAngle1 + nextAngle) / 2.0) + 90.0; - } - } - - N(make_vine_interpolation)(vine); - } - - N(VineRenderState) = 1; - } - - gDPPipeSync(gMasterGfxPos++); - gSPDisplayList(gMasterGfxPos++, N(lava_piranha_vine_gfx)); - - for (i = 0; i < NUM_VINES; i++) { - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); - LavaPiranhaVine* vine = &vines[i]; - - boneLength = vine->boneLength; - boneCount = vine->boneCount; - numPoints = vine->numPoints; - - // we'll build the vertex data and place it in the display list, so jump forward - // here and leave space behind for the gSPBranchList command followed by two vertices - // for each point in numPoints - - vtxBuffer = (Vtx_t*)(gMasterGfxPos + 1); - gSPBranchList(gMasterGfxPos, &gMasterGfxPos[1 + 2 * (2 * numPoints)]); - vtx = (Vtx_t*) (++gMasterGfxPos); - gMasterGfxPos = &gMasterGfxPos[2 * (2 * numPoints)]; - - for (j = 0; j < numPoints; j++) { - posX = vine->points[j].x; - posY = vine->points[j].y; - posZ = vine->points[j].z; - - alphaCoord = ((f32) j * boneCount) / numPoints; - nearest = (s32) alphaCoord; - alphaFrac = alphaCoord - (f32)nearest; - - if (nearest + 1 >= boneCount) { - angle = vine->boneRot[boneCount - 1]; - } else { - curAngle2 = vine->boneRot[nearest]; - nextAngle = vine->boneRot[nearest + 1]; - if (nextAngle - curAngle2 > 180.0f) { - nextAngle -= 360.0f; - } - if (nextAngle - curAngle2 < -180.0f) { - nextAngle += 360.0f; - } - angle = ((nextAngle - curAngle2) * alphaFrac) + curAngle2; - } - - deltaX = sin_deg(angle) * boneLength; - deltaY = -cos_deg(angle) * boneLength; - - vtx->ob[0] = posX + deltaX; - vtx->ob[1] = posY + deltaY; - vtx->ob[2] = posZ; - vtx->tc[0] = j * 0x140; - vtx->tc[1] = 0; - vtx->cn[0] = j * 50; - vtx->cn[1] = j * 120;; - vtx->cn[2] = j * 30; - vtx++; - - vtx->ob[0] = posX - deltaX; - vtx->ob[1] = posY - deltaY; - vtx->ob[2] = posZ; - vtx->tc[0] = j * 0x140; - vtx->tc[1] = 0x400; - vtx->cn[0] = j * 50; - vtx->cn[1] = j * 120;; - vtx->cn[2] = j * 30; - vtx++; - } - - for (j = 0; j < numPoints - 1; j++) { - gSPVertex(gMasterGfxPos++, &vtxBuffer[2*j], 4, 0); - gSP2Triangles(gMasterGfxPos++, 1, 0, 2, 0, 1, 2, 3, 0); - } - } - - gDPPipeSync(gMasterGfxPos++); -} - -void N(worker_render_piranha_vines)(void) { - RenderTask renderTask; - - renderTask.appendGfx = &N(appendGfx_piranha_vines); - renderTask.appendGfxArg = 0; - renderTask.distance = 10; - renderTask.renderMode = RENDER_MODE_SURFACE_OPA; - - queue_render_task(&renderTask); -} - -API_CALLABLE(N(MarkVineInterpolationDirty)) { - N(VineRenderState) = 0; - return ApiStatus_DONE2; -} - -API_CALLABLE(N(CreateVineRenderer)) { - LavaPiranhaVine* data = heap_malloc(NUM_VINES * sizeof(*data)); - evt_set_variable(script, MV_VinesData, (s32) data); - N(VineRenderState) = -1; - create_worker_world(NULL, &N(worker_render_piranha_vines)); - return ApiStatus_DONE2; -} +#include "world/common/lava_piranha/part2.inc.c" #include "world/common/complete/LetterDelivery.inc.c" @@ -485,39 +175,7 @@ EvtScript N(EVS_Misstar_Escape) = { EVT_END }; -API_CALLABLE(N(LoadAnimationFromTable)) { - Bytecode* args = script->ptrReadPos; - s32 type = evt_get_variable(script, *args++); - s32 index = evt_get_variable(script, *args++); - - switch (type) { - case VINE_0: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_0_BASE); - break; - case VINE_1: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_1_BASE); - break; - case VINE_2: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_2_BASE); - break; - case VINE_3: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_3_BASE); - break; - } - return ApiStatus_DONE2; -} +#include "world/common/lava_piranha/LoadAnimationFromTable.inc.c" EvtScript N(EVS_PlayVinesAnim_Emerge) = { EVT_THREAD @@ -715,166 +373,166 @@ EvtScript N(EVS_NpcAux_LavaPiranha) = { EVT_WAIT(1) EVT_END_LOOP EVT_LABEL(0) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcPos, NPC_LavaPiranhaHead, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcRotation, NPC_LavaPiranhaHead, LVar0, 0, LVar2) - EVT_CALL(N(MarkVineInterpolationDirty)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 0, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) - EVT_ADD(LVar2, 90) - EVT_CALL(N(SetVineBoneRot), VINE_0, 0, LVar0, 0, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 0, 1, 1, 1) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 1, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 1, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 9, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 2, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 9, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 3, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 8, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 4, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 8, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 5, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 7, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 6, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 7, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 7, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 7, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 7, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_0, 8, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_0, 8, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_0, 8, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcPos, NPC_LavaBud_01, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcRotation, NPC_LavaBud_01, LVar0, 0, LVar2) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_1, 0, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) - EVT_ADD(LVar2, 90) - EVT_CALL(N(SetVineBoneRot), VINE_1, 0, LVar0, 0, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_1, 0, 1, 1, 1) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 4, LVar0, LVar1, LVar2) - EVT_SUB(LVar2, 2) - EVT_CALL(N(SetVineBonePos), VINE_1, 1, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_1, 1, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_1, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 7, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_1, 2, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 7, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_1, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_1, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_1, 3, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_1, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_1, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_1, 4, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_1, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_1, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_1, 5, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_1, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_1, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_1, 6, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_1, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_1, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcPos, NPC_LavaBud_02, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) - EVT_CALL(SetNpcRotation, NPC_LavaBud_02, LVar0, 0, LVar2) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_2, 0, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) - EVT_ADD(LVar2, 90) - EVT_CALL(N(SetVineBoneRot), VINE_2, 0, LVar0, 0, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_2, 0, 1, 1, 1) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 4, LVar0, LVar1, LVar2) - EVT_SUB(LVar2, 2) - EVT_CALL(N(SetVineBonePos), VINE_2, 1, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_2, 1, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_2, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 7, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_2, 2, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 7, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_2, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_2, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_2, 3, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_2, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_2, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_2, 4, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_2, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_2, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_2, 5, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_2, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_2, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_2, 6, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_2, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_2, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_3, 0, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_3, 0, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_3, 0, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_3, 1, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 6, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_3, 1, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_3, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_3, 2, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_3, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_3, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_3, 3, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 5, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_3, 3, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_3, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBonePos), VINE_3, 4, LVar0, LVar1, LVar2) - EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 2, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneRot), VINE_3, 4, LVar0, LVar1, LVar2) - EVT_CALL(N(SetVineBoneScale), VINE_3, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) - EVT_WAIT(1) - EVT_GOTO(0) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_LavaPiranhaHead, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcRotation, NPC_LavaPiranhaHead, LVar0, 0, LVar2) + EVT_CALL(N(MarkVineInterpolationDirty)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 10, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 90) + EVT_CALL(N(SetVineBoneRot), VINE_0, 0, LVar0, 0, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 0, 1, 1, 1) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 9, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 9, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 7, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_0, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_0, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_0, 8, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_LavaBud_01, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcRotation, NPC_LavaBud_01, LVar0, 0, LVar2) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 8, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 90) + EVT_CALL(N(SetVineBoneRot), VINE_1, 0, LVar0, 0, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 0, 1, 1, 1) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 4, LVar0, LVar1, LVar2) + EVT_SUB(LVar2, 2) + EVT_CALL(N(SetVineBonePos), VINE_1, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_1, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_1, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_1, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_LavaBud_02, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcRotation, NPC_LavaBud_02, LVar0, 0, LVar2) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 8, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 90) + EVT_CALL(N(SetVineBoneRot), VINE_2, 0, LVar0, 0, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 0, 1, 1, 1) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 4, LVar0, LVar1, LVar2) + EVT_SUB(LVar2, 2) + EVT_CALL(N(SetVineBonePos), VINE_2, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 7, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 5, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_2, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_2, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_2, 6, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 0, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 0, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 0, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 1, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 6, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 1, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 1, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 2, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 5, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 3, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 3, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_CALL(GetAnimatedPositionByTreeIndex, VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBonePos), VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(GetAnimatedRotationByTreeIndex, VINE_3, 2, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneRot), VINE_3, 4, LVar0, LVar1, LVar2) + EVT_CALL(N(SetVineBoneScale), VINE_3, 4, EVT_FLOAT(0.71484375), EVT_FLOAT(0.71484375), EVT_FLOAT(1.0)) + EVT_WAIT(1) + EVT_GOTO(0) EVT_RETURN EVT_END }; diff --git a/src/world/area_mac/mac_00/mac_00.h b/src/world/area_mac/mac_00/mac_00.h index 00eef6aad7..0dcc829edd 100644 --- a/src/world/area_mac/mac_00/mac_00.h +++ b/src/world/area_mac/mac_00/mac_00.h @@ -86,5 +86,3 @@ extern EvtScript N(EVS_MakeEntities); extern NpcGroupList N(IntroNPCs); extern NpcGroupList N(EpilogueNPCs); extern NpcGroupList N(DefaultNPCs); - -extern EvtScript ItemShopInteract; diff --git a/src/world/area_mac/mac_00/mac_00_12_intro.c b/src/world/area_mac/mac_00/mac_00_12_intro.c index 273a2e6a12..d1f4f7c401 100644 --- a/src/world/area_mac/mac_00/mac_00_12_intro.c +++ b/src/world/area_mac/mac_00/mac_00_12_intro.c @@ -29,7 +29,7 @@ EvtScript N(EVS_LuigiExitPipe_Intro) = { EVT_WAIT(2) EVT_CALL(PlaySoundAtNpc, NPC_Luigi_Intro, SOUND_ENTER_PIPE, 0) EVT_CALL(func_802CFE2C, 0, 0x100) - EVT_CALL(func_802CFD30, 0, 5, 2, 1, 1, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_5, 2, 1, 1, 0) EVT_CALL(SetNpcPos, NPC_Luigi_Intro, -100, -10, -370) EVT_CALL(GetNpcPos, NPC_Luigi_Intro, LVar0, LVar1, LVar2) EVT_LOOP(45) @@ -37,7 +37,7 @@ EvtScript N(EVS_LuigiExitPipe_Intro) = { EVT_CALL(SetNpcPos, NPC_Luigi_Intro, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(func_802CFD30, 0, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(SetNpcPos, NPC_Luigi_Intro, -100, 30, -370) EVT_WAIT(3) EVT_CALL(EnableNpcShadow, NPC_Luigi_Intro, TRUE) diff --git a/src/world/area_mac/mac_00/mac_00_14_epilogue.c b/src/world/area_mac/mac_00/mac_00_14_epilogue.c index d03ae5a3ef..45393d0826 100644 --- a/src/world/area_mac/mac_00/mac_00_14_epilogue.c +++ b/src/world/area_mac/mac_00/mac_00_14_epilogue.c @@ -29,7 +29,7 @@ EvtScript N(EVS_LuigiExitPipe_Epilogue) = { EVT_WAIT(2) EVT_CALL(PlaySoundAtNpc, NPC_Luigi_Epilogue, SOUND_ENTER_PIPE, 0) EVT_CALL(func_802CFE2C, 25, 0x100) - EVT_CALL(func_802CFD30, 25, 5, 2, 1, 1, 0) + EVT_CALL(func_802CFD30, 25, FOLD_TYPE_5, 2, 1, 1, 0) EVT_CALL(SetNpcPos, NPC_Luigi_Epilogue, -100, -10, -370) EVT_CALL(GetNpcPos, NPC_Luigi_Epilogue, LVar0, LVar1, LVar2) EVT_LOOP(45) @@ -37,7 +37,7 @@ EvtScript N(EVS_LuigiExitPipe_Epilogue) = { EVT_CALL(SetNpcPos, NPC_Luigi_Epilogue, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(func_802CFD30, 25, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 25, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(SetNpcPos, NPC_Luigi_Epilogue, -100, 30, -370) EVT_WAIT(3) EVT_CALL(EnableNpcShadow, NPC_Luigi_Epilogue, TRUE) diff --git a/src/world/area_mac/mac_00/mac_00_5_npc.c b/src/world/area_mac/mac_00/mac_00_5_npc.c index 96a4523528..7c1ffe858d 100644 --- a/src/world/area_mac/mac_00/mac_00_5_npc.c +++ b/src/world/area_mac/mac_00/mac_00_5_npc.c @@ -193,7 +193,7 @@ StaticNpc N(NpcData_ShyGuy_01)[] = { .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_ShyGuyThief), .drops = SHY_GUY_NO_DROPS, - .animations = SHY_GUY_ANIMS, + .animations = RED_SHY_GUY_ANIMS, }, { .id = NPC_ShyGuy_02, @@ -203,7 +203,7 @@ StaticNpc N(NpcData_ShyGuy_01)[] = { .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_400000, .init = &N(EVS_NpcInit_ShyGuy_02), .drops = SHY_GUY_NO_DROPS, - .animations = SHY_GUY_ANIMS, + .animations = RED_SHY_GUY_ANIMS, .tattle = MSG_NpcTattle_MAC_ShyGuyShopOwner, }, { @@ -214,7 +214,7 @@ StaticNpc N(NpcData_ShyGuy_01)[] = { .flags = ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH, .init = &N(EVS_NpcInit_GardenShyGuy1), .drops = SHY_GUY_NO_DROPS, - .animations = SHY_GUY_ANIMS, + .animations = RED_SHY_GUY_ANIMS, .tattle = MSG_NpcTattle_MAC_ShyGuyShopOwner, }, }; diff --git a/src/world/area_mac/mac_01/mac_01_9_npc.c b/src/world/area_mac/mac_01/mac_01_9_npc.c index 2d7733af4c..060a7431e3 100644 --- a/src/world/area_mac/mac_01/mac_01_9_npc.c +++ b/src/world/area_mac/mac_01/mac_01_9_npc.c @@ -2367,7 +2367,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, .init = &N(EVS_NpcInit_ShyGuy_01), .drops = SHY_GUY_NO_DROPS, - .animations = SHY_GUY_ANIMS, + .animations = RED_SHY_GUY_ANIMS, }, { .id = NPC_ToadHouseShyGuy, @@ -2377,7 +2377,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .flags = ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_400000 | ENEMY_FLAGS_IGNORE_TOUCH, .init = &N(EVS_NpcInit_ShyGuy_02), .drops = SHY_GUY_NO_DROPS, - .animations = SHY_GUY_ANIMS, + .animations = RED_SHY_GUY_ANIMS, }, { .id = NPC_GardenShyGuy1, @@ -2387,7 +2387,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .flags = ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_400000 | ENEMY_FLAGS_IGNORE_TOUCH, .init = &N(EVS_NpcInit_GardenShyGuy1), .drops = SHY_GUY_NO_DROPS, - .animations = SHY_GUY_ANIMS, + .animations = RED_SHY_GUY_ANIMS, }, { .id = NPC_GardenShyGuy2, @@ -2397,7 +2397,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .flags = ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_400000 | ENEMY_FLAGS_IGNORE_TOUCH, .init = &N(EVS_NpcInit_GardenShyGuy2), .drops = SHY_GUY_NO_DROPS, - .animations = SHY_GUY_ANIMS, + .animations = RED_SHY_GUY_ANIMS, }, }; diff --git a/src/world/area_mac/mac_02/npc/bootler.inc.c b/src/world/area_mac/mac_02/npc/bootler.inc.c index 9eb1c4a75d..4aec74f37e 100644 --- a/src/world/area_mac/mac_02/npc/bootler.inc.c +++ b/src/world/area_mac/mac_02/npc/bootler.inc.c @@ -8,7 +8,7 @@ EvtScript N(D_8024ACA4_82DF64) = { EVT_END_IF EVT_LOOP(10) EVT_ADDF(LVar0, LVar1) - EVT_CALL(func_802CFD30, 9, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 9, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_RETURN diff --git a/src/world/area_mac/mac_04/mac_04_6_npc.c b/src/world/area_mac/mac_04/mac_04_6_npc.c index 3a52c9c73a..b32c84f89e 100644 --- a/src/world/area_mac/mac_04/mac_04_6_npc.c +++ b/src/world/area_mac/mac_04/mac_04_6_npc.c @@ -1,7 +1,5 @@ #include "mac_04.h" -extern EvtScript ItemShopInteract; - #include "world/common/npc/Toad_Wander.inc.c" #include "world/common/npc/Toad_Stationary.inc.c" diff --git a/src/world/area_mim/mim_10/mim_10_4_npc.c b/src/world/area_mim/mim_10/mim_10_4_npc.c index c79d15f586..b593e67caa 100644 --- a/src/world/area_mim/mim_10/mim_10_4_npc.c +++ b/src/world/area_mim/mim_10/mim_10_4_npc.c @@ -107,7 +107,7 @@ EvtScript N(EVS_Scene_BootlersInvitation) = { EVT_END_THREAD EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(SetNpcPos, NPC_Bootler, 200, 44, 0) - EVT_CALL(func_802CFD30, 0, 7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, 0, 0, 0, 0) EVT_SET(MV_Unk_00, TRUE) EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) EVT_WAIT(20) @@ -125,7 +125,7 @@ EvtScript N(EVS_Scene_BootlersInvitation) = { EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_LOOP(20) EVT_ADDF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(20) @@ -150,7 +150,7 @@ EvtScript N(EVS_Scene_BootlersInvitation) = { EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(20) EVT_SUBF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(25) @@ -163,7 +163,7 @@ EvtScript N(EVS_Scene_BootlersInvitation) = { EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_LOOP(20) EVT_ADDF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD @@ -176,7 +176,7 @@ EvtScript N(EVS_Scene_BootlersInvitation) = { EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(20) EVT_SUBF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_SET(GB_StoryProgress, STORY_CH3_INVITED_TO_BOOS_MANSION) diff --git a/src/world/area_mim/mim_11/mim_11_3_gate.c b/src/world/area_mim/mim_11/mim_11_3_gate.c index 3fc1044ba6..73e00afd1b 100644 --- a/src/world/area_mim/mim_11/mim_11_3_gate.c +++ b/src/world/area_mim/mim_11/mim_11_3_gate.c @@ -46,7 +46,7 @@ EvtScript N(D_80242560_BB95D0) = { EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_LOOP(90) EVT_ADDF(LVar0, EVT_FLOAT(2.6669922)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Talk, ANIM_Bootler_Idle, 0, MSG_CH3_0028) @@ -69,7 +69,7 @@ EvtScript N(D_80242560_BB95D0) = { EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(90) EVT_SUBF(LVar0, EVT_FLOAT(2.6669922)) - EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(RemoveNpc, NPC_Bootler) diff --git a/src/world/area_mim/mim_12/mim_12_3_main.c b/src/world/area_mim/mim_12/mim_12_3_main.c index 17e0c4ca96..4a6a5c0493 100644 --- a/src/world/area_mim/mim_12/mim_12_3_main.c +++ b/src/world/area_mim/mim_12/mim_12_3_main.c @@ -18,8 +18,8 @@ EvtScript N(EVS_EnterMap) = { EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(20) EVT_SUBF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, NPC_GateBoo_01, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_GateBoo_02, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_GateBoo_01, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_GateBoo_02, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(10) diff --git a/src/world/area_mim/mim_12/mim_12_5_gate.c b/src/world/area_mim/mim_12/mim_12_5_gate.c index 818d560676..9fb1380019 100644 --- a/src/world/area_mim/mim_12/mim_12_5_gate.c +++ b/src/world/area_mim/mim_12/mim_12_5_gate.c @@ -329,8 +329,8 @@ EvtScript N(EVS_Scene_UnlockGate) = { EVT_SETF(LVar0, EVT_FLOAT(0.0)) EVT_LOOP(20) EVT_ADDF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, NPC_GateBoo_01, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_GateBoo_02, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_GateBoo_01, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_GateBoo_02, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_WAIT(10) @@ -359,8 +359,8 @@ EvtScript N(EVS_Scene_UnlockGate) = { EVT_SETF(LVar0, EVT_FLOAT(240.0)) EVT_LOOP(20) EVT_SUBF(LVar0, EVT_FLOAT(12.0)) - EVT_CALL(func_802CFD30, NPC_GateBoo_01, 7, LVar0, 0, 0, 0) - EVT_CALL(func_802CFD30, NPC_GateBoo_02, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_GateBoo_01, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, NPC_GateBoo_02, FOLD_TYPE_7, LVar0, 0, 0, 0) EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_GateBoo_01, 0, -1000, 0) diff --git a/src/world/area_obk/obk_03/BC4B50.c b/src/world/area_obk/RockingChair.inc.c similarity index 85% rename from src/world/area_obk/obk_03/BC4B50.c rename to src/world/area_obk/RockingChair.inc.c index 814fe25ec4..2ead67e603 100644 --- a/src/world/area_obk/obk_03/BC4B50.c +++ b/src/world/area_obk/RockingChair.inc.c @@ -1,28 +1,34 @@ -#include "obk_03.h" +#include "common.h" #include "model.h" -#include "mapfs/obk_03_shape.h" -#include "mapfs/obk_03_hit.h" -// identical to (copy-pasted from) obk_05_RockingChair_UpdatePhysics aside from a few constants -// TODO de-duplicate? -ApiStatus func_802408D0_BC4B50(Evt* script, s32 isInitialCall) { - typedef struct RockingChairPhysics { - /* 0x00 */ f32 angleDelta; - /* 0x04 */ f32 angularAccel; - /* 0x08 */ f32 rotationAngle; - /* 0x0C */ f32 verticalOffset; - /* 0x10 */ f32 angleB; - /* 0x14 */ f32 angleA; - /* 0x18 */ f32 mass; - /* 0x1C */ f32 equilibriumAngle; - } RockingChairPhysics; // size = 0x20 +#ifndef ROCKING_CHAIR_CENTER_X +#error ROCKING_CHAIR_CENTER_X is not defined! +#endif - enum RockingChairState { - CHAIR_STATE_INITIAL = 0, - CHAIR_STATE_PLAYER_TOUCHING = 1, - CHAIR_STATE_PLAYER_NOT_TOUCHING = 2 - }; +/* + Also assumes the following are defined: + MODEL_i1, MODEL_i2, MODEL_i3 + COLLIDER_i1, COLLIDER_i2, COLLIDER_i3 +*/ +typedef struct RockingChairPhysics { + /* 0x00 */ f32 angleDelta; + /* 0x04 */ f32 angularAccel; + /* 0x08 */ f32 rotationAngle; + /* 0x0C */ f32 verticalOffset; + /* 0x10 */ f32 angleB; + /* 0x14 */ f32 angleA; + /* 0x18 */ f32 mass; + /* 0x1C */ f32 equilibriumAngle; +} RockingChairPhysics; // size = 0x20 + +enum RockingChairState { + CHAIR_STATE_INITIAL = 0, + CHAIR_STATE_PLAYER_TOUCHING = 1, + CHAIR_STATE_PLAYER_NOT_TOUCHING = 2 +}; + +API_CALLABLE(N(UpdateRockingChair)) { PlayerStatus* playerStatus = &gPlayerStatus; CollisionStatus* collisionStatus = &gCollisionStatus; RockingChairPhysics* physics; @@ -72,13 +78,13 @@ ApiStatus func_802408D0_BC4B50(Evt* script, s32 isInitialCall) { script->functionTemp[0] = CHAIR_STATE_PLAYER_NOT_TOUCHING; } if (fabsf(physics->rotationAngle) < 5.0f) { - physics->angularAccel = fabsf(-170.0 - playerStatus->position.x) / 200.0f; + physics->angularAccel = fabsf(ROCKING_CHAIR_CENTER_X - playerStatus->position.x) / 200.0f; } else { physics->angularAccel = 0.1f; } - if (playerStatus->position.x <= -170.0) { + if (playerStatus->position.x <= ROCKING_CHAIR_CENTER_X) { physics->angleB += physics->angularAccel; - physics->equilibriumAngle = SQ(fabsf(-170.0 - playerStatus->position.x)) / 50.0f; + physics->equilibriumAngle = SQ(fabsf(ROCKING_CHAIR_CENTER_X - playerStatus->position.x)) / 50.0f; if (physics->equilibriumAngle > 15.0f) { physics->equilibriumAngle = 15.0f; } @@ -87,7 +93,7 @@ ApiStatus func_802408D0_BC4B50(Evt* script, s32 isInitialCall) { } } else { physics->angleA += physics->angularAccel; - physics->equilibriumAngle = -SQ(-fabsf(-170.0 - playerStatus->position.x) * 0.5f) / 50.0f; + physics->equilibriumAngle = -SQ(-fabsf(ROCKING_CHAIR_CENTER_X - playerStatus->position.x) * 0.5f) / 50.0f; if (physics->equilibriumAngle < -5.0f) { physics->equilibriumAngle = -5.0f; } diff --git a/src/world/area_obk/TrafficBoos.inc.c b/src/world/area_obk/TrafficBoos.inc.c new file mode 100644 index 0000000000..547a390412 --- /dev/null +++ b/src/world/area_obk/TrafficBoos.inc.c @@ -0,0 +1,110 @@ +#include "common.h" + +#ifndef TRAFFIC_BOO_START_Y +#error TRAFFIC_BOO_START_Y must be defined! +#endif + +#ifndef TRAFFIC_BOO_START_Z +#error TRAFFIC_BOO_START_Z must be defined! +#endif + +enum { + TRAFFIC_BOO_INIT = 0, + TRAFFIC_BOO_WAIT = 1, + TRAFFIC_BOO_MOVE = 2, +}; + +s16 N(TrafficBooAlphas)[] = { + 50, 60, 200, 240 +}; + +API_CALLABLE(N(TrafficBooInit)) { + script->functionTemp[1] = TRAFFIC_BOO_INIT; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(UpdateTrafficBooMotion)) { + Npc* npc = get_npc_safe(script->owner2.npcID); + + switch (script->functionTemp[1]) { + case TRAFFIC_BOO_INIT: + // choose random wait time + npc->duration = rand_int(180) + 30; + // choose random position offset + npc->pos.z = TRAFFIC_BOO_START_Z; + npc->pos.y = rand_int(50) + TRAFFIC_BOO_START_Y; + // choose random speed + npc->moveSpeed = (2.0f * rand_float()) + 2.0f; + // chose random direction + if (rand_int(100) < 50) { + npc->pos.x = 270.0f; + npc->yaw = 270.0f; + } else { + npc->pos.x = -270.0f; + npc->yaw = 90.0f; + } + // wait before moving + script->functionTemp[1] = TRAFFIC_BOO_WAIT; + break; + case TRAFFIC_BOO_WAIT: + npc->duration--; + if (npc->duration == 0) { + // begin moving + script->functionTemp[1] = TRAFFIC_BOO_MOVE; + } + break; + case TRAFFIC_BOO_MOVE: + npc_move_heading(npc, npc->moveSpeed, npc->yaw); + if (npc->pos.x < -280.0f || npc->pos.x > 280.0f) { + script->functionTemp[1] = TRAFFIC_BOO_INIT; + } + break; + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(UpdateTrafficBooAlpha)) { + s32 alpha = script->varTable[0]; + s32 nextChangeTime = script->varTable[1]; + s32 targetAlpha; + + if (nextChangeTime == 0) { + // choose a new target alpha and schedule a time for the next update + script->functionTemp[2] = N(TrafficBooAlphas)[rand_int(ARRAY_COUNT(N(TrafficBooAlphas)) - 1)]; + nextChangeTime = rand_int(50) + 30; + } + nextChangeTime--; + + targetAlpha = script->functionTemp[2]; + if (alpha < targetAlpha) { + alpha += 10; + if (targetAlpha < alpha) { + alpha = targetAlpha; + } + } + if (targetAlpha < alpha) { + alpha -= 10; + if (alpha < targetAlpha) { + alpha = targetAlpha; + } + } + + script->varTable[0] = alpha; + script->varTable[1] = nextChangeTime; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_NpcIdle_TrafficBoo) = { + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_CALL(N(TrafficBooInit)) + EVT_LOOP(0) + EVT_CALL(N(UpdateTrafficBooMotion)) + EVT_CALL(N(UpdateTrafficBooAlpha)) + EVT_CALL(func_802CFD30, -1, 7, LVar0, 0, 0, 0) + EVT_CALL(SetNpcRenderMode, NPC_SELF, RENDER_MODE_SURFACE_XLU_LAYER1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk.h b/src/world/area_obk/obk.h index e7d9e2fb96..d6477758d6 100644 --- a/src/world/area_obk/obk.h +++ b/src/world/area_obk/obk.h @@ -2,24 +2,42 @@ #define _WORLD_AREA_OBK_OBK_H_ enum { - AB_OBK_0 = AreaByte(0), - AB_OBK_1 = AreaByte(1), - AB_OBK_2 = AreaByte(2), - AB_OBK_3 = AreaByte(3), - AB_OBK_4 = AreaByte(4), - AB_OBK_5 = AreaByte(5), - AB_OBK_6 = AreaByte(6), - AB_OBK_7 = AreaByte(7), - AB_OBK_8 = AreaByte(8), - AB_OBK_9 = AreaByte(9), - AB_OBK_A = AreaByte(10), - AB_OBK_B = AreaByte(11), - AB_OBK_C = AreaByte(12), - AB_OBK_D = AreaByte(13), - AB_OBK_E = AreaByte(14), - AB_OBK_F = AreaByte(15), + AB_OBK_0 = AreaByte(0), + AB_OBK_1 = AreaByte(1), + AB_OBK_2 = AreaByte(2), + AB_OBK_3 = AreaByte(3), + AB_OBK_4 = AreaByte(4), + AB_OBK_5 = AreaByte(5), + AB_OBK_6 = AreaByte(6), + AB_OBK_7 = AreaByte(7), + AB_OBK_8 = AreaByte(8), + AB_OBK_9 = AreaByte(9), + AB_OBK_A = AreaByte(10), + AB_OBK_B = AreaByte(11), + AB_OBK_C = AreaByte(12), + AB_OBK_D = AreaByte(13), + AB_OBK_E = AreaByte(14), + AB_OBK_F = AreaByte(15), }; -#define AF_OBK(index) AreaFlag(index) +enum { + AF_OBK01_CabinetMoved = AreaFlag(1), + AF_OBK01_IsPlayerNearPortrait = AreaFlag(3), + AF_OBK01_WasPlayerNearPortrait = AreaFlag(4), + AF_OBK03_HitFirstSwitch = AreaFlag(5), + AF_OBK03_HitSecondSwitch = AreaFlag(6), + AF_OBK03_HitThirdSwitch = AreaFlag(7), + AF_OBK_08 = AreaFlag(8), +}; + +extern MapSettings obk_01_settings; +extern MapSettings obk_02_settings; +extern MapSettings obk_03_settings; +extern MapSettings obk_04_settings; +extern MapSettings obk_05_settings; +extern MapSettings obk_06_settings; +extern MapSettings obk_07_settings; +extern MapSettings obk_08_settings; +extern MapSettings obk_09_settings; #endif diff --git a/src/world/area_obk/obk_01/BBD1A0.c b/src/world/area_obk/obk_01/BBD1A0.c deleted file mode 100644 index 1cdbcbf978..0000000000 --- a/src/world/area_obk/obk_01/BBD1A0.c +++ /dev/null @@ -1,259 +0,0 @@ -#include "obk_01.h" -#include "model.h" - -static char* N(exit_str_0) = "mim_11"; -static char* N(exit_str_1) = "obk_02"; -static char* N(exit_str_2) = "obk_05"; -static char* N(exit_str_3) = "obk_07"; -static char* N(exit_str_4) = "obk_08"; -static char* N(exit_str_5) = "obk_09"; - -extern s32 D_80241C58_BBEDF8[]; - -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" - -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" - -ApiStatus func_80240038_BBD1D8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - gCameras[CAM_DEFAULT].vfov = (s32) evt_get_float_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus func_8024007C_BBD21C(Evt* script, s32 isInitialCall) { - u32 pressedButtons = gGameStatusPtr->pressedButtons[0]; - s32 val; - - if (pressedButtons & BUTTON_A) { - val = TRUE; - } else { - val = FALSE; - } - script->varTable[6] = val; - return ApiStatus_DONE2; -} - -typedef struct UnkObk01 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32* unk_08; - /* 0x0C */ f32 unk_0C; // some angle - /* 0x10 */ f32 unk_10; // some y - /* 0x14 */ f32 unk_14; - /* 0x18 */ f32 unk_18; - /* 0x1C */ Matrix4f unk_1C; - /* 0x5C */ Model* models[4]; -} UnkObk01; // size = 0x6C; - -ApiStatus func_80240098_BBD238(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Bytecode* args = script->ptrReadPos; - Matrix4f sp18; - f32 temp_f20; - f32 var_f22; - s32 var_a0; - s32 temp_s0_2; - Model* model; - UnkObk01* temp_v0; - s32 i; - - if (isInitialCall) { - script->functionTempPtr[1] = temp_v0 = heap_malloc(sizeof(*temp_v0)); - temp_v0->unk_08 = (s32*) evt_get_variable(script, *args++); - temp_v0->unk_08[0] = (s32) temp_v0; // what is going on here? - - for (i = 0; i < ARRAY_COUNT(temp_v0->models); i++) { - temp_v0->models[i] = get_model_from_list_index(get_model_list_index_from_tree_index(D_80241C58_BBEDF8[i])); - } - - model = temp_v0->models[0]; - copy_matrix(model->transformMatrix, temp_v0->unk_1C); - - var_f22 = 0.0f; - temp_v0->unk_10 = var_f22; - temp_v0->unk_14 = var_f22; - temp_v0->unk_0C = 180.0f; - temp_v0->unk_18 = 10.0f; - temp_v0->unk_00 = 0; - - script->functionTemp[0] = 0; - script->functionTemp[2] = 0; - script->functionTemp[3] = 0; - } - - temp_v0 = script->functionTempPtr[1]; - model = temp_v0->models[0]; - var_f22 = temp_v0->unk_10; - if (temp_v0->unk_08[1] == 2) { - script->functionTemp[0] = 10; - temp_v0->unk_08[1] = 3; - temp_v0->unk_04 = 10; - } - - switch (script->functionTemp[0]) { - case 0: - if (temp_v0->unk_08[1] != 0) { - var_f22 = 0.0f; - temp_v0->unk_04 = 35; - temp_v0->unk_10 = 0.0f; - temp_v0->unk_14 = 0.0f; - temp_v0->unk_18 = 10.0f; - temp_v0->unk_0C = 180.0f; - temp_v0->unk_00 |= 2 | 1; - script->functionTemp[0] = 1; - } - break; - case 1: - temp_v0->unk_04--; - if (temp_v0->unk_04 == -1) { - script->functionTemp[0] = 2; - } - break; - case 2: - temp_v0->unk_10 += -1.4666667f; - if (temp_v0->unk_10 < -220.0f) { - temp_v0->unk_10 = -220.0f; - script->functionTemp[0] = 3; - } - break; - case 3: - temp_v0->unk_18 -= 0.06666667f; - if (temp_v0->unk_18 < 0.0f) { - temp_v0->unk_18 = 0.0f; - script->functionTemp[0] = 4; - temp_v0->unk_00 &= ~0x1; - temp_v0->unk_00 |= 0x4; - } - break; - case 10: - temp_v0->unk_04--; - if (temp_v0->unk_04 == -1) { - script->functionTemp[0] = 11; - } - break; - case 11: - var_a0 = 0; - temp_v0->unk_00 &= ~0x4; - temp_v0->unk_10 += 4.0f; - if (temp_v0->unk_10 >= 0.0f) { - temp_v0->unk_10 = 0.0f; - var_a0 = 1; - } - temp_v0->unk_18 -= 0.2f; - if (temp_v0->unk_18 < 0.0f) { - var_a0++; - temp_v0->unk_18 = 0.0f; - temp_v0->unk_00 &= ~0x1; - } - if (var_a0 == 2) { - temp_v0->unk_08[1] = 0; - script->functionTemp[0] = 0; - } - break; - } - - if (temp_v0->unk_00 & 1) { - temp_v0->unk_0C = clamp_angle(temp_v0->unk_0C + 3.6f); - temp_f20 = sin_deg(temp_v0->unk_0C) * temp_v0->unk_18; - if (temp_v0->unk_14 == 0.0f) { - temp_v0->unk_14 = 1.0f; - } - if (temp_f20 * temp_v0->unk_14 <= 0.0f) { - sfx_play_sound_at_player(SOUND_9D, 0); - } - temp_v0->unk_14 = temp_f20; - } - if (script->functionTemp[2] == 0) { - if (temp_v0->unk_10 != var_f22) { - sfx_play_sound_at_position(SOUND_8000000F, 0, 440.0f, temp_v0->unk_10, 271.0f); - script->functionTemp[2] = 1; - } - } else if (temp_v0->unk_10 == var_f22) { - sfx_stop_sound(SOUND_8000000F); - script->functionTemp[2] = 0; - } - temp_s0_2 = evt_get_variable(script, MapVar(11)); - if (script->functionTemp[3] == 0) { - if (temp_s0_2 != script->varTable[1]) { - f32 x, y, z; - - get_collider_center(0x6E, &x, &y, &z); - sfx_play_sound_at_position(SOUND_80000010, 0, x, y, z); - script->functionTemp[3] = 1; - } - } else if (temp_s0_2 == script->varTable[1]) { - sfx_stop_sound(SOUND_80000010); - script->functionTemp[3] = 0; - } - script->varTable[1] = temp_s0_2; - guTranslateF(model->transformMatrix, 0.0f, temp_v0->unk_10 - 300.0f, 0.0f); - guRotateF(sp18, temp_v0->unk_14, 0.0f, 0.0f, 1.0f); - guMtxCatF(model->transformMatrix, sp18, model->transformMatrix); - guTranslateF(sp18, 0.0f, 300.0f, 0.0f); - guMtxCatF(model->transformMatrix, sp18, model->transformMatrix); - guMtxCatF(temp_v0->unk_1C, model->transformMatrix, model->transformMatrix); - model->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED; - - for (i = 1; i < ARRAY_COUNT(temp_v0->models); i++) { - copy_matrix(model->transformMatrix, temp_v0->models[i]->transformMatrix); - temp_v0->models[i]->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED; - } - - if (temp_v0->unk_00 & 2) { - playerStatus->position.x = (-sin_deg(temp_v0->unk_14) * (temp_v0->unk_10 - 300.0f)) + 445.0f; - playerStatus->position.y = ((cos_deg(temp_v0->unk_14) * (temp_v0->unk_10 - 300.0f)) - 135.0f) + 300.0f; - playerStatus->position.z = 279.0f; - } - return ApiStatus_BLOCK; -} - -// unused? -ApiStatus func_802406AC_BBD84C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* var; // TODO what is this? - s32 temp_a1; - - if (isInitialCall) { - var = (s32*) evt_get_variable(script, *args++); - script->functionTemp[1] = *var; - } - - var = script->functionTempPtr[1]; - if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { - if (*var & 4) { - script->varTable[0] = 1; - } else { - script->varTable[0] = 0; - } - *var &= ~2; - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80240730_BBD8D0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* var; // TODO what is this? - s32 temp_a1; - - if (isInitialCall) { - var = (s32*) evt_get_variable(script, *args++); - script->functionTemp[1] = *var; - } - - var = script->functionTempPtr[1]; - if (*var & 4) { - *var &= ~2; - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -ApiStatus func_80240790_BBD930(Evt* script, s32 isInitialCall) { - ItemEntity* item = get_item_entity(script->varTable[0]); - - set_item_entity_flags(script->varTable[0], ITEM_ENTITY_FLAGS_TRANSPARENT); - item->alpha = -1; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_01/BBD980.c b/src/world/area_obk/obk_01/BBD980.c deleted file mode 100644 index ada8490023..0000000000 --- a/src/world/area_obk/obk_01/BBD980.c +++ /dev/null @@ -1,109 +0,0 @@ -#include "obk_01.h" - -#include "world/common/todo/StashVars.inc.c" - -#include "world/common/todo/GetItemName.inc.c" - -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" - -INCLUDE_ASM(s32, "world/area_obk/obk_01/BBD980", func_80240B24_BBDCC4); - -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} - -BSS s32 obk_01_802458F0[114]; - -ApiStatus func_80240BB0_BBDD50(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - obk_01_802458F0[i] = ptr[i]; - } - obk_01_802458F0[i] = 0; - } else { - for (i = 0; i < 112; i++) { - obk_01_802458F0[i] = i + 16; - obk_01_802458F0[112] = 0; - } - } - return ApiStatus_DONE2; -} - -extern s32 N(LetterDelivery_SavedNpcAnim); -#include "world/common/todo/LetterDelivery.inc.c" - -ApiStatus func_80240F38_BBE0D8(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_safe(script->owner2.npcID); - - if (isInitialCall) { - script->functionTemp[1] = 0; - } - - switch (script->functionTemp[1]) { - case 0: - npc->pos.z = rand_int(100) + 180; - npc->pos.y = rand_int(100) - 200; - npc->moveSpeed = (2.0f * rand_float()) + 2.0f; - if (rand_int(100) < 50) { - npc->pos.x = 920.0f; - npc->yaw = 270.0f; - } else { - npc->pos.x = -20.0f; - npc->yaw = 90.0f; - } - script->functionTemp[1] = 1; - break; - case 1: - npc_move_heading(npc, npc->moveSpeed, npc->yaw); - if (npc->pos.x < -30.0f || npc->pos.x > 930.0f) { - script->functionTemp[1] = 0; - } - break; - } - return ApiStatus_BLOCK; -} - -extern s16 D_80244A54_BC1BF4[]; - -ApiStatus func_80241094_BBE234(Evt* script, s32 isInitialCall) { - s32 var0 = script->varTable[0]; - s32 var1 = script->varTable[1]; - s32 temp; - - if (var1 == 0) { - script->functionTemp[2] = D_80244A54_BC1BF4[rand_int(3)]; - var1 = rand_int(50) + 30; - } - var1--; - - temp = script->functionTemp[2]; - if (var0 < temp) { - var0 += 10; - if (temp < var0) { - var0 = temp; - } - } - if (temp < var0) { - var0 -= 10; - if (var0 < temp) { - var0 = temp; - } - } - - script->varTable[0] = var0; - script->varTable[1] = var1; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_01/obk_01.h b/src/world/area_obk/obk_01/obk_01.h index 3d627865ac..5db847fe63 100644 --- a/src/world/area_obk/obk_01/obk_01.h +++ b/src/world/area_obk/obk_01/obk_01.h @@ -2,8 +2,35 @@ /// @brief Boo's Mansion - Foyer #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_01_shape.h" +#include "mapfs/obk_01_hit.h" + +#include "sprite/npc/WorldParakarry.h" +#include "sprite/npc/Boo.h" + +enum { + NPC_JumpScareBoo = 0, + NPC_TrafficBoo1 = 1, + NPC_TrafficBoo2 = 2, + NPC_UpstairsBoo = 3, + NPC_Franky = 4, +}; + +enum { + MV_UnusedPosOffset = MapVar(10), + MV_CabinetPosOffset = MapVar(11), +}; + #define NAMESPACE obk_01 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupChandelier); +extern EvtScript N(EVS_SetupPortrait); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_Scene_JumpScareBoo); +extern NpcGroupList N(DefaultNPCs); +extern EvtScript N(EVS_MakeEntities); diff --git a/src/world/area_obk/obk_01/obk_01_0_header.c b/src/world/area_obk/obk_01/obk_01_0_header.c new file mode 100644 index 0000000000..e902cc4eee --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_0_header.c @@ -0,0 +1,18 @@ +#include "obk_01.h" + +EntryList N(Entrances) = { + [obk_01_ENTRY_0] { 460.0, -420.0, 630.0, 0.0 }, + [obk_01_ENTRY_1] { 250.0, -420.0, 15.0, 180.0 }, + [obk_01_ENTRY_2] { 610.0, -420.0, 15.0, 180.0 }, + [obk_01_ENTRY_3] { 250.0, -210.0, 15.0, 180.0 }, + [obk_01_ENTRY_4] { 610.0, -210.0, 15.0, 180.0 }, + [obk_01_ENTRY_5] { 270.0, 0.0, 15.0, 180.0 }, + [obk_01_ENTRY_6] { 630.0, 0.0, 15.0, 180.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_obk_01 }, +}; diff --git a/src/world/area_obk/obk_01/obk_01_1_music.c b/src/world/area_obk/obk_01/obk_01_1_music.c new file mode 100644 index 0000000000..1e989572f4 --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_1_music.c @@ -0,0 +1,12 @@ +#include "obk_01.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_CALL(ClearAmbientSounds, 250) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_01/obk_01_2_main.c b/src/world/area_obk/obk_01/obk_01_2_main.c new file mode 100644 index 0000000000..414bf98fe2 --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_2_main.c @@ -0,0 +1,206 @@ +#include "obk_01.h" + +EvtScript N(EVS_ExitDoors_mim_11_2) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar0, obk_01_ENTRY_0) + EVT_SET(LVar1, COLLIDER_tt1) + EVT_SET(LVar2, MODEL_door1_2) + EVT_SET(LVar3, MODEL_door1_1) + EVT_EXEC(ExitDoubleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("mim_11"), mim_11_ENTRY_2) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_02_0) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_WEIGHED_DOWN_CHANDELIER) + EVT_RETURN + EVT_END_IF + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_BASIC) + EVT_SET(LVar0, obk_01_ENTRY_1) + EVT_SET(LVar1, COLLIDER_tt2) + EVT_SET(LVar2, MODEL_door2) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC(ExitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_02"), obk_02_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_05_0) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_TRIGGERED_DOOR_JUMP_SCARE) + EVT_EXEC(N(EVS_Scene_JumpScareBoo)) + EVT_RETURN + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_BASIC) + EVT_SET(LVar0, obk_01_ENTRY_2) + EVT_SET(LVar1, COLLIDER_tt3) + EVT_SET(LVar2, MODEL_door3) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC(ExitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_05"), obk_05_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_07_0) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_TRIGGERED_DOOR_JUMP_SCARE) + EVT_EXEC(N(EVS_Scene_JumpScareBoo)) + EVT_RETURN + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_BASIC) + EVT_SET(LVar0, obk_01_ENTRY_3) + EVT_SET(LVar1, COLLIDER_tt4) + EVT_SET(LVar2, MODEL_door4) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC(ExitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_07"), obk_07_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_08_0) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_TRIGGERED_DOOR_JUMP_SCARE) + EVT_EXEC(N(EVS_Scene_JumpScareBoo)) + EVT_RETURN + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_BASIC) + EVT_SET(LVar0, obk_01_ENTRY_4) + EVT_SET(LVar1, COLLIDER_tt5) + EVT_SET(LVar2, MODEL_door5) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC(ExitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_08"), obk_08_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_09_0) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar0, obk_01_ENTRY_5) + EVT_SET(LVar1, COLLIDER_tt6) + EVT_SET(LVar2, MODEL_door6_1) + EVT_SET(LVar3, MODEL_door6_2) + EVT_EXEC(ExitDoubleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_09"), obk_09_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_09_1) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar0, obk_01_ENTRY_6) + EVT_SET(LVar1, COLLIDER_tt6_1) + EVT_SET(LVar2, MODEL_door7_1) + EVT_SET(LVar3, MODEL_door7_2) + EVT_EXEC(ExitDoubleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_09"), obk_09_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_mim_11_2)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_02_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt2, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_05_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt3, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_07_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt4, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_08_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt5, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_09_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt6, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_09_1)), TRIGGER_WALL_PRESS_A, COLLIDER_tt6_1, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetLoadType, LVar1) + EVT_IF_EQ(LVar1, LOAD_FROM_FILE_SELECT) + EVT_EXEC(EnterSavePoint) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_RETURN + EVT_END_IF + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_BASIC) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(obk_01_ENTRY_0) + EVT_IF_EQ(GF_OBK01_Visited, FALSE) + EVT_SET(GF_OBK01_Visited, TRUE) + EVT_SET(GB_StoryProgress, STORY_CH3_ENTERED_BOOS_MANSION) + EVT_END_IF + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar2, MODEL_door1_2) + EVT_SET(LVar3, MODEL_door1_1) + EVT_EXEC_WAIT(EnterDoubleDoor) + EVT_CASE_EQ(obk_01_ENTRY_1) + EVT_SET(LVar2, MODEL_door2) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC_WAIT(EnterSingleDoor) + EVT_CASE_EQ(obk_01_ENTRY_2) + EVT_SET(LVar2, MODEL_door3) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC_WAIT(EnterSingleDoor) + EVT_CASE_EQ(obk_01_ENTRY_3) + EVT_SET(LVar2, MODEL_door4) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC_WAIT(EnterSingleDoor) + EVT_CASE_EQ(obk_01_ENTRY_4) + EVT_SET(LVar2, MODEL_door5) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC_WAIT(EnterSingleDoor) + EVT_CASE_EQ(obk_01_ENTRY_5) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar2, MODEL_door6_1) + EVT_SET(LVar3, MODEL_door6_2) + EVT_EXEC_WAIT(EnterDoubleDoor) + EVT_CASE_EQ(obk_01_ENTRY_6) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar2, MODEL_door7_1) + EVT_SET(LVar3, MODEL_door7_2) + EVT_EXEC_WAIT(EnterDoubleDoor) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_SET(GF_MAP_BoosMansion, TRUE) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupChandelier)) + EVT_EXEC(N(EVS_SetupPortrait)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_EnterMap)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_01/obk_01_3_chandelier.c b/src/world/area_obk/obk_01/obk_01_3_chandelier.c new file mode 100644 index 0000000000..a1a9ca5a94 --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_3_chandelier.c @@ -0,0 +1,628 @@ +#include "obk_01.h" +#include "model.h" + +#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/todo/SetCamera0MoveFlag1.inc.c" + +extern EvtScript N(EVS_LaunchFromCouch_Crash); + +s32 N(ItemList_BooWeight)[] = { + ITEM_BOO_WEIGHT, + ITEM_NONE +}; + +s32 N(ChandelierModels)[] = { + MODEL_kusari_1, + MODEL_kusari_2, + MODEL_wa, + MODEL_hi +}; + +API_CALLABLE(N(SetCameraVFOV)) { + Bytecode* args = script->ptrReadPos; + + gCameras[CAM_DEFAULT].vfov = (s32) evt_get_float_variable(script, *args++); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(CheckForAPress)) { + u32 pressedButtons = gGameStatusPtr->pressedButtons[0]; + s32 pressed; + + if (pressedButtons & BUTTON_A) { + pressed = TRUE; + } else { + pressed = FALSE; + } + script->varTable[6] = pressed; + return ApiStatus_DONE2; +} + +typedef struct Chandelier { + /* 0x00 */ s32 flags; + /* 0x04 */ s32 stateTimeLeft; + /* 0x08 */ struct ChandelierControlData* controlData; + /* 0x0C */ f32 swingPhase; + /* 0x10 */ f32 dropDistance; + /* 0x14 */ f32 swingAngle; + /* 0x18 */ f32 swingMagnitude; + /* 0x1C */ Matrix4f transformMtx; + /* 0x5C */ Model* models[ARRAY_COUNT(N(ChandelierModels))]; +} Chandelier; // size = 0x6C; + +enum { + CHANDELIER_FLAG_SWINGING = 1, + CHANDELIER_FLAG_TETHER_PLAYER = 2, + CHANDELIER_FLAG_RELEASED_PLAYER = 4, +}; + +enum { + CHANDELIER_STATE_IDLE = 0, // wait in retracted position + CHANDELIER_STATE_PRE_DROP = 1, // begin swing before dropping + CHANDELIER_STATE_DROPPING = 2, // slowly drop down + CHANDELIER_STATE_POST_DROP = 3, // after drop is complete, slow down swing + CHANDELIER_STATE_DROPPED = 4, // wait in neutral dropped position + CHANDELIER_STATE_PRE_RETRACT = 10, // wait before retracting + CHANDELIER_STATE_RETRACTING = 11, // slowly retract +}; + +enum { + CONTROL_STATE_WAITING = 0, + CONTROL_STATE_DROP = 1, + CONTROL_STATE_RETRACT = 2, + CONTROL_STATE_RETRACTING = 3, +}; + +typedef struct ChandelierControlData { + /* 0x00 */ Chandelier* chandelier; + /* 0x04 */ s32 controlState; + /* 0x08 */ s32 unk_08; +} ChandelierControlData; // size = 0xC; + +// script array mapping for ChandelierControlData struct +enum { + CONTROL_DATA_PTR = ArrayVar(0), + CONTROL_DATA_STATE = ArrayVar(1), + CONTROL_DATA_8 = ArrayVar(2), +}; + +API_CALLABLE(N(UpdateChandelier)) { + PlayerStatus* playerStatus = &gPlayerStatus; + Bytecode* args = script->ptrReadPos; + Chandelier* chandelier; + Model* model; + Matrix4f tempMtx; + f32 lastDropDistance; + f32 nextSwingAngle; + s32 motionsDone; + s32 cabinetPos; + s32 i; + + if (isInitialCall) { + script->functionTempPtr[1] = chandelier = heap_malloc(sizeof(*chandelier)); + chandelier->controlData = (ChandelierControlData*) evt_get_variable(script, *args++); + chandelier->controlData->chandelier = chandelier; + + for (i = 0; i < ARRAY_COUNT(chandelier->models); i++) { + s32 modelID = N(ChandelierModels)[i]; + s32 modelIndex = get_model_list_index_from_tree_index(modelID); + chandelier->models[i] = get_model_from_list_index(modelIndex); + } + + model = chandelier->models[0]; + copy_matrix(model->transformMatrix, chandelier->transformMtx); + + lastDropDistance = 0.0f; + chandelier->dropDistance = 0.0f; + chandelier->swingAngle = 0.0f; + chandelier->swingPhase = 180.0f; + chandelier->swingMagnitude = 10.0f; + chandelier->flags = 0; + + script->functionTemp[0] = CHANDELIER_STATE_IDLE; + script->functionTemp[2] = FALSE; + script->functionTemp[3] = FALSE; + } + + chandelier = script->functionTempPtr[1]; + model = chandelier->models[0]; + lastDropDistance = chandelier->dropDistance; + + if (chandelier->controlData->controlState == CONTROL_STATE_RETRACT) { + script->functionTemp[0] = CHANDELIER_STATE_PRE_RETRACT; + chandelier->controlData->controlState = CONTROL_STATE_RETRACTING; + chandelier->stateTimeLeft = 10; + } + + switch (script->functionTemp[0]) { + case CHANDELIER_STATE_IDLE: + if (chandelier->controlData->controlState != CONTROL_STATE_WAITING) { + lastDropDistance = 0.0f; + chandelier->stateTimeLeft = 35; + chandelier->dropDistance = 0.0f; + chandelier->swingAngle = 0.0f; + chandelier->swingMagnitude = 10.0f; + chandelier->swingPhase = 180.0f; + chandelier->flags |= CHANDELIER_FLAG_TETHER_PLAYER; + chandelier->flags |= CHANDELIER_FLAG_SWINGING; + script->functionTemp[0] = CHANDELIER_STATE_PRE_DROP; + } + break; + case CHANDELIER_STATE_PRE_DROP: + chandelier->stateTimeLeft--; + if (chandelier->stateTimeLeft == -1) { + script->functionTemp[0] = CHANDELIER_STATE_DROPPING; + } + break; + case CHANDELIER_STATE_DROPPING: + chandelier->dropDistance += -1.4666667f; + if (chandelier->dropDistance < -220.0f) { + chandelier->dropDistance = -220.0f; + script->functionTemp[0] = CHANDELIER_STATE_POST_DROP; + } + break; + case CHANDELIER_STATE_POST_DROP: + chandelier->swingMagnitude -= 0.06666667f; + if (chandelier->swingMagnitude < 0.0f) { + chandelier->swingMagnitude = 0.0f; + script->functionTemp[0] = CHANDELIER_STATE_DROPPED; + chandelier->flags &= ~CHANDELIER_FLAG_SWINGING; + chandelier->flags |= CHANDELIER_FLAG_RELEASED_PLAYER; + } + break; + case CHANDELIER_STATE_PRE_RETRACT: + chandelier->stateTimeLeft--; + if (chandelier->stateTimeLeft == -1) { + script->functionTemp[0] = CHANDELIER_STATE_RETRACTING; + } + break; + case CHANDELIER_STATE_RETRACTING: + motionsDone = 0; + chandelier->flags &= ~CHANDELIER_FLAG_RELEASED_PLAYER; + chandelier->dropDistance += 4.0f; + if (chandelier->dropDistance >= 0.0f) { + chandelier->dropDistance = 0.0f; + motionsDone++; + } + chandelier->swingMagnitude -= 0.2f; + if (chandelier->swingMagnitude < 0.0f) { + chandelier->swingMagnitude = 0.0f; + chandelier->flags &= ~CHANDELIER_FLAG_SWINGING; + motionsDone++; + } + if (motionsDone == 2) { + chandelier->controlData->controlState = CONTROL_STATE_WAITING; + script->functionTemp[0] = CHANDELIER_STATE_IDLE; + } + break; + } + + // manage swing status + if (chandelier->flags & CHANDELIER_FLAG_SWINGING) { + chandelier->swingPhase = clamp_angle(chandelier->swingPhase + 3.6f); + nextSwingAngle = sin_deg(chandelier->swingPhase) * chandelier->swingMagnitude; + if (chandelier->swingAngle == 0.0f) { + chandelier->swingAngle = 1.0f; + } + // detect direction reversal + if (nextSwingAngle * chandelier->swingAngle <= 0.0f) { + sfx_play_sound_at_player(SOUND_9D, 0); + } + chandelier->swingAngle = nextSwingAngle; + } + + // chain lowering sounds + if (!script->functionTemp[2]) { + // is chain moving? + if (chandelier->dropDistance != lastDropDistance) { + sfx_play_sound_at_position(SOUND_8000000F, 0, 440.0f, chandelier->dropDistance, 271.0f); + script->functionTemp[2] = TRUE; + } + } else { + // is chain done moving? + if (chandelier->dropDistance == lastDropDistance) { + sfx_stop_sound(SOUND_8000000F); + script->functionTemp[2] = FALSE; + } + } + + // cabinet moving sounds + cabinetPos = evt_get_variable(script, MV_CabinetPosOffset); + if (!script->functionTemp[3]) { + // is cabinet moving? + if (cabinetPos != script->varTable[1]) { + f32 x, y, z; + + get_collider_center(COLLIDER_o557, &x, &y, &z); + sfx_play_sound_at_position(SOUND_80000010, 0, x, y, z); + script->functionTemp[3] = TRUE; + } + } else { + // is cabinet done moving? + if (cabinetPos == script->varTable[1]) { + sfx_stop_sound(SOUND_80000010); + script->functionTemp[3] = FALSE; + } + } + + script->varTable[1] = cabinetPos; + guTranslateF(model->transformMatrix, 0.0f, chandelier->dropDistance - 300.0f, 0.0f); + guRotateF(tempMtx, chandelier->swingAngle, 0.0f, 0.0f, 1.0f); + guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); + guTranslateF(tempMtx, 0.0f, 300.0f, 0.0f); + guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); + guMtxCatF(chandelier->transformMtx, model->transformMatrix, model->transformMatrix); + model->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED; + + for (i = 1; i < ARRAY_COUNT(chandelier->models); i++) { + copy_matrix(model->transformMatrix, chandelier->models[i]->transformMatrix); + chandelier->models[i]->flags |= MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED; + } + + if (chandelier->flags & CHANDELIER_FLAG_TETHER_PLAYER) { + playerStatus->position.x = (-sin_deg(chandelier->swingAngle) * (chandelier->dropDistance - 300.0f)) + 445.0f; + playerStatus->position.y = ((cos_deg(chandelier->swingAngle) * (chandelier->dropDistance - 300.0f)) - 135.0f) + 300.0f; + playerStatus->position.z = 279.0f; + } + return ApiStatus_BLOCK; +} + +// unused +API_CALLABLE(N(ChandelierTryCancel)) { + Bytecode* args = script->ptrReadPos; + Chandelier* chandelier; + + if (isInitialCall) { + ChandelierControlData* data = (ChandelierControlData*) evt_get_variable(script, *args++); + script->functionTempPtr[1] = data->chandelier; + } + + chandelier = script->functionTempPtr[1]; + if (gGameStatusPtr->pressedButtons[0] & BUTTON_A) { + if (chandelier->flags & CHANDELIER_FLAG_RELEASED_PLAYER) { + script->varTable[0] = TRUE; + } else { + script->varTable[0] = FALSE; + } + chandelier->flags &= ~CHANDELIER_FLAG_TETHER_PLAYER; + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(ChandelierTryRelease)) { + Bytecode* args = script->ptrReadPos; + Chandelier* chandelier; + + if (isInitialCall) { + ChandelierControlData* data = (ChandelierControlData*) evt_get_variable(script, *args++); + script->functionTempPtr[1] = data->chandelier; + } + + chandelier = script->functionTempPtr[1]; + if (chandelier->flags & CHANDELIER_FLAG_RELEASED_PLAYER) { + chandelier->flags &= ~CHANDELIER_FLAG_TETHER_PLAYER; + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +EvtScript N(EVS_ManageChandelierPosition) = { + EVT_CALL(N(UpdateChandelier), LVar0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ManageCabinetPosition) = { + EVT_LABEL(10) + EVT_IF_NE(AF_OBK01_CabinetMoved, FALSE) + EVT_GOTO(30) + EVT_END_IF + EVT_SET(LVar0, MV_CabinetPosOffset) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(20) + EVT_END_IF + EVT_ADD(LVar0, 3) + EVT_IF_LT(LVar0, 0) + EVT_GOTO(20) + EVT_END_IF + EVT_SET(LVar0, 0) + EVT_LABEL(20) + EVT_CALL(TranslateModel, MODEL_hon1, LVar0, 0, 0) + EVT_CALL(TranslateModel, MODEL_hon2, LVar0, 0, 0) + EVT_CALL(UpdateColliderTransform, COLLIDER_o557) + EVT_CALL(UpdateColliderTransform, COLLIDER_o556) + EVT_SET(MV_CabinetPosOffset, LVar0) + EVT_LABEL(30) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Couch_AnimateCushion) = { + EVT_CALL(TranslateModel, LVar8, 0, -1, 0) + EVT_WAIT(1) + EVT_CALL(TranslateModel, LVar8, 0, -2, 0) + EVT_WAIT(1) + EVT_CALL(MakeLerp, 0, 20, 3, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateModel, LVar8, -100, 0, 0) + EVT_CALL(RotateModel, LVar8, LVar0, 0, 0, 1) + EVT_CALL(TranslateModel, LVar8, 100, 0, 0) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(MakeLerp, 20, 0, 10, EASING_QUADRATIC_OUT) + EVT_LABEL(2) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateModel, LVar8, -100, 0, 0) + EVT_CALL(RotateModel, LVar8, LVar0, 0, 0, 1) + EVT_CALL(TranslateModel, LVar8, 100, 0, 0) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(2) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Couch_AnimateSpring) = { + EVT_WAIT(2) + EVT_CALL(MakeLerp, 10, 25, 3, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(5) + EVT_SET(LVar2, LVar0) + EVT_SUB(LVar2, 10) + EVT_CALL(UpdateLerp) + EVT_SET(LVar3, LVar0) + EVT_MULF(LVar3, EVT_FLOAT(0.1)) + EVT_CALL(ScaleModel, LVar8, EVT_FLOAT(1.0), LVar3, EVT_FLOAT(1.0)) + EVT_CALL(RotateModel, LVar8, LVar2, 0, 0, 1) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(5) + EVT_END_IF + EVT_CALL(MakeLerp, 25, 10, 10, EASING_QUADRATIC_OUT) + EVT_LABEL(6) + EVT_CALL(UpdateLerp) + EVT_SET(LVar2, LVar0) + EVT_SUB(LVar2, 10) + EVT_SET(LVar3, LVar0) + EVT_MULF(LVar3, EVT_FLOAT(0.1)) + EVT_CALL(ScaleModel, LVar8, EVT_FLOAT(1.0), LVar3, EVT_FLOAT(1.0)) + EVT_CALL(RotateModel, LVar8, LVar2, 0, 0, 1) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(6) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_LaunchFromCouch_GrabChandelier) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(InterruptUsePartner) + EVT_LOOP(0) + EVT_WAIT(1) + EVT_CALL(GetPlayerActionState, LVar8) + EVT_IF_EQ(LVar8, ACTION_STATE_IDLE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_SET(LVarA, LVar0) + EVT_USE_ARRAY(LVar0) + EVT_SET(CONTROL_DATA_8, FALSE) + EVT_SET(LVar8, MODEL_tobu1) + EVT_EXEC(N(EVS_Couch_AnimateCushion)) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o567, SOUND_2086, 0) + EVT_SET(LVar8, MODEL_bane1) + EVT_EXEC(N(EVS_Couch_AnimateSpring)) + EVT_CALL(SetPlayerActionState, ACTION_STATE_JUMP) + EVT_WAIT(1) + EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) + EVT_SUB(LVar3, 1) + EVT_CALL(SetPlayerPos, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_SUB(LVar3, 1) + EVT_CALL(SetPlayerPos, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_THREAD + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, -420, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(10.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 750) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 455, -210, 279) + EVT_END_THREAD + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.8)) + EVT_CALL(PlayerJump, 455, -135, 279, 30) + EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) + EVT_CALL(SetPlayerPos, 445, -135, 279) + EVT_WAIT(1) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8000D) + EVT_WAIT(1) + EVT_SET(AF_OBK01_CabinetMoved, TRUE) + EVT_THREAD + EVT_WAIT(60) + EVT_CALL(MakeLerp, 0, -100, 100, EASING_LINEAR) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateModel, MODEL_hon1, LVar0, 0, 0) + EVT_CALL(TranslateModel, MODEL_hon2, LVar0, 0, 0) + EVT_CALL(UpdateColliderTransform, COLLIDER_o557) + EVT_CALL(UpdateColliderTransform, COLLIDER_o556) + EVT_SET(MV_CabinetPosOffset, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(AF_OBK01_CabinetMoved, FALSE) + EVT_GOTO(15) + EVT_END_IF + EVT_IF_NE(LVar1, 0) + EVT_GOTO(10) + EVT_END_IF + EVT_LABEL(15) + EVT_END_THREAD + EVT_SET(CONTROL_DATA_STATE, CONTROL_STATE_DROP) + EVT_CHILD_THREAD + EVT_WAIT(30) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 450) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.5)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 455, -420, 279) + EVT_END_CHILD_THREAD + EVT_CALL(N(ChandelierTryRelease), LVarA) + EVT_CALL(ShowKeyChoicePopup) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(35) + EVT_END_IF + EVT_IF_NE(LVar0, -1) + EVT_GOTO(40) + EVT_END_IF + EVT_LABEL(35) + EVT_CALL(CloseChoicePopup) + EVT_LABEL(39) + EVT_SET(CONTROL_DATA_STATE, CONTROL_STATE_RETRACT) + EVT_SET(CONTROL_DATA_8, TRUE) + EVT_THREAD + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, -420, LVar2) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_END_THREAD + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_THREAD + EVT_WAIT(30) + EVT_SET(AF_OBK01_CabinetMoved, FALSE) + EVT_END_THREAD + EVT_RETURN + EVT_LABEL(40) + EVT_CALL(FindKeyItem, ITEM_BOO_WEIGHT, LVar1) + EVT_CALL(RemoveKeyItemAt, LVar1) + EVT_CALL(MakeItemEntity, LVar0, 447, -350, 278, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_SET(GB_StoryProgress, STORY_CH3_WEIGHED_DOWN_CHANDELIER) + EVT_CALL(CloseChoicePopup) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_LaunchFromCouch_Crash)), TRIGGER_FLOOR_TOUCH, COLLIDER_o567, 1, 0) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_UNBIND + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TetherCameraToPlayer) = { + EVT_LOOP(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_LaunchFromCouch_Crash) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(InterruptUsePartner) + EVT_CALL(DisablePartnerAI, 0) + EVT_LOOP(0) + EVT_WAIT(1) + EVT_CALL(GetPlayerActionState, LVar0) + EVT_IF_EQ(LVar0, ACTION_STATE_IDLE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_SET(LVar8, MODEL_tobu1) + EVT_EXEC(N(EVS_Couch_AnimateCushion)) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o567, SOUND_2086, 0) + EVT_SET(LVar8, MODEL_bane1) + EVT_EXEC(N(EVS_Couch_AnimateSpring)) + EVT_CALL(SetPlayerActionState, ACTION_STATE_JUMP) + EVT_EXEC_GET_TID(N(EVS_TetherCameraToPlayer), LVarA) + EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) + EVT_SUB(LVar3, 1) + EVT_CALL(SetPlayerPos, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_SUB(LVar3, 1) + EVT_CALL(SetPlayerPos, LVar2, LVar3, LVar4) + EVT_WAIT(1) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.4)) + EVT_CALL(PlayerJump, 51, -210, 87, 60) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtPlayer, SOUND_162, 0) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80003) + EVT_WAIT(30) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_GetUp) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_DustOff) + EVT_WAIT(7) + EVT_CALL(PlaySoundAtPlayer, SOUND_DUST_OFF, 0) + EVT_WAIT(8) + EVT_CALL(PlaySoundAtPlayer, SOUND_DUST_OFF, 0) + EVT_WAIT(15) + EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) + EVT_KILL_THREAD(LVarA) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_WAIT(1) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupChandelier) = { + EVT_MALLOC_ARRAY(3, LVarA) + EVT_SET(CONTROL_DATA_PTR, NULL) + EVT_SET(CONTROL_DATA_STATE, CONTROL_STATE_WAITING) + EVT_SET(CONTROL_DATA_8, FALSE) + EVT_CALL(ParentColliderToModel, COLLIDER_o557, MODEL_hon1) + EVT_CALL(ParentColliderToModel, COLLIDER_o556, MODEL_hon2) + EVT_CALL(ParentColliderToModel, COLLIDER_tobu_1_1, MODEL_tobu_1_1) + EVT_CALL(ParentColliderToModel, COLLIDER_o567, MODEL_tobu1) + EVT_CALL(ParentColliderToModel, COLLIDER_tabu_3_1, MODEL_tobu_3_1) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_WEIGHED_DOWN_CHANDELIER) + EVT_SET(LVar0, -100) + EVT_CALL(TranslateModel, MODEL_hon1, LVar0, 0, 0) + EVT_CALL(TranslateModel, MODEL_hon2, LVar0, 0, 0) + EVT_CALL(UpdateColliderTransform, COLLIDER_o557) + EVT_CALL(UpdateColliderTransform, COLLIDER_o556) + EVT_SET(LVar0, -220) + EVT_CALL(TranslateModel, MODEL_kusari_1, 0, LVar0, 0) + EVT_CALL(TranslateModel, MODEL_kusari_2, 0, LVar0, 0) + EVT_CALL(TranslateModel, MODEL_wa, 0, LVar0, 0) + EVT_CALL(TranslateModel, MODEL_hi, 0, LVar0, 0) + EVT_CALL(MakeItemEntity, ITEM_BOO_WEIGHT, 447, -350, 278, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_LaunchFromCouch_Crash)), TRIGGER_FLOOR_TOUCH, COLLIDER_o567, 1, 0) + EVT_ELSE + EVT_SET(MV_UnusedPosOffset, 0) + EVT_SET(MV_CabinetPosOffset, 0) + EVT_EXEC(N(EVS_ManageCabinetPosition)) + EVT_SET(LVar0, LVarA) + EVT_EXEC(N(EVS_ManageChandelierPosition)) + EVT_SET(LVar0, LVarA) + EVT_BIND_PADLOCK(EVT_PTR(N(EVS_LaunchFromCouch_GrabChandelier)), TRIGGER_FLOOR_TOUCH, COLLIDER_o567, EVT_PTR(N(ItemList_BooWeight)), 0, 1) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_01/obk_01_4_portrait.c b/src/world/area_obk/obk_01/obk_01_4_portrait.c new file mode 100644 index 0000000000..4659a1c482 --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_4_portrait.c @@ -0,0 +1,255 @@ +#include "obk_01.h" +#include "sprite.h" + +API_CALLABLE(N(SetPortraitItemAlpha)) { + ItemEntity* item = get_item_entity(script->varTable[0]); + + set_item_entity_flags(script->varTable[0], ITEM_ENTITY_FLAGS_TRANSPARENT); + item->alpha = 255; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_AnimateSpeakingPortrait) = { + // hide empty frames + EVT_CALL(EnableModel, MODEL_n1, FALSE) + EVT_CALL(EnableModel, MODEL_n2, FALSE) + EVT_LOOP(0) + // toggle different frames of the speaking 'animation' + EVT_CALL(EnableModel, MODEL_u1, TRUE) + EVT_CALL(EnableModel, MODEL_u2, TRUE) + EVT_CALL(EnableModel, MODEL_si1, FALSE) + EVT_CALL(EnableModel, MODEL_si2, FALSE) + EVT_WAIT(5) + EVT_CALL(EnableModel, MODEL_u1, FALSE) + EVT_CALL(EnableModel, MODEL_u2, FALSE) + EVT_CALL(EnableModel, MODEL_si1, TRUE) + EVT_CALL(EnableModel, MODEL_si2, TRUE) + EVT_WAIT(5) + EVT_SUB(LVar0, 1) + EVT_IF_EQ(LVar0, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_LowerPortrait) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_GOT_BOO_PORTRAIT) + EVT_IF_EQ(GF_OBK01_Met_Portrait, FALSE) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH3_002B, 160, 40) + EVT_SET(GF_OBK01_Met_Portrait, TRUE) + EVT_ELSE + EVT_CALL(ShowMessageAtScreenPos, MSG_CH3_002C, 160, 40) + EVT_END_IF + EVT_CASE_EQ(STORY_CH3_GOT_BOO_PORTRAIT) + EVT_CALL(ShowKeyChoicePopup) + EVT_CALL(CloseChoicePopup) + EVT_SWITCH(LVar0) + EVT_CASE_GE(1) + EVT_CALL(RemoveKeyItemAt, LVar1) + EVT_WAIT(10) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_6000C) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 40) + EVT_CALL(MakeItemEntity, ITEM_BOO_PORTRAIT, LVar0, LVar1, LVar2, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_CALL(N(SetPortraitItemAlpha)) + EVT_SET(LVarA, LVar0) + EVT_WAIT(30) + EVT_CALL(GetPlayerPos, LVar3, LVar4, LVar5) + EVT_SET(LVar6, 40) + EVT_ADD(LVar6, LVar4) + EVT_SET(LVar7, 70) + EVT_ADD(LVar7, LVar4) + EVT_CALL(MakeLerp, LVar6, LVar7, 20, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemPos, LVarA, LVar3, LVar0, LVar5) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(MakeLerp, 255, 0, 30, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemAlpha, LVarA, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(30) + EVT_CALL(RemoveItemEntity, LVarA) + EVT_IF_EQ(GF_OBK01_Met_Portrait, TRUE) + EVT_SET(LVar0, 25) + EVT_EXEC(N(EVS_AnimateSpeakingPortrait)) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH3_002D, 160, 40) + EVT_ELSE + EVT_SET(LVar0, 35) + EVT_EXEC(N(EVS_AnimateSpeakingPortrait)) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH3_002E, 160, 40) + EVT_END_IF + EVT_SET(GB_StoryProgress, STORY_CH3_RESTORED_BOO_PORTRAIT) + EVT_END_SWITCH + EVT_CASE_DEFAULT + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetPlayerAnimation, SPRITE_ID_BACK_FACING | ANIM_Mario_BeforeJump) + EVT_WAIT(3) + EVT_CALL(SetPlayerAnimation, SPRITE_ID_BACK_FACING | ANIM_Mario_AnimMidairStill) + EVT_WAIT(1) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(1.0)) + EVT_CALL(PlayerJump, 812, -170, -2, 20) + EVT_CALL(PlaySoundAtPlayer, SOUND_D9, 0) + EVT_WAIT(10) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 812, 0, 28) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 812, 0, 28) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidairStill) + EVT_WAIT(1) + EVT_CALL(PlaySoundAtPlayer, SOUND_DA, 0) + EVT_CALL(SetPlayerPos, 812, 61, -2) + EVT_CALL(PlayerJump, 812, 0, 28, 8) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(EnablePartnerAI) + EVT_IF_EQ(GF_OBK01_Portrait_Farewell, FALSE) + EVT_WAIT(10) + EVT_SET(LVar0, 5) + EVT_EXEC(N(EVS_AnimateSpeakingPortrait)) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH3_002F, 160, 40) + EVT_SET(GF_OBK01_Portrait_Farewell, TRUE) + EVT_END_IF + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_WAIT(2) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_END_SWITCH + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_UpperPortrait) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetPlayerAnimation, SPRITE_ID_BACK_FACING | ANIM_Mario_BeforeJump) + EVT_WAIT(3) + EVT_CALL(SetPlayerAnimation, SPRITE_ID_BACK_FACING | ANIM_Mario_AnimMidairStill) + EVT_WAIT(1) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(1.0)) + EVT_CALL(PlayerJump, 812, 40, -2, 20) + EVT_CALL(PlaySoundAtPlayer, SOUND_D9, 0) + EVT_WAIT(10) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 812, -210, 28) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 812, -210, 28) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidairStill) + EVT_WAIT(1) + EVT_CALL(PlaySoundAtPlayer, SOUND_DA, 0) + EVT_CALL(SetPlayerPos, 812, -146, -2) + EVT_CALL(PlayerJump, 812, -210, 28, 8) + EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_WAIT(2) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PortraitFrame_ShakeWhenNear) = { + EVT_LOOP(0) + EVT_IF_EQ(AF_OBK01_IsPlayerNearPortrait, TRUE) + EVT_IF_NE(AF_OBK01_WasPlayerNearPortrait, AF_OBK01_IsPlayerNearPortrait) + EVT_LOOP(3) + EVT_CALL(RotateModel, MODEL_n1, 5, 0, 0, 1) + EVT_WAIT(2) + EVT_CALL(RotateModel, MODEL_n1, 0, 0, 0, 1) + EVT_WAIT(1) + EVT_CALL(RotateModel, MODEL_n1, 5, 0, 0, 1) + EVT_WAIT(2) + EVT_CALL(RotateModel, MODEL_n1, 0, 0, 0, 1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_IF + EVT_END_IF + EVT_SET(AF_OBK01_WasPlayerNearPortrait, AF_OBK01_IsPlayerNearPortrait) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PortraitFrame_MonitorPlayerPos) = { + EVT_LOOP(0) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_SET(AF_OBK01_IsPlayerNearPortrait, FALSE) + EVT_IF_EQ(GF_OBK01_Met_Portrait, FALSE) + EVT_IF_GE(LVar1, -210) + EVT_IF_LE(LVar1, -100) + EVT_IF_GE(LVar0, 775) + EVT_SET(AF_OBK01_IsPlayerNearPortrait, TRUE) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +s32 N(ItemList_BooPortrait)[] = { + ITEM_BOO_PORTRAIT, + ITEM_NONE +}; + +EvtScript N(EVS_SetupPortrait) = { + EVT_BIND_PADLOCK(EVT_PTR(N(EVS_Interact_LowerPortrait)), TRIGGER_WALL_PRESS_A, COLLIDER_aa1, EVT_PTR(N(ItemList_BooPortrait)), 0, 1) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_UpperPortrait)), TRIGGER_WALL_PRESS_A, COLLIDER_aa2, 1, 0) + EVT_EXEC(N(EVS_PortraitFrame_MonitorPlayerPos)) + EVT_EXEC(N(EVS_PortraitFrame_ShakeWhenNear)) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_RESTORED_BOO_PORTRAIT) + EVT_CALL(EnableModel, MODEL_n1, TRUE) + EVT_CALL(EnableModel, MODEL_u1, FALSE) + EVT_CALL(EnableModel, MODEL_si1, FALSE) + EVT_CALL(EnableModel, MODEL_n2, TRUE) + EVT_CALL(EnableModel, MODEL_u2, FALSE) + EVT_CALL(EnableModel, MODEL_si2, FALSE) + EVT_ELSE + EVT_CALL(EnableModel, MODEL_n1, FALSE) + EVT_CALL(EnableModel, MODEL_n2, FALSE) + EVT_CALL(EnableModel, MODEL_u1, TRUE) + EVT_CALL(EnableModel, MODEL_u2, TRUE) + EVT_CALL(EnableModel, MODEL_si1, FALSE) + EVT_CALL(EnableModel, MODEL_si2, FALSE) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +s32 N(Unused_80243C7C_3C7C)[] = { + 0, 1, 0, 5, 1, 0, 5, 1, + 0, 5, 1, 1, 5, 1, 1, 5, + 2, 2, 5, 2, 2, 5, 2, 2, + 5, 2, 3, 5, 2, 3, 5, 3, + 4, 5, 3, 4, 5, 3, 4, 5, + 3, 5, 5, 3, 5, 5, 4, 6, + 5, 4, 6, 5, 4, 6, 5, 4, + 7, 5, 4, 7, 5, +}; diff --git a/src/world/area_obk/obk_01/obk_01_5_jump_scare.c b/src/world/area_obk/obk_01/obk_01_5_jump_scare.c new file mode 100644 index 0000000000..ef737e286c --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_5_jump_scare.c @@ -0,0 +1,43 @@ +#include "obk_01.h" +#include "effects.h" + +EvtScript N(EVS_Scene_JumpScareBoo) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(GetPlayerPos, LVar3, LVar4, LVar5) + EVT_ADD(LVar4, 80) + EVT_CALL(SetNpcPos, NPC_JumpScareBoo, LVar3, LVar4, LVar5) + EVT_THREAD + EVT_WAIT(5) + EVT_SUB(LVar3, 10) + EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 0, LVar3, LVar4, LVar5, EVT_FLOAT(2.8), 50) + EVT_END_THREAD + EVT_CALL(PlaySoundAtNpc, NPC_JumpScareBoo, SOUND_2094, 0) + EVT_SUB(LVar4, 12) + EVT_CALL(MakeLerp, 10, 450, 8, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_DIVF(LVar2, EVT_FLOAT(100.0)) + EVT_CALL(SetNpcScale, NPC_JumpScareBoo, LVar2, LVar2, LVar2) + EVT_MULF(LVar2, 12) + EVT_SETF(LVar6, LVar4) + EVT_SUBF(LVar6, LVar2) + EVT_CALL(SetNpcPos, NPC_JumpScareBoo, LVar3, LVar6, LVar5) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(15) + EVT_SETF(LVar0, EVT_FLOAT(240.0)) + EVT_LOOP(20) + EVT_SUBF(LVar0, EVT_FLOAT(12.0)) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(RemoveNpc, NPC_JumpScareBoo) + EVT_SET(GB_StoryProgress, STORY_CH3_TRIGGERED_DOOR_JUMP_SCARE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_01/obk_01_6_npc.c b/src/world/area_obk/obk_01/obk_01_6_npc.c new file mode 100644 index 0000000000..41eb484e10 --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_6_npc.c @@ -0,0 +1,285 @@ +#include "obk_01.h" + +#include "world/common/npc/Boo_Wander.inc.c" +#include "world/common/npc/Boo.inc.c" + +EvtScript N(EVS_PlayerReaction_GetOldPhoto) = { + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(1) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) + EVT_WAIT(20) + EVT_RETURN + EVT_END +}; + +#include "world/common/complete/LetterDelivery.inc.c" + +s32 N(LetterList_Franky)[] = { + ITEM_LETTER_TO_FRANKY, + ITEM_NONE +}; + +EvtScript N(EVS_LetterCheck_Franky) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_Franky, ANIM_Boo_Talk, ANIM_Boo_Idle, + ITEM_LETTER_TO_FRANKY, ITEM_LETTER20, + MSG_CH3_0067, MSG_CH3_0068, MSG_CH3_0069, MSG_CH3_006A, + EVT_PTR(N(LetterList_Franky))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +enum { + TRAFFIC_BOO_INIT = 0, + TRAFFIC_BOO_MOVE = 1, +}; + +s16 N(TrafficBooAlphas)[] = { + 50, 60, 200, 240 +}; + +API_CALLABLE(N(UpdateTrafficBooMotion)) { + Npc* npc = get_npc_safe(script->owner2.npcID); + + if (isInitialCall) { + script->functionTemp[1] = TRAFFIC_BOO_INIT; + } + + switch (script->functionTemp[1]) { + case TRAFFIC_BOO_INIT: + // choose random position offset + npc->pos.z = rand_int(100) + 180; + npc->pos.y = rand_int(100) - 200; + // choose random speed + npc->moveSpeed = (2.0f * rand_float()) + 2.0f; + // chose random direction + if (rand_int(100) < 50) { + npc->pos.x = 920.0f; + npc->yaw = 270.0f; + } else { + npc->pos.x = -20.0f; + npc->yaw = 90.0f; + } + // begin moving + script->functionTemp[1] = TRAFFIC_BOO_MOVE; + break; + case TRAFFIC_BOO_MOVE: + npc_move_heading(npc, npc->moveSpeed, npc->yaw); + if (npc->pos.x < -30.0f || npc->pos.x > 930.0f) { + script->functionTemp[1] = TRAFFIC_BOO_INIT; + } + break; + } + return ApiStatus_BLOCK; +} + +API_CALLABLE(N(UpdateTrafficBooAlpha)) { + s32 alpha = script->varTable[0]; + s32 nextChangeTime = script->varTable[1]; + s32 targetAlpha; + + if (nextChangeTime == 0) { + // choose a new target alpha and schedule a time for the next update + script->functionTemp[2] = N(TrafficBooAlphas)[rand_int(ARRAY_COUNT(N(TrafficBooAlphas)) - 1)]; + nextChangeTime = rand_int(50) + 30; + } + nextChangeTime--; + + targetAlpha = script->functionTemp[2]; + if (alpha < targetAlpha) { + alpha += 10; + if (targetAlpha < alpha) { + alpha = targetAlpha; + } + } + if (targetAlpha < alpha) { + alpha -= 10; + if (alpha < targetAlpha) { + alpha = targetAlpha; + } + } + + script->varTable[0] = alpha; + script->varTable[1] = nextChangeTime; + return ApiStatus_DONE2; +} + + +EvtScript N(EVS_NpcIdle_TrafficBoo) = { + EVT_CALL(N(UpdateTrafficBooMotion)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcAux_TrafficBoo) = { + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(N(UpdateTrafficBooAlpha)) + EVT_CALL(func_802CFD30, -1, 7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TrafficBoo1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_TrafficBoo))) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TrafficBoo2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_TrafficBoo))) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_UpstairsBoo) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0061) + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0062) + EVT_CASE_GE(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0063) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Franky) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0064) + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0065) + EVT_CASE_GE(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0066) + EVT_END_SWITCH + EVT_EXEC_WAIT(N(EVS_LetterCheck_Franky)) + EVT_IF_NE(LVarC, 0) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(GB_KootFavor_Current, 13) + EVT_IF_EQ(GF_OBK01_Gift_OldPhoto, FALSE) + EVT_SET(GF_OBK01_Gift_OldPhoto, TRUE) + EVT_EXEC_WAIT(N(EVS_PlayerReaction_GetOldPhoto)) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_006B) + EVT_GIVE_KEY_REWARD(ITEM_KOOT_OLD_PHOTO) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_UpstairsBoo) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_UpstairsBoo))) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_BOW_JOINED_PARTY) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Franky) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Franky))) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_BOW_JOINED_PARTY) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_JumpScareBoo) = { + .id = NPC_JumpScareBoo, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800, + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_TrafficBoo1) = { + .id = NPC_TrafficBoo1, + .settings = &N(NpcSettings_Boo), + .pos = { 523.0f, -139.0f, 193.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo1), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_TrafficBoo2) = { + .id = NPC_TrafficBoo2, + .settings = &N(NpcSettings_Boo), + .pos = { 473.0f, -122.0f, 247.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo2), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_Boos)[] = { + { + .id = NPC_UpstairsBoo, + .settings = &N(NpcSettings_Boo_Wander), + .pos = { 422.0f, -200.0f, 112.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_UpstairsBoo), + .drops = BOO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 422, -200, 112 }, + .wanderSize = { 30 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 422, -200, 112 }, + .detectSize = { 30 }, + } + }, + .animations = NORMAL_BOO_ANIMS, + .tattle = MSG_NpcTattle_OBK_BooA, + }, + { + .id = NPC_Franky, + .settings = &N(NpcSettings_Boo_Wander), + .pos = { 397.0f, -410.0f, 352.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Franky), + .drops = BOO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 397, -410, 352 }, + .wanderSize = { 80 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 397, -410, 352 }, + .detectSize = { 80 }, + } + }, + .animations = NORMAL_BOO_ANIMS, + .tattle = MSG_NpcTattle_OBK_BooB, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_JumpScareBoo)), + NPC_GROUP(N(NpcData_TrafficBoo1)), + NPC_GROUP(N(NpcData_TrafficBoo2)), + NPC_GROUP(N(NpcData_Boos)), + {} +}; diff --git a/src/world/area_obk/obk_01/obk_01_7_entity.c b/src/world/area_obk/obk_01/obk_01_7_entity.c new file mode 100644 index 0000000000..4dd65a1502 --- /dev/null +++ b/src/world/area_obk/obk_01/obk_01_7_entity.c @@ -0,0 +1,9 @@ +#include "obk_01.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 675, -420, 415, 180, MODEL_o317, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_OBK01_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_02/BC2A90.c b/src/world/area_obk/obk_02/BC2A90.c deleted file mode 100644 index 7d7ca3cc7a..0000000000 --- a/src/world/area_obk/obk_02/BC2A90.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "obk_02.h" - -static char* N(exit_str_0) = "obk_01"; -static char* N(exit_str_1) = "obk_03"; -static char* N(exit_str_2) = "obk_06"; -static char* N(exit_str_3) = ""; - -ApiStatus func_80240000_BC2A90(Evt* script, s32 isInitialCall) { - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -#include "world/common/todo/UnkAngleFunc004.inc.c" - -extern s16 D_80240CBC_BC374C[]; - -ApiStatus func_80240194_BC2C24(Evt* script, s32 isInitialCall) { - s32 var0 = script->varTable[0]; - s32 var1 = script->varTable[1]; - s32 temp; - - if (var1 == 0) { - script->functionTemp[2] = D_80240CBC_BC374C[rand_int(3)]; - var1 = rand_int(50) + 30; - } - var1--; - - temp = script->functionTemp[2]; - if (var0 < temp) { - var0 += 10; - if (temp < var0) { - var0 = temp; - } - } - if (temp < var0) { - var0 -= 10; - if (var0 < temp) { - var0 = temp; - } - } - - script->varTable[0] = var0; - script->varTable[1] = var1; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_02/BC2CD0.c b/src/world/area_obk/obk_02/BC2CD0.c deleted file mode 100644 index 57cfa9db26..0000000000 --- a/src/world/area_obk/obk_02/BC2CD0.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "obk_02.h" - -ApiStatus func_80240240_BC2CD0(Evt* script, s32 isInitialCall) { - script->varTable[0] = sin_deg(script->varTable[1]) * 10.0f; - script->varTable[1] = clamp_angle(script->varTable[1] + 6); - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_02/obk_02.h b/src/world/area_obk/obk_02/obk_02.h index 8615dfef5f..e593130e02 100644 --- a/src/world/area_obk/obk_02/obk_02.h +++ b/src/world/area_obk/obk_02/obk_02.h @@ -2,8 +2,31 @@ /// @brief Boo's Mansion - Basement Stairs #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_02_shape.h" +#include "mapfs/obk_02_hit.h" + +#include "sprite/npc/Boo.h" + +enum { + NPC_TrafficBoo1 = 0, + NPC_TrafficBoo2 = 1, +}; + +enum { + MV_CurrentMapRegion = MapVar(0), + MV_LastMapRegion = MapVar(1), +}; + #define NAMESPACE obk_02 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_UpdateClock); +extern EvtScript N(EVS_ClockDoNothing); +extern EvtScript N(EVS_SetupBombableWall); +extern NpcGroupList N(DefaultNPCs); +extern EvtScript N(EVS_MakeEntities); diff --git a/src/world/area_obk/obk_02/obk_02_0_header.c b/src/world/area_obk/obk_02/obk_02_0_header.c new file mode 100644 index 0000000000..74e29b2d70 --- /dev/null +++ b/src/world/area_obk/obk_02/obk_02_0_header.c @@ -0,0 +1,15 @@ +#include "obk_02.h" + +EntryList N(Entrances) = { + [obk_02_ENTRY_0] { 67.0, 0.0, 235.0, 0.0 }, + [obk_02_ENTRY_1] { 0.0, -210.0, 235.0, 0.0 }, + [obk_02_ENTRY_2] { 220.0, -210.0, 65.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_obk_02 }, +}; diff --git a/src/world/area_obk/obk_02/obk_02_1_music.c b/src/world/area_obk/obk_02/obk_02_1_music.c new file mode 100644 index 0000000000..d1fab02295 --- /dev/null +++ b/src/world/area_obk/obk_02/obk_02_1_music.c @@ -0,0 +1,11 @@ +#include "obk_02.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_02/obk_02_2_main.c b/src/world/area_obk/obk_02/obk_02_2_main.c new file mode 100644 index 0000000000..5b54d505da --- /dev/null +++ b/src/world/area_obk/obk_02/obk_02_2_main.c @@ -0,0 +1,201 @@ +#include "obk_02.h" + +enum { + REGION_INIT_LAST = -2, + REGION_INIT = -1, + REGION_UPPER_FLOOR = 0, + REGION_STAIRS = 1, + REGION_LOWER_FLOOR = 2, +}; + +EvtScript N(EVS_ExitDoor_obk_01_1) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(LVar0, obk_02_ENTRY_0) + EVT_SET(LVar1, COLLIDER_tt1) + EVT_SET(LVar2, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC(ExitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_01"), obk_01_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_03_0) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(LVar0, obk_02_ENTRY_1) + EVT_SET(LVar1, COLLIDER_tt2) + EVT_SET(LVar2, MODEL_door2) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC(ExitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_03"), obk_03_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_obk_06_1) = EVT_EXIT_WALK(60, obk_02_ENTRY_2, "obk_06", obk_06_ENTRY_1); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_01_1)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_03_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt2, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_obk_06_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deili3, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(obk_02_ENTRY_0) + EVT_SET(LVar2, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC_WAIT(EnterSingleDoor) + EVT_EXEC_WAIT(N(EVS_BindExitTriggers)) + EVT_CASE_EQ(obk_02_ENTRY_1) + EVT_SET(LVar2, MODEL_door2) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC_WAIT(EnterSingleDoor) + EVT_EXEC_WAIT(N(EVS_BindExitTriggers)) + EVT_CASE_EQ(obk_02_ENTRY_2) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Fog) = { + EVT_THREAD + EVT_CALL(SetTexPanner, MODEL_r1, TEX_PANNER_1) + EVT_CALL(SetTexPanner, MODEL_r2, TEX_PANNER_1) + EVT_CALL(SetTexPanner, MODEL_r3, TEX_PANNER_1) + EVT_CALL(SetTexPanner, MODEL_r4, TEX_PANNER_1) + EVT_CALL(SetTexPanner, MODEL_r5, TEX_PANNER_1) + EVT_CALL(SetTexPanner, MODEL_r6, TEX_PANNER_1) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, 0, 0) + EVT_WAIT(2) + EVT_CALL(SetTexPanOffset, TEX_PANNER_1, TEX_PANNER_MAIN, 0x8000, 0) + EVT_WAIT(2) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_m2, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_m3, TEX_PANNER_0) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_ADD(LVar0, 300) + EVT_ADD(LVar1, 100) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, LVar0, LVar1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnStep_UpperFloor) = { + EVT_SET(MV_CurrentMapRegion, REGION_UPPER_FLOOR) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnStep_Stairs) = { + EVT_SET(MV_CurrentMapRegion, REGION_STAIRS) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnStep_LowerFloor) = { + EVT_SET(MV_CurrentMapRegion, REGION_LOWER_FLOOR) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnableModels_LowerFloor) = { + EVT_CALL(EnableGroup, MODEL_off_1, TRUE) + EVT_CALL(EnableGroup, MODEL_bom, TRUE) + EVT_CALL(EnableGroup, MODEL_tokei, TRUE) + EVT_CALL(EnableGroup, MODEL_hikido, TRUE) + EVT_IF_EQ(GF_OBK06_BombedWall, FALSE) + EVT_CALL(EnableModel, MODEL_bomu_ato, FALSE) + EVT_ELSE + EVT_CALL(EnableModel, MODEL_bom_mae, FALSE) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DisableModels_LowerFloor) = { + EVT_CALL(EnableGroup, MODEL_off_1, FALSE) + EVT_CALL(EnableGroup, MODEL_bom, FALSE) + EVT_CALL(EnableGroup, MODEL_tokei, FALSE) + EVT_CALL(EnableGroup, MODEL_hikido, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnableModels_UpperFloor) = { + EVT_CALL(EnableGroup, MODEL_off_2, TRUE) + EVT_CALL(EnableGroup, MODEL_shiyan, TRUE) + EVT_CALL(EnableGroup, MODEL_door_1, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DisableModels_UpperFloor) = { + EVT_CALL(EnableGroup, MODEL_off_2, FALSE) + EVT_CALL(EnableGroup, MODEL_shiyan, FALSE) + EVT_CALL(EnableGroup, MODEL_door_1, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ManageRegionVisibility) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnStep_UpperFloor)), TRIGGER_FLOOR_TOUCH, COLLIDER_o296, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnStep_Stairs)), TRIGGER_FLOOR_TOUCH, COLLIDER_o309, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnStep_LowerFloor)), TRIGGER_FLOOR_TOUCH, COLLIDER_o291, 1, 0) + EVT_SET(MV_CurrentMapRegion, REGION_INIT) + EVT_SET(MV_LastMapRegion, REGION_INIT_LAST) + EVT_LOOP(0) + EVT_IF_NE(MV_CurrentMapRegion, MV_LastMapRegion) + EVT_SWITCH(MV_CurrentMapRegion) + EVT_CASE_EQ(REGION_UPPER_FLOOR) + EVT_EXEC_WAIT(N(EVS_DisableModels_LowerFloor)) + EVT_EXEC_WAIT(N(EVS_EnableModels_UpperFloor)) + EVT_CASE_EQ(REGION_STAIRS) + EVT_EXEC_WAIT(N(EVS_EnableModels_LowerFloor)) + EVT_EXEC_WAIT(N(EVS_EnableModels_UpperFloor)) + EVT_CASE_EQ(REGION_LOWER_FLOOR) + EVT_EXEC_WAIT(N(EVS_EnableModels_LowerFloor)) + EVT_EXEC_WAIT(N(EVS_DisableModels_UpperFloor)) + EVT_END_SWITCH + EVT_END_IF + EVT_SET(MV_LastMapRegion, MV_CurrentMapRegion) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_TexPan_Fog)) + EVT_EXEC(N(EVS_SetupBombableWall)) + EVT_EXEC(N(EVS_ClockDoNothing)) + EVT_EXEC(N(EVS_UpdateClock)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_EnterMap)) + EVT_EXEC(N(EVS_ManageRegionVisibility)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_si, COLLIDER_FLAGS_UPPER_MASK) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_02/obk_02_3_npc.c b/src/world/area_obk/obk_02/obk_02_3_npc.c new file mode 100644 index 0000000000..cd011f526b --- /dev/null +++ b/src/world/area_obk/obk_02/obk_02_3_npc.c @@ -0,0 +1,47 @@ +#include "obk_02.h" + +#include "world/common/npc/Boo.inc.c" + +#define TRAFFIC_BOO_START_Y 80.0f +#define TRAFFIC_BOO_START_Z -300.0f +#include "../TrafficBoos.inc.c" + +EvtScript N(EVS_NpcInit_TrafficBoo1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TrafficBoo2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_TrafficBoos)[] = { + { + .id = NPC_TrafficBoo1, + .settings = &N(NpcSettings_Boo), + .pos = { 523.0f, -139.0f, 193.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo1), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, + { + .id = NPC_TrafficBoo2, + .settings = &N(NpcSettings_Boo), + .pos = { 473.0f, -122.0f, 247.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo2), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_TrafficBoos)), + {} +}; diff --git a/src/world/area_obk/obk_02/obk_02_4_bombable.c b/src/world/area_obk/obk_02/obk_02_4_bombable.c new file mode 100644 index 0000000000..1a48c9ab6d --- /dev/null +++ b/src/world/area_obk/obk_02/obk_02_4_bombable.c @@ -0,0 +1,36 @@ +#include "obk_02.h" +#include "effects.h" + +BombTrigger N(BombPos_Wall) = { + .pos = { 237.0f, -210.0f, 53.0f }, + .radius = 0.0f +}; + +EvtScript N(EVS_OnBlast_Wall) = { + EVT_PLAY_EFFECT(EFFECT_BOMBETTE_BREAKING, 1, 33, 33, 1, 10, 30) + EVT_LOOP(10) + EVT_CALL(EnableModel, MODEL_bomu_ato, FALSE) + EVT_CALL(EnableModel, MODEL_bom_mae, TRUE) + EVT_WAIT(1) + EVT_CALL(EnableModel, MODEL_bomu_ato, TRUE) + EVT_CALL(EnableModel, MODEL_bom_mae, FALSE) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt3, COLLIDER_FLAGS_UPPER_MASK) + EVT_SET(GF_OBK06_BombedWall, TRUE) + EVT_UNBIND + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupBombableWall) = { + EVT_IF_EQ(GF_OBK06_BombedWall, FALSE) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnBlast_Wall)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Wall)), 1, 0) + EVT_CALL(EnableModel, MODEL_bomu_ato, FALSE) + EVT_ELSE + EVT_CALL(EnableModel, MODEL_bom_mae, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt3, COLLIDER_FLAGS_UPPER_MASK) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_02/obk_02_5_clock.c b/src/world/area_obk/obk_02/obk_02_5_clock.c new file mode 100644 index 0000000000..0cf26e4ab7 --- /dev/null +++ b/src/world/area_obk/obk_02/obk_02_5_clock.c @@ -0,0 +1,41 @@ +#include "obk_02.h" + +API_CALLABLE(N(GetPendulumAngle)) { + script->varTable[0] = sin_deg(script->varTable[1]) * 10.0f; + script->varTable[1] = clamp_angle(script->varTable[1] + 6); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_ClockDoNothing) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UpdateClock) = { + EVT_THREAD + EVT_SET(LVar0, 0) + EVT_LABEL(10) + EVT_CALL(RotateModel, MODEL_na, LVar0, 0, 0, 1) + EVT_ADD(LVar0, -6) + EVT_WAIT(30) + EVT_GOTO(10) + EVT_END_THREAD + EVT_THREAD + EVT_SET(LVar0, 0) + EVT_LABEL(20) + EVT_CALL(RotateModel, MODEL_mi, LVar0, 0, 0, 1) + EVT_ADD(LVar0, -1) + EVT_WAIT(60) + EVT_GOTO(20) + EVT_END_THREAD + EVT_THREAD + EVT_SET(LVar1, 0) + EVT_LABEL(30) + EVT_CALL(N(GetPendulumAngle)) + EVT_CALL(RotateModel, MODEL_fu, LVar0, 0, 0, 1) + EVT_WAIT(1) + EVT_GOTO(30) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_02/obk_02_6_entity.c b/src/world/area_obk/obk_02/obk_02_6_entity.c new file mode 100644 index 0000000000..8587029365 --- /dev/null +++ b/src/world/area_obk/obk_02/obk_02_6_entity.c @@ -0,0 +1,59 @@ +#include "obk_02.h" +#include "entity.h" + +EvtScript N(EVS_ChestTrap) = { + EVT_WAIT(15) + EVT_THREAD + EVT_CALL(PlaySoundAt, SOUND_212A, 0, 4, 26, -12) + EVT_CALL(MakeLerp, 0, -80, 10, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, MODEL_shiyan, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(PlaySoundAt, SOUND_212B, 0, 4, 26, -12) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(1.5)) + EVT_WAIT(40) + EVT_CALL(PlaySoundAt, SOUND_212C, 0, 4, 26, -12) + EVT_CALL(MakeLerp, -80, 0, 20, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, MODEL_shiyan, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_WAIT(2) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8001F) + EVT_WAIT(48) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_SET(GF_OBK02_TriggeredChestTrap, TRUE) + EVT_WAIT(5) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OpenChest) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_EXEC_WAIT(N(EVS_ChestTrap)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_Chest), 0, 0, 0, 0, 0, MAKE_ENTITY_END) + EVT_CALL(AssignChestFlag, GF_OBK02_Chest_Trap) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenChest))) + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 100, -210, 0, 0, MODEL_yuka_b1, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_OBK02_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_03/BC4280.c b/src/world/area_obk/obk_03/BC4280.c deleted file mode 100644 index fe79858b55..0000000000 --- a/src/world/area_obk/obk_03/BC4280.c +++ /dev/null @@ -1,8 +0,0 @@ -#include "obk_03.h" - -static char* N(exit_str_0) = "obk_02"; -static char* N(exit_str_1) = "obk_04"; - -#include "world/common/todo/SetEntityPosition.inc.c" - -#include "world/common/todo/GetEntityPosition.inc.c" diff --git a/src/world/area_obk/obk_03/BC43F0.c b/src/world/area_obk/obk_03/BC43F0.c deleted file mode 100644 index 50e61ff25c..0000000000 --- a/src/world/area_obk/obk_03/BC43F0.c +++ /dev/null @@ -1,46 +0,0 @@ -#include "obk_03.h" - -#include "world/common/todo/StashVars.inc.c" - -#include "world/common/todo/GetItemName.inc.c" - -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" - -INCLUDE_ASM(s32, "world/area_obk/obk_03/BC43F0", func_802404B4_BC4734); - -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} - -BSS s32 D_80243BE0[114]; - -ApiStatus func_80240540_BC47C0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - D_80243BE0[i] = ptr[i]; - } - D_80243BE0[i] = 0; - } else { - for (i = 0; i < 112; i++) { - D_80243BE0[i] = i + 16; - D_80243BE0[112] = 0; - } - } - return ApiStatus_DONE2; -} - -extern s32 N(LetterDelivery_SavedNpcAnim); -#include "world/common/todo/LetterDelivery.inc.c" diff --git a/src/world/area_obk/obk_03/obk_03.h b/src/world/area_obk/obk_03/obk_03.h index 8f4cbcfbd1..63d35e3b4c 100644 --- a/src/world/area_obk/obk_03/obk_03.h +++ b/src/world/area_obk/obk_03/obk_03.h @@ -2,8 +2,27 @@ /// @brief Boo's Mansion - Basement #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_03_shape.h" +#include "mapfs/obk_03_hit.h" + +#include "sprite/npc/WorldParakarry.h" +#include "sprite/npc/Boo.h" + +enum { + NPC_Igor = 0, +}; + #define NAMESPACE obk_03 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupShop); +extern EvtScript N(EVS_SetupStairs); +extern EvtScript N(EVS_SetupRockingChair); +extern EvtScript N(EVS_Scene_DropSteps); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_obk/obk_03/obk_03_0_header.c b/src/world/area_obk/obk_03/obk_03_0_header.c new file mode 100644 index 0000000000..972bb1bf4a --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_0_header.c @@ -0,0 +1,14 @@ +#include "obk_03.h" + +EntryList N(Entrances) = { + [obk_03_ENTRY_0] { -20.0, 0.0, -235.0, 180.0 }, + [obk_03_ENTRY_1] { 240.0, 0.0, 0.0, 270.0 }, + [obk_03_ENTRY_2] { 660.0, 0.0, 0.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_obk_03 }, +}; diff --git a/src/world/area_obk/obk_03/obk_03_1_music.c b/src/world/area_obk/obk_03/obk_03_1_music.c new file mode 100644 index 0000000000..3d97ca0983 --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_1_music.c @@ -0,0 +1,11 @@ +#include "obk_03.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_03/obk_03_2_main.c b/src/world/area_obk/obk_03/obk_03_2_main.c new file mode 100644 index 0000000000..c2c69bced2 --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_2_main.c @@ -0,0 +1,84 @@ +#include "obk_03.h" + +EvtScript N(EVS_ExitDoor_obk_02_1) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(LVar0, obk_03_ENTRY_0) + EVT_SET(LVar1, COLLIDER_tt2) + EVT_SET(LVar2, MODEL_door_2_1) + EVT_SET(LVar4, MODEL_door_2_2) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC(ExitSplitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_02"), obk_02_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_04_0) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(LVar0, obk_03_ENTRY_1) + EVT_SET(LVar1, COLLIDER_tt1) + EVT_SET(LVar2, MODEL_door_1) + EVT_SET(LVar4, MODEL_o494) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC(ExitSplitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_04"), obk_04_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(obk_03_ENTRY_0) + EVT_SET(LVar2, MODEL_door_2_1) + EVT_SET(LVar4, MODEL_door_2_2) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC_WAIT(EnterSplitSingleDoor) + EVT_CASE_EQ(obk_03_ENTRY_1) + EVT_SET(LVar2, MODEL_door_1) + EVT_SET(LVar4, MODEL_o494) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC_WAIT(EnterSplitSingleDoor) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Fog) = { + EVT_CALL(SetTexPanner, MODEL_m2, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_m4, TEX_PANNER_0) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LABEL(20) + EVT_ADD(LVar0, 300) + EVT_ADD(LVar1, 100) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, LVar0, LVar1) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupStairs)) + EVT_EXEC(N(EVS_SetupRockingChair)) + EVT_EXEC_WAIT(N(EVS_SetupShop)) + EVT_EXEC(N(EVS_TexPan_Fog)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_04_0)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_02_1)), TRIGGER_WALL_PRESS_A, COLLIDER_tt2, 1, 0) + EVT_EXEC(N(EVS_EnterMap)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_03/obk_03_3_shop.c b/src/world/area_obk/obk_03/obk_03_3_shop.c new file mode 100644 index 0000000000..3c8d9b892e --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_3_shop.c @@ -0,0 +1,91 @@ +#include "obk_03.h" + +s32 N(ShopMessages)[] = { + MSG_Shop_0060, + MSG_Shop_0061, + MSG_Shop_0062, + MSG_Shop_0063, + MSG_Shop_0064, + MSG_Shop_0065, + MSG_Shop_0066, + MSG_Shop_0067, + MSG_Shop_0068, + MSG_Shop_0069, + MSG_Shop_006A, + MSG_Shop_006B, + MSG_Shop_006C, + MSG_Shop_006D, + MSG_Shop_006E, + MSG_Shop_006F, + MSG_Shop_0070, + MSG_Shop_0071, + MSG_Shop_0072, + MSG_Shop_0073, + MSG_Shop_0074, + MSG_Shop_0075, + MSG_Shop_0076, +}; + +ShopItemData N(Inventory)[] = { + { .itemID = ITEM_MYSTERY, .price = 1, .descMsg = MSG_ItemShopDesc_Mystery }, + { .itemID = ITEM_STOP_WATCH, .price = 25, .descMsg = MSG_ItemShopDesc_StopWatch }, + { .itemID = ITEM_SNOWMAN_DOLL, .price = 15, .descMsg = MSG_ItemShopDesc_SnowmanDoll }, + { .itemID = ITEM_MAPLE_SYRUP, .price = 25, .descMsg = MSG_ItemShopDesc_MapleSyrup }, + { .itemID = ITEM_LIFE_SHROOM, .price = 50, .descMsg = MSG_ItemShopDesc_LifeShroom }, + { .itemID = ITEM_SUPER_SHROOM, .price = 13, .descMsg = MSG_ItemShopDesc_SuperShroom }, + {} +}; + +ShopSellPriceData N(PriceList)[] = { + { .itemID = ITEM_DUSTY_HAMMER, .sellPrice = 4 }, + { .itemID = ITEM_DRIED_SHROOM, .sellPrice = 3 }, + { .itemID = ITEM_MISTAKE, .sellPrice = 5 }, + { .itemID = ITEM_JELLY_ULTRA, .sellPrice = 200 }, + { .itemID = ITEM_STINKY_HERB, .sellPrice = 5 }, + {} +}; + +ShopItemLocation N(ItemPositions)[] = { + { .posModelID = MODEL_o354, .triggerColliderID = COLLIDER_o485 }, + { .posModelID = MODEL_o355, .triggerColliderID = COLLIDER_o486 }, + { .posModelID = MODEL_o356, .triggerColliderID = COLLIDER_o487 }, + { .posModelID = MODEL_o357, .triggerColliderID = COLLIDER_o488 }, + { .posModelID = MODEL_o358, .triggerColliderID = COLLIDER_o489 }, + { .posModelID = MODEL_o359, .triggerColliderID = COLLIDER_o490 }, +}; + +EvtScript N(EVS_OnBuy) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(3) + EVT_CASE_EQ(4) + EVT_CASE_EQ(1) + EVT_CASE_EQ(2) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +ShopOwner N(Owner) = { + .npcID = NPC_Igor, + .idleAnim = ANIM_Boo_Idle, + .talkAnim = ANIM_Boo_Talk, + .onBuyEvt = &N(EVS_OnBuy), + .shopMsgIDs = N(ShopMessages), +}; + +EvtScript N(EVS_SetupShop) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH3_BOW_JOINED_PARTY) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_dummy, COLLIDER_FLAGS_UPPER_MASK) + EVT_ELSE + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o485, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o486, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o487, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o488, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o489, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o490, COLLIDER_FLAGS_UPPER_MASK) + EVT_END_IF + EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), 0) + EVT_CALL(MakeShopOwner, EVT_PTR(N(Owner))) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_03/obk_03_4_entity.c b/src/world/area_obk/obk_03/obk_03_4_entity.c new file mode 100644 index 0000000000..4a9b4bf776 --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_4_entity.c @@ -0,0 +1,171 @@ +#include "obk_03.h" +#include "entity.h" + +extern EvtScript N(EVS_HitSwitch_Second); +extern EvtScript N(EVS_HitSwitch_Third); + +#include "world/common/todo/SetEntityPosition.inc.c" +#include "world/common/todo/GetEntityPosition.inc.c" + +EvtScript N(EVS_SecondSwitch_Drop) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(N(GetEntityPosition), LVar7, LVarA, LVarB, LVarC) + EVT_CALL(PlaySoundAt, SOUND_301, 0, LVarA, LVarB, LVarC) + EVT_END_THREAD + EVT_CALL(MakeLerp, LVar3, LVar5, LVar6, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetEntityPosition), LVar7, LVar2, LVar0, LVar4) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(N(GetEntityPosition), LVar7, LVarA, LVarB, LVarC) + EVT_CALL(PlaySoundAt, SOUND_48, 0, LVarA, LVarB, LVarC) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, LVar8, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ThirdSwitch_Drop) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(N(GetEntityPosition), LVar7, LVarA, LVarB, LVarC) + EVT_CALL(PlaySoundAt, SOUND_303, 0, LVarA, LVarB, LVarC) + EVT_END_THREAD + EVT_CALL(MakeLerp, LVar3, LVar5, LVar6, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(SetEntityPosition), LVar7, LVar2, LVar0, LVar4) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(N(GetEntityPosition), LVar7, LVarA, LVarB, LVarC) + EVT_CALL(PlaySoundAt, SOUND_DD, 0, LVarA, LVarB, LVarC) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, LVar8, EVT_FLOAT(1.0)) + EVT_WAIT(10) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +// if the player is under the switch as it falls, jump out of the way +EvtScript N(EVS_SecondSwitch_JumpToSafety) = { + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_LE(LVar0, 340) + EVT_RETURN + EVT_END_IF + EVT_IF_GE(LVar0, 372) + EVT_RETURN + EVT_END_IF + EVT_IF_LE(LVar2, -115) + EVT_RETURN + EVT_END_IF + EVT_IF_GE(LVar2, -85) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8001F) + EVT_WAIT(8) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_WAIT(2) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(2.0)) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002B) + EVT_CALL(PlayerJump1, 330, -210, -49, 10) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(5) + EVT_RETURN + EVT_END +}; + +// if the player is under the switch as it falls, jump out of the way +EvtScript N(EVS_ThirdSwitch_JumpToSafety) = { + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_LE(LVar0, 394) + EVT_RETURN + EVT_END_IF + EVT_IF_GE(LVar0, 470) + EVT_RETURN + EVT_END_IF + EVT_IF_LE(LVar2, -135) + EVT_RETURN + EVT_END_IF + EVT_IF_GE(LVar2, -62) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8001F) + EVT_WAIT(8) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_WAIT(2) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(2.0)) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002B) + EVT_CALL(PlayerJump1, 352, -210, -5, 10) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(5) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_HitSwitch_First) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), 360, -210, -100, 0, MAKE_ENTITY_END) + EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_OBK03_HitSecondSwitch)) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_HitSwitch_Second))) + EVT_EXEC(N(EVS_SecondSwitch_JumpToSafety)) + EVT_SET(LVar2, 360) + EVT_SET(LVar3, 0) + EVT_SET(LVar4, -100) + EVT_SET(LVar5, -210) + EVT_SET(LVar6, 20) + EVT_SET(LVar7, LVar0) + EVT_SET(LVar8, 5) + EVT_EXEC_WAIT(N(EVS_SecondSwitch_Drop)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_HitSwitch_Second) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_HugeBlueSwitch), 440, -210, -100, 0, MAKE_ENTITY_END) + EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_OBK03_HitThirdSwitch)) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_HitSwitch_Third))) + EVT_EXEC(N(EVS_ThirdSwitch_JumpToSafety)) + EVT_SET(LVar2, 440) + EVT_SET(LVar3, 0) + EVT_SET(LVar4, -100) + EVT_SET(LVar5, -210) + EVT_SET(LVar6, 20) + EVT_SET(LVar7, LVar0) + EVT_SET(LVar8, 30) + EVT_EXEC_WAIT(N(EVS_ThirdSwitch_Drop)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_HitSwitch_Third) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_HIT_HUGE_BLUE_SWITCH) + EVT_EXEC(N(EVS_Scene_DropSteps)) + EVT_SET(GB_StoryProgress, STORY_CH3_HIT_HUGE_BLUE_SWITCH) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_HIT_HUGE_BLUE_SWITCH) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueSwitch), 300, -210, -100, 0, MAKE_ENTITY_END) + EVT_CALL(AssignSwitchFlag, EVT_INDEX_OF_AREA_FLAG(AF_OBK03_HitFirstSwitch)) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_HitSwitch_First))) + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -130, 0, -50, 0, ITEM_SUPER_SHROOM, MAKE_ENTITY_END) + EVT_CALL(AssignCrateFlag, GF_OBK03_Crate_SuperShroom) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), 155, 0, -100, 0, -1, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -165, 0, -50, 0, -1, MAKE_ENTITY_END) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_03/obk_03_5_stairs.c b/src/world/area_obk/obk_03/obk_03_5_stairs.c new file mode 100644 index 0000000000..0bbc18798f --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_5_stairs.c @@ -0,0 +1,201 @@ +#include "obk_03.h" +#include "effects.h" + +EvtScript N(EVS_DropStep) = { + EVT_CALL(MakeLerp, LVar0, 0, LVar1, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateModel, LVar2, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(10) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayDropStepFX) = { + EVT_CALL(PlaySoundAt, SOUND_203D, 0, LVar0, LVar1, LVar2) + EVT_WAIT(LVarA) + EVT_SET(LVar3, LVar0) + EVT_SET(LVar4, LVar1) + EVT_SET(LVar5, LVar2) + EVT_ADD(LVar3, 0) + EVT_ADD(LVar4, -8) + EVT_ADD(LVar5, -70) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar3, LVar4, LVar5, 0) + EVT_SET(LVar6, LVar0) + EVT_SET(LVar7, LVar1) + EVT_SET(LVar8, LVar2) + EVT_ADD(LVar6, 0) + EVT_ADD(LVar7, -8) + EVT_ADD(LVar8, 70) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, LVar6, LVar7, LVar8, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Cam_FocusOnStairs) = { + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_SUB(LVar1, 15) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Cam_ResetFocus) = { + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_RETURN + EVT_END +}; + +// first step only +#define EVT_DROP_STEP_1(x, y, z, delay, dist, modelID) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_EXEC_WAIT(N(EVS_Cam_FocusOnStairs)) \ + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 30, EVT_FLOAT(3.0)) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_SET(LVarA, delay) \ + EVT_EXEC(N(EVS_PlayDropStepFX)) \ + EVT_SET(LVar0, dist) \ + EVT_SET(LVar1, 5) \ + EVT_SET(LVar2, modelID) \ + EVT_EXEC(N(EVS_DropStep)) \ + EVT_WAIT(5) + +// second step only +#define EVT_DROP_STEP_2(x, y, z, delay, dist, modelID) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_EXEC(N(EVS_Cam_FocusOnStairs)) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_SET(LVarA, delay) \ + EVT_EXEC(N(EVS_PlayDropStepFX)) \ + EVT_SET(LVar0, dist) \ + EVT_SET(LVar1, 5) \ + EVT_SET(LVar2, modelID) \ + EVT_EXEC(N(EVS_DropStep)) \ + EVT_WAIT(5) + +// other steps +#define EVT_DROP_STEP_N(x, y, z, delay, dist, modelID) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_EXEC_WAIT(N(EVS_Cam_FocusOnStairs)) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_SET(LVarA, delay) \ + EVT_EXEC(N(EVS_PlayDropStepFX)) \ + EVT_SET(LVar0, dist) \ + EVT_SET(LVar1, 5) \ + EVT_SET(LVar2, modelID) \ + EVT_EXEC(N(EVS_DropStep)) \ + EVT_WAIT(5) + +// last step only +#define EVT_DROP_STEP_L(x, y, z, delay, dist, modelID) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_EXEC_WAIT(N(EVS_Cam_FocusOnStairs)) \ + EVT_SET(LVar0, x) \ + EVT_SET(LVar1, y) \ + EVT_SET(LVar2, z) \ + EVT_SET(LVarA, delay) \ + EVT_EXEC(N(EVS_PlayDropStepFX)) \ + EVT_SET(LVar0, dist) \ + EVT_SET(LVar1, 2) \ + EVT_SET(LVar2, modelID) \ + EVT_EXEC_WAIT(N(EVS_DropStep)) \ + +EvtScript N(EVS_Scene_DropSteps) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(EnableModel, MODEL_yk1, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt3, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(EnableModel, MODEL_k1, TRUE) + EVT_CALL(EnableModel, MODEL_k2, TRUE) + EVT_CALL(EnableModel, MODEL_k3, TRUE) + EVT_CALL(EnableModel, MODEL_k4, TRUE) + EVT_CALL(EnableModel, MODEL_k5, TRUE) + EVT_CALL(EnableModel, MODEL_k6, TRUE) + EVT_CALL(EnableModel, MODEL_k7, TRUE) + EVT_CALL(EnableModel, MODEL_k8, TRUE) + EVT_CALL(TranslateModel, MODEL_k1, 0, 180, 0) + EVT_CALL(TranslateModel, MODEL_k2, 0, 155, 0) + EVT_CALL(TranslateModel, MODEL_k3, 0, 130, 0) + EVT_CALL(TranslateModel, MODEL_k4, 0, 105, 0) + EVT_CALL(TranslateModel, MODEL_k5, 0, 80, 0) + EVT_CALL(TranslateModel, MODEL_k6, 0, 55, 0) + EVT_CALL(TranslateModel, MODEL_k7, 0, 30, 0) + EVT_CALL(TranslateModel, MODEL_k8, 0, 5, 0) + EVT_DROP_STEP_1(275, -185, 188, 28, 175, MODEL_k1) + EVT_DROP_STEP_2(225, -160, 188, 28, 150, MODEL_k2) + EVT_DROP_STEP_N(175, -135, 188, 28, 125, MODEL_k3) + EVT_DROP_STEP_N(125, -110, 188, 26, 100, MODEL_k4) + EVT_DROP_STEP_N( 75, -85, 188, 25, 75, MODEL_k5) + EVT_DROP_STEP_N (25, -60, 188, 14, 50, MODEL_k6) + EVT_DROP_STEP_N(-25, -35, 188, 9, 25, MODEL_k7) + EVT_DROP_STEP_L(-75, -10, 188, 4, 0, MODEL_k8) + EVT_CALL(EnableModel, MODEL_kage, TRUE) + EVT_CALL(EnableModel, MODEL_kage_no, FALSE) + EVT_WAIT(30) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_k1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_k2, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_k3, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_k4, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_k5, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_k6, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_k7, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_kaidan, COLLIDER_FLAGS_UPPER_MASK) + EVT_EXEC_WAIT(N(EVS_Cam_ResetFocus)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupStairs) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_HIT_HUGE_BLUE_SWITCH) + EVT_CALL(EnableModel, MODEL_k1, FALSE) + EVT_CALL(EnableModel, MODEL_k2, FALSE) + EVT_CALL(EnableModel, MODEL_k3, FALSE) + EVT_CALL(EnableModel, MODEL_k4, FALSE) + EVT_CALL(EnableModel, MODEL_k5, FALSE) + EVT_CALL(EnableModel, MODEL_k6, FALSE) + EVT_CALL(EnableModel, MODEL_k7, FALSE) + EVT_CALL(EnableModel, MODEL_k8, FALSE) + EVT_CALL(EnableModel, MODEL_kage, FALSE) + EVT_CALL(EnableModel, MODEL_kage_no, TRUE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_k1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_k2, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_k3, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_k4, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_k5, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_k6, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_k7, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_kaidan, COLLIDER_FLAGS_UPPER_MASK) + EVT_ELSE + EVT_CALL(EnableModel, MODEL_yk1, FALSE) + EVT_CALL(EnableModel, MODEL_kage, TRUE) + EVT_CALL(EnableModel, MODEL_kage_no, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt3, COLLIDER_FLAGS_UPPER_MASK) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_03/obk_03_6_npc.c b/src/world/area_obk/obk_03/obk_03_6_npc.c new file mode 100644 index 0000000000..4b9766eac5 --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_6_npc.c @@ -0,0 +1,67 @@ +#include "obk_03.h" + +#include "world/common/npc/Boo.inc.c" + +#include "world/common/complete/LetterDelivery.inc.c" + +s32 N(LetterList_Igor)[] = { + ITEM_LETTER_TO_IGOR, + ITEM_NONE +}; + +EvtScript N(EVS_LetterCheck_Igor) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_Igor, ANIM_Boo_Talk, ANIM_Boo_Idle, + ITEM_LETTER_TO_IGOR, ITEM_NONE, + MSG_CH3_005D, MSG_CH3_005E, MSG_CH3_005F, MSG_CH3_0060, + EVT_PTR(N(LetterList_Igor))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_LetterReward_Igor) = { + EVT_IF_EQ(LVarC, 2) + EVT_GIVE_STAR_PIECE() + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Igor) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH3_BOW_JOINED_PARTY) + EVT_EXEC_WAIT(ItemShopInteract) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_005C) + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_LetterCheck_Igor)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Igor)) + EVT_IF_NE(LVarC, 0) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Igor) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Igor))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Igor) = { + .id = NPC_Igor, + .settings = &N(NpcSettings_Boo), + .pos = { 43.0f, -200.0f, -9.0f }, + .yaw = 90, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Igor), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + .tattle = MSG_NpcTattle_OBK_ShopOwner, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Igor)), + {} +}; diff --git a/src/world/area_obk/obk_03/obk_03_7_rocking_chair.c b/src/world/area_obk/obk_03/obk_03_7_rocking_chair.c new file mode 100644 index 0000000000..a9ff199ddc --- /dev/null +++ b/src/world/area_obk/obk_03/obk_03_7_rocking_chair.c @@ -0,0 +1,13 @@ +#include "obk_03.h" + +#define ROCKING_CHAIR_CENTER_X -170.0 +#include "../RockingChair.inc.c" + +EvtScript N(EVS_SetupRockingChair) = { + EVT_CALL(ParentColliderToModel, COLLIDER_i1, MODEL_i1) + EVT_CALL(ParentColliderToModel, COLLIDER_i2, MODEL_i3) + EVT_CALL(ParentColliderToModel, COLLIDER_i3, MODEL_i3) + EVT_CALL(N(UpdateRockingChair)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_04/BC7E60.c b/src/world/area_obk/obk_04/BC7E60.c deleted file mode 100644 index d1dbffc931..0000000000 --- a/src/world/area_obk/obk_04/BC7E60.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "obk_04.h" - -ApiStatus func_80240000_BC7E60(Evt* script, s32 isInitialCall) { - ItemEntity* item = get_item_entity(script->varTable[0]); - - set_item_entity_flags(script->varTable[0], ITEM_ENTITY_FLAGS_TRANSPARENT); - item->alpha = 255; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_04/BC7EB0.c b/src/world/area_obk/obk_04/BC7EB0.c deleted file mode 100644 index 79f335556a..0000000000 --- a/src/world/area_obk/obk_04/BC7EB0.c +++ /dev/null @@ -1,362 +0,0 @@ -#include "obk_04.h" - -static char* N(exit_str_0) = "obk_03"; - -ApiStatus func_80240050_BC7EB0(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - s32* ptr = heap_malloc(4); // todo what is this - - npc->blur.any = ptr; - *ptr = NULL; - npc->planarFlyDist = 125.0f; - npc->yaw = 0.0f; - npc->pos.x = 0.0f; - npc->pos.y = -875.0f; - npc->pos.z = 0.0f; - npc->duration = 60; - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -void func_802400D0_BC7F30(Npc* npc) { - if (npc->yaw > 340.0f || npc->yaw < 20.0f) { - npc->renderMode = RENDER_MODE_ALPHATEST; - npc->unk_A2 = 0; - func_8003D624(npc, 0, 0, 0, 0, 0, npc->unk_A2); - } else { - npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; - func_8003D624(npc, 7, gPlayerStatusPtr->alpha1, 255, 0, 0, npc->unk_A2); - npc->unk_9A = 255; - } -} - -void func_80240198_BC7FF8(void) { - func_802400D0_BC7F30(get_npc_unsafe(1)); - func_802400D0_BC7F30(get_npc_unsafe(2)); - func_802400D0_BC7F30(get_npc_unsafe(3)); - func_802400D0_BC7F30(get_npc_unsafe(4)); - func_802400D0_BC7F30(get_npc_unsafe(5)); - func_802400D0_BC7F30(get_npc_unsafe(6)); - func_802400D0_BC7F30(get_npc_unsafe(7)); - func_802400D0_BC7F30(get_npc_unsafe(8)); -} - -void func_8024022C_BC808C(void) { - get_npc_unsafe(1)->unk_A2 = 0; - get_npc_unsafe(2)->unk_A2 = 0; - get_npc_unsafe(3)->unk_A2 = 0; - get_npc_unsafe(4)->unk_A2 = 0; - get_npc_unsafe(5)->unk_A2 = 0; - get_npc_unsafe(6)->unk_A2 = 0; - get_npc_unsafe(7)->unk_A2 = 0; - get_npc_unsafe(8)->unk_A2 = 0; -} - -s32 func_802402A0_BC8100(s32 arg0) { - s32 ret = 12; - - switch (arg0) { - case 0: - ret = 12; - break; - case 1: - ret = 100; - break; - case 2: - ret = 13; - break; - case 3: - ret = 14; - break; - } - return ret; -} - -ApiStatus func_802402F4_BC8154(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - s32* temp_s3 = npc->blur.any; - s32 temp_v0; - - switch (script->functionTemp[1]) { - case 0: - temp_v0 = evt_get_variable(script, MapVar(1)); - if (temp_v0 == 1) { - *temp_s3 = temp_v0; - script->functionTemp[1] = 10; - } - break; - case 1: - break; - case 10: - npc->yaw = clamp_angle(npc->yaw + 2.0f); - npc->duration--; - if (npc->duration == 0) { - script->functionTemp[1] = 11; - } - break; - case 11: - if (npc->pos.y <= -920.0f) { - func_80240198_BC7FF8(); - } - npc->yaw = clamp_angle(npc->yaw + 2.0f); - npc->pos.y -= 0.5f; - if (npc->pos.y <= -988.0f) { - evt_set_variable(script, MapVar(2), 1); - func_8024022C_BC808C(); - script->functionTemp[1] = 12; - } - break; - case 12: - script->functionTemp[1] = func_802402A0_BC8100(evt_get_variable(script, MapVar(3))); - npc->yaw = clamp_angle(npc->yaw + 2.0f); - break; - case 13: - script->functionTemp[1] = func_802402A0_BC8100(evt_get_variable(script, MapVar(3))); - npc->yaw = clamp_angle(npc->yaw - 2.0f); - break; - case 14: - evt_set_variable(script, MapVar(3), 0); - npc->duration++; - if (npc->duration == 50) { - script->functionTemp[1] = 15; - } - npc->planarFlyDist -= 2.0f; - npc->yaw = clamp_angle(npc->yaw + 2.0f); - break; - case 15: - npc->duration--; - if (npc->duration == 0) { - script->functionTemp[1] = 12; - } - npc->planarFlyDist += 2.0f; - npc->yaw = clamp_angle(npc->yaw + 2.0f); - break; - case 100: - script->functionTemp[1] = func_802402A0_BC8100(evt_get_variable(script, MapVar(3))); - break; - } - - return ApiStatus_DONE2; -} - -ApiStatus func_802405B4_BC8414(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - - npc->blur.any = get_npc_unsafe(0); // TODO what is this? - script->functionTemp[2] = script->owner2.npcID * 45; - npc->flags |= NPC_FLAG_40000; - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -// float regalloc -#ifdef NON_MATCHING -ApiStatus func_80240624_BC8484(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - Npc* npc2 = npc->blur.any; - f32 temp_f10; - f32 temp_f12; - f32 temp_f14; - f32 temp_f2; - f32 temp_f4; - f32 temp_f6; - s32* temp_s2; - f32 yaw; - f32 new_var; - f32 f1; - - - temp_s2 = npc2->blur.any; - switch (script->functionTemp[1]) { - case 0: - npc->yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); - if (*temp_s2 == 1) { - script->functionTemp[1] = 1; - npc->duration = rand_int(20) + 10; - } - break; - case 1: - npc->yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); - npc->duration--; - if (npc->duration == 0) { - sfx_play_sound_at_position(0xB000000F, 0, npc->pos.x, npc->pos.y, npc->pos.z); - script->functionTemp[1] = 2; - npc->duration = 0; - npc->moveToPos.x = npc->pos.x; - npc->moveToPos.y = npc->pos.y; - npc->moveToPos.z = npc->pos.z; - } - break; - case 2: - npc->yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); - new_var = npc->yaw; - npc->pos.x = npc2->pos.x; - npc->pos.z = npc2->pos.z; - npc_move_heading(npc, npc2->planarFlyDist, new_var); - temp_f4 = (40.0f - npc->duration) / 40.0f; - temp_f12 = npc->pos.z; - f1 = (npc->pos.x - npc->moveToPos.x) * (temp_f4 * temp_f4); - temp_f6 = (npc->pos.z - npc->moveToPos.z) * (temp_f4 * temp_f4); - temp_f2 = npc2->pos.y + 1000.0f; - npc->pos.x -= f1; - npc->pos.y = temp_f2; - npc->pos.y -= (npc->pos.y - npc->moveToPos.y) * ((temp_f4 * temp_f4) * temp_f4); - npc->pos.z = temp_f12 - temp_f6; - npc->duration++; - if (npc->duration == 40) { - script->functionTemp[1] = 12; - } - break; - case 12: - case 13: - case 14: - yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); - npc->yaw = yaw; - script->functionTemp[1] = func_802402A0_BC8100(evt_get_variable(script, MapVar(3))); - npc->pos.x = npc2->pos.x; - npc->pos.z = npc2->pos.z; - npc_move_heading(npc, npc2->planarFlyDist, yaw); - npc->pos.y = npc2->pos.y + 1000.0f; - break; - case 100: - script->functionTemp[1] = func_802402A0_BC8100(evt_get_variable(script, MapVar(3))); - break; - } - return ApiStatus_DONE2; -} -#else -INCLUDE_ASM(s32, "world/area_obk/obk_04/BC7EB0", func_80240624_BC8484); -#endif - -ApiStatus func_80240910_BC8770(Evt* script, s32 isInitialCall) { - if (gPlayerStatus.position.y < -50.0f) { - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} - -#include "world/common/todo/StashVars.inc.c" - -#include "world/common/todo/GetItemName.inc.c" - -ApiStatus func_80240A58_BC88B8(Evt* script, s32 isInitialCall) { - Npc* npc1 = get_npc_unsafe(1); - Npc* npc2 = get_npc_unsafe(2); - Npc* npc3 = get_npc_unsafe(3); - Npc* npc4 = get_npc_unsafe(4); - Npc* npc5 = get_npc_unsafe(5); - Npc* npc6 = get_npc_unsafe(6); - Npc* npc7 = get_npc_unsafe(7); - Npc* npc8 = get_npc_unsafe(8); - - switch (script->varTable[0]) { - case 0: - script->varTable[0] = npc1->yaw; - evt_set_variable(NULL, MapVar(5), 1); - break; - case 1: - script->varTable[0] = npc2->yaw; - evt_set_variable(NULL, MapVar(5), 2); - break; - case 2: - script->varTable[0] = npc3->yaw; - evt_set_variable(NULL, MapVar(5), 3); - break; - case 3: - script->varTable[0] = npc4->yaw; - evt_set_variable(NULL, MapVar(5), 4); - break; - case 4: - script->varTable[0] = npc5->yaw; - evt_set_variable(NULL, MapVar(5), 5); - break; - case 5: - script->varTable[0] = npc6->yaw; - evt_set_variable(NULL, MapVar(5), 6); - break; - case 6: - script->varTable[0] = npc7->yaw; - evt_set_variable(NULL, MapVar(5), 7); - break; - case 7: - script->varTable[0] = npc8->yaw; - evt_set_variable(NULL, MapVar(5), 8); - break; - } - script->varTable[0] += script->varTable[1]; - return ApiStatus_DONE2; -} - -ApiStatus func_80240C10_BC8A70(Evt* script, s32 isInitialCall) { - Npc npc; - - npc.pos.x = 0; - npc.pos.y = 0.0f; - npc.pos.z = 0.0f; - npc.planarFlyDist = 125.0f; - npc_move_heading(&npc, 125.0f, script->varTable[0]); - script->varTable[0] = npc.pos.x; - script->varTable[1] = npc.pos.y + 10.0f; - script->varTable[2] = npc.pos.z + 20.0f; - return ApiStatus_DONE2; -} - -ApiStatus func_80240CA0_BC8B00(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(evt_get_variable(NULL, MapVar(5))); - - script->varTable[0] = npc->pos.x; - script->varTable[1] = npc->pos.y; - script->varTable[2] = npc->pos.z; - return ApiStatus_DONE2; -} - -ApiStatus func_80240D00_BC8B60(Evt* script, s32 isInitialCall) { - gPlayerData.bootsLevel = 1; - return ApiStatus_DONE2; -} - -ApiStatus func_80240D14_BC8B74(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Npc npc; - f32 dist = dist2D(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f); - f32 yaw; - s32 gt, lt; - - if (!(dist > 90.0f)) { - gt = FALSE; - } else { - gt = TRUE; - } - - if (!(dist < 150.0f)) { - lt = FALSE; - } else { - lt = TRUE; - } - - if ((gt | lt) != 0) { - yaw = atan2(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f) + 180.0f; - npc.pos.x = 0.0f; - npc.pos.y = 0.0f; - npc.pos.z = 0.0f; - npc_move_heading(&npc, 80.0f, yaw); - script->varTable[0] = npc.pos.x; - script->varTable[1] = npc.pos.y; - script->varTable[2] = npc.pos.z; - script->varTable[3] = 1; - } else { - script->varTable[0] = playerStatus->position.x; - script->varTable[1] = playerStatus->position.y; - script->varTable[2] = playerStatus->position.z; - script->varTable[3] = 0; - } - return ApiStatus_DONE2; -} - -ApiStatus func_80240E58_BC8CB8(Evt* script, s32 isInitialCall) { - if (get_npc_unsafe(1)->duration == 0) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} diff --git a/src/world/area_obk/obk_04/obk_04.h b/src/world/area_obk/obk_04/obk_04.h index cb20883ec4..fc62af76d8 100644 --- a/src/world/area_obk/obk_04/obk_04.h +++ b/src/world/area_obk/obk_04/obk_04.h @@ -2,8 +2,59 @@ /// @brief Boo's Mansion - Super Boots Room #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_04_shape.h" +#include "mapfs/obk_04_hit.h" + +#include "sprite/npc/Boo.h" + +enum { + NPC_Boo_01 = 0, + NPC_KeepAwayBoo1 = 1, + NPC_KeepAwayBoo2 = 2, + NPC_KeepAwayBoo3 = 3, + NPC_KeepAwayBoo4 = 4, + NPC_KeepAwayBoo5 = 5, + NPC_KeepAwayBoo6 = 6, + NPC_KeepAwayBoo7 = 7, + NPC_KeepAwayBoo8 = 8, + NPC_LeaderBoo = 9, + NPC_DummyBoo = 10, + NPC_TutorialBoo = 11, +}; + +enum { + MV_KeepAwayItem = MapVar(0), // item entity ID + MV_Unk_01 = MapVar(1), + MV_Unk_02 = MapVar(2), + MV_Unk_03 = MapVar(3), + MV_KeepAwayTarget = MapVar(4), // npcID to throw item to + MV_ThrowTargetNpc = MapVar(5), // npcID the item is thrown to (redundant) + MV_KeepAwayResult = MapVar(6), // did the player hit the correct boo? + MV_ItemCarrierNpc = MapVar(7), // npcID holding the item (also redundant) + MV_KeepAwayThrows = MapVar(8), // number of tosses for this round (not counting the first) + MV_KeepAwayRound = MapVar(9), // how many times has the game been played +}; + +enum { + MF_WaitForUpgradeDone = MapFlag(10), +}; + +enum KeepAwayResult { + KEEP_AWAY_WAITING = 0, + KEEP_AWAY_RIGHT = 1, + KEEP_AWAY_WRONG = 2, +}; + #define NAMESPACE obk_04 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_PlayUpgradeSong); +extern EvtScript N(EVS_Scene_BoosUnleashed); +extern EvtScript N(EVS_ManageHole); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_obk/obk_04/obk_04_0_header.c b/src/world/area_obk/obk_04/obk_04_0_header.c new file mode 100644 index 0000000000..769b71e177 --- /dev/null +++ b/src/world/area_obk/obk_04/obk_04_0_header.c @@ -0,0 +1,12 @@ +#include "obk_04.h" + +EntryList N(Entrances) = { + [obk_04_ENTRY_0] { -235.0, 0.0, 5.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_obk_04 }, +}; diff --git a/src/world/area_obk/obk_04/obk_04_1_music.c b/src/world/area_obk/obk_04/obk_04_1_music.c new file mode 100644 index 0000000000..ecff24bc92 --- /dev/null +++ b/src/world/area_obk/obk_04/obk_04_1_music.c @@ -0,0 +1,19 @@ +#include "obk_04.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayUpgradeSong) = { + EVT_CALL(PushSong, SONG_ITEM_UPGRADE, 1) + EVT_WAIT(130) + EVT_CALL(PopSong) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_04/obk_04_2_entity.c b/src/world/area_obk/obk_04/obk_04_2_entity.c new file mode 100644 index 0000000000..4ec8e96098 --- /dev/null +++ b/src/world/area_obk/obk_04/obk_04_2_entity.c @@ -0,0 +1,53 @@ +#include "obk_04.h" +#include "entity.h" + +API_CALLABLE(N(SetItemAlpha)) { + ItemEntity* item = get_item_entity(script->varTable[0]); + + set_item_entity_flags(script->varTable[0], ITEM_ENTITY_FLAGS_TRANSPARENT); + item->alpha = 255; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_OnSmash_Floor) = { + EVT_SET(GF_OBK04_BoardedFloor, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnSmash_Unused) = { + EVT_SET(GF_OBK04_UnusedBoardedFloor, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OpenGiantChest) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(GF_OBK04_GiantChest, TRUE) + EVT_EXEC(N(EVS_Scene_BoosUnleashed)) + EVT_CALL(DisablePlayerInput, FALSE) +EVT_END_IF +EVT_RETURN +EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_GiantChest), 180, 0, -175, -10, ITEM_NONE, MAKE_ENTITY_END) + EVT_CALL(AssignChestFlag, GF_OBK04_GiantChest) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenGiantChest))) + EVT_CALL(MakeItemEntity, ITEM_BOOTS2_ICON, NPC_DISPOSE_LOCATION, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_CALL(N(SetItemAlpha)) + EVT_SET(MV_KeepAwayItem, LVar0) + EVT_IF_EQ(GF_OBK04_BoardedFloor, FALSE) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BoardedFloor), 0, 0, 0, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OnSmash_Floor))) + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -60, 0, -190, 0, ITEM_MAPLE_SYRUP, MAKE_ENTITY_END) + EVT_CALL(AssignCrateFlag, GF_OBK04_Crate_MapleSyrup) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -60, 30, -190, 0, -1, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -20, 0, -190, 0, -1, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), -175, 0, -75, 0, MODEL_o318, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_OBK04_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_04/obk_04_3_npc.c b/src/world/area_obk/obk_04/obk_04_3_npc.c new file mode 100644 index 0000000000..73f96110a6 --- /dev/null +++ b/src/world/area_obk/obk_04/obk_04_3_npc.c @@ -0,0 +1,673 @@ +#include "obk_04.h" + +enum { + RING_STATE_0 = 0, + RING_STATE_1 = 1, + RING_STATE_10 = 10, + RING_STATE_11 = 11, + RING_STATE_12 = 12, + RING_STATE_13 = 13, + RING_STATE_14 = 14, + RING_STATE_15 = 15, + RING_STATE_100 = 100, +}; + +#include "world/common/npc/Boo.inc.c" + +API_CALLABLE(N(func_80240050_BC7EB0)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + s32* ptr = heap_malloc(sizeof(s32)); // todo what is this + + npc->blur.any = ptr; + *ptr = NULL; + npc->planarFlyDist = 125.0f; + npc->yaw = 0.0f; + npc->pos.x = 0.0f; + npc->pos.y = -875.0f; + npc->pos.z = 0.0f; + npc->duration = 60; + script->functionTemp[1] = RING_STATE_0; + return ApiStatus_DONE2; +} + +void N(func_802400D0_BC7F30)(Npc* npc) { + if (npc->yaw > 340.0f || npc->yaw < 20.0f) { + npc->renderMode = RENDER_MODE_ALPHATEST; + npc->unk_A2 = 0; + func_8003D624(npc, FOLD_TYPE_NONE, 0, 0, 0, 0, npc->unk_A2); + } else { + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + func_8003D624(npc, FOLD_TYPE_7, gPlayerStatusPtr->alpha1, 255, 0, 0, npc->unk_A2); + npc->unk_9A = 255; + } +} + +void N(func_80240198_BC7FF8)(void) { + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo1)); + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo2)); + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo3)); + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo4)); + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo5)); + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo6)); + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo7)); + N(func_802400D0_BC7F30)(get_npc_unsafe(NPC_KeepAwayBoo8)); +} + +void N(func_8024022C_BC808C)(void) { + get_npc_unsafe(NPC_KeepAwayBoo1)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo2)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo3)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo4)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo5)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo6)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo7)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo8)->unk_A2 = 0; +} + +s32 N(func_802402A0_BC8100)(s32 arg0) { + s32 ret = 12; + + switch (arg0) { + case 0: + ret = 12; + break; + case 1: + ret = 100; + break; + case 2: + ret = 13; + break; + case 3: + ret = 14; + break; + } + return ret; +} + +API_CALLABLE(N(func_802402F4_BC8154)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + s32* temp_s3 = npc->blur.any; + s32 temp_v0; + + switch (script->functionTemp[1]) { + case RING_STATE_0: + temp_v0 = evt_get_variable(script, MV_Unk_01); + if (temp_v0 == 1) { + *temp_s3 = temp_v0; + script->functionTemp[1] = RING_STATE_10; + } + break; + case RING_STATE_1: + break; + case RING_STATE_10: + npc->yaw = clamp_angle(npc->yaw + 2.0f); + npc->duration--; + if (npc->duration == 0) { + script->functionTemp[1] = RING_STATE_11; + } + break; + case RING_STATE_11: + if (npc->pos.y <= -920.0f) { + N(func_80240198_BC7FF8)(); + } + npc->yaw = clamp_angle(npc->yaw + 2.0f); + npc->pos.y -= 0.5f; + if (npc->pos.y <= -988.0f) { + evt_set_variable(script, MV_Unk_02, 1); + N(func_8024022C_BC808C)(); + script->functionTemp[1] = RING_STATE_12; + } + break; + case RING_STATE_12: + script->functionTemp[1] = N(func_802402A0_BC8100)(evt_get_variable(script, MV_Unk_03)); + npc->yaw = clamp_angle(npc->yaw + 2.0f); + break; + case RING_STATE_13: + script->functionTemp[1] = N(func_802402A0_BC8100)(evt_get_variable(script, MV_Unk_03)); + npc->yaw = clamp_angle(npc->yaw - 2.0f); + break; + case RING_STATE_14: + evt_set_variable(script, MV_Unk_03, 0); + npc->duration++; + if (npc->duration == 50) { + script->functionTemp[1] = RING_STATE_15; + } + npc->planarFlyDist -= 2.0f; + npc->yaw = clamp_angle(npc->yaw + 2.0f); + break; + case RING_STATE_15: + npc->duration--; + if (npc->duration == 0) { + script->functionTemp[1] = RING_STATE_12; + } + npc->planarFlyDist += 2.0f; + npc->yaw = clamp_angle(npc->yaw + 2.0f); + break; + case RING_STATE_100: + script->functionTemp[1] = N(func_802402A0_BC8100)(evt_get_variable(script, MV_Unk_03)); + break; + } + + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_802405B4_BC8414)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + + npc->blur.any = get_npc_unsafe(NPC_Boo_01); // TODO what is this? + script->functionTemp[2] = script->owner2.npcID * 45; + npc->flags |= NPC_FLAG_40000; + script->functionTemp[1] = RING_STATE_0; + return ApiStatus_DONE2; +} + +API_CALLABLE(func_80240624_BC8484); + +// float regalloc +#ifdef NON_MATCHING +API_CALLABLE(N(func_80240624_BC8484)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + Npc* npc2 = npc->blur.any; + f32 temp_f10; + f32 temp_f12; + f32 temp_f14; + f32 temp_f2; + f32 temp_f4; + f32 temp_f6; + s32* temp_s2; + f32 yaw; + f32 new_var; + f32 f1; + + + temp_s2 = npc2->blur.any; + switch (script->functionTemp[1]) { + case 0: + npc->yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); + if (*temp_s2 == 1) { + script->functionTemp[1] = 1; + npc->duration = rand_int(20) + 10; + } + break; + case 1: + npc->yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); + npc->duration--; + if (npc->duration == 0) { + sfx_play_sound_at_position(0xB000000F, 0, npc->pos.x, npc->pos.y, npc->pos.z); + script->functionTemp[1] = 2; + npc->duration = 0; + npc->moveToPos.x = npc->pos.x; + npc->moveToPos.y = npc->pos.y; + npc->moveToPos.z = npc->pos.z; + } + break; + case 2: + npc->yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); + new_var = npc->yaw; + npc->pos.x = npc2->pos.x; + npc->pos.z = npc2->pos.z; + npc_move_heading(npc, npc2->planarFlyDist, new_var); + temp_f4 = (40.0f - npc->duration) / 40.0f; + temp_f12 = npc->pos.z; + f1 = (npc->pos.x - npc->moveToPos.x) * (temp_f4 * temp_f4); + temp_f6 = (npc->pos.z - npc->moveToPos.z) * (temp_f4 * temp_f4); + temp_f2 = npc2->pos.y + 1000.0f; + npc->pos.x -= f1; + npc->pos.y = temp_f2; + npc->pos.y -= (npc->pos.y - npc->moveToPos.y) * ((temp_f4 * temp_f4) * temp_f4); + npc->pos.z = temp_f12 - temp_f6; + npc->duration++; + if (npc->duration == 40) { + script->functionTemp[1] = 12; + } + break; + case 12: + case 13: + case 14: + yaw = clamp_angle(script->functionTemp[2] + npc2->yaw); + npc->yaw = yaw; + script->functionTemp[1] = N(func_802402A0_BC8100)(evt_get_variable(script, MV_Unk_03)); + npc->pos.x = npc2->pos.x; + npc->pos.z = npc2->pos.z; + npc_move_heading(npc, npc2->planarFlyDist, yaw); + npc->pos.y = npc2->pos.y + 1000.0f; + break; + case 100: + script->functionTemp[1] = N(func_802402A0_BC8100)(evt_get_variable(script, MV_Unk_03)); + break; + } + return ApiStatus_DONE2; +} +#else +INCLUDE_ASM(s32, "world/area_obk/obk_04/BC7EB0", func_80240624_BC8484); +#endif + +EvtScript N(EVS_NpcIdle_Boo_01) = { + EVT_WAIT(4) + EVT_CALL(N(func_80240050_BC7EB0)) + EVT_LABEL(10) + EVT_CALL(N(func_802402F4_BC8154)) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_KeepAwayBoo) = { + EVT_WAIT(5) + EVT_CALL(N(func_802405B4_BC8414)) + EVT_LABEL(10) + EVT_CALL(func_80240624_BC8484) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnHit_KeepAwayBoo) = { + EVT_IF_EQ(MV_ThrowTargetNpc, LVar0) + EVT_SET(MV_KeepAwayResult, KEEP_AWAY_RIGHT) + EVT_ELSE + EVT_SET(MV_KeepAwayResult, KEEP_AWAY_WRONG) + EVT_END_IF + EVT_THREAD + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Boo_Cower) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Boo_Idle) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo1) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo1) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo1) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo2) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo2) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo2) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo3) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo3) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo3) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo4) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo4) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo4) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo5) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo5) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo5) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo6) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo6) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo6) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo7) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo7) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo7) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo8) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo8) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo8) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Boo_01) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Boo_01))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo1))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo2))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo3) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo3))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo4) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo4))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo5) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo5))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo6) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo6))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo7) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo7))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo8) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo8))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Boo_01) = { + .id = NPC_Boo_01, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_Boo_01), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo1) = { + .id = NPC_KeepAwayBoo1, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo1), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo2) = { + .id = NPC_KeepAwayBoo2, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo2), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo3) = { + .id = NPC_KeepAwayBoo3, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo3), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo4) = { + .id = NPC_KeepAwayBoo4, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo4), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo5) = { + .id = NPC_KeepAwayBoo5, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo5), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo6) = { + .id = NPC_KeepAwayBoo6, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo6), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo7) = { + .id = NPC_KeepAwayBoo7, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo7), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo8) = { + .id = NPC_KeepAwayBoo8, + .settings = &N(NpcSettings_Boo), + .pos = { 176.0f, 0.0f, -173.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo8), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +EvtScript N(EVS_NpcInit_Boo_10) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Boo_11) = { + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_HAS_SHADOW, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_TutorialBoo) = { + EVT_IF_EQ(GF_OBK04_HiddenPanel, FALSE) + EVT_CALL(SpeakToPlayer, NPC_TutorialBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_003F) + EVT_ELSE + EVT_IF_EQ(GF_OBK04_HeardAboutHiddenPanels, FALSE) + EVT_CALL(SpeakToPlayer, NPC_TutorialBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0040) + EVT_SET(GF_OBK04_HeardAboutHiddenPanels, TRUE) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_TutorialBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0041) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TutorialBoo) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_TutorialBoo))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(SetNpcPos, NPC_TutorialBoo, -160, 10, -175) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_KeepAwayExtras)[] = { + { + .id = NPC_LeaderBoo, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Boo_10), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, + { + .id = NPC_DummyBoo, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_4000, + .init = &N(EVS_NpcInit_Boo_11), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, +}; + +StaticNpc N(NpcData_TutorialBoo) = { + .id = NPC_TutorialBoo, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TutorialBoo), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + .tattle = MSG_NpcTattle_OBK_BootsTutor, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Boo_01)), + NPC_GROUP(N(NpcData_KeepAwayBoo1)), + NPC_GROUP(N(NpcData_KeepAwayBoo2)), + NPC_GROUP(N(NpcData_KeepAwayBoo3)), + NPC_GROUP(N(NpcData_KeepAwayBoo4)), + NPC_GROUP(N(NpcData_KeepAwayBoo5)), + NPC_GROUP(N(NpcData_KeepAwayBoo6)), + NPC_GROUP(N(NpcData_KeepAwayBoo7)), + NPC_GROUP(N(NpcData_KeepAwayBoo8)), + NPC_GROUP(N(NpcData_KeepAwayExtras)), + NPC_GROUP(N(NpcData_TutorialBoo)), + {} +}; diff --git a/src/world/area_obk/obk_04/obk_04_4_main.c b/src/world/area_obk/obk_04/obk_04_4_main.c new file mode 100644 index 0000000000..7f3de781fb --- /dev/null +++ b/src/world/area_obk/obk_04/obk_04_4_main.c @@ -0,0 +1,84 @@ +#include "obk_04.h" +#include "effects.h" + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(obk_04_ENTRY_0) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0)) + EVT_CALL(PlayerMoveTo, -150, LVar2, 0) + EVT_END_THREAD + EVT_CALL(EnableModel, MODEL_door_off1, FALSE) + EVT_CALL(EnableModel, MODEL_door_off2, FALSE) + EVT_SET(LVar2, MODEL_door1) + EVT_SET(LVar3, DOOR_SWING_IN) + EVT_EXEC_WAIT(EnterSingleDoor) + EVT_CALL(EnableModel, MODEL_door_off1, TRUE) + EVT_CALL(EnableModel, MODEL_door_off2, TRUE) + EVT_WAIT(20) + EVT_CALL(MakeLerp, 0, -90, 15, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_door1, LVar0, 0, 0, 1) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -215, 0, 25, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -215, 0, -25, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -200, 0, 25, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -200, 0, -25, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -185, 0, 25, 0) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, -185, 0, -25, 0) + EVT_WAIT(20) + EVT_CALL(EnableModel, MODEL_door1, FALSE) + EVT_CALL(MakeLerp, 0, 10, 15, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateModel, MODEL_door_off1, LVar0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(EnableModel, MODEL_door_off3, FALSE) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Fog) = { + EVT_THREAD + EVT_CALL(SetTexPanner, MODEL_m1, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_m2, TEX_PANNER_0) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LABEL(20) + EVT_ADD(LVar0, 300) + EVT_ADD(LVar1, 100) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, LVar0, LVar1) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_ManageHole)) + EVT_EXEC(N(EVS_TexPan_Fog)) + EVT_EXEC(N(EVS_EnterMap)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_hip1, COLLIDER_FLAGS_UPPER_MASK) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_04/obk_04_5_hole.c b/src/world/area_obk/obk_04/obk_04_5_hole.c new file mode 100644 index 0000000000..f811f422c9 --- /dev/null +++ b/src/world/area_obk/obk_04/obk_04_5_hole.c @@ -0,0 +1,17 @@ +#include "obk_04.h" + +API_CALLABLE(N(AwaitPlayerEnterHole)) { + if (gPlayerStatus.position.y < -50.0f) { + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +EvtScript N(EVS_ManageHole) = { + EVT_CALL(N(AwaitPlayerEnterHole)) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(GotoMap, EVT_PTR("obk_03"), obk_03_ENTRY_2) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_04/obk_04_6_game.c b/src/world/area_obk/obk_04/obk_04_6_game.c new file mode 100644 index 0000000000..4b9196148c --- /dev/null +++ b/src/world/area_obk/obk_04/obk_04_6_game.c @@ -0,0 +1,519 @@ +#include "obk_04.h" +#include "effects.h" + +// redundant, but useful for documentation +enum { + KEEP_AWAY_BOO_0 = 0, + KEEP_AWAY_BOO_1 = 1, + KEEP_AWAY_BOO_2 = 2, + KEEP_AWAY_BOO_3 = 3, + KEEP_AWAY_BOO_4 = 4, + KEEP_AWAY_BOO_5 = 5, + KEEP_AWAY_BOO_6 = 6, + KEEP_AWAY_BOO_7 = 7, +}; + +#include "world/common/complete/GiveReward.inc.c" + +API_CALLABLE(N(GetKeepAwayCarrierYaw)) { + Npc* npc1 = get_npc_unsafe(NPC_KeepAwayBoo1); + Npc* npc2 = get_npc_unsafe(NPC_KeepAwayBoo2); + Npc* npc3 = get_npc_unsafe(NPC_KeepAwayBoo3); + Npc* npc4 = get_npc_unsafe(NPC_KeepAwayBoo4); + Npc* npc5 = get_npc_unsafe(NPC_KeepAwayBoo5); + Npc* npc6 = get_npc_unsafe(NPC_KeepAwayBoo6); + Npc* npc7 = get_npc_unsafe(NPC_KeepAwayBoo7); + Npc* npc8 = get_npc_unsafe(NPC_KeepAwayBoo8); + + switch (script->varTable[0]) { + case KEEP_AWAY_BOO_0: + script->varTable[0] = npc1->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo1); + break; + case KEEP_AWAY_BOO_1: + script->varTable[0] = npc2->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo2); + break; + case KEEP_AWAY_BOO_2: + script->varTable[0] = npc3->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo3); + break; + case KEEP_AWAY_BOO_3: + script->varTable[0] = npc4->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo4); + break; + case KEEP_AWAY_BOO_4: + script->varTable[0] = npc5->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo5); + break; + case KEEP_AWAY_BOO_5: + script->varTable[0] = npc6->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo6); + break; + case KEEP_AWAY_BOO_6: + script->varTable[0] = npc7->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo7); + break; + case KEEP_AWAY_BOO_7: + script->varTable[0] = npc8->yaw; + evt_set_variable(NULL, MV_ThrowTargetNpc, NPC_KeepAwayBoo8); + break; + } + script->varTable[0] += script->varTable[1]; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetItemJumpDest)) { + // create temporary NPC so we can use npc movement code to determine jump dest position + Npc npc; + + npc.pos.x = 0.0f; + npc.pos.y = 0.0f; + npc.pos.z = 0.0f; + npc.planarFlyDist = 125.0f; + npc_move_heading(&npc, 125.0f, script->varTable[0]); + script->varTable[0] = npc.pos.x; + script->varTable[1] = npc.pos.y + 10.0f; + script->varTable[2] = npc.pos.z + 20.0f; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetKeepAwayCarrierPos)) { + Npc* npc = get_npc_unsafe(evt_get_variable(NULL, MV_ThrowTargetNpc)); + + script->varTable[0] = npc->pos.x; + script->varTable[1] = npc->pos.y; + script->varTable[2] = npc->pos.z; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(UpgradeBootsToSuper)) { + gPlayerData.bootsLevel = 1; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetPlayerPosOutsideKeepAwayRing)) { + PlayerStatus* playerStatus = &gPlayerStatus; + Npc npc; + f32 dist = dist2D(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f); + f32 yaw; + s32 gt, lt; + + if (!(dist > 90.0f)) { + gt = FALSE; + } else { + gt = TRUE; + } + + if (!(dist < 150.0f)) { + lt = FALSE; + } else { + lt = TRUE; + } + + if (gt | lt) { + yaw = atan2(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f) + 180.0f; + npc.pos.x = 0.0f; + npc.pos.y = 0.0f; + npc.pos.z = 0.0f; + npc_move_heading(&npc, 80.0f, yaw); + script->varTable[0] = npc.pos.x; + script->varTable[1] = npc.pos.y; + script->varTable[2] = npc.pos.z; + script->varTable[3] = 1; + } else { + script->varTable[0] = playerStatus->position.x; + script->varTable[1] = playerStatus->position.y; + script->varTable[2] = playerStatus->position.z; + script->varTable[3] = 0; + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(WaitForFirstCarrier)) { + if (get_npc_unsafe(NPC_KeepAwayBoo1)->duration == 0) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +EvtScript N(EVS_TetherItemToDummy) = { + EVT_LOOP(0) + EVT_CALL(GetNpcPos, NPC_DummyBoo, LVar0, LVar1, LVar2) + EVT_CALL(SetItemPos, MV_KeepAwayItem, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_IntroduceAndHideBoots) = { + EVT_CALL(N(WaitForFirstCarrier)) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(MakeLerp, 255, 0, 10, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemAlpha, MV_KeepAwayItem, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + EVT_LOOP(20) + EVT_CALL(GetNpcPos, NPC_KeepAwayBoo1, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_DummyBoo, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcPos, NPC_DummyBoo, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; + +// useless +EvtScript N(EVS_DetermineCarrierNPC) = { + EVT_SWITCH(MV_ThrowTargetNpc) + EVT_CASE_EQ(NPC_Boo_01) + EVT_SET(MV_ItemCarrierNpc, NPC_Boo_01) + EVT_CASE_EQ(NPC_KeepAwayBoo1) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo1) + EVT_CASE_EQ(NPC_KeepAwayBoo2) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo2) + EVT_CASE_EQ(NPC_KeepAwayBoo3) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo3) + EVT_CASE_EQ(NPC_KeepAwayBoo4) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo4) + EVT_CASE_EQ(NPC_KeepAwayBoo5) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo5) + EVT_CASE_EQ(NPC_KeepAwayBoo6) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo6) + EVT_CASE_EQ(NPC_KeepAwayBoo7) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo7) + EVT_CASE_EQ(NPC_KeepAwayBoo8) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BooAppear) = { + EVT_WAIT(10) + EVT_CALL(MakeLerp, 0, 255, 60, EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, LVarA, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BooSpookAndVanish) = { + EVT_CALL(SetNpcFlagBits, LVarA, NPC_FLAG_40000, FALSE) + EVT_CALL(NpcFacePlayer, LVarA, 0) + EVT_WAIT(5) + EVT_CALL(SetNpcAnimation, LVarA, ANIM_Boo_Spook) + EVT_WAIT(10) + EVT_CALL(MakeLerp, 255, 0, 60, EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, LVarA, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetNpcPos, LVarA, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ShowGotSuperBootsFX) = { + EVT_THREAD + EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(8.0), 0, EVT_FLOAT(300.0), EVT_FLOAT(17.5), EVT_FLOAT(-9.5)) + EVT_END_THREAD + EVT_CALL(SetPlayerAnimation, ANIM_Mario_6000C) + EVT_CALL(GetPlayerPos, LVar5, LVar6, LVar7) + EVT_ADD(LVar6, 40) + EVT_CALL(MakeItemEntity, ITEM_SUPER_BOOTS, LVar5, LVar6, LVar7, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_SET(LVarC, LVar0) + EVT_ADD(LVar6, 16) + EVT_PLAY_EFFECT(EFFECT_GOT_ITEM_OUTLINE, 0, LVar5, LVar6, LVar7, EVT_FLOAT(1.0), LVar8) + EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 9, LVar5, LVar6, LVar7, EVT_FLOAT(1.0), 100) + EVT_THREAD + EVT_WAIT(4) + EVT_CALL(GetPlayerPos, LVar3, LVar4, LVar5) + EVT_ADD(LVar4, 50) + EVT_ADD(LVar5, 2) + EVT_ADD(LVar3, 8) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 3, LVar3, LVar4, LVar5, 20) + EVT_ADD(LVar3, -16) + EVT_PLAY_EFFECT(EFFECT_SPARKLES, 3, LVar3, LVar4, LVar5, 20) + EVT_END_THREAD + EVT_LOOP(0) + EVT_WAIT(1) + EVT_IF_EQ(MF_WaitForUpgradeDone, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(func_802D7B44, LVar8) + EVT_CALL(RemoveItemEntity, LVarC) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_THREAD + EVT_CALL(ResetCam, CAM_DEFAULT, 3) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_BoosUnleashed) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetMusicTrack, 0, SONG_BOO_MINIGAME, 0, 8) + EVT_EXEC(N(EVS_TetherItemToDummy)) + EVT_WAIT(1) + EVT_EXEC(N(EVS_IntroduceAndHideBoots)) + EVT_SET(MV_Unk_01, 1) + EVT_WAIT(30) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002B) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(InterpPlayerYaw, 270, 0) + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(400.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_WAIT(60) + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(325.0), EVT_FLOAT(13.0), EVT_FLOAT(-13.0)) + // have item appear with leader via dummy NPC + EVT_CALL(SetNpcPos, NPC_LeaderBoo, 0, 45, 20) + EVT_CALL(SetNpcPos, NPC_DummyBoo, 0, 65, 0) + EVT_CALL(MakeLerp, 0, 255, 30, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_LeaderBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(SetItemAlpha, MV_KeepAwayItem, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + // explain the game + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_003A) + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(450.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_003B) + EVT_LOOP(0) + EVT_WAIT(1) + EVT_IF_EQ(MV_Unk_02, 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_SET(MV_KeepAwayRound, 0) + EVT_LABEL(100) + EVT_ADD(MV_KeepAwayRound, 1) + EVT_IF_GE(MV_KeepAwayRound, 10) + EVT_SET(MV_KeepAwayRound, 10) + EVT_END_IF + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(500.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_WAIT(20) + // first throw -- from leader + // choose which boo will have the item next + EVT_CALL(RandInt, KEEP_AWAY_BOO_7, LVar0) + EVT_SET(MV_KeepAwayTarget, LVar0) + // jump dummy to the location of that NPC + EVT_SET(LVar1, 30) + EVT_CALL(N(GetKeepAwayCarrierYaw)) + EVT_CALL(N(GetItemJumpDest)) + EVT_CALL(PlaySoundAtNpc, NPC_DummyBoo, SOUND_THROW, 0) + EVT_CALL(SetNpcJumpscale, NPC_DummyBoo, EVT_FLOAT(1.0)) + EVT_CALL(NpcJump0, NPC_DummyBoo, LVar0, LVar1, LVar2, 14) + EVT_CALL(SetNpcPos, NPC_DummyBoo, NPC_DISPOSE_LOCATION) + EVT_WAIT(30) + EVT_THREAD + EVT_CALL(MakeLerp, 255, 0, 10, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_LeaderBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_THREAD + // throw between 4-10 times + EVT_CALL(RandInt, 4, MV_KeepAwayThrows) + EVT_ADD(MV_KeepAwayThrows, 6) + EVT_LOOP(0) + EVT_CALL(N(GetKeepAwayCarrierPos)) + // choose which boo will have the item next + EVT_CALL(SetNpcPos, NPC_DummyBoo, LVar0, LVar1, LVar2) + EVT_CALL(RandInt, KEEP_AWAY_BOO_7, LVar0) + EVT_IF_EQ(MV_KeepAwayTarget, LVar0) + EVT_ADD(LVar0, 4) + EVT_IF_GE(LVar0, 8) + EVT_SUB(LVar0, 8) + EVT_END_IF + EVT_END_IF + EVT_SET(MV_KeepAwayTarget, LVar0) + // jump dummy to the location of that NPC + EVT_SET(LVar1, 30) + EVT_CALL(N(GetKeepAwayCarrierYaw)) + EVT_CALL(N(GetItemJumpDest)) + EVT_CALL(PlaySoundAtNpc, NPC_DummyBoo, SOUND_THROW, 0) + EVT_CALL(SetNpcJumpscale, NPC_DummyBoo, EVT_FLOAT(1.5)) + EVT_CALL(NpcJump0, NPC_DummyBoo, LVar0, LVar1, LVar2, 14) + EVT_CALL(SetNpcPos, NPC_DummyBoo, NPC_DISPOSE_LOCATION) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 5) + EVT_WAIT(LVar0) + EVT_ADD(MV_KeepAwayThrows, -1) + EVT_IF_EQ(MV_KeepAwayThrows, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_SET(MV_Unk_03, 3) + EVT_CALL(RandInt, 50, LVar0) + EVT_ADD(LVar0, 100) + EVT_WAIT(LVar0) + EVT_CALL(MakeLerp, 0, 255, 10, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_LeaderBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 5, MSG_CH3_003C) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_LOOP(0) + EVT_WAIT(1) + EVT_IF_NE(MV_KeepAwayResult, KEEP_AWAY_WAITING) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_SET(MV_Unk_03, 1) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_IF_EQ(MV_KeepAwayResult, KEEP_AWAY_WRONG) + // player hit the wrong Boo, begin another round + EVT_WAIT(20) + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(450.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_WAIT(30) + EVT_EXEC_WAIT(N(EVS_DetermineCarrierNPC)) + EVT_CALL(GetNpcPos, MV_ItemCarrierNpc, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_DummyBoo, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcPos, NPC_DummyBoo, LVar3, LVar4, LVar5) + EVT_SET(LVar6, 25) + EVT_ADD(LVar6, LVar4) + EVT_CALL(MakeLerp, LVar4, LVar6, 20, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcPos, NPC_DummyBoo, LVar3, LVar0, LVar5) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SpeakToPlayer, MV_ItemCarrierNpc, ANIM_Boo_Talk, ANIM_Boo_Idle, 5, MSG_CH3_003E) + EVT_CALL(PlaySoundAtNpc, NPC_DummyBoo, SOUND_THROW, 0) + EVT_CALL(SetNpcJumpscale, NPC_DummyBoo, EVT_FLOAT(2.0)) + EVT_CALL(NpcJump0, NPC_DummyBoo, 0, 65, 0, 10) + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 5, MSG_CH3_003B) + EVT_SET(MV_KeepAwayResult, KEEP_AWAY_WAITING) + EVT_SET(MV_Unk_03, 0) + EVT_CALL(N(GetPlayerPosOutsideKeepAwayRing)) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(4.0)) + EVT_CALL(PlayerMoveTo, LVar0, LVar2, 0) + EVT_WAIT(30) + EVT_GOTO(100) + EVT_END_IF + EVT_LOOP(0) + EVT_CALL(GetPlayerActionState, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar0, ACTION_STATE_IDLE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_EXEC_WAIT(N(EVS_DetermineCarrierNPC)) + EVT_CALL(GetNpcPos, MV_ItemCarrierNpc, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 20) + EVT_CALL(SetNpcPos, NPC_DummyBoo, LVar0, LVar1, LVar2) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(1) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, 30) + EVT_CALL(PlaySoundAtNpc, NPC_DummyBoo, SOUND_THROW, 0) + EVT_CALL(SetNpcJumpscale, NPC_DummyBoo, EVT_FLOAT(2.0)) + EVT_CALL(NpcJump0, NPC_DummyBoo, LVar0, LVar1, LVar2, 10) + EVT_WAIT(10) + EVT_CALL(SetNpcPos, NPC_DummyBoo, NPC_DISPOSE_LOCATION) + EVT_WAIT(1) + EVT_SET(MF_WaitForUpgradeDone, FALSE) + EVT_EXEC(N(EVS_PlayUpgradeSong)) + EVT_EXEC(N(EVS_ShowGotSuperBootsFX)) + EVT_CALL(N(UpgradeBootsToSuper)) + EVT_WAIT(30) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0180, 160, 40) + EVT_SET(MF_WaitForUpgradeDone, TRUE) + EVT_WAIT(30) + EVT_CALL(N(GetPlayerPosOutsideKeepAwayRing)) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(4.0)) + EVT_CALL(PlayerMoveTo, LVar0, LVar2, 0) + EVT_WAIT(20) + EVT_CALL(GetNpcPos, NPC_LeaderBoo, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(350.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_003D) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(450.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(20) + EVT_THREAD + EVT_WAIT(30) + EVT_CALL(PlaySound, SOUND_BOO_SPOOK) + EVT_END_THREAD + EVT_SET(LVarA, NPC_KeepAwayBoo1) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo2) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo3) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo4) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo5) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo6) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo7) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo8) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_LeaderBoo) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_WAIT(60) + EVT_CALL(SetNpcPos, NPC_TutorialBoo, -160, 10, -175) + EVT_CALL(func_802CFD30, NPC_TutorialBoo, FOLD_TYPE_7, 0, 0, 0, 0) + EVT_SET(LVarA, NPC_TutorialBoo) + EVT_EXEC(N(EVS_BooAppear)) + EVT_WAIT(60) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(450.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_WAIT(20) + EVT_SET(GB_StoryProgress, STORY_CH3_GOT_SUPER_BOOTS) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_05/BCD060.c b/src/world/area_obk/obk_05/BCD060.c deleted file mode 100644 index 1cf9056125..0000000000 --- a/src/world/area_obk/obk_05/BCD060.c +++ /dev/null @@ -1,202 +0,0 @@ -#include "obk_05.h" -#include "model.h" -#include "mapfs/obk_05_shape.h" -#include "mapfs/obk_05_hit.h" - -static char* N(exit_str_0) = "obk_01"; -static char* N(exit_str_1) = "obk_06"; - -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" - -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" - -ApiStatus N(RetroJar_AwaitPlayerEntry)(Evt* script, s32 isInitialCall) { - if (gCollisionStatus.currentFloor == COLLIDER_o420) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus N(RockingChair_UpdatePhysics)(Evt* script, s32 isInitialCall) { - typedef struct RockingChairPhysics { - /* 0x00 */ f32 angleDelta; - /* 0x04 */ f32 angularAccel; - /* 0x08 */ f32 rotationAngle; - /* 0x0C */ f32 verticalOffset; - /* 0x10 */ f32 angleB; - /* 0x14 */ f32 angleA; - /* 0x18 */ f32 mass; - /* 0x1C */ f32 equilibriumAngle; - } RockingChairPhysics; // size = 0x20 - - enum RockingChairState { - CHAIR_STATE_INITIAL = 0, - CHAIR_STATE_PLAYER_TOUCHING = 1, - CHAIR_STATE_PLAYER_NOT_TOUCHING = 2 - }; - - PlayerStatus* playerStatus = &gPlayerStatus; - CollisionStatus* collisionStatus = &gCollisionStatus; - RockingChairPhysics* physics; - f32 centerX, centerY, centerZ; - Matrix4f tempMtx; - Model* model; - s16 currentFloor; - - if (isInitialCall) { - physics = heap_malloc(sizeof(*physics)); - script->functionTempPtr[1] = physics; - physics->angleDelta = 0; - physics->verticalOffset = 0; - physics->rotationAngle = 0; - physics->angleB = 0; - physics->angleA = 0; - physics->angularAccel = 0.1f; - physics->mass = 3.0f; - script->functionTemp[0] = CHAIR_STATE_INITIAL; - script->functionTemp[2] = 0; - script->functionTemp[3] = 0; - } - - physics = script->functionTempPtr[1]; - switch (script->functionTemp[0]) { - case CHAIR_STATE_INITIAL: - if (collisionStatus->currentFloor == COLLIDER_i3) { - script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; - } - if (collisionStatus->currentFloor == COLLIDER_i2) { - script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; - } - physics->angleDelta = 0.0f; - physics->verticalOffset = 0.0f; - physics->angleB = 0.0f; - physics->angleA = 0.0f; - physics->rotationAngle = 0.0f; - physics->angularAccel = 0.1f; - physics->mass = 3.0f; - physics->equilibriumAngle = 20.0f; - break; - case CHAIR_STATE_PLAYER_TOUCHING: - //TODO odd match - currentFloor = collisionStatus->currentFloor; - if (currentFloor != COLLIDER_i3 && collisionStatus->currentFloor != COLLIDER_i2) { - script->functionTemp[3] = 120; // settle time - script->functionTemp[0] = CHAIR_STATE_PLAYER_NOT_TOUCHING; - } - if (fabsf(physics->rotationAngle) < 5.0f) { - physics->angularAccel = fabsf(0.0 - playerStatus->position.x) / 200.0f; - } else { - physics->angularAccel = 0.1f; - } - if (playerStatus->position.x <= 0.0) { - physics->angleB += physics->angularAccel; - physics->equilibriumAngle = SQ(fabsf(0.0 - playerStatus->position.x)) / 50.0f; - if (physics->equilibriumAngle > 15.0f) { - physics->equilibriumAngle = 15.0f; - } - if (physics->rotationAngle > physics->equilibriumAngle) { - physics->angleA += physics->angularAccel * physics->mass; - } - } else { - physics->angleA += physics->angularAccel; - physics->equilibriumAngle = -SQ(-fabsf(0.0 - playerStatus->position.x) * 0.5f) / 50.0f; - if (physics->equilibriumAngle < -5.0f) { - physics->equilibriumAngle = -5.0f; - } - if (physics->rotationAngle < physics->equilibriumAngle) { - physics->angleB += physics->angularAccel * physics->mass; - } - } - if ((physics->angleB > 100.0) && (physics->angleA > 100.0)) { - physics->angleB -= 100.0; - physics->angleA -= 100.0; - } - // clamp difference to 1.5 degrees - if (fabsf(physics->angleB - physics->angleA) > 1.5) { - if (physics->angleA > physics->angleB) { - physics->angleA = physics->angleB + 1.5; - } else { - physics->angleB = physics->angleA + 1.5; - } - } - physics->angleDelta = physics->angleB - physics->angleA; - physics->rotationAngle += physics->angleDelta; - break; - case CHAIR_STATE_PLAYER_NOT_TOUCHING: - if (collisionStatus->currentFloor == COLLIDER_i3) { - script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; - } - if (collisionStatus->currentFloor == COLLIDER_i2) { - script->functionTemp[0] = CHAIR_STATE_PLAYER_TOUCHING; - } - - physics->angularAccel = 0.1f; - physics->equilibriumAngle = 0; - physics->angleB += physics->angularAccel; - - if (physics->rotationAngle > physics->equilibriumAngle) { - physics->angleA += physics->angularAccel * physics->mass; - } - if ((physics->angleB > 100.0) && ( physics->angleA > 100.0)) { - physics->angleB -= 100.0; - physics->angleA -= 100.0; - } - - if (fabsf(physics->angleB - physics->angleA) > 0.5) { - if (physics->angleA > physics->angleB) { - physics->angleA = physics->angleB + 0.5; - } else { - physics->angleB = physics->angleA + 0.5; - } - } - if (script->functionTemp[3] < 0) { - f32 zero = 0.0f; - physics->angleA = zero; - physics->angleB = zero; - physics->angleDelta = zero; - physics->rotationAngle = zero; - } else { - script->functionTemp[3]--; - } - physics->angleDelta = physics->angleB - physics->angleA; - physics->rotationAngle += physics->angleDelta; - break; - } - - // play creak sound once per cycle - if (physics->rotationAngle <= -7.0f) { - if (script->functionTemp[2] != -1) { - get_collider_center(COLLIDER_i3, ¢erX, ¢erY, ¢erZ); - sfx_play_sound_at_position(SOUND_CREAKY_ROCKING_CHAIR, 0, centerX, centerY, centerZ); - script->functionTemp[2] = -1; - } - } else { - script->functionTemp[2] = 0; - } - - physics->verticalOffset = SQ(physics->rotationAngle) / 90.0f; - - model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i3)); - model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); - guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); - guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); - guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); - update_collider_transform(COLLIDER_i3); - update_collider_transform(COLLIDER_i2); - - model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i2)); - model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); - guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); - guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); - guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); - - model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_i1)); - model->flags |= (MODEL_FLAGS_USES_TRANSFORM_MATRIX | MODEL_FLAGS_HAS_TRANSFORM_APPLIED); - guTranslateF(model->transformMatrix, 0.0f, physics->verticalOffset, 0.0f); - guRotateF(tempMtx, physics->rotationAngle, 0.0f, 0.0f, 1.0f); - guMtxCatF(model->transformMatrix, tempMtx, model->transformMatrix); - update_collider_transform(COLLIDER_i1); - - return ApiStatus_BLOCK; -} diff --git a/src/world/area_obk/obk_05/BCD7D0.c b/src/world/area_obk/obk_05/BCD7D0.c deleted file mode 100644 index d48cebf149..0000000000 --- a/src/world/area_obk/obk_05/BCD7D0.c +++ /dev/null @@ -1,80 +0,0 @@ -#include "obk_05.h" - -extern s16 D_8024100C_BCE06C[4]; - -ApiStatus func_80240770_BCD7D0(Evt* script, s32 isInitialCall) { - if (gPlayerStatus.position.y < -50.0f) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus func_802407A0_BCD800(Evt* script, s32 isInitialCall) { - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -ApiStatus func_802407AC_BCD80C(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_safe(script->owner2.npcID); - - switch (script->functionTemp[1]) { - case 0: - npc->duration = rand_int(180) + 30; - npc->pos.z = -430.0f; - npc->pos.y = rand_int(50) + 40.0f; - npc->moveSpeed = (2.0f * rand_float()) + 2.0f; - if (rand_int(100) < 50) { - npc->pos.x = 270.0f; - npc->yaw = 270.0f; - } else { - npc->pos.x = -270.0f; - npc->yaw = 90.0f; - } - script->functionTemp[1] = 1; - break; - case 1: - npc->duration--; - if (npc->duration == 0) { - script->functionTemp[1] = 2; - } - break; - case 2: - npc_move_heading(npc, npc->moveSpeed, npc->yaw); - if (npc->pos.x < -280.0f || npc->pos.x > 280.0f) { - script->functionTemp[1] = 0; - } - break; - } - return ApiStatus_DONE2; -} - -ApiStatus func_80240934_BCD994(Evt* script, s32 isInitialCall) { - s32 var0 = script->varTable[0]; - s32 var1 = script->varTable[1]; - s32 temp; - - if (var1 == 0) { - script->functionTemp[2] = D_8024100C_BCE06C[rand_int(3)]; - var1 = rand_int(50) + 30; - } - var1--; - - temp = script->functionTemp[2]; - if (var0 < temp) { - var0 += 10; - if (temp < var0) { - var0 = temp; - } - } - if (temp < var0) { - var0 -= 10; - if (var0 < temp) { - var0 = temp; - } - } - - script->varTable[0] = var0; - script->varTable[1] = var1; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_05/obk_05.h b/src/world/area_obk/obk_05/obk_05.h index 10c1d926d5..3cc353a50b 100644 --- a/src/world/area_obk/obk_05/obk_05.h +++ b/src/world/area_obk/obk_05/obk_05.h @@ -2,8 +2,29 @@ /// @brief Boo's Mansion - Pot Room #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_05_shape.h" +#include "mapfs/obk_05_hit.h" + +#include "sprite/npc/Boo.h" + +enum { + NPC_Boo_01 = 0, + NPC_Boo_02 = 1, +}; + +enum { + MF_IsRetroMario = MapFlag(10), +}; + #define NAMESPACE obk_05 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupRockingChairs); +extern EvtScript N(EVS_ManageHole); +extern NpcGroupList N(DefaultNPCs); +extern EvtScript N(EVS_MakeEntities); diff --git a/src/world/area_obk/obk_05/obk_05_0_header.c b/src/world/area_obk/obk_05/obk_05_0_header.c new file mode 100644 index 0000000000..66b748c790 --- /dev/null +++ b/src/world/area_obk/obk_05/obk_05_0_header.c @@ -0,0 +1,13 @@ +#include "obk_05.h" + +EntryList N(Entrances) = { + [obk_05_ENTRY_0] { -68.0, 0.0, 235.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_obk_05 }, +}; diff --git a/src/world/area_obk/obk_05/obk_05_1_music.c b/src/world/area_obk/obk_05/obk_05_1_music.c new file mode 100644 index 0000000000..d2e222b853 --- /dev/null +++ b/src/world/area_obk/obk_05/obk_05_1_music.c @@ -0,0 +1,11 @@ +#include "obk_05.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_05/obk_05_2_main.c b/src/world/area_obk/obk_05/obk_05_2_main.c new file mode 100644 index 0000000000..df13f459e6 --- /dev/null +++ b/src/world/area_obk/obk_05/obk_05_2_main.c @@ -0,0 +1,101 @@ +#include "obk_05.h" + +EvtScript N(EVS_EnterDoor_obk_05_0) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(obk_05_ENTRY_0) + EVT_SET(LVar2, MODEL_door1) + EVT_SET(LVar4, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC_WAIT(EnterSplitSingleDoor) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoor_obk_01_2) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(LVar0, obk_05_ENTRY_0) + EVT_SET(LVar1, COLLIDER_tt1) + EVT_SET(LVar2, MODEL_door1) + EVT_SET(LVar4, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC(ExitSplitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_01"), obk_01_ENTRY_2) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Fog) = { + EVT_CALL(SetTexPanner, MODEL_m1, 0) + EVT_CALL(SetTexPanner, MODEL_m2, 0) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_ADD(LVar0, 300) + EVT_ADD(LVar1, 100) + EVT_CALL(SetTexPanOffset, 0, 0, LVar0, LVar1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/todo/SetCamera0MoveFlag1.inc.c" + +API_CALLABLE(N(RetroJar_AwaitPlayerEntry)) { + if (gCollisionStatus.currentFloor == COLLIDER_o420) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +EvtScript N(EVS_ManageRetroJar) = { + EVT_LOOP(0) + EVT_CALL(N(RetroJar_AwaitPlayerEntry)) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_WAIT(1) + EVT_IF_EQ(MF_IsRetroMario, FALSE) + EVT_CALL(PlaySoundAtPlayer, SOUND_JUMP_8BIT_MARIO, 0) + EVT_CALL(Disable8bitMario, FALSE) + EVT_CALL(SetMusicTrack, 0, SONG_CHAPTER_START, 1, 8) + EVT_SET(MF_IsRetroMario, TRUE) + EVT_ELSE + EVT_CALL(PlaySoundAtPlayer, SOUND_JUMP_2081, 0) + EVT_CALL(Disable8bitMario, TRUE) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_SET(MF_IsRetroMario, FALSE) + EVT_END_IF + EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(1.0)) + EVT_CALL(PlayerJump, -105, 30, -55, 30) + EVT_WAIT(1) + EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupRockingChairs)) + EVT_EXEC(N(EVS_ManageHole)) + EVT_EXEC(N(EVS_TexPan_Fog)) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoor_obk_01_2)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0) + EVT_EXEC(N(EVS_EnterDoor_obk_05_0)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_hip1, COLLIDER_FLAGS_UPPER_MASK) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_ManageRetroJar)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_05/obk_05_3_rocking_chair.c b/src/world/area_obk/obk_05/obk_05_3_rocking_chair.c new file mode 100644 index 0000000000..04a0efd6ee --- /dev/null +++ b/src/world/area_obk/obk_05/obk_05_3_rocking_chair.c @@ -0,0 +1,22 @@ +#include "obk_05.h" +#include "model.h" + +extern EvtScript N(EVS_SetupRockingChair); + +#define ROCKING_CHAIR_CENTER_X 0.0 +#include "../RockingChair.inc.c" + +EvtScript N(EVS_SetupRockingChairs) = { + EVT_EXEC(N(EVS_SetupRockingChair)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupRockingChair) = { + EVT_CALL(ParentColliderToModel, COLLIDER_i1, MODEL_i1) + EVT_CALL(ParentColliderToModel, COLLIDER_i2, MODEL_i3) + EVT_CALL(ParentColliderToModel, COLLIDER_i3, MODEL_i3) + EVT_CALL(N(UpdateRockingChair)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_05/obk_05_4_hole.c b/src/world/area_obk/obk_05/obk_05_4_hole.c new file mode 100644 index 0000000000..724f031be0 --- /dev/null +++ b/src/world/area_obk/obk_05/obk_05_4_hole.c @@ -0,0 +1,18 @@ +#include "obk_05.h" + +API_CALLABLE(N(AwaitPlayerEnterHole)) { + if (gPlayerStatus.position.y < -50.0f) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +EvtScript N(EVS_ManageHole) = { + EVT_CALL(N(AwaitPlayerEnterHole)) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(GotoMap, EVT_PTR("obk_06"), obk_06_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_05/obk_05_5_npc.c b/src/world/area_obk/obk_05/obk_05_5_npc.c new file mode 100644 index 0000000000..fa75dcf8fa --- /dev/null +++ b/src/world/area_obk/obk_05/obk_05_5_npc.c @@ -0,0 +1,47 @@ +#include "obk_05.h" + +#include "world/common/npc/Boo.inc.c" + +#define TRAFFIC_BOO_START_Y 40.0f +#define TRAFFIC_BOO_START_Z -430.0f +#include "../TrafficBoos.inc.c" + +EvtScript N(EVS_NpcInit_TrafficBoo1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TrafficBoo2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Boo_01)[] = { + { + .id = NPC_Boo_01, + .settings = &N(NpcSettings_Boo), + .pos = { 523.0f, -139.0f, 193.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo1), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, + { + .id = NPC_Boo_02, + .settings = &N(NpcSettings_Boo), + .pos = { 473.0f, -122.0f, 247.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo2), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Boo_01)), + {} +}; diff --git a/src/world/area_obk/obk_05/obk_05_6_entity.c b/src/world/area_obk/obk_05/obk_05_6_entity.c new file mode 100644 index 0000000000..467eebe218 --- /dev/null +++ b/src/world/area_obk/obk_05/obk_05_6_entity.c @@ -0,0 +1,21 @@ +#include "obk_05.h" +#include "entity.h" + +EvtScript N(EVS_OnSmashFloor) = { + EVT_SET(GF_OBK05_BoardedFloor, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_IF_EQ(GF_OBK05_BoardedFloor, FALSE) + EVT_CALL(MakeEntity, EVT_PTR(Entity_BoardedFloor), 0, 0, 0, 0, MAKE_ENTITY_END) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OnSmashFloor))) + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), 200, 0, -100, 0, ITEM_APPLE, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), 200, 30, -100, 0, -1, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), 165, 0, -100, 0, ITEM_APPLE, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -105, 0, -55, 0, -1, MAKE_ENTITY_END) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_06/BCE690.c b/src/world/area_obk/obk_06/BCE690.c deleted file mode 100644 index 6f10f8108d..0000000000 --- a/src/world/area_obk/obk_06/BCE690.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "obk_06.h" - -static char* N(exit_str_0) = "obk_02"; diff --git a/src/world/area_obk/obk_06/obk_06.h b/src/world/area_obk/obk_06/obk_06.h index 808ad9ae70..c20b1795d2 100644 --- a/src/world/area_obk/obk_06/obk_06.h +++ b/src/world/area_obk/obk_06/obk_06.h @@ -2,8 +2,16 @@ /// @brief Boo's Mansion - Library #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_06_shape.h" +#include "mapfs/obk_06_hit.h" + #define NAMESPACE obk_06 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupBombables); +extern EvtScript N(EVS_MakeEntities); diff --git a/src/world/area_obk/obk_06/obk_06_0_header.c b/src/world/area_obk/obk_06/obk_06_0_header.c new file mode 100644 index 0000000000..8af607bd2d --- /dev/null +++ b/src/world/area_obk/obk_06/obk_06_0_header.c @@ -0,0 +1,13 @@ +#include "obk_06.h" + +EntryList N(Entrances) = { + [obk_06_ENTRY_0] { 0.0, 200.0, 0.0, 0.0 }, + [obk_06_ENTRY_1] { -220.0, 0.0, 50.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_obk_06 }, +}; diff --git a/src/world/area_obk/obk_06/obk_06_1_music.c b/src/world/area_obk/obk_06/obk_06_1_music.c new file mode 100644 index 0000000000..eba1ff6085 --- /dev/null +++ b/src/world/area_obk/obk_06/obk_06_1_music.c @@ -0,0 +1,11 @@ +#include "obk_06.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_06/obk_06_2_main.c b/src/world/area_obk/obk_06/obk_06_2_main.c new file mode 100644 index 0000000000..95294ac5db --- /dev/null +++ b/src/world/area_obk/obk_06/obk_06_2_main.c @@ -0,0 +1,34 @@ +#include "obk_06.h" + +EvtScript N(EVS_ExitWalk_obk_02_2) = EVT_EXIT_WALK(60, obk_06_ENTRY_1, "obk_02", obk_02_ENTRY_2); + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_obk_02_2)), TRIGGER_FLOOR_ABOVE, COLLIDER__deili, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(obk_06_ENTRY_0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_obk_02_2)), TRIGGER_FLOOR_TOUCH, COLLIDER__deili, 1, 0) + EVT_CASE_EQ(obk_06_ENTRY_1) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_SetupBombables)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_EXEC(N(EVS_EnterMap)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_06/obk_06_3_bombable.c b/src/world/area_obk/obk_06/obk_06_3_bombable.c new file mode 100644 index 0000000000..2228c00403 --- /dev/null +++ b/src/world/area_obk/obk_06/obk_06_3_bombable.c @@ -0,0 +1,36 @@ +#include "obk_06.h" +#include "effects.h" + +BombTrigger N(BombPos_Wall) = { + .pos = { -237.0f, 0.0f, 50.0f }, + .radius = 0.0f +}; + +EvtScript N(EVS_OnBlast_Wall) = { + EVT_PLAY_EFFECT(EFFECT_BOMBETTE_BREAKING, 1, 23, 26, 1, 10, 30) + EVT_LOOP(10) + EVT_CALL(EnableModel, MODEL_bom_ato, FALSE) + EVT_CALL(EnableModel, MODEL_bom1, TRUE) + EVT_WAIT(1) + EVT_CALL(EnableModel, MODEL_bom_ato, TRUE) + EVT_CALL(EnableModel, MODEL_bom1, FALSE) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt1, COLLIDER_FLAGS_UPPER_MASK) + EVT_SET(GF_OBK06_BombedWall, TRUE) + EVT_UNBIND + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupBombables) = { + EVT_IF_EQ(GF_OBK06_BombedWall, FALSE) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnBlast_Wall)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Wall)), 1, 0) + EVT_CALL(EnableModel, MODEL_bom_ato, FALSE) + EVT_ELSE + EVT_CALL(EnableModel, MODEL_bom1, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt1, COLLIDER_FLAGS_UPPER_MASK) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_06/obk_06_4_entity.c b/src/world/area_obk/obk_06/obk_06_4_entity.c new file mode 100644 index 0000000000..50bb556178 --- /dev/null +++ b/src/world/area_obk/obk_06/obk_06_4_entity.c @@ -0,0 +1,22 @@ +#include "obk_06.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_IF_EQ(GF_OBK06_Item_BoosPortrait, FALSE) + EVT_CALL(MakeItemEntity, ITEM_BOO_PORTRAIT, 230, 125, -215, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_OBK06_Item_BoosPortrait) + EVT_THREAD + EVT_LOOP(0) + EVT_IF_NE(GF_OBK06_Item_BoosPortrait, FALSE) + EVT_SET(GB_StoryProgress, STORY_CH3_GOT_BOO_PORTRAIT) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -110, 30, 50, 0, -1, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_WoodenCrate), -110, 0, 50, 0, ITEM_STAR_PIECE, MAKE_ENTITY_END) + EVT_CALL(AssignCrateFlag, GF_OBK06_Crate_StarPiece) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_07/BCEBF0.c b/src/world/area_obk/obk_07/BCEBF0.c deleted file mode 100644 index 4eb6ed4342..0000000000 --- a/src/world/area_obk/obk_07/BCEBF0.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "obk_07.h" - -static char* N(exit_str_0) = "obk_01"; -static char* N(exit_str_1) = ""; - -#include "world/common/todo/StashVars.inc.c" - -#include "world/common/todo/GetItemName.inc.c" - -#include "world/common/todo/SomeItemEntityFunc.inc.c" - -#include "world/common/todo/IsItemBadge.inc.c" diff --git a/src/world/area_obk/obk_07/BCEEB0.c b/src/world/area_obk/obk_07/BCEEB0.c deleted file mode 100644 index db31663930..0000000000 --- a/src/world/area_obk/obk_07/BCEEB0.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "obk_07.h" - -ApiStatus func_802402C0_BCEEB0(Evt* script, s32 isInitialCall) { - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -#include "world/common/todo/UnkAngleFunc004.inc.c" - -extern s16 D_8024292C_BD151C[]; - -ApiStatus func_80240454_BCF044(Evt* script, s32 isInitialCall) { - s32 var0 = script->varTable[0]; - s32 var1 = script->varTable[1]; - s32 temp; - - if (var1 == 0) { - script->functionTemp[2] = D_8024292C_BD151C[rand_int(3)]; - var1 = rand_int(50) + 30; - } - var1--; - - temp = script->functionTemp[2]; - if (var0 < temp) { - var0 += 10; - if (temp < var0) { - var0 = temp; - } - } - if (temp < var0) { - var0 -= 10; - if (var0 < temp) { - var0 = temp; - } - } - - script->varTable[0] = var0; - script->varTable[1] = var1; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_07/BCF0F0.c b/src/world/area_obk/obk_07/BCF0F0.c deleted file mode 100644 index 59a6eaba99..0000000000 --- a/src/world/area_obk/obk_07/BCF0F0.c +++ /dev/null @@ -1,481 +0,0 @@ -#include "obk_07.h" -#include "hud_element.h" -#include "battle/action_cmd.h" - -extern HudScript HES_SlowlyMashAButton; - -typedef struct UnkObk07 { - /* 0x000 */ s32 unk_00; - /* 0x004 */ s32 unk_04; - /* 0x008 */ s32 unk_08; - /* 0x00C */ s32 unk_0C; // song name - /* 0x010 */ s32 unk_10[6]; // probably more - /* 0x028 */ s32 unk_28; - /* 0x02C */ s32 unk_2C; // entity id - /* 0x030 */ s32 unk_30; - /* 0x034 */ s32 unk_34; // x - /* 0x038 */ s32 unk_38; // y - /* 0x03C */ s32 unk_3C; // entity id - /* 0x040 */ s32 unk_40; // entity id - /* 0x044 */ s32 unk_44; // entity id - /* 0x048 */ char unk_48[0x4]; - /* 0x04C */ s32 unk_4C; - /* 0x050 */ s32 unk_50; - /* 0x054 */ s32 unk_54; - /* 0x058 */ s32 aPressed[90]; - /* 0x1C0 */ s32 unk_1C0; - /* 0x1C4 */ f32 unk_1C4; - /* 0x1C8 */ f32 unk_1C8; - /* 0x1CC */ f32 unk_1CC; - /* 0x1D0 */ f32 unk_1D0; - /* 0x1D4 */ s32 unk_1D4; - /* 0x1D8 */ s32 unk_1D8; - /* 0x1DC */ s8 unk_1DC; - /* 0x1DD */ char unk_1DD[0x3]; -} UnkObk07; // size = 0x1E0 - -extern s32 D_80243090_BD1C80[]; -extern s32 D_80243098_BD1C88[]; -extern u8 D_802430A0_BD1C90[]; -extern u8 D_802430B0_BD1CA0[]; -extern u8 D_802430C0_BD1CB0[]; - -ApiStatus func_80240500_BCF0F0(Evt* script, s32 isInitialCall) { - evt_set_variable(script, MapVar(6), (s32) heap_malloc(sizeof(UnkObk07))); - return ApiStatus_DONE2; -} - -UnkObk07* func_80240540_BCF130(void) { - return (UnkObk07*) evt_get_variable(NULL, MapVar(6)); -} - -void func_80240564_BCF154(s32, s32, s32); -INCLUDE_ASM(s32, "world/area_obk/obk_07/BCF0F0", func_80240564_BCF154); - -void func_80240A10_BCF600(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - func_80240540_BCF130()->unk_00 = arg3; - func_80240564_BCF154(arg0, arg1, arg2); -} - -void func_80240A6C_BCF65C(void) { - UnkObk07* temp_v0 = func_80240540_BCF130(); - s32 id; - s32 temp; - s32 count; - s32 arrCount; - s32 idx; - s32 i; - - temp_v0->aPressed[temp_v0->unk_1C0] = gGameStatusPtr->pressedButtons[0] & BUTTON_A; - temp_v0->unk_1C0++; - if (temp_v0->unk_1C0 >= ARRAY_COUNT(temp_v0->aPressed)) { - temp_v0->unk_1C0 = 0; - } - - switch (temp_v0->unk_30) { - case 0: - id = temp_v0->unk_3C; - hud_element_set_alpha(id, 255); - hud_element_clear_flags(id, 2); - id = temp_v0->unk_40; - hud_element_set_alpha(id, 255); - hud_element_clear_flags(id, 2); - id = temp_v0->unk_44; - hud_element_set_alpha(id, 255); - hud_element_clear_flags(id, 2); - temp_v0->unk_30 = 1; - break; - case 1: - temp_v0->unk_34 += 20; - if (temp_v0->unk_34 > 50) { - temp_v0->unk_34 = 50; - } - hud_element_set_render_pos(temp_v0->unk_3C, temp_v0->unk_34, temp_v0->unk_38); - hud_element_set_render_pos(temp_v0->unk_40, temp_v0->unk_34, temp_v0->unk_38 + 28); - hud_element_set_render_pos(temp_v0->unk_44, temp_v0->unk_34 + 2, temp_v0->unk_38 + 14); - break; - case 10: - hud_element_set_script(temp_v0->unk_3C, &HES_SlowlyMashAButton); - temp_v0->unk_30 = 11; - // fallthrough - case 11: - arrCount = ARRAY_COUNT(temp_v0->aPressed); - idx = temp_v0->unk_1C0; - idx -= arrCount; - temp_v0->unk_04 = 0; - if (idx < 0) { - idx += arrCount; - } - - count = 0; - for (i = 0; i < arrCount; i++, idx++) { - if (idx >= ARRAY_COUNT(temp_v0->aPressed)) { - idx -= ARRAY_COUNT(temp_v0->aPressed); - } - if (temp_v0->aPressed[idx] != 0) { - count++; - } - } - evt_set_variable(NULL, MapVar(7), count * 1000); - temp_v0->unk_04 = (count * 100) / 22; - if (temp_v0->unk_04 < 0) { - temp_v0->unk_04 = 0; - } - if (temp_v0->unk_04 > 100) { - temp_v0->unk_04 = 100; - } - - id = temp_v0->unk_08 / 60; // TODO use of id required to match - weird - if (id <= 50) { - temp = 50.0f; - temp *= sin_rad((((id * 90) / 50) * TAU) / 360.0f); - } else { - temp = ((1.0 - sin_rad((((((id - 50) * 90) / 50) + 90) * TAU) / 360.0f)) * 50.0) + 50.0; - } - temp_v0->unk_1C4 = (((100 - temp) * 0.25) / 100.0) + ((2.0 * temp) / 100.0); - func_80055D38(temp_v0->unk_0C, temp_v0->unk_1C4); - set_script_timescale(get_script_by_id(temp_v0->unk_4C), temp_v0->unk_1C4 * 3.0f); - set_script_timescale(get_script_by_id(temp_v0->unk_50), temp_v0->unk_1C4 * 5.0f); - set_script_timescale(get_script_by_id(temp_v0->unk_54), temp_v0->unk_1C4 * 5.0f); - break; - } -} - -ApiStatus func_80240EF8_BCFAE8(Evt* script, s32 isInitialCall) { - UnkObk07* temp_s0 = func_80240540_BCF130(); - s32 temp_f6 = script->varTable[0] / 1000; - - temp_f6 = sin_rad(DEG_TO_RAD((temp_f6 * 90) / 50)) * 50.0f; - temp_s0->unk_1C4 = (((100 - temp_f6) * 0.25) / 100.0) + ((2.0 * temp_f6) / 100.0); - func_80055D38(temp_s0->unk_0C, temp_s0->unk_1C4); - get_script_by_id(temp_s0->unk_4C); - set_script_timescale(script, temp_s0->unk_1C4 * 3.0f); - get_script_by_id(temp_s0->unk_50); - set_script_timescale(script, temp_s0->unk_1C4 * 5.0f); - get_script_by_id(temp_s0->unk_54); - set_script_timescale(script, temp_s0->unk_1C4 * 5.0f); - return ApiStatus_DONE2; -} - -void func_802410C0_BCFCB0(void) { - UnkObk07* temp_v0 = func_80240540_BCF130(); - s32 x, y; - s32 id; - - hud_element_draw_clipped(temp_v0->unk_3C); - id = temp_v0->unk_40; - hud_element_draw_clipped(id); - hud_element_get_render_pos(id, &x, &y); - func_80240A10_BCF600(x, y, temp_v0->unk_04, 2); - hud_element_draw_clipped(temp_v0->unk_44); -} - -ApiStatus func_80241130_BCFD20(Evt* script, s32 isInitialCall) { - s32 outVal = 0; - s32* it = D_80243090_BD1C80; - - while (TRUE) { - if (*it == 0) { - outVal = -1; - } else if (*it++ != script->varTable[0]) { - outVal++; - continue; - } - break; - } - script->varTable[0] = outVal; - return ApiStatus_DONE2; -} - -ApiStatus func_80241168_BCFD58(Evt* script, s32 isInitialCall) { - UnkObk07* temp_s1 = func_80240540_BCF130(); - s32 id; - s32 i; - - gOverrideFlags |= GLOBAL_OVERRIDES_10; - temp_s1->unk_2C = create_worker_frontUI(func_80240A6C_BCF65C, func_802410C0_BCFCB0); - temp_s1->unk_30 = 0; - temp_s1->unk_04 = 0; - temp_s1->unk_08 = 0; - temp_s1->unk_10[0] = 0; - temp_s1->unk_10[1] = 20; - temp_s1->unk_10[2] = 40; - temp_s1->unk_10[3] = 60; - temp_s1->unk_10[4] = 80; - temp_s1->unk_10[5] = 100; - temp_s1->unk_28 = 5; - - for (i = 0; i < ARRAY_COUNT(temp_s1->aPressed); i++) { - temp_s1->aPressed[i] = 0; - } - - temp_s1->unk_34 = -48; - temp_s1->unk_1C0 = 0; - temp_s1->unk_1C8 = 0; - temp_s1->unk_1CC = 0; - temp_s1->unk_38 = 64; - temp_s1->unk_1C4 = 1.0f; - temp_s1->unk_1D0 = 1.0f; - - temp_s1->unk_3C = id = hud_element_create(&HES_AButton); - hud_element_set_render_pos(id, temp_s1->unk_34, temp_s1->unk_38); - hud_element_set_render_depth(id, 0); - hud_element_set_flags(id, HUD_ELEMENT_FLAGS_80 | HUD_ELEMENT_FLAGS_DISABLED); - - temp_s1->unk_40 = id = hud_element_create(&HES_BlueMeter); - hud_element_set_render_pos(id, temp_s1->unk_34, temp_s1->unk_38 + 28); - hud_element_set_render_depth(id, 0); - hud_element_set_flags(id, HUD_ELEMENT_FLAGS_80 | HUD_ELEMENT_FLAGS_DISABLED); - - temp_s1->unk_44 = id = hud_element_create(&HES_RunAwayOK); - hud_element_set_render_pos(id, temp_s1->unk_34, temp_s1->unk_38 + 28); - hud_element_set_render_depth(id, 0); - hud_element_set_flags(id, HUD_ELEMENT_FLAGS_80 | HUD_ELEMENT_FLAGS_DISABLED); - return ApiStatus_DONE2; -} - -ApiStatus func_8024130C_BCFEFC(Evt* script) { - bgm_set_song(0, D_80243098_BD1C88[evt_get_variable(script, GameByte(182))], 0, 500, 8); - return ApiStatus_DONE2; -} - -ApiStatus func_80241358_BCFF48(Evt* script, s32 isInitialCall) { - UnkObk07* temp_v0 = func_80240540_BCF130(); - - temp_v0->unk_30 = 10; - temp_v0->unk_4C = evt_get_variable(NULL, MapVar(8)); - temp_v0->unk_50 = evt_get_variable(NULL, MapVar(9)); - temp_v0->unk_54 = evt_get_variable(NULL, MapVar(10)); - temp_v0->unk_0C = gMusicSettings->songName; - return ApiStatus_DONE2; -} - -ApiStatus func_802413D0_BCFFC0(Evt* script, s32 isInitialCall) { - UnkObk07* temp_v0 = func_80240540_BCF130(); - - temp_v0->unk_30 = -1; - gOverrideFlags &= ~GLOBAL_OVERRIDES_10; - hud_element_free(temp_v0->unk_3C); - hud_element_free(temp_v0->unk_40); - hud_element_free(temp_v0->unk_44); - free_worker(temp_v0->unk_2C); - return ApiStatus_DONE2; -} - -ApiStatus func_8024143C_BD002C(Evt* script, s32 isInitialCall) { - func_80240540_BCF130(); - script->varTable[3] = 150; - return ApiStatus_DONE2; -} - -ApiStatus func_8024146C_BD005C(Evt* script, s32 isInitialCall) { - UnkObk07* temp_s0 = func_80240540_BCF130(); - - temp_s0->unk_1D0 = evt_get_float_variable(script, LocalVar(2)); - return ApiStatus_DONE2; -} - -ApiStatus func_802414B4_BD00A4(Evt* script, s32 isInitialCall) { - UnkObk07* temp_s1 = func_80240540_BCF130(); - - temp_s1->unk_1C8 = clamp_angle(evt_get_float_variable(script, LocalVar(0))); - evt_set_float_variable(script, LocalVar(0), temp_s1->unk_1C8); - return ApiStatus_DONE2; -} - -ApiStatus func_80241518_BD0108(Evt* script, s32 isInitialCall) { - UnkObk07* temp_s1 = func_80240540_BCF130(); - - temp_s1->unk_1CC = clamp_angle(evt_get_float_variable(script, LocalVar(0))); - evt_set_float_variable(script, LocalVar(0), temp_s1->unk_1CC); - return ApiStatus_DONE2; -} - -ApiStatus func_8024157C_BD016C(Evt* script, s32 isInitialCall) { - evt_set_float_variable(script, LocalVar(0), func_80240540_BCF130()->unk_1D0); - return ApiStatus_DONE2; -} - -ApiStatus func_802415B8_BD01A8(Evt* script, s32 isInitialCall) { - evt_set_float_variable(script, LocalVar(0), func_80240540_BCF130()->unk_1C8); - return ApiStatus_DONE2; -} - -ApiStatus func_802415F4_BD01E4(Evt* script, s32 isInitialCall) { - evt_set_float_variable(script, LocalVar(0), func_80240540_BCF130()->unk_1CC); - return ApiStatus_DONE2; -} - -ApiStatus func_80241630_BD0220(Evt* script, s32 isInitialCall) { - evt_set_float_variable(script, LocalVar(1), evt_get_float_variable(script, LocalVar(0))); - return ApiStatus_DONE2; -} - -ApiStatus func_80241674_BD0264(Evt* script, s32 isInitialCall) { - f32 lv0 = evt_get_float_variable(script, LocalVar(0)); - f32 lv1 = evt_get_float_variable(script, LocalVar(1)); - - if (lv1 <= 1.0f && lv0 >= 1.0f) { - script->varTable[2] = 1; - } else { - script->varTable[2] = 0; - } - return ApiStatus_DONE2; -} - -ApiStatus func_802416F8_BD02E8(Evt* script, s32 isInitialCall) { - f32 lv0 = evt_get_float_variable(script, LocalVar(0)); - f32 lv1 = evt_get_float_variable(script, LocalVar(1)); - - if (lv1 <= 360.0f && lv0 <= 100.0f) { - script->varTable[2] = 1; - } else { - script->varTable[2] = 0; - } - return ApiStatus_DONE2; -} - -ApiStatus N(80241788_BD0378)(Evt* script, s32 isInitialCall) { - return ApiStatus_DONE2; -} - -#ifdef NON_MATCHING // various issues -ApiStatus func_80241790_BD0380(Evt* script) { - UnkObk07* temp_v0 = func_80240540_BCF130(); - s32 temp_v0_2 = abs(temp_v0->unk_04 - 50); - s32 var_a0; - s32 var_v0; - s32 var_v1; - - var_v1 = -temp_v0_2; - if (temp_v0_2 >= 10) { - var_v0 = temp_v0_2 * 4; - } else { - goto moved; - } - -after: - temp_v0->unk_1D4 += (var_v0 + var_v1) * 2; - if (temp_v0->unk_04 != 0) { - temp_v0->unk_1DC = 1; - } - if (temp_v0->unk_1DC == 1) { - var_v1 = temp_v0->unk_04; - if (var_v1 <= 0) { - temp_v0->unk_1D8++; - } else { - temp_v0->unk_1D8 = 0; - } - } - - if (FALSE) { -moved: - var_v1 = 10; - var_v1 -= temp_v0_2; - var_v0 = var_v1 * 24; - goto after; - } - - if (temp_v0->unk_1D4 > 10000) { - temp_v0->unk_1D4 = 10000; - } - if (temp_v0->unk_1D4 < 0) { - temp_v0->unk_1D4 = 0; - } - - script->varTable[0] = 0; - if (temp_v0->unk_1D8 >= 46 || (gGameStatusPtr->pressedButtons[0] & BUTTON_B)) { - script->varTable[0] = 1; - return ApiStatus_DONE2; - } - return ApiStatus_DONE2; -} -#else -INCLUDE_ASM(s32, "world/area_obk/obk_07/BCF0F0", func_80241790_BD0380); -#endif - -ApiStatus func_80241898_BD0488(Evt* script, s32 isInitialCall) { - UnkObk07* temp_v0 = func_80240540_BCF130(); - - temp_v0->unk_1D4 = 0; - temp_v0->unk_1D8 = 0; - temp_v0->unk_1DC = 0; - temp_v0->unk_04 = 0; - temp_v0->unk_30 = 0; - script->varTable[10] = 0; - script->varTable[11] = 0; - return ApiStatus_DONE2; -} - -ApiStatus func_802418E0_BD04D0(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(2); - UnkObk07* temp_v0 = func_80240540_BCF130(); - f32 y2 = -136.0f; - f32 x = npc->pos.x; - f32 z = npc->pos.z; - f32 x2 = -92.0f; - f32 x3 = 168.0f; - f32 speed; - - if (temp_v0->unk_30 == -1) { - speed = 2.0f; - npc->currentAnim = 0x950003; - if (dist2D(x, z, x3, y2) < speed) { - npc->pos.x = x3; - npc->pos.z = y2; - npc->yaw = atan2(x, z, x2, y2); - script->varTable[10] = 0; - script->varTable[11] = 1; - return ApiStatus_DONE2; - } else { - npc->yaw = atan2(x, z, x3, y2); - npc_move_heading(npc, speed, npc->yaw); - } - return ApiStatus_DONE2; - } - - if (temp_v0->unk_1D4 > 7000) { - speed = 2.0f; - script->varTable[10] = 1; - if (dist2D(x, z, x2, y2) < speed) { - npc->pos.x = x2; - npc->pos.z = y2; - } else { - npc->yaw = atan2(x, z, x2, y2); - npc_move_heading(npc, speed, npc->yaw); - } - } - - if (temp_v0->unk_1D4 < 3000) { - speed = 2.0f; - script->varTable[10] = 0; - if (dist2D(x, z, x3, y2) < speed) { - npc->pos.x = x3; - npc->pos.z = y2; - npc->yaw = atan2(x, z, x2, -136.0f); - } else { - npc->yaw = atan2(x, z, x3, y2); - npc_move_heading(npc, speed, npc->yaw); - } - } - - if (temp_v0->unk_1D4 > 7000) { - npc->currentAnim = 0x950005; - } else if (temp_v0->unk_1D4 > 5000) { - npc->currentAnim = 0x950003; - } else if (temp_v0->unk_1D4 > 3000) { - npc->currentAnim = 0x950002; - } else { - npc->currentAnim = 0x950001; - } - - return ApiStatus_DONE2; -} - -ApiStatus func_80241B50_BD0740(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - - npc->alpha = 180; - npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_07/obk_07.h b/src/world/area_obk/obk_07/obk_07.h index 4b216acd3e..f067926e1a 100644 --- a/src/world/area_obk/obk_07/obk_07.h +++ b/src/world/area_obk/obk_07/obk_07.h @@ -2,8 +2,54 @@ /// @brief Boo's Mansion - Record Player Room #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_07_shape.h" +#include "mapfs/obk_07_hit.h" + +#include "sprite/npc/Boo.h" + +enum { + NPC_TrafficBoo1 = 0, + NPC_TrafficBoo2 = 1, + NPC_GuardBoo = 2, +}; + +enum { + MV_InspectingFireplace = MapVar(0), + MV_GuardDancing = MapVar(1), + MV_GuardDeparted = MapVar(2), + MV_ReadyToPlay = MapVar(3), + MV_WindingDown = MapVar(4), + MV_GuardReturnScript = MapVar(5), + MV_PhonographDataPtr = MapVar(6), + MV_MashInputsAmount = MapVar(7), + MV_UpdateScaleScript = MapVar(8), + MV_UpdateCrankScript = MapVar(9), + MV_UpdateRecordScript = MapVar(10), + MV_SetScaleScript = MapVar(11), + MV_SetCrankScript = MapVar(12), + MV_SetRecordScript = MapVar(13), + MV_WindDownScript = MapVar(14), + MV_UpdateGuardScript = MapVar(15), +}; + +enum { + MF_CancelScaleScript = MapFlag(10), + MF_CancelCrankScript = MapFlag(11), + MF_CancelRecordScript = MapFlag(12), + MF_GuardBusy = MapFlag(13), +}; + #define NAMESPACE obk_07 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_SetupFireplace); +extern EvtScript N(EVS_SetupGuardBoo); +extern EvtScript N(EVS_SetupPhonograph); +extern EvtScript N(EVS_Scene_PlayerGotChestItem); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_obk/obk_07/obk_07_0_header.c b/src/world/area_obk/obk_07/obk_07_0_header.c new file mode 100644 index 0000000000..93af269093 --- /dev/null +++ b/src/world/area_obk/obk_07/obk_07_0_header.c @@ -0,0 +1,13 @@ +#include "obk_07.h" + +EntryList N(Entrances) = { + [obk_07_ENTRY_0] { 68.0, 0.0, 235.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_obk_07 }, +}; diff --git a/src/world/area_obk/obk_07/obk_07_1_music.c b/src/world/area_obk/obk_07/obk_07_1_music.c new file mode 100644 index 0000000000..a36b7055d6 --- /dev/null +++ b/src/world/area_obk/obk_07/obk_07_1_music.c @@ -0,0 +1,11 @@ +#include "obk_07.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_07/obk_07_2_main.c b/src/world/area_obk/obk_07/obk_07_2_main.c new file mode 100644 index 0000000000..28e759d1e9 --- /dev/null +++ b/src/world/area_obk/obk_07/obk_07_2_main.c @@ -0,0 +1,68 @@ +#include "obk_07.h" + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SET(LVar2, MODEL_door_1) + EVT_SET(LVar4, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC_WAIT(EnterSplitSingleDoor) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoors_obk_01_3) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(LVar0, obk_07_ENTRY_0) + EVT_SET(LVar1, COLLIDER_tt1) + EVT_SET(LVar2, MODEL_door_1) + EVT_SET(LVar4, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC(ExitSplitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_01"), obk_01_ENTRY_3) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Fog) = { + EVT_THREAD + EVT_CALL(EnableTexPanning, MODEL_ma, TRUE) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_CALL(SetTexPanOffset, 2, 1, LVar0, LVar1) + EVT_ADD(LVar0, 300) + EVT_ADD(LVar1, 100) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(SetTexPanner, MODEL_m2, 0) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_ADD(LVar0, 300) + EVT_ADD(LVar1, 100) + EVT_CALL(SetTexPanOffset, 0, 0, LVar0, LVar1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_TexPan_Fog)) + EVT_EXEC(N(EVS_SetupFireplace)) + EVT_EXEC(N(EVS_SetupPhonograph)) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_obk_01_3)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0) + EVT_EXEC(N(EVS_EnterMap)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_07/obk_07_3_entity.c b/src/world/area_obk/obk_07/obk_07_3_entity.c new file mode 100644 index 0000000000..368bde22ec --- /dev/null +++ b/src/world/area_obk/obk_07/obk_07_3_entity.c @@ -0,0 +1,23 @@ +#include "obk_07.h" +#include "entity.h" + +#include "world/common/atomic/Chest.inc.c" + +EvtScript N(EVS_OpenChest_BooWeight) = { + EVT_SET(LVarA, ITEM_BOO_WEIGHT) + EVT_SET(LVarB, ITEM_TYPE_KEY) + EVT_SET(GB_StoryProgress, STORY_CH3_GOT_WEIGHT) + EVT_SET(GF_OBK07_Chest_Weight, TRUE) + EVT_EXEC_WAIT(N(EVS_Chest_GetItem)) + EVT_EXEC_WAIT(N(EVS_Scene_PlayerGotChestItem)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_Chest), 170, 0, -160, 0, 0, MAKE_ENTITY_END) + EVT_CALL(AssignChestFlag, GF_OBK07_Chest_Weight) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_OpenChest_BooWeight))) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_07/obk_07_4_fireplace.c b/src/world/area_obk/obk_07/obk_07_4_fireplace.c new file mode 100644 index 0000000000..ce348cf244 --- /dev/null +++ b/src/world/area_obk/obk_07/obk_07_4_fireplace.c @@ -0,0 +1,122 @@ +#include "obk_07.h" +#include "effects.h" + +Vec3i N(ExplosionPositions1)[] = { + { 5, 5, -220 }, + { 10, 10, -200 }, + { 15, 15, -180 }, + { 20, 20, -160 }, + { 25, 25, -140 }, + { 30, 30, -120 }, + { 35, 35, -100 }, +}; + +Vec3i N(ExplosionPositions2)[] = { + { -5, 5, -220 }, + { -10, 10, -200 }, + { -15, 15, -180 }, + { -20, 20, -160 }, + { -25, 25, -140 }, + { -30, 30, -120 }, + { -35, 25, -100 }, +}; + +Vec3i N(ExplosionPositions3)[] = { + { 0, 10, -220 }, + { 0, 20, -200 }, + { 0, 30, -180 }, + { 0, 40, -160 }, + { 0, 50, -140 }, + { 0, 60, -120 }, + { 0, 70, -100 }, +}; + +EvtScript N(EVS_PlayExplosionFX) = { + EVT_USE_BUF(LVar0) + EVT_BUF_READ3(LVarA, LVarB, LVarC) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVarA, LVarB, LVarC, EVT_FLOAT(1.203125), 20) + EVT_WAIT(1) + EVT_BUF_READ3(LVarA, LVarB, LVarC) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVarA, LVarB, LVarC, EVT_FLOAT(1.5), 20) + EVT_WAIT(1) + EVT_BUF_READ3(LVarA, LVarB, LVarC) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVarA, LVarB, LVarC, EVT_FLOAT(2.0), 20) + EVT_WAIT(1) + EVT_BUF_READ3(LVarA, LVarB, LVarC) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVarA, LVarB, LVarC, EVT_FLOAT(2.5), 20) + EVT_WAIT(1) + EVT_BUF_READ3(LVarA, LVarB, LVarC) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVarA, LVarB, LVarC, EVT_FLOAT(3.0), 20) + EVT_WAIT(1) + EVT_BUF_READ3(LVarA, LVarB, LVarC) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVarA, LVarB, LVarC, EVT_FLOAT(3.5), 20) + EVT_WAIT(1) + EVT_BUF_READ3(LVarA, LVarB, LVarC) + EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, LVarA, LVarB, LVarC, EVT_FLOAT(4.0), 80) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlaySmokeFX) = { + EVT_LOOP(10) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(RandInt, 30, LVar3) + EVT_CALL(RandInt, 30, LVar4) + EVT_ADD(LVar0, -15) + EVT_ADD(LVar2, 10) + EVT_ADD(LVar0, LVar3) + EVT_ADD(LVar1, LVar4) + EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, 1, 20) + EVT_WAIT(6) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Inspect_Fireplace) = { + EVT_IF_EQ(MV_InspectingFireplace, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(MV_InspectingFireplace, TRUE) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_THREAD + EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(4.0), 0, EVT_FLOAT(250.0), EVT_FLOAT(17.5), EVT_FLOAT(-10.0)) + EVT_END_THREAD + EVT_WAIT(10) + EVT_THREAD + EVT_CALL(DisablePartnerAI, 0) + EVT_WAIT(1) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 25) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100, TRUE) + EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar0, LVar2, 10) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100, FALSE) + EVT_CALL(EnablePartnerAI) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_CALL(InterpNpcYaw, NPC_PARTNER, 90, 0) + EVT_END_THREAD + EVT_CALL(PlaySoundAtPlayer, SOUND_F5, 0) + EVT_SET(LVar0, EVT_PTR(N(ExplosionPositions1))) + EVT_EXEC(N(EVS_PlayExplosionFX)) + EVT_SET(LVar0, EVT_PTR(N(ExplosionPositions2))) + EVT_EXEC(N(EVS_PlayExplosionFX)) + EVT_SET(LVar0, EVT_PTR(N(ExplosionPositions3))) + EVT_EXEC(N(EVS_PlayExplosionFX)) + EVT_WAIT(5) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_Charred) + EVT_WAIT(60) + EVT_EXEC_WAIT(N(EVS_PlaySmokeFX)) + EVT_WAIT(40) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) + EVT_SET(MV_InspectingFireplace, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupFireplace) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Inspect_Fireplace)), TRIGGER_WALL_PRESS_A, COLLIDER_o283, 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_07/obk_07_5_npc.c b/src/world/area_obk/obk_07/obk_07_5_npc.c new file mode 100644 index 0000000000..ea386a1c3d --- /dev/null +++ b/src/world/area_obk/obk_07/obk_07_5_npc.c @@ -0,0 +1,71 @@ +#include "obk_07.h" + +#include "world/common/npc/Boo.inc.c" + +#define TRAFFIC_BOO_START_Y 80.0f +#define TRAFFIC_BOO_START_Z -300.0f +#include "../TrafficBoos.inc.c" + +EvtScript N(EVS_NpcInit_TrafficBoo1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_TrafficBoo1) = { + .id = NPC_TrafficBoo1, + .settings = &N(NpcSettings_Boo), + .pos = { 523.0f, -139.0f, 193.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo1), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +EvtScript N(EVS_NpcInit_TrafficBoo2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_TrafficBoo2) = { + .id = NPC_TrafficBoo2, + .settings = &N(NpcSettings_Boo), + .pos = { 473.0f, -122.0f, 247.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo2), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +EvtScript N(EVS_NpcInit_GuardBoo) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_WEIGHT) + EVT_SET(MV_GuardDeparted, TRUE) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_ELSE + EVT_EXEC_WAIT(N(EVS_SetupGuardBoo)) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_GuardBoo) = { + .id = NPC_GuardBoo, + .settings = &N(NpcSettings_Boo), + .pos = { 168.0f, 0.0f, -161.0f }, + .yaw = 270, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000, + .init = &N(EVS_NpcInit_GuardBoo), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + .tattle = MSG_NpcTattle_OBK_GuardingChest, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_TrafficBoo1)), + NPC_GROUP(N(NpcData_TrafficBoo2)), + NPC_GROUP(N(NpcData_GuardBoo)), + {} +}; diff --git a/src/world/area_obk/obk_07/obk_07_6_phonograph.c b/src/world/area_obk/obk_07/obk_07_6_phonograph.c new file mode 100644 index 0000000000..a14cacee1b --- /dev/null +++ b/src/world/area_obk/obk_07/obk_07_6_phonograph.c @@ -0,0 +1,1089 @@ +#include "obk_07.h" +#include "hud_element.h" +#include "battle/action_cmd.h" + +extern HudScript HES_SlowlyMashAButton; + +extern EvtScript N(EVS_UpdateGuardBoo); +extern EvtScript N(EVS_DummyUpdateGuardBoo); +extern EvtScript N(EVS_GuardBoo_ReturnToPost); +extern EvtScript N(EVS_NpcAI_GuardBoo_Wary); + +s32 N(ItemList_Records)[] = { + ITEM_BOO_RECORD, + ITEM_NONE +}; + +s32 N(SongList)[] = { + SONG_PHONOGRAPH_MUSIC, + SONG_TOAD_TOWN, +}; + +typedef struct PhonographData { + /* 0x000 */ s32 unk_00; + /* 0x004 */ s32 unk_04; + /* 0x008 */ s32 unk_08; + /* 0x00C */ s32 songName; + /* 0x010 */ s32 mashMeterDividers[6]; + /* 0x028 */ s32 mashMeterIntervals; + /* 0x02C */ s32 hudWorker; + /* 0x030 */ s32 state; + /* 0x034 */ s32 hudBaseX; + /* 0x038 */ s32 hudBaseY; + /* 0x03C */ s32 hudElemAButton; + /* 0x040 */ s32 hudElemBlueMeter; + /* 0x044 */ s32 hudElemOK; + /* 0x048 */ char unk_48[0x4]; + /* 0x04C */ s32 updateScaleScriptID; + /* 0x050 */ s32 updateCrankScriptID; + /* 0x054 */ s32 updateRecordScriptID; + /* 0x058 */ s32 inputBuffer[90]; + /* 0x1C0 */ s32 inputBufferPos; + /* 0x1C4 */ f32 timeScale; + /* 0x1C8 */ f32 crankRotation; + /* 0x1CC */ f32 recordRotation; + /* 0x1D0 */ f32 modelScale; + /* 0x1D4 */ s32 meterFillAmount; + /* 0x1D8 */ s32 unk_1D8; + /* 0x1DC */ s8 unk_1DC; + /* 0x1DD */ char unk_1DD[0x3]; +} PhonographData; // size = 0x1E0 + +enum { + PHONOGRAPH_HUD_STATE_DESTROYED = -1, + PHONOGRAPH_HUD_STATE_INIT = 0, + PHONOGRAPH_HUD_STATE_APPEAR = 1, // hud slides in from left side of screen + PHONOGRAPH_HUD_STATE_MASHING = 10, // 'A' button icon begins mashing animation + PHONOGRAPH_HUD_STATE_FINAL = 11, // final state used during minigame +}; + +API_CALLABLE(N(CreatePhonographData)) { + evt_set_variable(script, MV_PhonographDataPtr, (s32) heap_malloc(sizeof(PhonographData))); + return ApiStatus_DONE2; +} + +PhonographData* N(GetPhonographData)(void) { + return (PhonographData*) evt_get_variable(NULL, MV_PhonographDataPtr); +} + +void func_80240564_BCF154(s32, s32, s32); +INCLUDE_ASM(s32, "world/area_obk/obk_07/BCF0F0", func_80240564_BCF154); + +void N(func_80240A10_BCF600)(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { + N(GetPhonographData)()->unk_00 = arg3; + func_80240564_BCF154(arg0, arg1, arg2); +} + +void N(worker_update_phonograph_hud)(void) { + PhonographData* data = N(GetPhonographData)(); + s32 id; + s32 temp; + s32 mashInputsCount; + s32 arrCount; + s32 idx; + s32 i; + + data->inputBuffer[data->inputBufferPos] = gGameStatusPtr->pressedButtons[0] & BUTTON_A; + data->inputBufferPos++; + if (data->inputBufferPos >= ARRAY_COUNT(data->inputBuffer)) { + data->inputBufferPos = 0; + } + + switch (data->state) { + case PHONOGRAPH_HUD_STATE_INIT: + id = data->hudElemAButton; + hud_element_set_alpha(id, 255); + hud_element_clear_flags(id, HUD_ELEMENT_FLAGS_DISABLED); + id = data->hudElemBlueMeter; + hud_element_set_alpha(id, 255); + hud_element_clear_flags(id, HUD_ELEMENT_FLAGS_DISABLED); + id = data->hudElemOK; + hud_element_set_alpha(id, 255); + hud_element_clear_flags(id, HUD_ELEMENT_FLAGS_DISABLED); + data->state = PHONOGRAPH_HUD_STATE_APPEAR; + break; + case PHONOGRAPH_HUD_STATE_APPEAR: + data->hudBaseX += 20; + if (data->hudBaseX > 50) { + data->hudBaseX = 50; + } + hud_element_set_render_pos(data->hudElemAButton, data->hudBaseX, data->hudBaseY); + hud_element_set_render_pos(data->hudElemBlueMeter, data->hudBaseX, data->hudBaseY + 28); + hud_element_set_render_pos(data->hudElemOK, data->hudBaseX + 2, data->hudBaseY + 14); + break; + case PHONOGRAPH_HUD_STATE_MASHING: + hud_element_set_script(data->hudElemAButton, &HES_SlowlyMashAButton); + data->state = PHONOGRAPH_HUD_STATE_FINAL; + // fallthrough + case PHONOGRAPH_HUD_STATE_FINAL: + arrCount = ARRAY_COUNT(data->inputBuffer); + idx = data->inputBufferPos; + idx -= arrCount; + data->unk_04 = 0; + if (idx < 0) { + idx += arrCount; + } + + mashInputsCount = 0; + for (i = 0; i < arrCount; i++, idx++) { + if (idx >= ARRAY_COUNT(data->inputBuffer)) { + idx -= ARRAY_COUNT(data->inputBuffer); + } + if (data->inputBuffer[idx] != 0) { + mashInputsCount++; + } + } + evt_set_variable(NULL, MV_MashInputsAmount, mashInputsCount * 1000); + data->unk_04 = (mashInputsCount * 100) / 22; + if (data->unk_04 < 0) { + data->unk_04 = 0; + } + if (data->unk_04 > 100) { + data->unk_04 = 100; + } + + id = data->unk_08 / 60; // TODO use of id required to match - weird + if (id <= 50) { + temp = 50.0f; + temp *= sin_rad((((id * 90) / 50) * TAU) / 360.0f); + } else { + temp = ((1.0 - sin_rad((((((id - 50) * 90) / 50) + 90) * TAU) / 360.0f)) * 50.0) + 50.0; + } + data->timeScale = (((100 - temp) * 0.25) / 100.0) + ((2.0 * temp) / 100.0); + snd_song_set_playback_rate(data->songName, data->timeScale); + set_script_timescale(get_script_by_id(data->updateScaleScriptID), data->timeScale * 3.0f); + set_script_timescale(get_script_by_id(data->updateCrankScriptID), data->timeScale * 5.0f); + set_script_timescale(get_script_by_id(data->updateRecordScriptID), data->timeScale * 5.0f); + break; + } +} + +API_CALLABLE(N(func_80240EF8_BCFAE8)) { + PhonographData* data = N(GetPhonographData)(); + s32 temp_f6 = script->varTable[0] / 1000; + + temp_f6 = sin_rad(DEG_TO_RAD((temp_f6 * 90) / 50)) * 50.0f; + data->timeScale = (((100 - temp_f6) * 0.25) / 100.0) + ((2.0 * temp_f6) / 100.0); + snd_song_set_playback_rate(data->songName, data->timeScale); + + //@bug? these set the timescale for *this* script, not the three update scripts + get_script_by_id(data->updateScaleScriptID); + set_script_timescale(script, data->timeScale * 3.0f); + get_script_by_id(data->updateCrankScriptID); + set_script_timescale(script, data->timeScale * 5.0f); + get_script_by_id(data->updateRecordScriptID); + set_script_timescale(script, data->timeScale * 5.0f); + return ApiStatus_DONE2; +} + +void N(worker_draw_phonograph_hud)(void) { + PhonographData* data = N(GetPhonographData)(); + s32 hudElemIndex; + s32 x, y; + + hudElemIndex = data->hudElemAButton; + hud_element_draw_clipped(hudElemIndex); + + hudElemIndex = data->hudElemBlueMeter; + hud_element_draw_clipped(hudElemIndex); + hud_element_get_render_pos(hudElemIndex, &x, &y); + N(func_80240A10_BCF600)(x, y, data->unk_04, 2); + + hudElemIndex = data->hudElemOK; + hud_element_draw_clipped(hudElemIndex); +} + +API_CALLABLE(N(GetSelectedRecordIndex)) { + s32 outVal = 0; + s32* record = N(ItemList_Records); + + while (TRUE) { + if (*record == 0) { + outVal = -1; + } else if (*record++ != script->varTable[0]) { + outVal++; + continue; + } + break; + } + script->varTable[0] = outVal; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(CreatePhonographHudData)) { + PhonographData* data = N(GetPhonographData)(); + s32 id; + s32 i; + + gOverrideFlags |= GLOBAL_OVERRIDES_10; + data->hudWorker = create_worker_frontUI(N(worker_update_phonograph_hud), N(worker_draw_phonograph_hud)); + data->state = PHONOGRAPH_HUD_STATE_INIT; + data->unk_04 = 0; + data->unk_08 = 0; + data->mashMeterDividers[0] = 0; + data->mashMeterDividers[1] = 20; + data->mashMeterDividers[2] = 40; + data->mashMeterDividers[3] = 60; + data->mashMeterDividers[4] = 80; + data->mashMeterDividers[5] = 100; + data->mashMeterIntervals = ARRAY_COUNT(data->mashMeterDividers) - 1; + + for (i = 0; i < ARRAY_COUNT(data->inputBuffer); i++) { + data->inputBuffer[i] = 0; + } + data->inputBufferPos = 0; + + data->crankRotation = 0; + data->recordRotation = 0; + data->hudBaseX = -48; + data->hudBaseY = 64; + data->timeScale = 1.0f; + data->modelScale = 1.0f; + + data->hudElemAButton = id = hud_element_create(&HES_AButton); + hud_element_set_render_pos(id, data->hudBaseX, data->hudBaseY); + hud_element_set_render_depth(id, 0); + hud_element_set_flags(id, HUD_ELEMENT_FLAGS_80 | HUD_ELEMENT_FLAGS_DISABLED); + + data->hudElemBlueMeter = id = hud_element_create(&HES_BlueMeter); + hud_element_set_render_pos(id, data->hudBaseX, data->hudBaseY + 28); + hud_element_set_render_depth(id, 0); + hud_element_set_flags(id, HUD_ELEMENT_FLAGS_80 | HUD_ELEMENT_FLAGS_DISABLED); + + data->hudElemOK = id = hud_element_create(&HES_RunAwayOK); + hud_element_set_render_pos(id, data->hudBaseX, data->hudBaseY + 28); + hud_element_set_render_depth(id, 0); + hud_element_set_flags(id, HUD_ELEMENT_FLAGS_80 | HUD_ELEMENT_FLAGS_DISABLED); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(PlayRecordSong)) { + bgm_set_song(0, N(SongList)[evt_get_variable(script, GB_OBK07_SelectedRecord)], 0, 500, 8); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SavePhonographUpdateScriptIDs)) { + PhonographData* data = N(GetPhonographData)(); + + data->state = PHONOGRAPH_HUD_STATE_MASHING; + data->updateScaleScriptID = evt_get_variable(NULL, MV_UpdateScaleScript); + data->updateCrankScriptID = evt_get_variable(NULL, MV_UpdateCrankScript); + data->updateRecordScriptID = evt_get_variable(NULL, MV_UpdateRecordScript); + data->songName = gMusicSettings->songName; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(DestroyPhonographHudData)) { + PhonographData* data = N(GetPhonographData)(); + + data->state = PHONOGRAPH_HUD_STATE_DESTROYED; + gOverrideFlags &= ~GLOBAL_OVERRIDES_10; + hud_element_free(data->hudElemAButton); + hud_element_free(data->hudElemBlueMeter); + hud_element_free(data->hudElemOK); + free_worker(data->hudWorker); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetPhonographScaleDivisor)) { + N(GetPhonographData)(); + script->varTable[3] = 150; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetPhonographScale)) { + PhonographData* data = N(GetPhonographData)(); + + data->modelScale = evt_get_float_variable(script, LVar2); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetCrankRotation)) { + PhonographData* data = N(GetPhonographData)(); + + data->crankRotation = clamp_angle(evt_get_float_variable(script, LVar0)); + evt_set_float_variable(script, LVar0, data->crankRotation); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetRecordRotation)) { + PhonographData* temp_s1 = N(GetPhonographData)(); + + temp_s1->recordRotation = clamp_angle(evt_get_float_variable(script, LVar0)); + evt_set_float_variable(script, LVar0, temp_s1->recordRotation); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetPhonographScale)) { + evt_set_float_variable(script, LVar0, N(GetPhonographData)()->modelScale); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetCrankRotation)) { + evt_set_float_variable(script, LVar0, N(GetPhonographData)()->crankRotation); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetRecordRotation)) { + evt_set_float_variable(script, LVar0, N(GetPhonographData)()->recordRotation); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SaveLastUpdateValue)) { + f32 value = evt_get_float_variable(script, LVar0); + evt_set_float_variable(script, LVar1, value); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(CheckScaleNearUnity)) { + f32 curScale = evt_get_float_variable(script, LVar0); + f32 prevScale = evt_get_float_variable(script, LVar1); + + if (prevScale <= 1.0f && curScale >= 1.0f) { + script->varTable[2] = 1; + } else { + script->varTable[2] = 0; + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(CheckAngleNearZero)) { + f32 curAngle = evt_get_float_variable(script, LVar0); + f32 prevAngle = evt_get_float_variable(script, LVar1); + + if (prevAngle <= 360.0f && curAngle <= 100.0f) { + script->varTable[2] = 1; + } else { + script->varTable[2] = 0; + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GuardBooDoNothing)) { + return ApiStatus_DONE2; +} + +API_CALLABLE(func_80241790_BD0380); + +#ifdef NON_MATCHING // various issues +ApiStatus func_80241790_BD0380(Evt* script) { + UnkObk07* temp_v0 = N(GetPhonographData)(); + s32 temp_v0_2 = abs(temp_v0->unk_04 - 50); + s32 var_a0; + s32 var_v0; + s32 var_v1; + + var_v1 = -temp_v0_2; + if (temp_v0_2 >= 10) { + var_v0 = temp_v0_2 * 4; + } else { + goto moved; + } + +after: + temp_v0->meterFillAmount += (var_v0 + var_v1) * 2; + if (temp_v0->unk_04 != 0) { + temp_v0->unk_1DC = 1; + } + if (temp_v0->unk_1DC == 1) { + var_v1 = temp_v0->unk_04; + if (var_v1 <= 0) { + temp_v0->unk_1D8++; + } else { + temp_v0->unk_1D8 = 0; + } + } + + if (FALSE) { +moved: + var_v1 = 10; + var_v1 -= temp_v0_2; + var_v0 = var_v1 * 24; + goto after; + } + + if (temp_v0->meterFillAmount > 10000) { + temp_v0->meterFillAmount = 10000; + } + if (temp_v0->meterFillAmount < 0) { + temp_v0->meterFillAmount = 0; + } + + script->varTable[0] = 0; + if (temp_v0->unk_1D8 >= 46 || (gGameStatusPtr->pressedButtons[0] & BUTTON_B)) { + script->varTable[0] = 1; + return ApiStatus_DONE2; + } + return ApiStatus_DONE2; +} +#else +INCLUDE_ASM(s32, "world/area_obk/obk_07/BCF0F0", func_80241790_BD0380); +#endif + +API_CALLABLE(N(InitPhonographHud)) { + PhonographData* data = N(GetPhonographData)(); + + data->meterFillAmount = 0; + data->unk_1D8 = 0; + data->unk_1DC = 0; + data->unk_04 = 0; + data->state = PHONOGRAPH_HUD_STATE_INIT; + script->varTable[10] = 0; + script->varTable[11] = 0; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(UpdateGuardBooPos)) { + Npc* npc = get_npc_unsafe(NPC_GuardBoo); + PhonographData* data = N(GetPhonographData)(); + f32 booPosZ = -136.0f; + f32 x = npc->pos.x; + f32 z = npc->pos.z; + f32 dancePosX = -92.0f; + f32 guardPosX = 168.0f; + f32 speed; + + if (data->state == PHONOGRAPH_HUD_STATE_DESTROYED) { + // return to guard position + speed = 2.0f; + npc->currentAnim = ANIM_Boo_Run; + if (dist2D(x, z, guardPosX, booPosZ) < speed) { + npc->pos.x = guardPosX; + npc->pos.z = booPosZ; + npc->yaw = atan2(x, z, dancePosX, booPosZ); + script->varTable[10] = 0; + script->varTable[11] = 1; + return ApiStatus_DONE2; + } else { + npc->yaw = atan2(x, z, guardPosX, booPosZ); + npc_move_heading(npc, speed, npc->yaw); + } + return ApiStatus_DONE2; + } + + if (data->meterFillAmount > 7000) { + // lure toward dance position + speed = 2.0f; + script->varTable[10] = 1; + if (dist2D(x, z, dancePosX, booPosZ) < speed) { + npc->pos.x = dancePosX; + npc->pos.z = booPosZ; + } else { + npc->yaw = atan2(x, z, dancePosX, booPosZ); + npc_move_heading(npc, speed, npc->yaw); + } + } + + if (data->meterFillAmount < 3000) { + // return to guard position + speed = 2.0f; + script->varTable[10] = 0; + if (dist2D(x, z, guardPosX, booPosZ) < speed) { + npc->pos.x = guardPosX; + npc->pos.z = booPosZ; + npc->yaw = atan2(x, z, dancePosX, -136.0f); + } else { + npc->yaw = atan2(x, z, guardPosX, booPosZ); + npc_move_heading(npc, speed, npc->yaw); + } + } + + if (data->meterFillAmount > 7000) { + npc->currentAnim = ANIM_Boo_Wave; + } else if (data->meterFillAmount > 5000) { + npc->currentAnim = ANIM_Boo_Run; + } else if (data->meterFillAmount > 3000) { + npc->currentAnim = ANIM_Boo_Walk; + } else { + npc->currentAnim = ANIM_Boo_Idle; + } + + return ApiStatus_DONE2; +} + +API_CALLABLE(N(InitGuardBooAlpha)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + + npc->alpha = 180; + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + return ApiStatus_DONE2; +} + +u8 N(D_802430A0_BD1C90)[] = { + 0x21, 0x21, 0x75, 0x1D, + 0x23, 0xA3, 0x46, 0x0C, + 0xB4, 0x6B, 0x00, 0x78, + 0x73, 0x0D, 0x13, 0x00, +}; + +u8 N(D_802430B0_BD1CA0)[] = { + 0x00, 0xE4, 0x86, 0x2E, + 0xB4, 0xF2, 0x75, 0x70, + 0xFF, 0xF3, 0x04, 0xBC, + 0xF7, 0x0D, 0x05, 0x00, +}; + +u8 N(D_802430C0_BD1CB0)[] = { + 0x2D, 0x38, 0xD2, 0x54, + 0x28, 0xD1, 0x7D, 0x2C, + 0xB5, 0xA1, 0x1B, 0x55, + 0xFF, 0xFF, 0xFF, 0x00, +}; + +EvtScript N(EVS_UpdatePhonographScale) = { + EVT_LABEL(30) + EVT_CALL(MakeLerp, 100, 200, 30, EASING_COS_IN_OUT) + EVT_LABEL(31) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_CALL(N(GetPhonographScaleDivisor)) + EVT_DIVF(LVar2, LVar3) + EVT_CALL(N(SetPhonographScale)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(31) + EVT_END_IF + EVT_CALL(MakeLerp, 200, 100, 30, EASING_COS_IN_OUT) + EVT_LABEL(32) + EVT_CALL(UpdateLerp) + EVT_SETF(LVar2, LVar0) + EVT_CALL(N(GetPhonographScaleDivisor)) + EVT_DIVF(LVar2, LVar3) + EVT_CALL(N(SetPhonographScale)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(32) + EVT_END_IF + EVT_GOTO(30) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UpdateCrankRotation) = { + EVT_SET(LVar0, 0) + EVT_LABEL(10) + EVT_CALL(N(SetCrankRotation)) + EVT_ADD(LVar0, 2) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UpdateRecordRotation) = { + EVT_SET(LVar0, 0) + EVT_LABEL(20) + EVT_CALL(N(SetRecordRotation)) + EVT_ADD(LVar0, 10) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetPhonographScale) = { + EVT_SET(MF_CancelScaleScript, FALSE) + EVT_LOOP(0) + EVT_IF_EQ(MF_CancelScaleScript, TRUE) + EVT_CALL(N(CheckScaleNearUnity)) + EVT_IF_EQ(LVar2, 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_IF + EVT_CALL(N(SaveLastUpdateValue)) + EVT_CALL(N(GetPhonographScale)) + EVT_CALL(ScaleModel, MODEL_rap, LVar0, LVar0, LVar0) + EVT_CALL(UpdateColliderTransform, COLLIDER_t) + EVT_WAIT(1) + EVT_END_LOOP + EVT_SET(MF_CancelScaleScript, FALSE) + EVT_CALL(ScaleModel, MODEL_rap, 1, 1, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetCrankRotation) = { + EVT_SET(MF_CancelCrankScript, FALSE) + EVT_LOOP(0) + EVT_IF_EQ(MF_CancelCrankScript, TRUE) + EVT_CALL(N(CheckAngleNearZero)) + EVT_IF_EQ(LVar2, 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_IF + EVT_CALL(N(SaveLastUpdateValue)) + EVT_CALL(N(GetCrankRotation)) + EVT_CALL(RotateGroup, MODEL_bo, LVar0, 1, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_SET(MF_CancelCrankScript, FALSE) + EVT_CALL(RotateGroup, MODEL_bo, 0, 1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetRecordRotation) = { + EVT_SET(MF_CancelRecordScript, FALSE) + EVT_LOOP(0) + EVT_IF_EQ(MF_CancelRecordScript, TRUE) + EVT_CALL(N(CheckAngleNearZero)) + EVT_IF_EQ(LVar2, 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_IF + EVT_CALL(N(SaveLastUpdateValue)) + EVT_CALL(N(GetRecordRotation)) + EVT_CALL(RotateGroup, MODEL_rec, LVar0, 0, -1, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_SET(MF_CancelRecordScript, FALSE) + EVT_CALL(RotateGroup, MODEL_rec, 0, 0, -1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_WindDownPhonograph) = { + EVT_SET(MV_WindingDown, TRUE) + EVT_CALL(MakeLerp, MV_MashInputsAmount, 0, LVar0, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(func_80240EF8_BCFAE8)) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcRotation, NPC_GuardBoo, 0, 0, 0) + // signal scripts should stop + EVT_SET(MF_CancelScaleScript, TRUE) + EVT_SET(MF_CancelCrankScript, TRUE) + EVT_SET(MF_CancelRecordScript, TRUE) + // wait for canceled scripts to end + EVT_LOOP(0) + EVT_WAIT(1) + EVT_IF_EQ(MF_CancelScaleScript, FALSE) + EVT_IF_EQ(MF_CancelCrankScript, FALSE) + EVT_IF_EQ(MF_CancelRecordScript, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_END_LOOP + // kill the completed scripts + EVT_KILL_THREAD(MV_UpdateScaleScript) + EVT_KILL_THREAD(MV_UpdateCrankScript) + EVT_KILL_THREAD(MV_UpdateRecordScript) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_SET(MV_WindingDown, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayPhonograph) = { + EVT_IF_EQ(MV_WindingDown, TRUE) + EVT_IS_THREAD_RUNNING(MV_WindDownScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_WindDownScript) + EVT_IS_THREAD_RUNNING(MV_UpdateScaleScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_UpdateScaleScript) + EVT_END_IF + EVT_IS_THREAD_RUNNING(MV_UpdateCrankScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_UpdateCrankScript) + EVT_END_IF + EVT_IS_THREAD_RUNNING(MV_UpdateRecordScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_UpdateRecordScript) + EVT_END_IF + EVT_IS_THREAD_RUNNING(MV_SetScaleScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_SetScaleScript) + EVT_END_IF + EVT_IS_THREAD_RUNNING(MV_SetCrankScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_SetCrankScript) + EVT_END_IF + EVT_IS_THREAD_RUNNING(MV_SetRecordScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_SetRecordScript) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(2.0)) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_GT(LVar2, -170) + EVT_GOTO(33) + EVT_END_IF + EVT_LABEL(11) + EVT_CALL(PlayerMoveTo, -202, -170, 0) + EVT_LABEL(33) + EVT_CALL(PlayerMoveTo, -216, -115, 0) + EVT_CALL(InterpPlayerYaw, 38, 1) + EVT_LOOP(0) + // wait for tutorial message dismissal if there is one + EVT_WAIT(1) + EVT_IF_EQ(MV_ReadyToPlay, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(5) + EVT_CALL(N(CreatePhonographHudData)) + EVT_CALL(N(PlayRecordSong)) + EVT_WAIT(30) + EVT_CALL(N(InitPhonographHud)) + EVT_IF_EQ(MV_GuardDeparted, FALSE) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_Wary))) + EVT_EXEC_GET_TID(N(EVS_UpdateGuardBoo), MV_UpdateGuardScript) + EVT_ELSE + EVT_EXEC_GET_TID(N(EVS_DummyUpdateGuardBoo), MV_UpdateGuardScript) + EVT_END_IF + EVT_EXEC_GET_TID(N(EVS_UpdatePhonographScale), MV_UpdateScaleScript) + EVT_EXEC_GET_TID(N(EVS_UpdateCrankRotation), MV_UpdateCrankScript) + EVT_EXEC_GET_TID(N(EVS_UpdateRecordRotation), MV_UpdateRecordScript) + EVT_EXEC_GET_TID(N(EVS_SetPhonographScale), MV_SetScaleScript) + EVT_EXEC_GET_TID(N(EVS_SetCrankRotation), MV_SetCrankScript) + EVT_EXEC_GET_TID(N(EVS_SetRecordRotation), MV_SetRecordScript) + EVT_CALL(N(SavePhonographUpdateScriptIDs)) + EVT_LOOP(0) + EVT_CALL(func_80241790_BD0380) + EVT_IF_EQ(LVar0, 1) + EVT_CALL(N(DestroyPhonographHudData)) + EVT_WAIT(1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(0) + // wait for the guard to finish jumping or spinning + EVT_WAIT(1) + EVT_IF_EQ(MF_GuardBusy, FALSE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_KILL_THREAD(MV_UpdateGuardScript) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_IF_EQ(MV_GuardDeparted, FALSE) + EVT_IF_EQ(MV_GuardDancing, TRUE) + EVT_SET(LVar0, 150) + EVT_ELSE + EVT_SET(LVar0, 80) + EVT_END_IF + EVT_EXEC_GET_TID(N(EVS_WindDownPhonograph), MV_WindDownScript) + EVT_EXEC_GET_TID(N(EVS_GuardBoo_ReturnToPost), MV_GuardReturnScript) + EVT_ELSE + EVT_SET(LVar0, 80) + EVT_EXEC_GET_TID(N(EVS_WindDownPhonograph), MV_WindDownScript) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Inspect_Phonograph) = { + EVT_IF_EQ(MV_GuardDancing, TRUE) + EVT_IF_EQ(MV_GuardDeparted, FALSE) + EVT_RETURN + EVT_END_IF + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_PLAYED_THE_RECORD) + EVT_GOTO(50) + EVT_END_IF + // choose a record + EVT_CALL(ShowKeyChoicePopup) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Inspect_Phonograph, 160, 40) + EVT_GOTO(100) + EVT_END_IF + EVT_IF_EQ(LVar0, -1) + EVT_GOTO(100) + EVT_END_IF + EVT_CALL(N(GetSelectedRecordIndex)) + EVT_IF_EQ(LVar0, -1) + EVT_GOTO(100) + EVT_END_IF + EVT_SET(GB_OBK07_SelectedRecord, LVar0) + EVT_CALL(RemoveKeyItemAt, LVar1) + EVT_SET(GB_StoryProgress, STORY_CH3_PLAYED_THE_RECORD) + EVT_CALL(EnableModel, MODEL_reco, TRUE) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_60007) + EVT_WAIT(15) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(15) + EVT_CALL(CloseChoicePopup) + // try playing + EVT_LABEL(50) + EVT_SET(MV_ReadyToPlay, TRUE) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_GOT_WEIGHT) + EVT_SET(MV_ReadyToPlay, FALSE) + EVT_THREAD + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_0181, 160, 40) + EVT_SET(MV_ReadyToPlay, TRUE) + EVT_END_THREAD + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_PlayPhonograph)) + EVT_RETURN + // done + EVT_LABEL(100) + EVT_CALL(CloseChoicePopup) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcAI_GuardBoo_Wary) = { + EVT_CALL(SetNpcAnimation, NPC_GuardBoo, ANIM_Boo_Idle) + EVT_LABEL(0) + EVT_CALL(RandInt, 30, LVar0) + EVT_ADD(LVar0, 30) + EVT_WAIT(LVar0) + EVT_CALL(InterpNpcYaw, NPC_GuardBoo, 90, 5) + EVT_CALL(RandInt, 30, LVar0) + EVT_ADD(LVar0, 30) + EVT_WAIT(LVar0) + EVT_CALL(InterpNpcYaw, NPC_GuardBoo, 270, 5) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcAI_GuardBoo_DoNothing) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcAI_GuardBoo_Dancing) = { + EVT_LOOP(0) + EVT_CALL(RandInt, 99, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_LT(30) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 10) + EVT_WAIT(LVar0) + EVT_CALL(InterpNpcYaw, NPC_GuardBoo, 90, 5) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 10) + EVT_WAIT(LVar0) + EVT_CALL(InterpNpcYaw, NPC_GuardBoo, 270, 5) + EVT_CASE_LT(60) + EVT_CALL(GetNpcPos, NPC_GuardBoo, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcJumpscale, NPC_GuardBoo, EVT_FLOAT(1.0)) + EVT_CALL(NpcJump0, NPC_GuardBoo, LVar0, LVar1, LVar2, 10) + EVT_CASE_LT(99) + EVT_CALL(MakeLerp, 0, 720, 20, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcRotation, NPC_GuardBoo, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_END_SWITCH + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_GuardBoo_ReturnToPost) = { + EVT_WAIT(1) + EVT_IF_EQ(MV_GuardDancing, TRUE) + EVT_WAIT(150) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_DoNothing))) + EVT_WAIT(1) + EVT_CALL(SetNpcRotation, NPC_GuardBoo, 0, 0, 0) + EVT_WAIT(90) + EVT_ELSE + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_DoNothing))) + EVT_WAIT(1) + EVT_CALL(SetNpcRotation, NPC_GuardBoo, 0, 0, 0) + EVT_END_IF + EVT_CALL(AwaitPlayerLeave, 168, -136, 50) + EVT_CALL(MakeLerp, 180, 0, 10, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_GuardBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetNpcPos, NPC_GuardBoo, 168, 0, -136) + EVT_CALL(MakeLerp, 0, 180, 10, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_GuardBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_SET(MV_GuardDancing, FALSE) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_Wary))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UpdateGuardBoo) = { + EVT_SET(MV_GuardDancing, FALSE) + EVT_SET(MF_GuardBusy, FALSE) + EVT_CALL(InterpNpcYaw, NPC_GuardBoo, 270, 5) + EVT_SET(LVarC, 0) + EVT_LOOP(0) + EVT_CALL(GetNpcPos, NPC_GuardBoo, LVar0, LVar1, LVar2) + EVT_IF_LE(LVar0, -92) + EVT_SET(MV_GuardDancing, TRUE) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_Dancing))) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(LVarA, 0) + EVT_CALL(N(UpdateGuardBooPos)) + EVT_IF_NE(LVarC, 0) + EVT_SUB(LVarC, 1) + EVT_END_IF + EVT_WAIT(1) + EVT_ELSE + EVT_IF_NE(LVarC, 0) + EVT_CALL(N(UpdateGuardBooPos)) + EVT_IF_NE(LVarC, 0) + EVT_SUB(LVarC, 1) + EVT_END_IF + EVT_WAIT(1) + EVT_ELSE + EVT_SET(LVarC, 20) + EVT_CALL(RandInt, 99, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_LT(60) + EVT_CASE_LT(80) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_DoNothing))) + EVT_SET(MF_GuardBusy, TRUE) + EVT_CALL(GetNpcPos, NPC_GuardBoo, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcJumpscale, NPC_GuardBoo, EVT_FLOAT(1.0)) + EVT_CALL(NpcJump0, NPC_GuardBoo, LVar0, LVar1, LVar2, 10) + EVT_SET(MF_GuardBusy, FALSE) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_Wary))) + EVT_CASE_LT(99) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_DoNothing))) + EVT_SET(MF_GuardBusy, TRUE) + EVT_CALL(MakeLerp, 0, 720, 20, EASING_QUADRATIC_OUT) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetNpcRotation, NPC_GuardBoo, 0, LVar0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_SET(MF_GuardBusy, FALSE) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_Wary))) + EVT_END_SWITCH + EVT_END_IF + EVT_END_IF + EVT_IF_EQ(LVarB, 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DummyUpdateGuardBoo) = { + EVT_LOOP(0) + EVT_CALL(N(GuardBooDoNothing)) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_GuardBooVanish) = { + EVT_THREAD + EVT_WAIT(25) + EVT_CALL(PlaySoundAtNpc, NPC_GuardBoo, SOUND_BOO_SPOOK, 0) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_GuardBoo, ANIM_Boo_Spook) + EVT_WAIT(10) + EVT_CALL(MakeLerp, 255, 0, 60, EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_GuardBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetNpcPos, NPC_GuardBoo, NPC_DISPOSE_LOCATION) + EVT_SET(MV_GuardDeparted, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_GuardBoo) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_PLAYED_THE_RECORD) + EVT_IF_EQ(GF_OBK08_Item_Record, TRUE) + EVT_CALL(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0036) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0035) + EVT_END_IF + EVT_CASE_EQ(STORY_CH3_PLAYED_THE_RECORD) + EVT_IF_EQ(MV_GuardDancing, TRUE) + EVT_CALL(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0037) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0038) + EVT_END_IF + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_PlayerGotChestItem) = { + EVT_KILL_THREAD(MV_GuardReturnScript) + EVT_CALL(SetNpcRotation, NPC_GuardBoo, 0, 0, 0) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(BindNpcAI, NPC_GuardBoo, EVT_PTR(N(EVS_NpcAI_GuardBoo_DoNothing))) + EVT_CALL(GetNpcPos, NPC_GuardBoo, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_GuardBoo, ANIM_Boo_Cower, ANIM_Boo_Cower, 0, MSG_CH3_0039) + EVT_CALL(SetNpcAnimation, NPC_GuardBoo, ANIM_Boo_Idle) + EVT_CALL(EndSpeech, NPC_GuardBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0) + EVT_EXEC_WAIT(N(EVS_GuardBooVanish)) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupGuardBoo) = { + EVT_CALL(SetNpcScale, NPC_GuardBoo, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) + EVT_CALL(SetNpcCollisionSize, NPC_GuardBoo, 40, 40) + EVT_CALL(N(InitGuardBooAlpha)) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_GuardBoo))) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcAI_GuardBoo_Wary))) + EVT_CALL(SetNpcPos, NPC_GuardBoo, 168, 0, -136) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupPhonograph) = { + EVT_CALL(N(CreatePhonographData)) + EVT_CALL(ParentColliderToModel, COLLIDER_t, MODEL_rap) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_PLAYED_THE_RECORD) + EVT_CALL(EnableModel, MODEL_reco, FALSE) + EVT_END_IF + EVT_BIND_PADLOCK(EVT_PTR(N(EVS_Inspect_Phonograph)), TRIGGER_WALL_PRESS_A, COLLIDER_o344, EVT_PTR(N(ItemList_Records)), 0, 1) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_08/BD3870.c b/src/world/area_obk/obk_08/BD3870.c deleted file mode 100644 index 6207021485..0000000000 --- a/src/world/area_obk/obk_08/BD3870.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "obk_08.h" - -#define KNOCK_DOWN_MAP_VAR MapVar(10) -#include "world/common/complete/KnockDownPlayer.inc.c" - -API_CALLABLE(N(func_80240808_BD4078)) { - if (gPlayerData.curHP <= 1) { - return ApiStatus_DONE2; - } - gPlayerData.curHP--; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_08/BD40B0.c b/src/world/area_obk/obk_08/BD40B0.c deleted file mode 100644 index 91c37cec3d..0000000000 --- a/src/world/area_obk/obk_08/BD40B0.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "obk_08.h" - -ApiStatus func_80240840_BD40B0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - start_rumble(0x64, evt_get_variable(script, *args++) & 0xFFFF); - return ApiStatus_DONE2; -} - -ApiStatus func_80240870_BD40E0(Evt* script, s32 isInitialCall) { - set_item_entity_flags(script->varTable[0], 0x80000); - return ApiStatus_DONE2; -} - diff --git a/src/world/area_obk/obk_08/BD4110.c b/src/world/area_obk/obk_08/BD4110.c deleted file mode 100644 index 44f0a215c0..0000000000 --- a/src/world/area_obk/obk_08/BD4110.c +++ /dev/null @@ -1,183 +0,0 @@ -#include "obk_08.h" - -static char* N(exit_str_0) = "obk_01"; - -ApiStatus func_802408A0_BD4110(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - s32* ptr = heap_malloc(4); // todo what is this - - npc->blur.any = ptr; - *ptr = NULL; - npc->planarFlyDist = 125.0f; - npc->yaw = 0.0f; - npc->pos.x = 0.0f; - npc->pos.y = -875.0f; - npc->pos.z = 0.0f; - npc->duration = 60; - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -void func_80240920_BD4190(Npc* npc) { - if (npc->yaw > 340.0f || npc->yaw < 20.0f) { - npc->renderMode = RENDER_MODE_ALPHATEST; - npc->unk_A2 = 0; - func_8003D624(npc, 0, 0, 0, 0, 0, npc->unk_A2); - } else { - npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; - func_8003D624(npc, 7, gPlayerStatusPtr->alpha1, 0, 0, 0, npc->unk_A2); - npc->unk_9A = 255; - } -} - -void func_802409E8_BD4258(void) { - func_80240920_BD4190(get_npc_unsafe(1)); - func_80240920_BD4190(get_npc_unsafe(2)); - func_80240920_BD4190(get_npc_unsafe(3)); - func_80240920_BD4190(get_npc_unsafe(4)); - func_80240920_BD4190(get_npc_unsafe(5)); - func_80240920_BD4190(get_npc_unsafe(6)); - func_80240920_BD4190(get_npc_unsafe(7)); - func_80240920_BD4190(get_npc_unsafe(8)); -} - -void func_80240A7C_BD42EC(void) { - get_npc_unsafe(1)->unk_A2 = 0; - get_npc_unsafe(2)->unk_A2 = 0; - get_npc_unsafe(3)->unk_A2 = 0; - get_npc_unsafe(4)->unk_A2 = 0; - get_npc_unsafe(5)->unk_A2 = 0; - get_npc_unsafe(6)->unk_A2 = 0; - get_npc_unsafe(7)->unk_A2 = 0; - get_npc_unsafe(8)->unk_A2 = 0; -} - -ApiStatus func_80240AF0_BD4360(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - s32* temp_s2 = npc->blur.any; - s32 temp_v0; - - switch (script->functionTemp[1]) { - case 0: - temp_v0 = evt_get_variable(script, AreaFlag(8)); - if (temp_v0 == 1) { - *temp_s2 = temp_v0; - script->functionTemp[1] = 10; - } - break; - case 10: - npc->yaw = clamp_angle(npc->yaw + 2.0f); - npc->duration--; - if (npc->duration == 0) { - script->functionTemp[1] = 11; - } - break; - case 11: - if (npc->pos.y <= -920.0f) { - func_802409E8_BD4258(); - } - npc->yaw = clamp_angle(npc->yaw + 2.0f); - npc->pos.y -= 0.5f; - if (npc->pos.y <= -988.0f) { - evt_set_variable(script, MapVar(1), 1); - func_80240A7C_BD42EC(); - script->functionTemp[1] = 12; - } - break; - case 12: - if (evt_get_variable(script, MapVar(2)) == 1) { - script->functionTemp[1] = 13; - } - npc->yaw = clamp_angle(npc->yaw + 2.0f); - break; - case 13: - if (evt_get_variable(script, MapVar(2)) == 0) { - script->functionTemp[1] = 12; - } - break; - } - return ApiStatus_DONE2; -} - -ApiStatus func_80240CA0_BD4510(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - - npc->blur.any = get_npc_unsafe(0); - script->functionTemp[2] = script->owner2.npcID * 45; - npc->flags |= NPC_FLAG_40000; - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -INCLUDE_ASM(s32, "world/area_obk/obk_08/BD4110", func_80240D10_BD4580); - -ApiStatus func_80240FD8_BD4848(Evt* script, s32 isInitialCall) { - script->functionTemp[1] = 0; - return ApiStatus_DONE2; -} - -ApiStatus func_80240FE4_BD4854(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_safe(script->owner2.npcID); - - switch (script->functionTemp[1]) { - case 0: - npc->duration = rand_int(180) + 30; - npc->pos.z = -430.0f; - npc->pos.y = rand_int(50) + 40.0f; - npc->moveSpeed = (2.0f * rand_float()) + 2.0f; - if (rand_int(100) < 50) { - npc->pos.x = 270.0f; - npc->yaw = 270.0f; - } else { - npc->pos.x = -270.0f; - npc->yaw = 90.0f; - } - script->functionTemp[1] = 1; - break; - case 1: - npc->duration--; - if (npc->duration == 0) { - script->functionTemp[1] = 2; - } - break; - case 2: - npc_move_heading(npc, npc->moveSpeed, npc->yaw); - if (npc->pos.x < -280.0f || npc->pos.x > 280.0f) { - script->functionTemp[1] = 0; - } - break; - } - return ApiStatus_DONE2; -} - -extern s16 D_80244FEC_BD885C[]; - -ApiStatus func_8024116C_BD49DC(Evt* script, s32 isInitialCall) { - s32 var0 = script->varTable[0]; - s32 var1 = script->varTable[1]; - s32 temp; - - if (var1 == 0) { - script->functionTemp[2] = D_80244FEC_BD885C[rand_int(3)]; - var1 = rand_int(50) + 30; - } - var1--; - - temp = script->functionTemp[2]; - if (var0 < temp) { - var0 += 10; - if (temp < var0) { - var0 = temp; - } - } - if (temp < var0) { - var0 -= 10; - if (var0 < temp) { - var0 = temp; - } - } - - script->varTable[0] = var0; - script->varTable[1] = var1; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_08/BD4A90.c b/src/world/area_obk/obk_08/BD4A90.c deleted file mode 100644 index 7061c04d6b..0000000000 --- a/src/world/area_obk/obk_08/BD4A90.c +++ /dev/null @@ -1,106 +0,0 @@ -#include "obk_08.h" - -ApiStatus func_80241220_BD4A90(Evt* script, s32 isInitialCall) { - Npc* npc1 = get_npc_unsafe(0xB); - Npc* npc2 = get_npc_unsafe(0); - - npc1->pos.x = npc2->pos.x; - npc1->pos.z = npc2->pos.z; - npc_move_heading(npc1, npc2->planarFlyDist, script->varTable[0]); - npc1->pos.y = npc2->pos.y + 1000.0f + 25.0f; - return ApiStatus_DONE2; -} - -ApiStatus func_802412BC_BD4B2C(Evt* script, s32 isInitialCall) { - script->varTable[0] = clamp_angle(script->varTable[0] - 2); - return ApiStatus_DONE2; -} - -ApiStatus func_80241300_BD4B70(Evt* script, s32 isInitialCall) { - Npc* npc1 = get_npc_unsafe(1); - Npc* npc2 = get_npc_unsafe(2); - Npc* npc3 = get_npc_unsafe(3); - Npc* npc4 = get_npc_unsafe(4); - Npc* npc5 = get_npc_unsafe(5); - Npc* npc6 = get_npc_unsafe(6); - Npc* npc7 = get_npc_unsafe(7); - Npc* npc8 = get_npc_unsafe(8); - s32 outVal = 0; - - script->varTable[1] = FALSE; - - evt_set_variable(script, MapVar(3), 0); - if (npc1->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc1->yaw) { - script->varTable[1] = TRUE; - outVal = 1; - } - if (npc2->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc2->yaw) { - script->varTable[1] = TRUE; - outVal = 2; - } - if (npc3->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc3->yaw) { - script->varTable[1] = TRUE; - outVal = 3; - } - if (npc4->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc4->yaw) { - script->varTable[1] = TRUE; - outVal = 4; - } - if (npc5->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc5->yaw) { - script->varTable[1] = TRUE; - outVal = 5; - } - if (npc6->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc6->yaw) { - script->varTable[1] = TRUE; - outVal = 6; - } - if (npc7->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc7->yaw) { - script->varTable[1] = TRUE; - outVal = 7; - } - if (npc8->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc8->yaw) { - script->varTable[1] = TRUE; - outVal = 8; - } - evt_set_variable(script, MapVar(3), outVal); - return ApiStatus_DONE2; -} - -ApiStatus func_80241658_BD4EC8(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - f32 dist = dist2D(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f); - Npc npc; - f32 temp_a2; - s32 gt; - s32 lt; - - if (!(dist > 90.0f)) { - gt = FALSE; - } else { - gt = TRUE; - } - - if (!(dist < 150.0f)) { - lt = FALSE; - } else { - lt = TRUE; - } - - if ((gt | lt) != 0) { - temp_a2 = atan2(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f) + 180.0f; - npc.pos.x = 0.0f; - npc.pos.y = 0.0f; - npc.pos.z = 0.0f; - npc_move_heading(&npc, 80.0f, temp_a2); - script->varTable[0] = npc.pos.x; - script->varTable[1] = npc.pos.y; - script->varTable[2] = npc.pos.z; - script->varTable[3] = 1; - } else { - script->varTable[0] = playerStatus->position.x; - script->varTable[1] = playerStatus->position.y; - script->varTable[2] = playerStatus->position.z; - script->varTable[3] = 0; - } - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_08/obk_08.h b/src/world/area_obk/obk_08/obk_08.h index 0e265bdbd1..b751b86126 100644 --- a/src/world/area_obk/obk_08/obk_08.h +++ b/src/world/area_obk/obk_08/obk_08.h @@ -2,8 +2,62 @@ /// @brief Boo's Mansion - Record Room #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_08_shape.h" +#include "mapfs/obk_08_hit.h" + +#include "sprite/npc/Boo.h" + +enum { + NPC_Boo_01 = 0, + NPC_KeepAwayBoo1 = 1, + NPC_KeepAwayBoo2 = 2, + NPC_KeepAwayBoo3 = 3, + NPC_KeepAwayBoo4 = 4, + NPC_KeepAwayBoo5 = 5, + NPC_KeepAwayBoo6 = 6, + NPC_KeepAwayBoo7 = 7, + NPC_KeepAwayBoo8 = 8, + NPC_TrafficBoo1 = 9, + NPC_TrafficBoo2 = 10, + NPC_LeaderBoo = 11, + NPC_DummyBoo = 12, +}; + +enum { + MV_KeepAwayItem = MapVar(0), + MV_Unk_01 = MapVar(1), + MV_Unk_02 = MapVar(2), + MV_ThrowTargetNpc = MapVar(3), + MV_KeepAwayResult = MapVar(4), + MV_Unk_Angle = MapVar(5), + MV_ItemCarrierNpc = MapVar(6), + MV_KnockdownPosX = MapVar(7), + MV_KnockdownPosY = MapVar(8), + MV_KnockdownPosZ = MapVar(9), + MV_Knockdown = MapVar(10), + MV_WindowsIdle = MapVar(11), + MV_Trigger_NearCabinet = MapVar(12), + MV_Trigger_MidCabinet = MapVar(13), + MV_Trigger_FarCabinet = MapVar(14), +}; + +enum KeepAwayResult { + KEEP_AWAY_WAITING = 0, + KEEP_AWAY_RIGHT = 1, + KEEP_AWAY_WRONG = 2, +}; + #define NAMESPACE obk_08 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_ManageWindows); +extern EvtScript N(EVS_SetupCabinets); +extern EvtScript N(EVS_BindCabinetTriggers); +extern EvtScript N(EVS_Scene_BoosUnleashed); +extern EvtScript N(EVS_MakeEntities); +extern NpcGroupList N(DefaultNPCs); diff --git a/src/world/area_obk/obk_08/obk_08_0_header.c b/src/world/area_obk/obk_08/obk_08_0_header.c new file mode 100644 index 0000000000..ebbd35a49a --- /dev/null +++ b/src/world/area_obk/obk_08/obk_08_0_header.c @@ -0,0 +1,13 @@ +#include "obk_08.h" + +EntryList N(Entrances) = { + [obk_08_ENTRY_0] { -68.0, 0.0, 235.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_obk_08 }, +}; diff --git a/src/world/area_obk/obk_08/obk_08_1_music.c b/src/world/area_obk/obk_08/obk_08_1_music.c new file mode 100644 index 0000000000..c6e3aadeb6 --- /dev/null +++ b/src/world/area_obk/obk_08/obk_08_1_music.c @@ -0,0 +1,11 @@ +#include "obk_08.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_08/obk_08_2_main.c b/src/world/area_obk/obk_08/obk_08_2_main.c new file mode 100644 index 0000000000..9e18185290 --- /dev/null +++ b/src/world/area_obk/obk_08/obk_08_2_main.c @@ -0,0 +1,59 @@ +#include "obk_08.h" + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SET(LVar2, MODEL_door1) + EVT_SET(LVar4, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC_WAIT(EnterSplitSingleDoor) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitMap_obk_01_4) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(LVar0, obk_08_ENTRY_0) + EVT_SET(LVar1, COLLIDER_tt1) + EVT_SET(LVar2, MODEL_door1) + EVT_SET(LVar4, MODEL_door1b) + EVT_SET(LVar3, DOOR_SWING_OUT) + EVT_EXEC(ExitSplitSingleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_01"), obk_01_ENTRY_4) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Fog) = { + EVT_CALL(SetTexPanner, MODEL_moku1, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_moku2, TEX_PANNER_0) + EVT_SET(LVar0, 0) + EVT_SET(LVar1, 0) + EVT_LOOP(0) + EVT_ADD(LVar0, 300) + EVT_ADD(LVar1, 100) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, LVar0, LVar1) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_SET(AF_OBK_08, FALSE) + EVT_EXEC(N(EVS_SetupCabinets)) + EVT_EXEC(N(EVS_ManageWindows)) + EVT_EXEC(N(EVS_TexPan_Fog)) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitMap_obk_01_4)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0) + EVT_EXEC(N(EVS_EnterMap)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_08/obk_08_3_cabinets.c b/src/world/area_obk/obk_08/obk_08_3_cabinets.c new file mode 100644 index 0000000000..466ada1d6c --- /dev/null +++ b/src/world/area_obk/obk_08/obk_08_3_cabinets.c @@ -0,0 +1,340 @@ +#include "obk_08.h" +#include "effects.h" + +#include "sprite/npc/WorldGoombario.h" +#include "sprite/npc/WorldKooper.h" +#include "sprite/npc/WorldBombette.h" +#include "sprite/npc/WorldParakarry.h" +#include "sprite/npc/WorldBow.h" +#include "sprite/npc/WorldWatt.h" +#include "sprite/npc/WorldSushie.h" +#include "sprite/npc/WorldLakilester.h" + +#define KNOCK_DOWN_MAP_VAR MV_Knockdown +#include "world/common/complete/KnockDownPlayer.inc.c" + +API_CALLABLE(N(DamagePlayer1HP)) { + if (gPlayerData.curHP <= 1) { + return ApiStatus_DONE2; + } + gPlayerData.curHP--; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_GetCurrentPartnerAnims) = { + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(PARTNER_GOOMBARIO) + EVT_SET(LVarA, ANIM_WorldGoombario_Run) + EVT_SET(LVarB, ANIM_WorldGoombario_Idle) + EVT_CASE_EQ(PARTNER_KOOPER) + EVT_SET(LVarA, ANIM_WorldKooper_Run) + EVT_SET(LVarB, ANIM_WorldKooper_Idle) + EVT_CASE_EQ(PARTNER_BOMBETTE) + EVT_SET(LVarA, ANIM_WorldBombette_Run) + EVT_SET(LVarB, ANIM_WorldBombette_Idle) + EVT_CASE_EQ(PARTNER_PARAKARRY) + EVT_SET(LVarA, ANIM_WorldParakarry_Run) + EVT_SET(LVarB, ANIM_WorldParakarry_Idle) + EVT_CASE_EQ(PARTNER_BOW) + EVT_SET(LVarA, ANIM_WorldBow_Run) + EVT_SET(LVarB, ANIM_WorldBow_Idle) + EVT_CASE_EQ(PARTNER_WATT) + EVT_SET(LVarA, ANIM_WorldWatt_Run) + EVT_SET(LVarB, ANIM_WorldWatt_Idle) + EVT_CASE_EQ(PARTNER_SUSHIE) + EVT_SET(LVarA, ANIM_WorldSushie_Run) + EVT_SET(LVarB, ANIM_WorldSushie_Idle) + EVT_CASE_EQ(PARTNER_LAKILESTER) + EVT_SET(LVarA, ANIM_WorldLakilester_Run) + EVT_SET(LVarB, ANIM_WorldLakilester_Idle) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_CrushPlayer) = { + EVT_THREAD + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100, TRUE) + EVT_CALL(GetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_EXEC_WAIT(N(EVS_GetCurrentPartnerAnims)) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, LVarA) + EVT_CALL(NpcMoveTo, NPC_PARTNER, -93, LVar2, 15) + EVT_EXEC_WAIT(N(EVS_GetCurrentPartnerAnims)) + EVT_CALL(SetNpcAnimation, NPC_PARTNER, LVarB) + EVT_WAIT(15) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100, FALSE) + EVT_CALL(InterpNpcYaw, NPC_PARTNER, 270, 0) + EVT_END_THREAD + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_WAIT(8) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_1002B) + EVT_WAIT(13) + EVT_CALL(GetPlayerPos, MV_KnockdownPosX, MV_KnockdownPosY, MV_KnockdownPosZ) + EVT_CALL(N(KnockDownPlayerB), 1, 37) + EVT_CALL(N(KnockDownPlayerD), MV_KnockdownPosX, MV_KnockdownPosY, MV_KnockdownPosZ) + EVT_WAIT(1) + EVT_CALL(SetPlayerPos, 0, 1000, 0) // unusual dispose location + EVT_CALL(MakeLerp, 0, 90, 10, EASING_QUADRATIC_IN) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(N(KnockDownPlayerE), LVar0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_ADD(MV_KnockdownPosY, 3) + EVT_CALL(N(KnockDownPlayerD), MV_KnockdownPosX, MV_KnockdownPosY, MV_KnockdownPosZ) + EVT_CALL(N(DamagePlayer1HP)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RestorePlayer) = { + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(InterpPlayerYaw, 270, 0) + EVT_WAIT(15) + EVT_SUB(MV_KnockdownPosY, 3) + EVT_CALL(N(KnockDownPlayerD), MV_KnockdownPosX, MV_KnockdownPosY, MV_KnockdownPosZ) + EVT_CALL(MakeLerp, 90, 0, 15, EASING_QUADRATIC_OUT) + EVT_LABEL(1) + EVT_CALL(UpdateLerp) + EVT_CALL(N(KnockDownPlayerE), LVar0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(N(KnockDownPlayerC)) + EVT_CALL(SetPlayerPos, MV_KnockdownPosX, MV_KnockdownPosY, MV_KnockdownPosZ) + EVT_WAIT(10) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_90001) + EVT_WAIT(25) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_RETURN + EVT_END +}; + +Vec2i N(DustEmitters_FarCabinet)[] = { + { -220, -140 }, + { -220, -115 }, + { -220, -90 }, + { -220, -65 }, + { -220, -40 }, + { -195, -40 }, + { -170, -40 }, + { -145, -40 }, + { -120, -140 }, + { -120, -115 }, + { -120, -90 }, + { -120, -65 }, + { -120, -40 }, + { -145, -40 }, + { -170, -40 }, + { -195, -40 }, +}; + +Vec2i N(DustEmitters_NearCabinet)[] = { + { -220, 60 }, + { -220, 85 }, + { -220, 110 }, + { -220, 135 }, + { -220, 160 }, + { -195, 160 }, + { -170, 160 }, + { -145, 160 }, + { -120, 60 }, + { -120, 85 }, + { -120, 110 }, + { -120, 135 }, + { -120, 160 }, + { -145, 160 }, + { -170, 160 }, + { -195, 160 }, +}; + +EvtScript N(EVS_MiddleCabinet_OpenDoors) = { + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu2, SOUND_F6, 0) + EVT_CALL(MakeLerp, 0, 120, 15, EASING_QUARTIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_t_1, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_t_2, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MiddleCabinet_CloseDoors) = { + EVT_CALL(MakeLerp, 120, 0, 15, EASING_QUARTIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_t_1, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_t_2, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu2, SOUND_F6, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_MiddleCabinet) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(DeleteTrigger, MV_Trigger_NearCabinet) + EVT_CALL(DeleteTrigger, MV_Trigger_MidCabinet) + EVT_CALL(DeleteTrigger, MV_Trigger_FarCabinet) + EVT_EXEC(N(EVS_Scene_BoosUnleashed)) + EVT_EXEC_WAIT(N(EVS_MiddleCabinet_OpenDoors)) + EVT_SET(AF_OBK_08, TRUE) + EVT_WAIT(50) + EVT_EXEC_WAIT(N(EVS_MiddleCabinet_CloseDoors)) + EVT_ELSE + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(InterruptUsePartner) + EVT_EXEC_WAIT(N(EVS_MiddleCabinet_OpenDoors)) + EVT_WAIT(20) + EVT_EXEC_WAIT(N(EVS_MiddleCabinet_CloseDoors)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_NearCabinet) = { + EVT_LABEL(3) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(InterruptUsePartner) + EVT_LOOP(3) + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu1, SOUND_F6, 0) + EVT_CALL(RotateModel, MODEL_tansu1, -1, 1, 0, 0) + EVT_WAIT(2) + EVT_CALL(RotateModel, MODEL_tansu1, 0, 1, 0, 0) + EVT_WAIT(1) + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu1, SOUND_F6, 0) + EVT_CALL(TranslateModel, MODEL_tansu1, 0, 0, 100) + EVT_CALL(RotateModel, MODEL_tansu1, 1, 1, 0, 0) + EVT_CALL(TranslateModel, MODEL_tansu1, 0, 0, -100) + EVT_WAIT(2) + EVT_CALL(RotateModel, MODEL_tansu1, 0, 1, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_EXEC(N(EVS_CrushPlayer)) + EVT_CALL(MakeLerp, 0, -90, 30, EASING_QUARTIC_IN) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_tansu1, LVar0, 0, 0, 1) + EVT_CALL(UpdateColliderTransform, COLLIDER_tansu1) + EVT_CALL(UpdateColliderTransform, COLLIDER_o372) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu1, SOUND_F7, 0) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 30, EVT_FLOAT(1.5)) + EVT_END_THREAD + EVT_USE_BUF(EVT_PTR(N(DustEmitters_NearCabinet))) + EVT_LOOP(16) + EVT_BUF_READ2(LVar0, LVar1) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 2, LVar0, 0, LVar1, 0) + EVT_END_LOOP + EVT_WAIT(60) + EVT_CALL(MakeLerp, -90, 0, 10, EASING_LINEAR) + EVT_LABEL(15) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_tansu1, LVar0, 0, 0, 1) + EVT_CALL(UpdateColliderTransform, COLLIDER_tansu1) + EVT_CALL(UpdateColliderTransform, COLLIDER_o372) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(15) + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_RestorePlayer)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_FarCabinet) = { + EVT_LABEL(5) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(InterruptUsePartner) + EVT_LOOP(5) + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu3, SOUND_F6, 0) + EVT_CALL(RotateModel, MODEL_tansu3, -1, 1, 0, 0) + EVT_WAIT(2) + EVT_CALL(RotateModel, MODEL_tansu3, 0, 1, 0, 0) + EVT_WAIT(1) + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu3, SOUND_F6, 0) + EVT_CALL(TranslateModel, MODEL_tansu3, 0, 0, 100) + EVT_CALL(RotateModel, MODEL_tansu3, 1, 1, 0, 0) + EVT_CALL(TranslateModel, MODEL_tansu3, 0, 0, -100) + EVT_WAIT(2) + EVT_CALL(RotateModel, MODEL_tansu3, 0, 1, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_EXEC(N(EVS_CrushPlayer)) + EVT_CALL(MakeLerp, 0, -90, 30, EASING_QUARTIC_IN) + EVT_LABEL(20) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_tansu3, LVar0, 0, 0, 1) + EVT_CALL(UpdateColliderTransform, COLLIDER_tansu3) + EVT_CALL(UpdateColliderTransform, COLLIDER_o373) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(20) + EVT_END_IF + EVT_CALL(PlaySoundAtCollider, COLLIDER_tansu3, SOUND_F7, 0) + EVT_THREAD + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 30, EVT_FLOAT(1.5)) + EVT_END_THREAD + EVT_USE_BUF(EVT_PTR(N(DustEmitters_FarCabinet))) + EVT_LOOP(16) + EVT_BUF_READ2(LVar0, LVar1) + EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 2, LVar0, 0, LVar1, 0) + EVT_END_LOOP + EVT_WAIT(60) + EVT_CALL(MakeLerp, -90, 0, 10, EASING_LINEAR) + EVT_LABEL(25) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_tansu3, LVar0, 0, 0, 1) + EVT_CALL(UpdateColliderTransform, COLLIDER_tansu3) + EVT_CALL(UpdateColliderTransform, COLLIDER_o373) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(25) + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_RestorePlayer)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupCabinets) = { + EVT_CALL(ParentColliderToModel, COLLIDER_tansu1, MODEL_tansu1) + EVT_CALL(ParentColliderToModel, COLLIDER_o372, MODEL_tansu1) + EVT_CALL(ParentColliderToModel, COLLIDER_tansu3, MODEL_tansu3) + EVT_CALL(ParentColliderToModel, COLLIDER_o373, MODEL_tansu3) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_NearCabinet)), TRIGGER_WALL_PRESS_A, COLLIDER_tansu1, 1, MV_Trigger_NearCabinet) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_MiddleCabinet)), TRIGGER_WALL_PRESS_A, COLLIDER_tansu2, 1, MV_Trigger_MidCabinet) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_FarCabinet)), TRIGGER_WALL_PRESS_A, COLLIDER_tansu3, 1, MV_Trigger_FarCabinet) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BindCabinetTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_NearCabinet)), TRIGGER_WALL_PRESS_A, COLLIDER_tansu1, 1, MV_Trigger_NearCabinet) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_MiddleCabinet)), TRIGGER_WALL_PRESS_A, COLLIDER_tansu2, 1, MV_Trigger_MidCabinet) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_FarCabinet)), TRIGGER_WALL_PRESS_A, COLLIDER_tansu3, 1, MV_Trigger_FarCabinet) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_08/obk_08_4_entity.c b/src/world/area_obk/obk_08/obk_08_4_entity.c new file mode 100644 index 0000000000..2d616b7fda --- /dev/null +++ b/src/world/area_obk/obk_08/obk_08_4_entity.c @@ -0,0 +1,175 @@ +#include "obk_08.h" +#include "entity.h" + +API_CALLABLE(N(ShutterCrashRumble)) { + Bytecode* args = script->ptrReadPos; + + start_rumble(100, evt_get_variable(script, *args++) & 0xFFFF); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(EnableItemTransparency)) { + set_item_entity_flags(script->varTable[0], ITEM_ENTITY_FLAGS_TRANSPARENT); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_AnimateShutterLeft) = { + EVT_CALL(PlaySoundWithVolume, SOUND_B0000011, 0) + EVT_CALL(PlaySoundAtModel, LVar2, SOUND_B0000011, 0) + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_SET(LVar3, 90) + EVT_CALL(MakeLerp, 0, LVar3, 15, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_SET(LVar4, 0) + EVT_LABEL(15) + EVT_CALL(MakeLerp, LVar3, 20, 20, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(20) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(20) + EVT_END_IF + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_CALL(MakeLerp, 20, LVar3, 5, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(30) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(30) + EVT_END_IF + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_IF_NE(MV_WindowsIdle, 0) + EVT_GOTO(35) + EVT_END_IF + EVT_ADD(LVar4, 1) + EVT_IF_NE(LVar4, 2) + EVT_GOTO(15) + EVT_END_IF + EVT_LABEL(35) + EVT_CALL(MakeLerp, LVar3, 0, 15, EASING_QUADRATIC_IN) + EVT_LABEL(40) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(40) + EVT_END_IF + EVT_CALL(PlaySoundWithVolume, SOUND_B0000012, 0) + EVT_CALL(PlaySoundAtModel, LVar2, SOUND_B0000012, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_AnimateShutterRight) = { + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_SET(LVar3, 90) + EVT_CALL(MakeLerp, 0, LVar3, 15, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, -1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_SET(LVar4, 0) + EVT_LABEL(15) + EVT_CALL(MakeLerp, LVar3, 20, 17, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(20) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, -1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(20) + EVT_END_IF + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_CALL(MakeLerp, 20, LVar3, 8, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(30) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, -1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(30) + EVT_END_IF + EVT_CALL(N(ShutterCrashRumble), 5) + EVT_IF_NE(MV_WindowsIdle, 0) + EVT_GOTO(35) + EVT_END_IF + EVT_ADD(LVar4, 1) + EVT_IF_NE(LVar4, 2) + EVT_GOTO(15) + EVT_END_IF + EVT_LABEL(35) + EVT_CALL(MakeLerp, LVar3, 0, 15, EASING_QUADRATIC_IN) + EVT_LABEL(40) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, LVar2, LVar0, 0, -1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(40) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ManageWindows) = { + EVT_LABEL(10) + EVT_CALL(AwaitPlayerApproach, 0, -390, 150) + EVT_SET(MV_WindowsIdle, FALSE) + EVT_SET(LVar5, 0) + EVT_SET(LVar2, MODEL_m21) + EVT_EXEC(N(EVS_AnimateShutterLeft)) + EVT_WAIT(3) + EVT_SET(LVar2, MODEL_m22) + EVT_EXEC(N(EVS_AnimateShutterRight)) + EVT_WAIT(2) + EVT_SET(LVar5, 1) + EVT_SET(LVar2, MODEL_m41) + EVT_EXEC(N(EVS_AnimateShutterLeft)) + EVT_WAIT(3) + EVT_SET(LVar2, MODEL_m42) + EVT_EXEC(N(EVS_AnimateShutterRight)) + EVT_WAIT(2) + EVT_SET(LVar5, 0) + EVT_SET(LVar2, MODEL_m31) + EVT_EXEC(N(EVS_AnimateShutterLeft)) + EVT_WAIT(2) + EVT_SET(LVar2, MODEL_m32) + EVT_EXEC(N(EVS_AnimateShutterRight)) + EVT_WAIT(2) + EVT_SET(LVar5, 1) + EVT_SET(LVar2, MODEL_m11) + EVT_EXEC(N(EVS_AnimateShutterLeft)) + EVT_WAIT(3) + EVT_SET(LVar2, MODEL_m12) + EVT_EXEC(N(EVS_AnimateShutterRight)) + EVT_WAIT(2) + EVT_CALL(AwaitPlayerLeave, 0, -390, 170) + EVT_SET(MV_WindowsIdle, TRUE) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MakeEntities) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(MakeItemEntity, ITEM_BOO_RECORD, 0, 0, -20, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_OBK08_Item_Record) + EVT_ELSE + EVT_CALL(MakeItemEntity, ITEM_BOO_RECORD, NPC_DISPOSE_LOCATION, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_CALL(N(EnableItemTransparency)) + EVT_SET(MV_KeepAwayItem, LVar0) + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 0, 0, 0, 0, MODEL_yuka_jyu, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_OBK08_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_08/obk_08_5_npc.c b/src/world/area_obk/obk_08/obk_08_5_npc.c new file mode 100644 index 0000000000..2da461d4e2 --- /dev/null +++ b/src/world/area_obk/obk_08/obk_08_5_npc.c @@ -0,0 +1,558 @@ +#include "obk_08.h" + +enum { + RING_STATE_0 = 0, + RING_STATE_1 = 1, + RING_STATE_10 = 10, + RING_STATE_11 = 11, + RING_STATE_12 = 12, + RING_STATE_13 = 13, + RING_STATE_14 = 14, + RING_STATE_15 = 15, + RING_STATE_100 = 100, +}; + +#include "world/common/npc/Boo.inc.c" + +API_CALLABLE(N(func_802408A0_BD4110)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + s32* ptr = heap_malloc(sizeof(s32)); // todo what is this + + npc->blur.any = ptr; + *ptr = NULL; + npc->planarFlyDist = 125.0f; + npc->yaw = 0.0f; + npc->pos.x = 0.0f; + npc->pos.y = -875.0f; + npc->pos.z = 0.0f; + npc->duration = 60; + script->functionTemp[1] = RING_STATE_0; + return ApiStatus_DONE2; +} + +void N(func_80240920_BD4190)(Npc* npc) { + if (npc->yaw > 340.0f || npc->yaw < 20.0f) { + npc->renderMode = RENDER_MODE_ALPHATEST; + npc->unk_A2 = 0; + func_8003D624(npc, FOLD_TYPE_NONE, 0, 0, 0, 0, npc->unk_A2); + } else { + npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; + func_8003D624(npc, FOLD_TYPE_7, gPlayerStatusPtr->alpha1, 0, 0, 0, npc->unk_A2); + npc->unk_9A = 255; + } +} + +void func_802409E8_BD4258(void) { + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo1)); + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo2)); + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo3)); + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo4)); + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo5)); + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo6)); + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo7)); + N(func_80240920_BD4190)(get_npc_unsafe(NPC_KeepAwayBoo8)); +} + +void func_80240A7C_BD42EC(void) { + get_npc_unsafe(NPC_KeepAwayBoo1)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo2)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo3)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo4)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo5)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo6)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo7)->unk_A2 = 0; + get_npc_unsafe(NPC_KeepAwayBoo8)->unk_A2 = 0; +} + +API_CALLABLE(N(func_80240AF0_BD4360)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + s32* temp_s2 = npc->blur.any; + s32 temp_v0; + + switch (script->functionTemp[1]) { + case 0: + temp_v0 = evt_get_variable(script, AF_OBK_08); + if (temp_v0 == 1) { + *temp_s2 = temp_v0; + script->functionTemp[1] = 10; + } + break; + case 10: + npc->yaw = clamp_angle(npc->yaw + 2.0f); + npc->duration--; + if (npc->duration == 0) { + script->functionTemp[1] = 11; + } + break; + case 11: + if (npc->pos.y <= -920.0f) { + func_802409E8_BD4258(); + } + npc->yaw = clamp_angle(npc->yaw + 2.0f); + npc->pos.y -= 0.5f; + if (npc->pos.y <= -988.0f) { + evt_set_variable(script, MV_Unk_01, 1); + func_80240A7C_BD42EC(); + script->functionTemp[1] = 12; + } + break; + case 12: + if (evt_get_variable(script, MV_Unk_02) == 1) { + script->functionTemp[1] = 13; + } + npc->yaw = clamp_angle(npc->yaw + 2.0f); + break; + case 13: + if (evt_get_variable(script, MV_Unk_02) == 0) { + script->functionTemp[1] = 12; + } + break; + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_80240CA0_BD4510)) { + Npc* npc = get_npc_unsafe(script->owner2.npcID); + + npc->blur.any = get_npc_unsafe(NPC_Boo_01); // TODO what is this? + script->functionTemp[2] = script->owner2.npcID * 45; + npc->flags |= NPC_FLAG_40000; + script->functionTemp[1] = RING_STATE_0; + return ApiStatus_DONE2; +} + +API_CALLABLE(func_80240D10_BD4580); +INCLUDE_ASM(s32, "world/area_obk/obk_08/BD4110", func_80240D10_BD4580); + +EvtScript N(EVS_NpcIdle_Boo_01) = { + EVT_WAIT(4) + EVT_CALL(N(func_802408A0_BD4110)) + EVT_LABEL(10) + EVT_CALL(N(func_80240AF0_BD4360)) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_KeepAwayBoo) = { + EVT_WAIT(5) + EVT_CALL(N(func_80240CA0_BD4510)) + EVT_LABEL(10) + EVT_CALL(func_80240D10_BD4580) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnHit_KeepAwayBoo) = { + EVT_IF_EQ(MV_ThrowTargetNpc, LVar0) + EVT_SET(MV_KeepAwayResult, KEEP_AWAY_RIGHT) + EVT_ELSE + EVT_SET(MV_KeepAwayResult, KEEP_AWAY_WRONG) + EVT_END_IF + EVT_THREAD + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Boo_Cower) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Boo_Idle) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo1) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo1) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo1) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo2) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo2) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo2) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo3) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo3) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo3) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo4) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo4) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo4) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo5) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo5) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo5) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo6) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo6) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo6) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo7) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo7) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo7) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_KeepAwayBoo8) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(LVar0, NPC_KeepAwayBoo8) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(LVar0, NPC_KeepAwayBoo8) + EVT_EXEC_WAIT(N(EVS_OnHit_KeepAwayBoo)) + EVT_END_CASE_GROUP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Boo_01) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Boo_01))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo1))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo2))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo3) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo3))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo4) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo4))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo5) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo5))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo6) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo6))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo7) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo7))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KeepAwayBoo8) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_KeepAwayBoo))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_KeepAwayBoo8))) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Boo_01) = { + .id = NPC_Boo_01, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_Boo_01), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo1) = { + .id = NPC_KeepAwayBoo1, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo1), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo2) = { + .id = NPC_KeepAwayBoo2, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo2), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo3) = { + .id = NPC_KeepAwayBoo3, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo3), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo4) = { + .id = NPC_KeepAwayBoo4, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo4), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo5) = { + .id = NPC_KeepAwayBoo5, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo5), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo6) = { + .id = NPC_KeepAwayBoo6, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo6), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo7) = { + .id = NPC_KeepAwayBoo7, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo7), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +StaticNpc N(NpcData_KeepAwayBoo8) = { + .id = NPC_KeepAwayBoo8, + .settings = &N(NpcSettings_Boo), + .pos = { -268.0f, 52.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_10000000, + .init = &N(EVS_NpcInit_KeepAwayBoo8), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, +}; + +#define TRAFFIC_BOO_START_Y 40.0f +#define TRAFFIC_BOO_START_Z -430.0f +#include "../TrafficBoos.inc.c" + +EvtScript N(EVS_NpcInit_TrafficBoo1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_TrafficBoo2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrafficBoo))) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_TrafficBoos)[] = { + { + .id = NPC_TrafficBoo1, + .settings = &N(NpcSettings_Boo), + .pos = { 523.0f, -139.0f, 193.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo1), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, + { + .id = NPC_TrafficBoo2, + .settings = &N(NpcSettings_Boo), + .pos = { 473.0f, -122.0f, 247.0f }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_TrafficBoo2), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, +}; + +EvtScript N(EVS_NpcInit_Boo_12) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Boo_13) = { + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_HAS_SHADOW, TRUE) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_KeepAwayExtras)[] = { + { + .id = NPC_LeaderBoo, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Boo_12), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, + { + .id = NPC_DummyBoo, + .settings = &N(NpcSettings_Boo), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_4000, + .init = &N(EVS_NpcInit_Boo_13), + .drops = BOO_DROPS, + .animations = NORMAL_BOO_ANIMS, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Boo_01)), + NPC_GROUP(N(NpcData_KeepAwayBoo1)), + NPC_GROUP(N(NpcData_KeepAwayBoo2)), + NPC_GROUP(N(NpcData_KeepAwayBoo3)), + NPC_GROUP(N(NpcData_KeepAwayBoo4)), + NPC_GROUP(N(NpcData_KeepAwayBoo5)), + NPC_GROUP(N(NpcData_KeepAwayBoo6)), + NPC_GROUP(N(NpcData_KeepAwayBoo7)), + NPC_GROUP(N(NpcData_KeepAwayBoo8)), + NPC_GROUP(N(NpcData_TrafficBoos)), + NPC_GROUP(N(NpcData_KeepAwayExtras)), + {} +}; diff --git a/src/world/area_obk/obk_08/obk_08_6_game.c b/src/world/area_obk/obk_08/obk_08_6_game.c new file mode 100644 index 0000000000..54448ee50b --- /dev/null +++ b/src/world/area_obk/obk_08/obk_08_6_game.c @@ -0,0 +1,444 @@ +#include "obk_08.h" + +API_CALLABLE(N(func_80241220_BD4A90)) { + Npc* npc1 = get_npc_unsafe(NPC_LeaderBoo); + Npc* npc2 = get_npc_unsafe(NPC_Boo_01); + + npc1->pos.x = npc2->pos.x; + npc1->pos.z = npc2->pos.z; + npc_move_heading(npc1, npc2->planarFlyDist, script->varTable[0]); + npc1->pos.y = npc2->pos.y + 1000.0f + 25.0f; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_802412BC_BD4B2C)) { + script->varTable[0] = clamp_angle(script->varTable[0] - 2); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_80241300_BD4B70)) { + Npc* npc1 = get_npc_unsafe(NPC_KeepAwayBoo1); + Npc* npc2 = get_npc_unsafe(NPC_KeepAwayBoo2); + Npc* npc3 = get_npc_unsafe(NPC_KeepAwayBoo3); + Npc* npc4 = get_npc_unsafe(NPC_KeepAwayBoo4); + Npc* npc5 = get_npc_unsafe(NPC_KeepAwayBoo5); + Npc* npc6 = get_npc_unsafe(NPC_KeepAwayBoo6); + Npc* npc7 = get_npc_unsafe(NPC_KeepAwayBoo7); + Npc* npc8 = get_npc_unsafe(NPC_KeepAwayBoo8); + s32 keepAwayNpcID = 0; + + script->varTable[1] = FALSE; + evt_set_variable(script, MV_ThrowTargetNpc, 0); + + if (npc1->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc1->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo1; + } + if (npc2->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc2->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo2; + } + if (npc3->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc3->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo3; + } + if (npc4->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc4->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo4; + } + if (npc5->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc5->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo5; + } + if (npc6->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc6->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo6; + } + if (npc7->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc7->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo7; + } + if (npc8->yaw <= script->varTable[0] - 23 && script->varTable[0] - 27 <= npc8->yaw) { + script->varTable[1] = TRUE; + keepAwayNpcID = NPC_KeepAwayBoo8; + } + + evt_set_variable(script, MV_ThrowTargetNpc, keepAwayNpcID); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(GetPlayerPosOutsideKeepAwayRing)) { + PlayerStatus* playerStatus = &gPlayerStatus; + Npc npc; + f32 dist = dist2D(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f); + f32 yaw; + s32 gt; + s32 lt; + + if (!(dist > 90.0f)) { + gt = FALSE; + } else { + gt = TRUE; + } + + if (!(dist < 150.0f)) { + lt = FALSE; + } else { + lt = TRUE; + } + + if ((gt | lt) != 0) { + yaw = atan2(playerStatus->position.x, playerStatus->position.z, 0.0f, 0.0f) + 180.0f; + npc.pos.x = 0.0f; + npc.pos.y = 0.0f; + npc.pos.z = 0.0f; + npc_move_heading(&npc, 80.0f, yaw); + script->varTable[0] = npc.pos.x; + script->varTable[1] = npc.pos.y; + script->varTable[2] = npc.pos.z; + script->varTable[3] = 1; + } else { + script->varTable[0] = playerStatus->position.x; + script->varTable[1] = playerStatus->position.y; + script->varTable[2] = playerStatus->position.z; + script->varTable[3] = 0; + } + return ApiStatus_DONE2; +} + +EvtScript N(EVS_DetermineCarrierNPC) = { + EVT_SWITCH(MV_ThrowTargetNpc) + EVT_CASE_EQ(NPC_Boo_01) + EVT_SET(MV_ItemCarrierNpc, NPC_Boo_01) + EVT_CASE_EQ(NPC_KeepAwayBoo1) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo1) + EVT_CASE_EQ(NPC_KeepAwayBoo2) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo2) + EVT_CASE_EQ(NPC_KeepAwayBoo3) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo3) + EVT_CASE_EQ(NPC_KeepAwayBoo4) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo4) + EVT_CASE_EQ(NPC_KeepAwayBoo5) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo5) + EVT_CASE_EQ(NPC_KeepAwayBoo6) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo6) + EVT_CASE_EQ(NPC_KeepAwayBoo7) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo7) + EVT_CASE_EQ(NPC_KeepAwayBoo8) + EVT_SET(MV_ItemCarrierNpc, NPC_KeepAwayBoo8) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TetherItemToNpcWithOffset) = { + EVT_LOOP(0) + EVT_CALL(GetNpcPos, LVar0, LVar6, LVar7, LVar8) + EVT_ADD(LVar6, LVar3) + EVT_ADD(LVar7, LVar4) + EVT_ADD(LVar8, LVar5) + EVT_CALL(SetItemPos, MV_KeepAwayItem, LVar6, LVar7, LVar8) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BooSpookAndVanish) = { + EVT_CALL(SetNpcFlagBits, LVarA, NPC_FLAG_40000, FALSE) + EVT_CALL(NpcFacePlayer, LVarA, 0) + EVT_WAIT(5) + EVT_CALL(SetNpcAnimation, LVarA, ANIM_Boo_Spook) + EVT_WAIT(10) + EVT_CALL(MakeLerp, 255, 0, 60, EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, LVarA, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(SetNpcPos, LVarA, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_BoosUnleashed) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(InterruptUsePartner) + EVT_CALL(SetMusicTrack, 0, SONG_BOO_MINIGAME, 0, 8) + EVT_WAIT(20) + EVT_CALL(InterpPlayerYaw, 90, 0) + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(2.0)) + EVT_CALL(PlayerMoveTo, -170, 0, 0) + EVT_END_THREAD + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(450.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_WAIT(60) + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(325.0), EVT_FLOAT(13.0), EVT_FLOAT(-13.0)) + EVT_CALL(SetNpcPos, NPC_LeaderBoo, 0, 45, 20) + EVT_CALL(SetItemPos, MV_KeepAwayItem, 0, 65, 0) + EVT_CALL(MakeLerp, 0, 255, 30, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_LeaderBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(SetItemAlpha, MV_KeepAwayItem, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0030) + EVT_LABEL(50) + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(500.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_WAIT(20) + EVT_CALL(MakeLerp, 255, 0, 30, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_LeaderBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(SetItemAlpha, MV_KeepAwayItem, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LOOP(0) + EVT_WAIT(1) + EVT_IF_EQ(MV_Unk_01, 1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(10) + EVT_SET(LVar0, 270) + EVT_SET(MV_Unk_Angle, LVar0) + EVT_CALL(N(func_80241220_BD4A90)) + EVT_CALL(MakeLerp, 0, 255, 30, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, NPC_LeaderBoo, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_CALL(GetNpcPos, NPC_LeaderBoo, LVar3, LVar4, LVar5) + EVT_ADD(LVar4, 20) + EVT_CALL(SetItemPos, MV_KeepAwayItem, LVar3, LVar4, LVar5) + EVT_CALL(SetItemAlpha, MV_KeepAwayItem, LVar0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0031) + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_LeaderBoo, LVar3, LVar4, LVar5) + EVT_SET(LVar6, LVar4) + EVT_ADD(LVar6, 20) + EVT_CALL(MakeLerp, LVar6, LVar4, 20, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemPos, MV_KeepAwayItem, LVar3, LVar0, LVar5) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetItemPos, MV_KeepAwayItem, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_WAIT(20) + EVT_CALL(RandInt, 360, LVar0) + EVT_ADD(LVar0, 180) + EVT_SET(LVarA, LVar0) + EVT_CALL(RandInt, 20, LVar0) + EVT_ADD(LVar0, 360) + EVT_SET(LVarB, LVar0) + EVT_SET(LVar0, MV_Unk_Angle) + EVT_LOOP(0) + EVT_CALL(N(func_80241220_BD4A90)) + EVT_CALL(N(func_802412BC_BD4B2C)) + EVT_WAIT(1) + EVT_ADD(LVarA, -2) + EVT_IF_LE(LVarA, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_LOOP(0) + EVT_CALL(N(func_80241220_BD4A90)) + EVT_CALL(N(func_802412BC_BD4B2C)) + EVT_CALL(N(func_80241300_BD4B70)) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, TRUE) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_THREAD + EVT_CALL(PlaySoundAtNpc, NPC_LeaderBoo, SOUND_THROW, 0) + EVT_CALL(GetNpcPos, NPC_LeaderBoo, LVar3, LVar4, LVar5) + EVT_ADD(LVar5, 20) + EVT_SET(LVar6, LVar4) + EVT_ADD(LVar6, -30) + EVT_CALL(MakeLerp, LVar4, LVar6, 15, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemPos, MV_KeepAwayItem, LVar3, LVar0, LVar5) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(SetItemPos, MV_KeepAwayItem, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_LOOP(0) + EVT_CALL(N(func_80241220_BD4A90)) + EVT_CALL(N(func_802412BC_BD4B2C)) + EVT_WAIT(1) + EVT_ADD(LVarB, -2) + EVT_IF_LE(LVarB, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0032) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_WAIT(10) + EVT_SET(MV_KeepAwayResult, KEEP_AWAY_WAITING) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_LOOP(0) + EVT_WAIT(1) + EVT_IF_NE(MV_KeepAwayResult, KEEP_AWAY_WAITING) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_SET(MV_Unk_02, 1) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_EXEC_WAIT(N(EVS_DetermineCarrierNPC)) + EVT_IF_EQ(MV_KeepAwayResult, KEEP_AWAY_RIGHT) + EVT_CALL(GetNpcPos, MV_ItemCarrierNpc, LVar3, LVar4, LVar5) + EVT_CALL(SetNpcPos, NPC_DummyBoo, LVar3, LVar4, LVar5) + EVT_SET(LVar0, NPC_DummyBoo) + EVT_VEC3I_SET(LVar3, 0, 0, -20) + EVT_EXEC(N(EVS_TetherItemToNpcWithOffset)) + EVT_CALL(PlaySoundAtNpc, NPC_DummyBoo, SOUND_THROW, 0) + EVT_CALL(SetNpcJumpscale, NPC_DummyBoo, EVT_FLOAT(2.0)) + EVT_CALL(NpcJump0, NPC_DummyBoo, 0, 0, 0, 20) + EVT_CALL(SetNpcPos, NPC_DummyBoo, NPC_DISPOSE_LOCATION) + EVT_CALL(MakeItemEntity, ITEM_BOO_RECORD, 0, 0, -20, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_OBK08_Item_Record) + EVT_WAIT(20) + EVT_CALL(GetNpcPos, NPC_LeaderBoo, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(350.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SpeakToPlayer, NPC_LeaderBoo, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0033) + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_LeaderBoo, 0) + EVT_CALL(NpcJump1, NPC_LeaderBoo, 0, 45, 0, 20) + EVT_CALL(InterpNpcYaw, NPC_LeaderBoo, 90, 0) + EVT_END_THREAD + EVT_CALL(N(GetPlayerPosOutsideKeepAwayRing)) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(4.0)) + EVT_CALL(PlayerMoveTo, LVar0, LVar2, 0) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, 0) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(450.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(20) + EVT_THREAD + EVT_WAIT(30) + EVT_CALL(PlaySound, SOUND_BOO_SPOOK) + EVT_END_THREAD + EVT_SET(LVarA, NPC_KeepAwayBoo1) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo2) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo3) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo4) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo5) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo6) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo7) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_KeepAwayBoo8) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_SET(LVarA, NPC_LeaderBoo) + EVT_EXEC(N(EVS_BooSpookAndVanish)) + EVT_WAIT(60) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(450.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_ELSE + EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0), 0, 0, 0, EVT_FLOAT(450.0), EVT_FLOAT(15.0), EVT_FLOAT(-7.0)) + EVT_WAIT(30) + EVT_CALL(SetNpcFlagBits, MV_ItemCarrierNpc, NPC_FLAG_40000, FALSE) + EVT_CALL(GetNpcPos, MV_ItemCarrierNpc, LVar3, LVar4, LVar5) + EVT_CALL(GetAngleBetweenNPCs, MV_ItemCarrierNpc, NPC_Boo_01, LVar0) + EVT_CALL(InterpNpcYaw, MV_ItemCarrierNpc, LVar0, 0) + EVT_CALL(SetNpcJumpscale, MV_ItemCarrierNpc, 0) + EVT_CALL(NpcJump0, MV_ItemCarrierNpc, 0, 45, 0, 20) + EVT_CALL(InterpNpcYaw, MV_ItemCarrierNpc, 90, 0) + EVT_CALL(GetNpcPos, MV_ItemCarrierNpc, LVar6, LVar7, LVar8) + EVT_SET(LVarA, LVar7) + EVT_ADD(LVarA, 20) + EVT_CALL(MakeLerp, LVar7, LVarA, 20, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(SetItemPos, MV_KeepAwayItem, LVar6, LVar0, LVar8) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, MV_ItemCarrierNpc, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_0034) + EVT_CALL(GetNpcPos, NPC_LeaderBoo, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcPos, MV_ItemCarrierNpc, LVarA, LVarB, LVarC) + EVT_CALL(SetNpcPos, NPC_LeaderBoo, LVarA, LVarB, LVarC) + EVT_CALL(SetNpcPos, MV_ItemCarrierNpc, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_CALL(MakeLerp, 255, 0, 20, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, MV_ItemCarrierNpc, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(10) + EVT_CALL(SetNpcPos, MV_ItemCarrierNpc, LVar3, LVar4, LVar5) + EVT_CALL(InterpNpcYaw, MV_ItemCarrierNpc, 90, 0) + EVT_CALL(MakeLerp, 0, 255, 20, EASING_LINEAR) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(func_802CFD30, MV_ItemCarrierNpc, FOLD_TYPE_7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(SetNpcFlagBits, MV_ItemCarrierNpc, NPC_FLAG_40000, TRUE) + EVT_SET(MV_KeepAwayResult, KEEP_AWAY_WAITING) + EVT_SET(MV_Unk_02, 0) + EVT_CALL(N(GetPlayerPosOutsideKeepAwayRing)) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(4.0)) + EVT_CALL(PlayerMoveTo, LVar0, LVar2, 0) + EVT_GOTO(50) + EVT_END_IF + EVT_SET(GB_StoryProgress, STORY_CH3_GOT_RECORD) + EVT_EXEC(N(EVS_BindCabinetTriggers)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_09/BDA7B0.c b/src/world/area_obk/obk_09/BDA7B0.c deleted file mode 100644 index 6adabce574..0000000000 --- a/src/world/area_obk/obk_09/BDA7B0.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "obk_09.h" - -#include "world/common/util/ChangeNpcToPartner.inc.c" diff --git a/src/world/area_obk/obk_09/BDA940.c b/src/world/area_obk/obk_09/BDA940.c deleted file mode 100644 index b0500d7ef8..0000000000 --- a/src/world/area_obk/obk_09/BDA940.c +++ /dev/null @@ -1,49 +0,0 @@ -#include "obk_09.h" -#include "effects.h" - -typedef struct UnkObk09 { - /* 0x00 */ Vec3f pos; - /* 0x0C */ char unk_0C[0x4]; - /* 0x10 */ f32 unk_10; - /* 0x14 */ char unk_14[0x4]; - /* 0x18 */ s32 shadowID; - /* 0x1C */ EffectInstance* spiritCard; -} UnkObk09; // size = 0x20 - -ApiStatus func_80240190_BDA940(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_safe(script->owner2.npcID); - UnkObk09* data = heap_malloc(sizeof(*data)); - - script->userData = data; - data->pos.x = npc->pos.x; - data->pos.y = npc->pos.y; - data->pos.z = npc->pos.z; - data->unk_10 = 0.0f; - data->spiritCard = fx_spirit_card(1, data->pos.x, data->pos.y, data->pos.z, 1.0f, 0); - data->spiritCard->data.spiritCard->chapter = 2; - data->shadowID = create_shadow_type(0, data->pos.x, data->pos.y, data->pos.z); - return ApiStatus_DONE2; -} - -ApiStatus func_80240248_BDA9F8(Evt* script, s32 isInitialCall) { - UnkObk09* data = script->userData; - Npc* npc = get_npc_safe(script->owner2.npcID); - Shadow* shadow = get_shadow_by_index(data->shadowID); - EffectInstance* effect; - - data->pos.x = npc->pos.x - 2.0f; - data->pos.y = npc->pos.y + 12.0f; - data->pos.z = npc->pos.z - 30.0f; - - effect = data->spiritCard; - effect->data.spiritCard->pos.x = data->pos.x; - effect->data.spiritCard->pos.y = data->pos.y; - effect->data.spiritCard->pos.z = data->pos.z; - data->unk_10 = clamp_angle(data->unk_10 + 6.6f); - effect->data.spiritCard->yaw = data->unk_10; - - shadow->position.x = data->pos.x; - shadow->position.y = data->pos.y - 40.0f; - shadow->position.z = data->pos.z; - return ApiStatus_BLOCK; -} diff --git a/src/world/area_obk/obk_09/BDABA0.c b/src/world/area_obk/obk_09/BDABA0.c deleted file mode 100644 index 120a89dac7..0000000000 --- a/src/world/area_obk/obk_09/BDABA0.c +++ /dev/null @@ -1,6 +0,0 @@ -#include "obk_09.h" - -ApiStatus func_802403F0_BDABA0(Evt* script, s32 isInitialCall) { - get_item_entity(script->varTable[0])->scale = 0.6f; - return ApiStatus_DONE2; -} diff --git a/src/world/area_obk/obk_09/obk_09.h b/src/world/area_obk/obk_09/obk_09.h index 8c38db3c03..38c5ccbaf7 100644 --- a/src/world/area_obk/obk_09/obk_09.h +++ b/src/world/area_obk/obk_09/obk_09.h @@ -2,8 +2,35 @@ /// @brief Boo's Mansion - Lady Bow's Room #include "common.h" -#include "../obk.h" #include "message_ids.h" #include "map.h" +#include "../obk.h" +#include "mapfs/obk_09_shape.h" +#include "mapfs/obk_09_hit.h" + +#include "sprite/npc/WorldBow.h" +#include "sprite/npc/Bootler.h" +#include "sprite/npc/WorldSkolar.h" + +enum { + NPC_Bow = 0, + NPC_Bootler = 1, + NPC_Skolar = 2, +}; + #define NAMESPACE obk_09 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_PlayNewPartnerSong); +extern EvtScript N(EVS_ResetMusic); +extern EvtScript N(EVS_Scene_Epilogue); +extern EvtScript N(EVS_Scene_MeetBow); +extern NpcGroupList N(DefaultNPCs); +extern NpcGroupList N(EpilogueNPCs); + +API_CALLABLE(N(LoadPartyImage)); + +//TODO awkward +extern const char NEXT_EPILOGUE_MAP[]; diff --git a/src/world/area_obk/obk_09/obk_09_0_header.c b/src/world/area_obk/obk_09/obk_09_0_header.c new file mode 100644 index 0000000000..83f29793dc --- /dev/null +++ b/src/world/area_obk/obk_09/obk_09_0_header.c @@ -0,0 +1,19 @@ +#include "common.h" +#include "message_ids.h" +#include "map.h" + +#include "../obk.h" +#include "obk_09.h" + +EntryList N(Entrances) = { + [obk_09_ENTRY_0] { -180.0, 0.0, 380.0, 0.0 }, + [obk_09_ENTRY_1] { 180.0, 0.0, 380.0, 0.0 }, + [obk_09_ENTRY_2] { -135.0, 0.0, 135.0, 0.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .tattle = { MSG_MapTattle_obk_09 }, +}; diff --git a/src/world/area_obk/obk_09/obk_09_1_music.c b/src/world/area_obk/obk_09/obk_09_1_music.c new file mode 100644 index 0000000000..6b6b8d034a --- /dev/null +++ b/src/world/area_obk/obk_09/obk_09_1_music.c @@ -0,0 +1,25 @@ +#include "obk_09.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayNewPartnerSong) = { + EVT_CALL(SetMusicTrack, 0, SONG_NEW_PARTNER, 0, 8) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ResetMusic) = { + EVT_CALL(FadeOutMusic, 0, 500) + EVT_WAIT(15) + EVT_CALL(SetMusicTrack, 0, SONG_BOOS_MANSION, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_09/obk_09_2_main.c b/src/world/area_obk/obk_09/obk_09_2_main.c new file mode 100644 index 0000000000..0ad617b354 --- /dev/null +++ b/src/world/area_obk/obk_09/obk_09_2_main.c @@ -0,0 +1,78 @@ +#include "obk_09.h" + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(EnableGroup, MODEL_ori, FALSE) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_ori, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(obk_09_ENTRY_0) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar2, MODEL_d1_2) + EVT_SET(LVar3, MODEL_d1_1) + EVT_EXEC_WAIT(EnterDoubleDoor) + EVT_CASE_EQ(obk_09_ENTRY_1) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar2, MODEL_d2_2) + EVT_SET(LVar3, MODEL_d2_1) + EVT_EXEC_WAIT(EnterDoubleDoor) + EVT_END_SWITCH + EVT_EXEC(N(EVS_Scene_MeetBow)) + EVT_WAIT(1) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoors_obk_01_5) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar0, obk_09_ENTRY_0) + EVT_SET(LVar1, COLLIDER_tt1) + EVT_SET(LVar2, MODEL_d1_2) + EVT_SET(LVar3, MODEL_d1_1) + EVT_EXEC(ExitDoubleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_01"), obk_01_ENTRY_5) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitDoors_obk_01_6) = { + EVT_SET_GROUP(EVT_GROUP_1B) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(UseDoorSounds, DOOR_SOUNDS_CREAKY) + EVT_SET(LVar0, obk_09_ENTRY_1) + EVT_SET(LVar1, COLLIDER_tt2) + EVT_SET(LVar2, MODEL_d2_2) + EVT_SET(LVar3, MODEL_d2_1) + EVT_EXEC(ExitDoubleDoor) + EVT_WAIT(17) + EVT_CALL(GotoMap, EVT_PTR("obk_01"), obk_01_ENTRY_6) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_BOOS_MANSION) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, obk_09_ENTRY_2) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(EpilogueNPCs))) + EVT_EXEC(N(EVS_Scene_Epilogue)) + EVT_CALL(FadeInMusic, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 3000, 0, 127) + EVT_WAIT(1) + EVT_RETURN + EVT_END_IF + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_obk_01_5)), TRIGGER_WALL_PRESS_A, COLLIDER_tt1, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_obk_01_6)), TRIGGER_WALL_PRESS_A, COLLIDER_tt2, 1, 0) + EVT_EXEC(N(EVS_EnterMap)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_09/obk_09_3_meet_bow.c b/src/world/area_obk/obk_09/obk_09_3_meet_bow.c new file mode 100644 index 0000000000..b022f11b02 --- /dev/null +++ b/src/world/area_obk/obk_09/obk_09_3_meet_bow.c @@ -0,0 +1,189 @@ +#include "obk_09.h" +#include "sprite.h" + +#include "world/common/util/ChangeNpcToPartner.inc.c" + +EvtScript N(EVS_Scene_MeetBow) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH3_BOW_JOINED_PARTY) + EVT_RETURN + EVT_END_IF + EVT_SET(GB_StoryProgress, STORY_CH3_BOW_JOINED_PARTY) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetMusicTrack, 0, SONG_CHEERFUL_BOOS_MANSION, 0, 8) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(SetPlayerPos, -180, 0, 344) + EVT_CALL(SetNpcPos, NPC_PARTNER, -180, 20, 344) + EVT_CALL(PlayerMoveTo, 0, 190, 60) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8001E) + EVT_END_THREAD + EVT_WAIT(10) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, TRUE) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(5.0), EVT_FLOAT(-9.0)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 500) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 200, 280) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, 110) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(48) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH3_0042, 160, 40) + EVT_KILL_THREAD(LVarA) + EVT_CALL(InterpPlayerYaw, 40, 0) + EVT_CALL(SetPlayerAnimation, SPRITE_ID_BACK_FACING | ANIM_Mario_10002) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(4.0), EVT_FLOAT(-9.0)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 400) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 200, 300) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -20, 10) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 60) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_WAIT(20) + EVT_CALL(SetNpcPos, NPC_Bow, -10, 80, -35) + EVT_CALL(SetNpcPos, NPC_Bootler, 30, 70, -75) + EVT_CALL(SetNpcYaw, NPC_Bow, 270) + EVT_CALL(SetNpcYaw, NPC_Bootler, 270) + EVT_CALL(PlaySoundAtNpc, NPC_Bow, SOUND_BOO_VANISH, 0) + EVT_SETF(LVar0, EVT_FLOAT(0.0)) + EVT_LOOP(20) + EVT_ADDF(LVar0, EVT_FLOAT(12.0)) + EVT_CALL(func_802CFD30, 0, 7, LVar0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, 7, LVar0, 0, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(40) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 50, -70) + EVT_CALL(SetCamDistance, CAM_DEFAULT, EVT_FLOAT(300.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(3.0), EVT_FLOAT(-10.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 50, -70) + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, NPC_Bow, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, MSG_CH3_0043) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Talk, ANIM_Bootler_Idle, 0, MSG_CH3_0044) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Bow, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, MSG_CH3_0045) + EVT_WAIT(20) + EVT_CALL(InterpNpcYaw, NPC_Bow, 225, 0) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Talk, ANIM_Bootler_Idle, 0, MSG_CH3_0046) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 20, 50, -70) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Talk, ANIM_Bootler_Idle, 0, MSG_CH3_0047) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, TRUE) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.5), EVT_FLOAT(-9.5)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 550) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 200, 300) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, 80) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Dejected, ANIM_Bootler_Quaver, 0, MSG_CH3_0048) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 50, -70) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(3.0), EVT_FLOAT(-10.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 20, 50, -70) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Talk, ANIM_Bootler_Idle, 0, MSG_CH3_0049) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 50, -70) + EVT_WAIT(10) + EVT_CALL(InterpNpcYaw, NPC_Bow, 270, 0) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Bow, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 5, MSG_CH3_004A) + EVT_CALL(InterpNpcYaw, NPC_Bow, 90, 0) + EVT_CALL(SpeakToPlayer, NPC_Bow, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 5, MSG_CH3_004B) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 550) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(3.0), EVT_FLOAT(-12.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(10) + EVT_CALL(EnableGroup, MODEL_ori, TRUE) + EVT_CALL(SetNpcPos, NPC_Skolar, 1, 650, 80) + EVT_CALL(EnableNpcShadow, NPC_Skolar, FALSE) + EVT_CALL(PlaySoundAtNpc, NPC_Skolar, SOUND_8000000F, 0) + EVT_CALL(MakeLerp, -280, -480, 100, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, MODEL_ori, 0, LVar0, 0) + EVT_ADD(LVar0, 650) + EVT_CALL(SetNpcPos, NPC_Skolar, 1, LVar0, 80) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(StopSound, SOUND_8000000F) + EVT_CALL(PlaySoundAtNpc, NPC_Skolar, SOUND_9B, 0) + EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 15, EVT_FLOAT(0.2)) + EVT_WAIT(40) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, TRUE) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(30.0), EVT_FLOAT(-18.0)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 500) + EVT_CALL(SetCamPosA, CAM_DEFAULT, 0, 350) + EVT_CALL(SetCamPosB, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, NPC_Skolar, ANIM_WorldSkolar_TalkRelaxed, ANIM_WorldSkolar_IdleSad, 0, MSG_CH3_004C) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 50, -70) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(3.0), EVT_FLOAT(-10.0)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 50, -70) + EVT_WAIT(20) + EVT_THREAD + EVT_WAIT(30) + EVT_CALL(SetNpcPos, NPC_Skolar, 1, 620, 80) + EVT_CALL(EnableNpcShadow, NPC_Skolar, FALSE) + EVT_CALL(PlaySoundAtNpc, NPC_Skolar, SOUND_8000000F, 0) + EVT_CALL(MakeLerp, -480, -280, 100, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(TranslateGroup, MODEL_ori, 0, LVar0, 0) + EVT_ADD(LVar0, 640) + EVT_CALL(SetNpcPos, NPC_Skolar, 1, LVar0, 80) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(StopSound, SOUND_8000000F) + EVT_CALL(EnableGroup, MODEL_ori, FALSE) + EVT_END_THREAD + EVT_CALL(SpeakToPlayer, NPC_Bow, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, MSG_CH3_004D) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Panic, ANIM_Bootler_Shock, 0, MSG_CH3_004E) + EVT_CALL(SpeakToNpc, NPC_Bow, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, NPC_Bootler, MSG_CH3_004F) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Flail, ANIM_Bootler_Quaver, 0, MSG_CH3_0050) + EVT_CALL(SpeakToPlayer, NPC_Bow, ANIM_WorldBow_SpookLoop, ANIM_WorldBow_Idle, 0, MSG_CH3_0051) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Dejected, ANIM_Bootler_Quaver, 0, MSG_CH3_0052) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0)) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetNpcJumpscale, NPC_Bow, 0) + EVT_CALL(GetNpcPos, NPC_Bow, LVar0, LVar1, LVar2) + EVT_SUB(LVar1, 40) + EVT_ADD(LVar2, 150) + EVT_CALL(NpcJump0, NPC_Bow, LVar0, LVar1, LVar2, 25) + EVT_CALL(SpeakToPlayer, NPC_Bow, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, MSG_CH3_0053) + EVT_CALL(N(ChangeNpcToPartner), 0, 9) + EVT_CALL(N(LoadPartyImage)) + EVT_EXEC(N(EVS_PlayNewPartnerSong)) + EVT_WAIT(15) + EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_018D, 160, 40) + EVT_EXEC(N(EVS_ResetMusic)) + EVT_WAIT(10) + EVT_WAIT(10) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldBow_Celebrate, ANIM_WorldBow_Celebrate, 0, MSG_CH3_0054) + EVT_CALL(EnablePartnerAI) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_obk/obk_09/obk_09_4_npc.c b/src/world/area_obk/obk_09/obk_09_4_npc.c new file mode 100644 index 0000000000..b32c405b12 --- /dev/null +++ b/src/world/area_obk/obk_09/obk_09_4_npc.c @@ -0,0 +1,199 @@ +#include "obk_09.h" +#include "effects.h" + +typedef struct ImprisonedCard { + /* 0x00 */ Vec3f pos; + /* 0x0C */ Vec3f rot; + /* 0x18 */ s32 shadowID; + /* 0x1C */ EffectInstance* effect; +} ImprisonedCard; // size = 0x20 + +API_CALLABLE(N(ImprisonedCardSetup)) { + Npc* npc = get_npc_safe(script->owner2.npcID); + ImprisonedCard* card = heap_malloc(sizeof(*card)); + + script->userData = card; + card->pos.x = npc->pos.x; + card->pos.y = npc->pos.y; + card->pos.z = npc->pos.z; + card->rot.y = 0.0f; + card->effect = fx_spirit_card(1, card->pos.x, card->pos.y, card->pos.z, 1.0f, 0); + card->effect->data.spiritCard->chapter = 2; + card->shadowID = create_shadow_type(0, card->pos.x, card->pos.y, card->pos.z); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ImprisonedCardUpdate)) { + ImprisonedCard* card = script->userData; + Npc* npc = get_npc_safe(script->owner2.npcID); + Shadow* shadow = get_shadow_by_index(card->shadowID); + EffectInstance* effect; + + card->pos.x = npc->pos.x - 2.0f; + card->pos.y = npc->pos.y + 12.0f; + card->pos.z = npc->pos.z - 30.0f; + + effect = card->effect; + effect->data.spiritCard->pos.x = card->pos.x; + effect->data.spiritCard->pos.y = card->pos.y; + effect->data.spiritCard->pos.z = card->pos.z; + + card->rot.y = clamp_angle(card->rot.y + 6.6f); + effect->data.spiritCard->yaw = card->rot.y; + + shadow->position.x = card->pos.x; + shadow->position.y = card->pos.y - 40.0f; + shadow->position.z = card->pos.z; + return ApiStatus_BLOCK; +} + +#include "world/common/npc/Bow.h" +#include "world/common/npc/Bootler.h" +#include "world/common/npc/Dummy.inc.c" +#include "world/common/npc/StarSpirit.inc.c" + +EvtScript N(EVS_NpcInit_Bow) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bootler) = { + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_EQ(LVar0, PARTNER_BOW) + EVT_CALL(SpeakToNpc, NPC_Bootler, ANIM_Bootler_Talk, ANIM_Bootler_Talk, 0, NPC_PARTNER, MSG_CH3_0057) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldBow_Talk, ANIM_WorldBow_Idle, 0, NPC_Bootler, MSG_CH3_0058) + EVT_CALL(EnablePartnerAI) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Dejected, ANIM_Bootler_Quaver, 0, MSG_CH3_0059) + EVT_ELSE + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_DEFEATED_TUBBA_BLUBBA) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Dejected, ANIM_Bootler_Quaver, 0, MSG_CH3_0055) + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Dejected, ANIM_Bootler_Quaver, 0, MSG_CH3_0056) + EVT_CASE_GE(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Dejected, ANIM_Bootler_Quaver, 0, MSG_CH3_005A) + EVT_WAIT(20) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(20) + EVT_CALL(SpeakToPlayer, NPC_Bootler, ANIM_Bootler_Flail, ANIM_Bootler_Flail, 0, MSG_CH3_005B) + EVT_END_SWITCH + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bootler) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bootler))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH3_BOW_JOINED_PARTY) + EVT_CASE_GE(STORY_CH3_BOW_JOINED_PARTY) + EVT_CALL(SetNpcPos, NPC_Bootler, 30, 70, -75) + EVT_CALL(SetNpcYaw, NPC_Bootler, 270) + EVT_CASE_DEFAULT + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcAux_Skolar) = { + EVT_CALL(N(ImprisonedCardSetup)) + EVT_CALL(N(ImprisonedCardUpdate)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Skolar) = { + EVT_CALL(BindNpcAux, NPC_SELF, EVT_PTR(N(EVS_NpcAux_Skolar))) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldSkolar_IdleSad) + EVT_CALL(SetNpcPos, NPC_SELF, 0, NPC_DISPOSE_POS_Y, -100) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(func_802CFD30, -1, 7, 170, 0, 0, 0) + EVT_IF_GE(GB_StoryProgress, STORY_CH3_BOW_JOINED_PARTY) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bow_Epilogue) = { + EVT_CALL(SetNpcPos, NPC_SELF, -196, 10, 121) + EVT_CALL(SetNpcYaw, NPC_SELF, 90) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bootler_Epilogue) = { + EVT_CALL(SetNpcPos, NPC_SELF, -82, 10, 212) + EVT_CALL(SetNpcYaw, NPC_SELF, 270) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Default)[] = { + { + .id = NPC_Bow, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Bow), + .drops = BOW_DROPS, + .animations = BOW_ANIMS, + }, + { + .id = NPC_Bootler, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Bootler), + .drops = BOOTLER_DROPS, + .animations = BOOTLER_ANIMS, + .tattle = MSG_NpcTattle_Bootler, + }, + { + .id = NPC_Skolar, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Skolar), + .drops = SKOLAR_DROPS, + .animations = SKOLAR_ANIMS, + }, +}; + +StaticNpc N(NpcData_Epilogue)[] = { + { + .id = NPC_Bow, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Bow_Epilogue), + .drops = BOW_DROPS, + .animations = BOW_ANIMS, + }, + { + .id = NPC_Bootler, + .settings = &N(NpcSettings_Dummy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800, + .init = &N(EVS_NpcInit_Bootler_Epilogue), + .drops = BOOTLER_DROPS, + .animations = BOOTLER_ANIMS, + .tattle = MSG_NpcTattle_Bootler, + }, +}; + +NpcGroupList N(DefaultNPCs) = { + NPC_GROUP(N(NpcData_Default)), + {} +}; + +NpcGroupList N(EpilogueNPCs) = { + NPC_GROUP(N(NpcData_Epilogue)), + {} +}; diff --git a/src/world/area_obk/obk_09/BDAB00.c b/src/world/area_obk/obk_09/obk_09_5_new_partner.c similarity index 56% rename from src/world/area_obk/obk_09/BDAB00.c rename to src/world/area_obk/obk_09/obk_09_5_new_partner.c index d83806025b..eea28c9178 100644 --- a/src/world/area_obk/obk_09/BDAB00.c +++ b/src/world/area_obk/obk_09/obk_09_5_new_partner.c @@ -1,8 +1,6 @@ #include "obk_09.h" -static char* N(exit_str_0) = "obk_01\0"; - #define PARTY_IMAGE "party_resa" #include "world/common/todo/LoadPartyImage.inc.c" -static char* N(exit_str_1) = "omo_03"; +const char NEXT_EPILOGUE_MAP[] = "omo_03"; diff --git a/src/world/area_obk/obk_09/obk_09_6_epilogue.c b/src/world/area_obk/obk_09/obk_09_6_epilogue.c new file mode 100644 index 0000000000..9e4bc6ebc5 --- /dev/null +++ b/src/world/area_obk/obk_09/obk_09_6_epilogue.c @@ -0,0 +1,59 @@ +#include "obk_09.h" + +API_CALLABLE(N(SetInvitationLetterScale)) { + get_item_entity(script->varTable[0])->scale = 0.6f; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_Scene_Epilogue) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(SetPlayerPos, NPC_DISPOSE_LOCATION) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, TRUE) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-8.0)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 450) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -280, 234) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -135, 105) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, 0) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetNpcAnimation, NPC_Bootler, ANIM_Bootler_Walk) + EVT_CALL(NpcMoveTo, NPC_Bootler, -159, 158, 50) + EVT_CALL(SetNpcAnimation, NPC_Bootler, ANIM_Bootler_Idle) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_Bootler, ANIM_Bootler_Talk) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_Bootler, ANIM_Bootler_Idle) + EVT_WAIT(15) + EVT_THREAD + EVT_CALL(DropTinyItemEntity, ITEM_LETTER25, NPC_DISPOSE_LOCATION, ITEM_SPAWN_MODE_DECORATION, 0) + EVT_CALL(N(SetInvitationLetterScale)) + EVT_LOOP(35) + EVT_CALL(GetNpcPos, NPC_Bootler, LVar1, LVar2, LVar3) + EVT_ADD(LVar1, -16) + EVT_ADD(LVar2, 4) + EVT_ADD(LVar3, -10) + EVT_CALL(SetItemPos, LVar0, LVar1, LVar2, LVar3) + EVT_WAIT(1) + EVT_END_LOOP + EVT_WAIT(35) + EVT_CALL(RemoveItemEntity, LVar0) + EVT_END_THREAD + EVT_WAIT(10) + EVT_CALL(NpcMoveTo, NPC_Bootler, -172, 143, 20) + EVT_CALL(SetNpcJumpscale, NPC_Bootler, 0) + EVT_WAIT(10) + EVT_CALL(NpcJump1, NPC_Bootler, -159, 10, 158, 20) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Bow, ANIM_WorldBow_Read) + EVT_WAIT(40) + EVT_CALL(SetNpcAnimation, NPC_Bow, ANIM_WorldBow_Idle) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Bow, ANIM_WorldBow_CelebrateSlow) + EVT_WAIT(30) + EVT_CALL(FadeOutMusic, 0, 1000) + EVT_CALL(GotoMap, EVT_PTR(NEXT_EPILOGUE_MAP), omo_03_ENTRY_5) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_omo/omo_04/DAF240.c b/src/world/area_omo/omo_04/DAF240.c index 2bf422ca12..ccd5210534 100644 --- a/src/world/area_omo/omo_04/DAF240.c +++ b/src/world/area_omo/omo_04/DAF240.c @@ -1,4 +1,4 @@ #include "omo_04.h" -#define UNK_NPC_POS_FUNC_NUM 2 -#include "world/common/todo/UnkNpcPosFunc.inc.c" +#define KAMMY_NPC 2 +#include "world/common/util/GetKammyBroomEmitterPos.inc.c" diff --git a/src/world/area_omo/omo_07/DC04D0.c b/src/world/area_omo/omo_07/DC04D0.c index 9ea97cc7b6..c3965ba31b 100644 --- a/src/world/area_omo/omo_07/DC04D0.c +++ b/src/world/area_omo/omo_07/DC04D0.c @@ -1,4 +1,4 @@ #include "omo_07.h" -#define UNK_NPC_POS_FUNC_NUM 7 -#include "world/common/todo/UnkNpcPosFunc.inc.c" +#define KAMMY_NPC 7 +#include "world/common/util/GetKammyBroomEmitterPos.inc.c" diff --git a/src/world/area_omo/omo_09/DD02E0.c b/src/world/area_omo/omo_09/DD02E0.c index bde907a884..a747b1e13e 100644 --- a/src/world/area_omo/omo_09/DD02E0.c +++ b/src/world/area_omo/omo_09/DD02E0.c @@ -2,5 +2,5 @@ static char* N(exit_str_0) = "omo_09"; -#define UNK_NPC_POS_FUNC_NUM 7 -#include "world/common/todo/UnkNpcPosFunc.inc.c" +#define KAMMY_NPC 7 +#include "world/common/util/GetKammyBroomEmitterPos.inc.c" diff --git a/src/world/area_trd/trd_03/trd_03_3_npc.c b/src/world/area_trd/trd_03/trd_03_3_npc.c index 0056248cf0..d1de39175a 100644 --- a/src/world/area_trd/trd_03/trd_03_3_npc.c +++ b/src/world/area_trd/trd_03/trd_03_3_npc.c @@ -89,10 +89,10 @@ EvtScript N(EVS_Scene_GreenKoopaBros) = { EVT_CALL(SetPlayerPos, -647, 0, 80) EVT_EXEC_WAIT(N(EVS_EnterMap)) EVT_CALL(InterpNpcYaw, NPC_KoopaBros, 270, 5) - EVT_CALL(func_802CFD30, 0, 5, 4, 2, 1, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_5, 4, 2, 1, 0) EVT_CALL(SetNpcAnimation, NPC_KoopaBros, ANIM_KoopaBros_Green_Anim1E) EVT_WAIT(12) - EVT_CALL(func_802CFD30, 0, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(SetNpcAnimation, NPC_KoopaBros, ANIM_KoopaBros_Green_Anim04) EVT_WAIT(10) EVT_CALL(SpeakToPlayer, NPC_KoopaBros, ANIM_KoopaBros_Green_Anim14, ANIM_KoopaBros_Green_Anim04, 0, MSG_CH1_00D4) diff --git a/src/world/area_trd/trd_05/trd_05_4_npc.c b/src/world/area_trd/trd_05/trd_05_4_npc.c index b4fcbc4a75..3c9a953306 100644 --- a/src/world/area_trd/trd_05/trd_05_4_npc.c +++ b/src/world/area_trd/trd_05/trd_05_4_npc.c @@ -31,11 +31,11 @@ EvtScript N(EVS_KoopaBros_SetTrap) = { EVT_CALL(SetNpcAnimation, NPC_KoopaBros_01, ANIM_KoopaBros_Yellow_Anim04) EVT_THREAD EVT_LOOP(8) - EVT_CALL(func_802CFD30, 0, 7, 0, 0, 0, 0) - EVT_CALL(func_802CFD30, 1, 7, 255, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_7, 255, 0, 0, 0) EVT_WAIT(6) - EVT_CALL(func_802CFD30, 0, 7, 255, 0, 0, 0) - EVT_CALL(func_802CFD30, 1, 7, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_7, 255, 0, 0, 0) + EVT_CALL(func_802CFD30, 1, FOLD_TYPE_7, 0, 0, 0, 0) EVT_WAIT(6) EVT_END_LOOP EVT_END_THREAD diff --git a/src/world/area_trd/trd_06/trd_06.h b/src/world/area_trd/trd_06/trd_06.h index f80fcf82ab..de8af26beb 100644 --- a/src/world/area_trd/trd_06/trd_06.h +++ b/src/world/area_trd/trd_06/trd_06.h @@ -13,7 +13,6 @@ #include "sprite/npc/KoopaTroopa.h" #include "sprite/npc/Bobomb.h" #include "sprite/npc/WorldBobomb.h" -#include "sprite/npc/KoopaBros.h" enum { NPC_Bombette = 1, diff --git a/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c b/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c index a3c21fe732..923a94d0fb 100644 --- a/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c +++ b/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c @@ -1,5 +1,7 @@ #include "trd_06.h" +#include "world/common/npc/KoopaBros.h" + MobileAISettings N(AISettings_KoopaBros) = { .moveSpeed = 1.5f, .moveTime = 60, @@ -51,11 +53,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .pos = { 60.0f, 0.0f, -60.0f }, .yaw = 0, .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = KOOPA_BROS_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -68,24 +66,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .detectSize = { 0 }, } }, - .animations = { - .idle = ANIM_KoopaBros_Red_Anim04, - .walk = ANIM_KoopaBros_Red_Anim02, - .run = ANIM_KoopaBros_Red_Anim03, - .chase = ANIM_KoopaBros_Red_Anim03, - .anim_4 = ANIM_KoopaBros_Red_Anim04, - .anim_5 = ANIM_KoopaBros_Red_Anim04, - .death = ANIM_KoopaBros_Red_Anim0A, - .hit = ANIM_KoopaBros_Red_Anim0A, - .anim_8 = ANIM_KoopaBros_Red_Anim03, - .anim_9 = ANIM_KoopaBros_Red_Anim03, - .anim_A = ANIM_KoopaBros_Red_Anim03, - .anim_B = ANIM_KoopaBros_Red_Anim03, - .anim_C = ANIM_KoopaBros_Red_Anim03, - .anim_D = ANIM_KoopaBros_Red_Anim03, - .anim_E = ANIM_KoopaBros_Red_Anim03, - .anim_F = ANIM_KoopaBros_Red_Anim03, - }, + .animations = RED_KOOPA_BROS_ANIMS, }, { .id = NPC_KoopaBros_Black, @@ -93,11 +74,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .pos = { 60.0f, 0.0f, 0.0f }, .yaw = 0, .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = KOOPA_BROS_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -110,24 +87,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .detectSize = { 0 }, } }, - .animations = { - .idle = ANIM_KoopaBros_Black_Anim04, - .walk = ANIM_KoopaBros_Black_Anim02, - .run = ANIM_KoopaBros_Black_Anim03, - .chase = ANIM_KoopaBros_Black_Anim03, - .anim_4 = ANIM_KoopaBros_Black_Anim04, - .anim_5 = ANIM_KoopaBros_Black_Anim04, - .death = ANIM_KoopaBros_Black_Anim0A, - .hit = ANIM_KoopaBros_Black_Anim0A, - .anim_8 = ANIM_KoopaBros_Black_Anim03, - .anim_9 = ANIM_KoopaBros_Black_Anim03, - .anim_A = ANIM_KoopaBros_Black_Anim03, - .anim_B = ANIM_KoopaBros_Black_Anim03, - .anim_C = ANIM_KoopaBros_Black_Anim03, - .anim_D = ANIM_KoopaBros_Black_Anim03, - .anim_E = ANIM_KoopaBros_Black_Anim03, - .anim_F = ANIM_KoopaBros_Black_Anim03, - }, + .animations = BLACK_KOOPA_BROS_ANIMS, }, { .id = NPC_KoopaBros_Yellow, @@ -135,11 +95,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .pos = { -10.0f, 0.0f, -60.0f }, .yaw = 0, .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = KOOPA_BROS_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -152,24 +108,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .detectSize = { 0 }, } }, - .animations = { - .idle = ANIM_KoopaBros_Yellow_Anim04, - .walk = ANIM_KoopaBros_Yellow_Anim02, - .run = ANIM_KoopaBros_Yellow_Anim03, - .chase = ANIM_KoopaBros_Yellow_Anim03, - .anim_4 = ANIM_KoopaBros_Yellow_Anim04, - .anim_5 = ANIM_KoopaBros_Yellow_Anim04, - .death = ANIM_KoopaBros_Yellow_Anim0A, - .hit = ANIM_KoopaBros_Yellow_Anim0A, - .anim_8 = ANIM_KoopaBros_Yellow_Anim03, - .anim_9 = ANIM_KoopaBros_Yellow_Anim03, - .anim_A = ANIM_KoopaBros_Yellow_Anim03, - .anim_B = ANIM_KoopaBros_Yellow_Anim03, - .anim_C = ANIM_KoopaBros_Yellow_Anim03, - .anim_D = ANIM_KoopaBros_Yellow_Anim03, - .anim_E = ANIM_KoopaBros_Yellow_Anim03, - .anim_F = ANIM_KoopaBros_Yellow_Anim03, - }, + .animations = YELLOW_KOOPA_BROS_ANIMS, }, { .id = NPC_KoopaBros_Green, @@ -177,11 +116,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, .flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800, - .drops = { - .dropFlags = NPC_DROP_FLAGS_80, - .heartDrops = NO_DROPS, - .flowerDrops = NO_DROPS, - }, + .drops = KOOPA_BROS_DROPS, .territory = { .wander = { .isFlying = TRUE, @@ -194,24 +129,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .detectSize = { 0 }, } }, - .animations = { - .idle = ANIM_KoopaBros_Green_Anim04, - .walk = ANIM_KoopaBros_Green_Anim02, - .run = ANIM_KoopaBros_Green_Anim03, - .chase = ANIM_KoopaBros_Green_Anim03, - .anim_4 = ANIM_KoopaBros_Green_Anim04, - .anim_5 = ANIM_KoopaBros_Green_Anim04, - .death = ANIM_KoopaBros_Green_Anim0A, - .hit = ANIM_KoopaBros_Green_Anim0A, - .anim_8 = ANIM_KoopaBros_Green_Anim03, - .anim_9 = ANIM_KoopaBros_Green_Anim03, - .anim_A = ANIM_KoopaBros_Green_Anim03, - .anim_B = ANIM_KoopaBros_Green_Anim03, - .anim_C = ANIM_KoopaBros_Green_Anim03, - .anim_D = ANIM_KoopaBros_Green_Anim03, - .anim_E = ANIM_KoopaBros_Green_Anim03, - .anim_F = ANIM_KoopaBros_Green_Anim03, - }, + .animations = GREEN_KOOPA_BROS_ANIMS, }, }; diff --git a/src/world/area_trd/trd_07/trd_07_3_magic_doors.c b/src/world/area_trd/trd_07/trd_07_3_magic_doors.c index fea27c5ad2..acc6c8a61d 100644 --- a/src/world/area_trd/trd_07/trd_07_3_magic_doors.c +++ b/src/world/area_trd/trd_07/trd_07_3_magic_doors.c @@ -256,7 +256,7 @@ EvtScript N(EVS_LowerMagicDoors) = { EVT_WAIT(15) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_SET_VEC3(LVar0, 220, 0, 0) + EVT_VEC3I_SET(LVar0, 220, 0, 0) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(N(GetPointsWithCamRelativeOffset), LVar0, LVar2, EVT_FLOAT(30.0)) @@ -269,7 +269,7 @@ EvtScript N(EVS_LowerMagicDoors) = { EVT_EXEC_WAIT(N(EVS_AnimateDoorLowering)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) EVT_WAIT(1) - EVT_SET_VEC3(LVar0, 220, 0, 0) + EVT_VEC3I_SET(LVar0, 220, 0, 0) EVT_SUB(LVar0, 400) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) diff --git a/src/world/area_trd/trd_10/trd_10_2_npc.c b/src/world/area_trd/trd_10/trd_10_2_npc.c index 57c463bb7d..f406443ce1 100644 --- a/src/world/area_trd/trd_10/trd_10_2_npc.c +++ b/src/world/area_trd/trd_10/trd_10_2_npc.c @@ -66,10 +66,10 @@ EvtScript N(EVS_NpcAI_KoopaBros_01) = { EVT_CALL(SetNpcPos, NPC_KoopaBros_01, -32, 0, 0) EVT_CALL(NpcMoveTo, NPC_KoopaBros_01, -88, 0, 15) EVT_WAIT(10) - EVT_CALL(func_802CFD30, 0, 5, 4, 2, 1, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_5, 4, 2, 1, 0) EVT_CALL(SetNpcAnimation, NPC_KoopaBros_01, ANIM_KoopaBros_Black_Anim1E) EVT_WAIT(12) - EVT_CALL(func_802CFD30, 0, 0, 0, 0, 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(SetNpcAnimation, NPC_KoopaBros_01, ANIM_KoopaBros_Black_Anim04) EVT_WAIT(10) EVT_CALL(SpeakToPlayer, NPC_KoopaBros_01, ANIM_KoopaBros_Black_Anim02, ANIM_KoopaBros_Black_Anim04, 0, MSG_CH1_00F4) diff --git a/src/world/common/enemy/complete/LavaPiranha.h b/src/world/common/enemy/complete/LavaPiranha.h index 5f67ee13ae..0c0e62a9cb 100644 --- a/src/world/common/enemy/complete/LavaPiranha.h +++ b/src/world/common/enemy/complete/LavaPiranha.h @@ -15,6 +15,13 @@ .maxCoinBonus = 3, \ } +#define LAVA_PIRANHA_NO_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + #define LAVA_PIRANHA_HEAD_ANIMS \ { \ .idle = ANIM_LavaPiranha_Anim03, \ diff --git a/src/world/common/enemy/complete/ShyGuy.h b/src/world/common/enemy/complete/ShyGuy.h index 1a14320574..2dae8a0281 100644 --- a/src/world/common/enemy/complete/ShyGuy.h +++ b/src/world/common/enemy/complete/ShyGuy.h @@ -8,7 +8,7 @@ .flowerDrops = NO_DROPS, \ } -#define SHY_GUY_ANIMS \ +#define RED_SHY_GUY_ANIMS \ { \ .idle = ANIM_ShyGuy_Red_Anim01, \ .walk = ANIM_ShyGuy_Red_Anim02, \ diff --git a/src/world/common/lava_piranha/LoadAnimationFromTable.inc.c b/src/world/common/lava_piranha/LoadAnimationFromTable.inc.c new file mode 100644 index 0000000000..0e779ad918 --- /dev/null +++ b/src/world/common/lava_piranha/LoadAnimationFromTable.inc.c @@ -0,0 +1,33 @@ +API_CALLABLE(N(LoadAnimationFromTable)) { + Bytecode* args = script->ptrReadPos; + s32 type = evt_get_variable(script, *args++); + s32 index = evt_get_variable(script, *args++); + + switch (type) { + case VINE_0: + dma_copy( + (u8*) N(VineAnimationsDmaTable)[3 * index + 0], + (u8*) N(VineAnimationsDmaTable)[3 * index + 1], + (void*) VINE_0_BASE); + break; + case VINE_1: + dma_copy( + (u8*) N(VineAnimationsDmaTable)[3 * index + 0], + (u8*) N(VineAnimationsDmaTable)[3 * index + 1], + (void*) VINE_1_BASE); + break; + case VINE_2: + dma_copy( + (u8*) N(VineAnimationsDmaTable)[3 * index + 0], + (u8*) N(VineAnimationsDmaTable)[3 * index + 1], + (void*) VINE_2_BASE); + break; + case VINE_3: + dma_copy( + (u8*) N(VineAnimationsDmaTable)[3 * index + 0], + (u8*) N(VineAnimationsDmaTable)[3 * index + 1], + (void*) VINE_3_BASE); + break; + } + return ApiStatus_DONE2; +} diff --git a/src/world/common/lava_piranha/part1.inc.c b/src/world/common/lava_piranha/part1.inc.c new file mode 100644 index 0000000000..c05402c479 --- /dev/null +++ b/src/world/common/lava_piranha/part1.inc.c @@ -0,0 +1,18 @@ +enum { + VINE_0 = 0, + VINE_1 = 1, + VINE_2 = 2, + VINE_3 = 3, + NUM_VINES = 4 +}; + +enum { + VINE_0_BASE = 0x80200000, + VINE_1_BASE = 0x80204000, + VINE_2_BASE = 0x80207000, + VINE_3_BASE = 0x8020A000, +}; // TODO shiftability -- hard-coded addresses in gBackgroundImage + +#include "world/common/lava_piranha/skele1.c" +#include "world/common/lava_piranha/skele2.c" +#include "world/common/lava_piranha/skele3.c" diff --git a/src/world/area_kmr/kmr_22/8FF8B0.c b/src/world/common/lava_piranha/part2.inc.c similarity index 81% rename from src/world/area_kmr/kmr_22/8FF8B0.c rename to src/world/common/lava_piranha/part2.inc.c index 5d377c3b49..dbaa5065c3 100644 --- a/src/world/area_kmr/kmr_22/8FF8B0.c +++ b/src/world/common/lava_piranha/part2.inc.c @@ -1,31 +1,54 @@ -#include "kmr_22.h" +#include "ld_addrs.h" -// TODO this entire file should be an include from kzn_19_4_npc.c - -enum { - VINE_0 = 0, - VINE_1 = 1, - VINE_2 = 2, - VINE_3 = 3, - NUM_VINES = 4 -}; - -enum { - MV_VinesData = MapVar(0), - MV_BossDefeated = MapVar(10), -}; - -enum { - VINE_0_BASE = 0x80200000, - VINE_1_BASE = 0x80204000, - VINE_2_BASE = 0x80207000, - VINE_3_BASE = 0x8020A000, -}; // TODO shiftability -- hard-coded addresses in gBackgroundImage - -extern s32 N(VineAnimationsDmaTable)[]; -extern Gfx N(lava_piranha_vine_gfx)[]; BSS s32 N(VineRenderState); +MAP_STATIC_PAD(1, unk_static_pad); + +#define PIRANHA_DMA_ENTRY(name) \ + (s32) world_model_anim_kzn_##name##_ROM_START,\ + (s32) world_model_anim_kzn_##name##_ROM_END,\ + (s32) world_model_anim_kzn_##name##_VRAM + +s32 N(VineAnimationsDmaTable)[] = { + PIRANHA_DMA_ENTRY(00), + PIRANHA_DMA_ENTRY(01), + PIRANHA_DMA_ENTRY(02), + PIRANHA_DMA_ENTRY(03), + PIRANHA_DMA_ENTRY(04), + PIRANHA_DMA_ENTRY(05), + PIRANHA_DMA_ENTRY(06), + PIRANHA_DMA_ENTRY(07), + PIRANHA_DMA_ENTRY(08), + PIRANHA_DMA_ENTRY(09), + PIRANHA_DMA_ENTRY(0A), + PIRANHA_DMA_ENTRY(0B), + PIRANHA_DMA_ENTRY(0C), + PIRANHA_DMA_ENTRY(0D), + PIRANHA_DMA_ENTRY(0E), + PIRANHA_DMA_ENTRY(0F), + PIRANHA_DMA_ENTRY(10), + PIRANHA_DMA_ENTRY(11), + PIRANHA_DMA_ENTRY(12), + PIRANHA_DMA_ENTRY(13), + PIRANHA_DMA_ENTRY(14), + PIRANHA_DMA_ENTRY(15), + PIRANHA_DMA_ENTRY(16), + PIRANHA_DMA_ENTRY(17), + PIRANHA_DMA_ENTRY(18), + PIRANHA_DMA_ENTRY(19), + PIRANHA_DMA_ENTRY(1A), + PIRANHA_DMA_ENTRY(1B), + PIRANHA_DMA_ENTRY(1C), + PIRANHA_DMA_ENTRY(1D), + PIRANHA_DMA_ENTRY(1E), + PIRANHA_DMA_ENTRY(1F), + PIRANHA_DMA_ENTRY(20), + PIRANHA_DMA_ENTRY(21), + PIRANHA_DMA_ENTRY(22), + PIRANHA_DMA_ENTRY(23), + PIRANHA_DMA_ENTRY(24), +}; + void N(make_vine_interpolation)(LavaPiranhaVine* vine) { Evt dummyEvt; Evt* dummyEvtPtr = &dummyEvt; @@ -58,7 +81,7 @@ API_CALLABLE(N(SetVineBonePos)) { s32 x = evt_get_variable(script, *args++); s32 y = evt_get_variable(script, *args++); s32 z = evt_get_variable(script, *args++); - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MapVar(0)); + LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); LavaPiranhaVine* vine = &vines[vineIdx]; vine->bonePos[jointIdx].x = x; @@ -74,7 +97,7 @@ API_CALLABLE(N(SetVineBoneRot)) { s32 rx = evt_get_variable(script, *args++); s32 ry = evt_get_variable(script, *args++); s32 rz = evt_get_variable(script, *args++); - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MapVar(0)); + LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); LavaPiranhaVine* vine = &vines[vineIdx]; vine->boneRot[jointIdx] = rz; @@ -88,7 +111,7 @@ API_CALLABLE(N(SetVineBoneScale)) { s32 sx = evt_get_variable(script, *args++); s32 sy = evt_get_variable(script, *args++); s32 sz = evt_get_variable(script, *args++); - LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MapVar(0)); + LavaPiranhaVine* vines = (LavaPiranhaVine*) evt_get_variable(NULL, MV_VinesData); LavaPiranhaVine* vine = &vines[vineIdx]; // do nothing @@ -271,37 +294,3 @@ API_CALLABLE(N(CreateVineRenderer)) { create_worker_world(NULL, &N(worker_render_piranha_vines)); return ApiStatus_DONE2; } - -API_CALLABLE(N(LoadAnimationFromTable)) { - Bytecode* args = script->ptrReadPos; - s32 type = evt_get_variable(script, *args++); - s32 index = evt_get_variable(script, *args++); - - switch (type) { - case VINE_0: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_0_BASE); - break; - case VINE_1: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_1_BASE); - break; - case VINE_2: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_2_BASE); - break; - case VINE_3: - dma_copy( - (u8*) N(VineAnimationsDmaTable)[3 * index + 0], - (u8*) N(VineAnimationsDmaTable)[3 * index + 1], - (void*) VINE_3_BASE); - break; - } - return ApiStatus_DONE2; -} diff --git a/src/world/area_kzn/kzn_19/kzn_19_anim1.c b/src/world/common/lava_piranha/skele1.c similarity index 100% rename from src/world/area_kzn/kzn_19/kzn_19_anim1.c rename to src/world/common/lava_piranha/skele1.c diff --git a/src/world/area_kzn/kzn_19/kzn_19_anim2.c b/src/world/common/lava_piranha/skele2.c similarity index 100% rename from src/world/area_kzn/kzn_19/kzn_19_anim2.c rename to src/world/common/lava_piranha/skele2.c diff --git a/src/world/area_kzn/kzn_19/kzn_19_anim3.c b/src/world/common/lava_piranha/skele3.c similarity index 100% rename from src/world/area_kzn/kzn_19/kzn_19_anim3.c rename to src/world/common/lava_piranha/skele3.c diff --git a/src/world/common/npc/Boo_Wander.inc.c b/src/world/common/npc/Boo_Wander.inc.c new file mode 100644 index 0000000000..b95ecef1c5 --- /dev/null +++ b/src/world/common/npc/Boo_Wander.inc.c @@ -0,0 +1,22 @@ +#include "Boo.h" + +MobileAISettings N(AISettings_BooWander) = { + .moveSpeed = 1.5f, + .moveTime = 60, + .waitTime = 30, + .playerSearchInterval = -1, + .unk_AI_2C = 1, +}; + +EvtScript N(EVS_NpcAI_Boo_Wander) = { + EVT_CALL(BasicAI_Main, EVT_PTR(N(AISettings_BooWander))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_Boo_Wander) = { + .height = 24, + .radius = 24, + .level = 99, + .ai = &N(EVS_NpcAI_Boo_Wander), +}; diff --git a/src/world/common/npc/Bow.h b/src/world/common/npc/Bow.h new file mode 100644 index 0000000000..5940128a94 --- /dev/null +++ b/src/world/common/npc/Bow.h @@ -0,0 +1,29 @@ +#include "common.h" +#include "sprite/npc/WorldBow.h" + +#define BOW_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define BOW_ANIMS \ +{ \ + .idle = ANIM_WorldBow_Idle, \ + .walk = ANIM_WorldBow_Walk, \ + .run = ANIM_WorldBow_Run, \ + .chase = ANIM_WorldBow_Run, \ + .anim_4 = ANIM_WorldBow_Idle, \ + .anim_5 = ANIM_WorldBow_Idle, \ + .death = ANIM_WorldBow_Still, \ + .hit = ANIM_WorldBow_Still, \ + .anim_8 = ANIM_WorldBow_Run, \ + .anim_9 = ANIM_WorldBow_Run, \ + .anim_A = ANIM_WorldBow_Run, \ + .anim_B = ANIM_WorldBow_Run, \ + .anim_C = ANIM_WorldBow_Run, \ + .anim_D = ANIM_WorldBow_Run, \ + .anim_E = ANIM_WorldBow_Run, \ + .anim_F = ANIM_WorldBow_Run, \ +} diff --git a/src/world/common/npc/KoopaBros.h b/src/world/common/npc/KoopaBros.h new file mode 100644 index 0000000000..9f53e9d5de --- /dev/null +++ b/src/world/common/npc/KoopaBros.h @@ -0,0 +1,89 @@ +#include "common.h" +#include "sprite/npc/KoopaBros.h" + +#define KOOPA_BROS_DROPS \ +{ \ + .dropFlags = NPC_DROP_FLAGS_80, \ + .heartDrops = NO_DROPS, \ + .flowerDrops = NO_DROPS, \ +} + +#define BLACK_KOOPA_BROS_ANIMS \ +{ \ + .idle = ANIM_KoopaBros_Black_Anim04, \ + .walk = ANIM_KoopaBros_Black_Anim02, \ + .run = ANIM_KoopaBros_Black_Anim03, \ + .chase = ANIM_KoopaBros_Black_Anim03, \ + .anim_4 = ANIM_KoopaBros_Black_Anim04, \ + .anim_5 = ANIM_KoopaBros_Black_Anim04, \ + .death = ANIM_KoopaBros_Black_Anim0A, \ + .hit = ANIM_KoopaBros_Black_Anim0A, \ + .anim_8 = ANIM_KoopaBros_Black_Anim03, \ + .anim_9 = ANIM_KoopaBros_Black_Anim03, \ + .anim_A = ANIM_KoopaBros_Black_Anim03, \ + .anim_B = ANIM_KoopaBros_Black_Anim03, \ + .anim_C = ANIM_KoopaBros_Black_Anim03, \ + .anim_D = ANIM_KoopaBros_Black_Anim03, \ + .anim_E = ANIM_KoopaBros_Black_Anim03, \ + .anim_F = ANIM_KoopaBros_Black_Anim03, \ +} + +#define RED_KOOPA_BROS_ANIMS \ +{ \ + .idle = ANIM_KoopaBros_Red_Anim04, \ + .walk = ANIM_KoopaBros_Red_Anim02, \ + .run = ANIM_KoopaBros_Red_Anim03, \ + .chase = ANIM_KoopaBros_Red_Anim03, \ + .anim_4 = ANIM_KoopaBros_Red_Anim04, \ + .anim_5 = ANIM_KoopaBros_Red_Anim04, \ + .death = ANIM_KoopaBros_Red_Anim0A, \ + .hit = ANIM_KoopaBros_Red_Anim0A, \ + .anim_8 = ANIM_KoopaBros_Red_Anim03, \ + .anim_9 = ANIM_KoopaBros_Red_Anim03, \ + .anim_A = ANIM_KoopaBros_Red_Anim03, \ + .anim_B = ANIM_KoopaBros_Red_Anim03, \ + .anim_C = ANIM_KoopaBros_Red_Anim03, \ + .anim_D = ANIM_KoopaBros_Red_Anim03, \ + .anim_E = ANIM_KoopaBros_Red_Anim03, \ + .anim_F = ANIM_KoopaBros_Red_Anim03, \ +} + +#define YELLOW_KOOPA_BROS_ANIMS \ +{ \ + .idle = ANIM_KoopaBros_Yellow_Anim04, \ + .walk = ANIM_KoopaBros_Yellow_Anim02, \ + .run = ANIM_KoopaBros_Yellow_Anim03, \ + .chase = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_4 = ANIM_KoopaBros_Yellow_Anim04, \ + .anim_5 = ANIM_KoopaBros_Yellow_Anim04, \ + .death = ANIM_KoopaBros_Yellow_Anim0A, \ + .hit = ANIM_KoopaBros_Yellow_Anim0A, \ + .anim_8 = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_9 = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_A = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_B = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_C = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_D = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_E = ANIM_KoopaBros_Yellow_Anim03, \ + .anim_F = ANIM_KoopaBros_Yellow_Anim03, \ +} + +#define GREEN_KOOPA_BROS_ANIMS \ +{ \ + .idle = ANIM_KoopaBros_Green_Anim04, \ + .walk = ANIM_KoopaBros_Green_Anim02, \ + .run = ANIM_KoopaBros_Green_Anim03, \ + .chase = ANIM_KoopaBros_Green_Anim03, \ + .anim_4 = ANIM_KoopaBros_Green_Anim04, \ + .anim_5 = ANIM_KoopaBros_Green_Anim04, \ + .death = ANIM_KoopaBros_Green_Anim0A, \ + .hit = ANIM_KoopaBros_Green_Anim0A, \ + .anim_8 = ANIM_KoopaBros_Green_Anim03, \ + .anim_9 = ANIM_KoopaBros_Green_Anim03, \ + .anim_A = ANIM_KoopaBros_Green_Anim03, \ + .anim_B = ANIM_KoopaBros_Green_Anim03, \ + .anim_C = ANIM_KoopaBros_Green_Anim03, \ + .anim_D = ANIM_KoopaBros_Green_Anim03, \ + .anim_E = ANIM_KoopaBros_Green_Anim03, \ + .anim_F = ANIM_KoopaBros_Green_Anim03, \ +} diff --git a/src/world/common/todo/UnkAngleFunc004.inc.c b/src/world/common/todo/UnkAngleFunc004.inc.c deleted file mode 100644 index 5a109066ff..0000000000 --- a/src/world/common/todo/UnkAngleFunc004.inc.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "common.h" -#include "npc.h" - -ApiStatus N(UnkAngleFunc004)(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_safe(script->owner2.npcID); - - switch (script->functionTemp[1]) { - case 0: - npc->duration = rand_int(180) + 30; - npc->pos.z = -300.0f; - npc->pos.y = rand_int(50) + 80.0f; - npc->moveSpeed = (2.0f * rand_float()) + 2.0f; - if (rand_int(100) < 50) { - npc->pos.x = 270.0f; - npc->yaw = 270.0f; - } else { - npc->pos.x = -270.0f; - npc->yaw = 90.0f; - } - script->functionTemp[1] = 1; - break; - case 1: - npc->duration--; - if (npc->duration == 0) { - script->functionTemp[1] = 2; - } - break; - case 2: - npc_move_heading(npc, npc->moveSpeed, npc->yaw); - if (npc->pos.x < -280.0f || npc->pos.x > 280.0f) { - script->functionTemp[1] = 0; - } - break; - } - return ApiStatus_DONE2; -} diff --git a/src/world/common/todo/UnkNpcPosFunc.inc.c b/src/world/common/util/GetKammyBroomEmitterPos.inc.c similarity index 61% rename from src/world/common/todo/UnkNpcPosFunc.inc.c rename to src/world/common/util/GetKammyBroomEmitterPos.inc.c index d9a17f5976..31d7b03840 100644 --- a/src/world/common/todo/UnkNpcPosFunc.inc.c +++ b/src/world/common/util/GetKammyBroomEmitterPos.inc.c @@ -1,13 +1,13 @@ #include "common.h" #include "npc.h" -#ifndef UNK_NPC_POS_FUNC_NUM -#error UNK_NPC_POS_FUNC_NUM must be defined -#define UNK_NPC_POS_FUNC_NUM 0 +#ifndef KAMMY_NPC +#error KAMMY_NPC must be defined +#define KAMMY_NPC 0 #endif -ApiStatus N(UnkNpcPosFunc)(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(UNK_NPC_POS_FUNC_NUM); +ApiStatus N(GetKammyBroomEmitterPos)(Evt* script, s32 isInitialCall) { + Npc* npc = get_npc_unsafe(KAMMY_NPC); script->varTable[0] = npc->pos.x + (sin_deg(npc->yaw + gCameras[CAM_DEFAULT].currentYaw + 180.0f) * 40.0f); script->varTable[1] = npc->pos.y + 8.0f; diff --git a/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c b/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c index b06f7aacb1..f994a53b12 100644 --- a/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c +++ b/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c @@ -27,7 +27,7 @@ EvtScript N(EVS_Scene_Epilogue) = { EVT_CALL(DisablePartnerAI, 0) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(DisablePlayerPhysics, TRUE) - EVT_SET_VEC3(LVar0, 230, 0, 350) + EVT_VEC3I_SET(LVar0, 230, 0, 350) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) diff --git a/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c b/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c index e16dfed5a6..852c37912e 100644 --- a/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c +++ b/src/world/dead/area_flo/flo_00/flo_00_5_beanstalk.c @@ -246,8 +246,8 @@ EvtScript N(EVS_Exit_Beanstalk) = { EVT_SET(AF_FLO_RidingBeanstalk, TRUE) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o261, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o351, COLLIDER_FLAGS_UPPER_MASK) - EVT_SET_VEC3(LVar9, EVT_FLOAT(-59.0), EVT_FLOAT(22.0), EVT_FLOAT(125.0)) // target player pos - EVT_SET_VEC3(LVarC, EVT_FLOAT(-55.0), EVT_FLOAT(24.0), EVT_FLOAT(145.0)) // target partner pos + EVT_VEC3I_SET(LVar9, EVT_FLOAT(-59.0), EVT_FLOAT(22.0), EVT_FLOAT(125.0)) // target player pos + EVT_VEC3I_SET(LVarC, EVT_FLOAT(-55.0), EVT_FLOAT(24.0), EVT_FLOAT(145.0)) // target partner pos EVT_CALL(PlayerMoveTo, LVar9, LVarB, 8) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_PARTNER, LVarC, LVarD, LVarE, 5) diff --git a/src/world/dead/area_flo/flo_13/flo_13_5_new_party.c b/src/world/dead/area_flo/flo_13/flo_13_5_new_partner.c similarity index 100% rename from src/world/dead/area_flo/flo_13/flo_13_5_new_party.c rename to src/world/dead/area_flo/flo_13/flo_13_5_new_partner.c diff --git a/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c b/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c index 6438b4c292..067e761482 100644 --- a/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c +++ b/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c @@ -45,7 +45,7 @@ EvtScript N(EVS_Kolorado_TrompImpact) = { EVT_CALL(func_802CDE68, 0, 13) EVT_CALL(SetNpcRotation, NPC_Kolorado, 0, 0, 250) EVT_CALL(SetNpcAnimation, NPC_Kolorado, ANIM_Kolorado_HurtStill) - EVT_CALL(func_802CFD30, 0, 4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) EVT_CALL(PlaySoundAtNpc, NPC_Kolorado, SOUND_HIT_PLAYER_NORMAL, 0) EVT_THREAD EVT_CALL(SetNpcCollisionSize, NPC_Kolorado, 20, 24) @@ -70,7 +70,7 @@ EvtScript N(EVS_Kolorado_HurtInit) = { EVT_CALL(func_802CDE68, 0, 13) EVT_CALL(SetNpcRotation, NPC_Kolorado, 0, 0, 250) EVT_CALL(SetNpcAnimation, NPC_Kolorado, ANIM_Kolorado_HurtStill) - EVT_CALL(func_802CFD30, 0, 4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) + EVT_CALL(func_802CFD30, 0, FOLD_TYPE_4, EVT_FLOAT(3.0), EVT_FLOAT(3.0), 0, 0) EVT_RETURN EVT_END }; diff --git a/src/world/world.c b/src/world/world.c index 9a0275f1b8..d7e06ff8b1 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -338,11 +338,11 @@ MapConfig kmr_maps[] = { { MAP(kmr_07), .bgName = "kmr_bg" }, { MAP(kmr_09), .bgName = "kmr_bg" }, { MAP(kmr_10), .bgName = "kmr_bg" }, - { MAP_UNSPLIT(kmr_11, 0x80241180), .bgName = "kmr_bg" }, + { MAP(kmr_11), .bgName = "kmr_bg" }, { MAP(kmr_12), .bgName = "kmr_bg" }, { MAP_UNSPLIT(kmr_20, 0x80242C00), .bgName = "kmr_bg" }, // Mario's House { MAP_WITH_INIT(kmr_21) }, - { MAP_UNSPLIT(kmr_22, 0x80240DA0), .init = (MapInit)0x80240000 }, + { MAP_WITH_INIT(kmr_22) }, { MAP_WITH_INIT(kmr_23) }, { MAP_WITH_INIT(kmr_24) }, { MAP(kmr_30) }, @@ -623,16 +623,17 @@ MapConfig mim_maps[] = { }; /// Boo's Mansion +#include "area_obk/obk.h" MapConfig obk_maps[] = { - { MAP_UNSPLIT(obk_01, 0x802411B0), .songVariation = 1, .sfxReverb = 2 }, - { MAP_UNSPLIT(obk_02, 0x802402E0), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, - { MAP_UNSPLIT(obk_03, 0x80241020), .songVariation = 1, .sfxReverb = 1 }, - { MAP_UNSPLIT(obk_04, 0x80240E90), .songVariation = 1, .sfxReverb = 1 }, - { MAP_UNSPLIT(obk_05, 0x802409F0), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, - { MAP_UNSPLIT(obk_06, 0x80240020), .songVariation = 1, .sfxReverb = 1 }, - { MAP_UNSPLIT(obk_07, 0x80241BA0), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, - { MAP_UNSPLIT(obk_08, 0x802417B0), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, - { MAP_UNSPLIT(obk_09, 0x80240460), .songVariation = 1, .sfxReverb = 2 }, + { MAP(obk_01), .songVariation = 1, .sfxReverb = 2 }, + { MAP(obk_02), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, + { MAP(obk_03), .songVariation = 1, .sfxReverb = 1 }, + { MAP(obk_04), .songVariation = 1, .sfxReverb = 1 }, + { MAP(obk_05), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, + { MAP(obk_06), .songVariation = 1, .sfxReverb = 1 }, + { MAP(obk_07), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, + { MAP(obk_08), .bgName = "obk_bg", .songVariation = 1, .sfxReverb = 1 }, + { MAP(obk_09), .songVariation = 1, .sfxReverb = 2 }, }; /// Gusty Gulch diff --git a/ver/us/asm/data/world/area_jan/jan_02/B33E50.data.s b/ver/us/asm/data/world/area_jan/jan_02/B33E50.data.s index aba861f591..ffb25336c5 100644 --- a/ver/us/asm/data/world/area_jan/jan_02/B33E50.data.s +++ b/ver/us/asm/data/world/area_jan/jan_02/B33E50.data.s @@ -32,7 +32,7 @@ dlabel D_8024838C_B347FC dlabel D_802483AC_B3481C .word D_80248378_B347E8, D_80248384_B347F4, D_8024838C_B347FC, 0x00000000, 0x00000000 -dlabel D_802483C0_B34830 +dlabel kmr_22_ChapterEffect_B34830 .word 0xC4128000, 0x00000000, 0xC3570000, 0x00000000 dlabel kmr_22_VineRenderState_B34840 @@ -60,4 +60,4 @@ dlabel D_80248438_B348A8 .word D_80248428_B34898, D_80248430_B348A0, 0x00000000, 0x00000000, 0x00000000 dlabel D_8024844C_B348BC -.word 0xC41F0000, 0x00000000, 0xC36B0000, 0x00000000, 0x00000024, 0x00000002, 0xF9718894, 0x00000000, 0x00000024, 0x00000002, 0xF9718895, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80248354_B347C4, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x0000001D, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, D_80248368_B347D8, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802483AC_B3481C, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x00000032, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, D_802483C0_B34830, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80248404_B34874, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x00000033, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, D_80248418_B34888, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80248438_B348A8, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x00000035, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, D_8024844C_B348BC, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 +.word 0xC41F0000, 0x00000000, 0xC36B0000, 0x00000000, 0x00000024, 0x00000002, 0xF9718894, 0x00000000, 0x00000024, 0x00000002, 0xF9718895, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80248354_B347C4, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x0000001D, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, D_80248368_B347D8, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802483AC_B3481C, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x00000032, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, kmr_22_ChapterEffect_B34830, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80248404_B34874, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x00000033, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, D_80248418_B34888, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80248438_B348A8, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00001000, 0x00000035, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80247D40_B341B0, 0x00100000, D_8024844C_B348BC, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_02/8B5640.data.s b/ver/us/asm/data/world/area_kmr/kmr_02/8B5640.data.s index 1b71f2879b..b658078196 100644 --- a/ver/us/asm/data/world/area_kmr/kmr_02/8B5640.data.s +++ b/ver/us/asm/data/world/area_kmr/kmr_02/8B5640.data.s @@ -261,7 +261,7 @@ dlabel D_8024D134_8BD1A4 .word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024CDAC_8BCE1C, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024CE80_8BCEF0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_8024D16C_8BD1DC -.word 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, kmr_02_UnkNpcPosFunc, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, kmr_02_GetKammyBroomEmitterPos, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_8024D2E8_8BD358 .word 0x00000001, 0x00000002, 0x00000003, 0x00000002, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF diff --git a/ver/us/asm/data/world/area_kmr/kmr_11/8DB260.data.s b/ver/us/asm/data/world/area_kmr/kmr_11/8DB260.data.s deleted file mode 100644 index 6e76133eca..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_11/8DB260.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241160_8DB260 -.word 0xC4674000, 0x00000000, 0xC2540000, 0x42B40000, 0x44408000, 0x00000000, 0xC4034000, 0x43610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80241DCC, D_80241160_8DB260, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190042, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000011, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_11/8DB2F0.data.s b/ver/us/asm/data/world/area_kmr/kmr_11/8DB2F0.data.s deleted file mode 100644 index 90e8283e71..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_11/8DB2F0.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802411F0_8DB2F0 -.word 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C8F, 0xFE363C87, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0x00000001, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000153, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xFFFFFFFF, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000033, 0x00000003, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000033, 0x00000003, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000046, 0x00000001, 0xFE363C84, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, PlaySound, 0x00000165, 0x00000043, 0x00000002, PlaySound, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, kmr_11_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, kmr_11_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, TranslateModel, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, LoadAnimatedModel, 0x00000001, 0x8024821C, 0x00000043, 0x00000003, PlayModelAnimation, 0x00000001, 0x802483D0, 0x00000043, 0x00000005, SetAnimatedModelRootPosition, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetAnimatedModelRenderMode, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, LoadAnimatedModel, 0x00000000, 0x8024F5A4, 0x00000043, 0x00000003, PlayModelAnimation, 0x00000000, 0x8024F650, 0x00000043, 0x00000005, SetAnimatedModelRootPosition, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetAnimatedModelRenderMode, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000005DC, 0x00000043, 0x00000004, GotoMapSpecial, 0x80251090, 0x00000000, 0x0000000A, 0x00000008, 0x00000001, 0x00000064 - -dlabel D_80241C5C_8DBD5C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80251098, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241CB8_8DBDB8 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF94, 0x00000043, 0x00000003, GotoMap, 0x802510A0, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000046, 0x00000001, 0x802460C0, 0x00000013, 0x00000000, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241D5C_8DBE5C -.word 0x00000047, 0x00000005, D_80241C5C_8DBD5C, 0x00080000, 0x00000017, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80241CB8_8DBDB8, 0x00080000, 0x00000024, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241DA4_8DBEA4 -.word 0x00000001, 0x00000060 - -dlabel D_80241DAC_8DBEAC -.word 0x00000001, 0xFFFFFE83, 0x0000000C, 0x00000052 - -dlabel D_80241DBC_8DBEBC -.word D_80241DA4_8DBEA4, 0x00000000, D_80241DAC_8DBEAC, 0x80245C78, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000001F, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000001, func_8024027C_8DA37C, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80245A88, 0x00000043, 0x00000001, ClearDefeatedEnemies, 0x00000046, 0x00000001, 0x80245E88, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF94, 0x00000043, 0x00000001, kmr_11_UnkFogFunc, 0x00000013, 0x00000000, 0x00000046, 0x00000001, 0x80246EEC, 0x00000043, 0x00000001, InitAnimatedModels, 0x00000043, 0x00000003, EnableModel, 0x00000010, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF92, 0x00000043, 0x00000003, EnableModel, 0x00000034, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000004, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000024, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000002E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000002F, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000030, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000031, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000032, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000033, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF90, 0x0000000A, 0x00000002, 0xF8405BAD, 0x00000000, 0x00000044, 0x00000001, D_80241D5C_8DBE5C, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000007E, 0x00000001, 0x00000008, 0x00000046, 0x00000001, 0x80244284, 0x00000024, 0x00000002, 0xF8405BAD, 0x00000001, 0x00000012, 0x00000000, 0x00000044, 0x00000001, 0x802411C0, 0x00000024, 0x00000002, 0xFE363C80, D_80241D5C_8DBE5C, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000044, 0x00000001, 0x802411C0, 0x00000024, 0x00000002, 0xFE363C80, D_80241D5C_8DBE5C, 0x00000044, 0x00000001, EnterWalk, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80241DBC_8DBEBC, 0x00000047, 0x00000005, D_802411F0_8DB2F0, 0x00000100, 0x00000019, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000074, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x0000007C, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, TranslateGroup, 0x0000008B, 0x00000000, 0xFFFFFC18, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF92, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000005, 0x7FFFFE00, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_11/8DC270.data.s b/ver/us/asm/data/world/area_kmr/kmr_11/8DC270.data.s deleted file mode 100644 index 7b4ea76562..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_11/8DC270.data.s +++ /dev/null @@ -1,54 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242170_8DC270 -.word 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x0000000A, 0x00000096, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7A8B, 0x00000043, 0x00000005, SetNpcScale, 0x00000002, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7BB4, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFFFFF9C0, 0x000003E8, 0xFFFFF9C0, 0x00000096, 0x00000043, 0x00000006, PlaySoundAt, 0x00000055, 0x00000000, 0xFFFFF9C0, 0x000003E8, 0xFFFFF9C0, 0x00000043, 0x00000005, func_802402A0_8DA3A0, 0xFFFFF9C0, 0x000003E8, 0xFFFFF9C0, 0x00000028, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000002, RemoveNpc, 0x00000002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802422C8_8DC3C8 -.word 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFFFFFFF9, 0x00000000, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFFB48, 0x00000371, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFDF4, 0xFFFFFFA7, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x0000006E, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001F4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024237C_8DC47C -.word 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFFFFFFF1, 0x00000019, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFFB48, 0x00000371, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFDBD, 0xFFFFFFA7, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x0000006E, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000000C8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242430_8DC530 -.word 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFFFFFFF9, 0x00000002, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFF96F, 0x000001FF, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFE52, 0xFFFFFFA4, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x000000C8, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000000FA, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802424E4_8DC5E4 -.word 0x00000043, 0x00000002, PlaySound, 0x000000A5, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000000A, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7AE7, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000014, 0xFE363C80, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024256C_8DC66C -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000015, 0x00000000, 0xFFFFFEEF, 0x00000159, 0xFFFFFFD4, 0x00000046, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802425C0_8DC6C0 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF03, 0x00000008, 0x00000076, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF03, 0x00000012, 0x0000008A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF03, 0x00000012, 0x00000062, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF03, 0x0000001C, 0x00000076, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802426E0_8DC7E0 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFEA6, 0x00000093, 0xFFFFFFEB, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242734_8DC834 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFEB0, 0x00000093, 0xFFFFFFEB, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242788_8DC888 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF07, 0x00000093, 0xFFFFFFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802427DC_8DC8DC -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF11, 0x00000093, 0xFFFFFFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242830_8DC930 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF62, 0xFFFFFFF6, 0xFFFFFF51, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF62, 0x00000000, 0xFFFFFF65, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF62, 0x00000000, 0xFFFFFF3D, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0xFFFFFF62, 0x0000000A, 0xFFFFFF51, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242950_8DCA50 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0x00000107, 0xFFFFFFF6, 0xFFFFFEF8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0x00000107, 0x00000000, 0xFFFFFF0C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0x00000107, 0x00000000, 0xFFFFFEE4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000004, 0x00000107, 0x0000000A, 0xFFFFFEF8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242A70_8DCB70 -.word 0x00000043, 0x00000002, PlaySound, 0x000001E1, 0x00000044, 0x00000001, D_8024256C_8DC66C, 0x00000008, 0x00000001, 0x00000061, 0x00000043, 0x00000002, PlaySound, 0x000001E2, 0x00000044, 0x00000001, D_802425C0_8DC6C0, 0x00000008, 0x00000001, 0x0000005F, 0x00000043, 0x00000002, PlaySound, 0x000000A6, 0x00000044, 0x00000001, D_802426E0_8DC7E0, 0x00000044, 0x00000001, D_80242734_8DC834, 0x00000008, 0x00000001, 0x00000022, 0x00000043, 0x00000002, PlaySound, 0x000000A6, 0x00000044, 0x00000001, D_80242788_8DC888, 0x00000044, 0x00000001, D_802427DC_8DC8DC, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000002, PlaySound, 0x000000A7, 0x00000008, 0x00000001, 0x000000A0, 0x00000043, 0x00000002, PlaySound, 0x000001E8, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000002, PlaySound, 0x000001E2, 0x00000044, 0x00000001, D_80242830_8DC930, 0x00000044, 0x00000001, D_80242950_8DCA50, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242B98_8DCC98 -.word 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000025, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008001F, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002B, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A81B4, 0x00000043, 0x00000005, PlayerJump1, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010005, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A9280, 0x00000043, 0x00000003, SetNpcSpeed, 0xFFFFFFFC, 0xF24A9280, 0x00000056, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFFFFFDC3, 0x000000A2, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFDDD, 0x00000093, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000000, 0xF24A4880, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000012C, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFFE7B, 0xFFFFFFF4, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFE2B, 0x0000009C, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFE7B, 0x00000078, 0xFFFFFFF4, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFE84, 0x00000000, 0xFFFFFFD6, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7DB4, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000002, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x000003E7, 0x00000000, 0x00000043, 0x00000006, NpcJump1, 0x00000002, 0xFFFFFE84, 0x00000078, 0xFFFFFFD6, 0x00000019, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFE0F, 0x00000000, 0x00000082, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000010E, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFDEA, 0x00000000, 0x0000007F, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0x0000005A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00630001, 0x00630001, 0x00000000, 0x000B00D8, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF92, 0x00000043, 0x00000003, EnableModel, 0x00000010, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000045, 0x00000002, D_802424E4_8DC5E4, 0xFE363C8A, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7D4D, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0xFFFFFF9C, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00630001, 0x00630001, 0x00000000, 0x000B00D9, 0x00000005, 0x00000001, 0x00000064, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFED1, 0x0000011E, 0xFFFFFF88, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000003E8, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010023, 0x00000008, 0x00000001, 0x0000001E, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000064, 0xF24A7C80, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000F, 0xF24A8A80, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000053, 0xF24A7C80, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A8080, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000F, 0xF24A7C80, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A8080, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x000000AA, 0xF24A7C80, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A8680, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000014, 0xF24A8A80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A7C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A7B4D, 0x00000043, 0x00000002, PlaySound, 0x000004A5, 0x00000057, 0x00000000, 0x00000044, 0x00000001, 0x80241B54, 0x00000044, 0x00000001, D_80242A70_8DCB70, 0x00000044, 0x00000001, D_80242B98_8DCC98, 0x00000008, 0x00000001, 0x0000017C, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0xFFFFFF6A, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000044, 0x00000001, D_80242170_8DC270, 0x00000044, 0x00000001, 0x80241BBC, 0x00000008, 0x00000001, 0x00000096, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000003, EnableModel, 0x0000000D, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000B, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000010, 0x00000000, 0x00000043, 0x00000002, DeleteAnimatedModel, 0x00000001, 0x00000043, 0x00000002, DeleteAnimatedModel, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000044, 0x00000001, 0x802411C0, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7DB4, 0x00000005, 0x00000001, 0x00000002, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000B00DA, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000005, 0x7FFFFE00, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF93, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243460_8DD560 -.word 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A8280, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, PlayerJump1, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A8280, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243514_8DD614 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000046, 0x00000001, D_802422C8_8DC3C8, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7BB4, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0xF24A7C80, 0x00000001, 0x00000008, 0x00000001, 0x000000AA, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFFFFFCC2, 0x00000000, 0xFFFFFFBA, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFFFFFCE0, 0x00000000, 0xFFFFFFEC, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620107, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620007, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000001, 0xF24A8A80, 0x00000008, 0x00000001, 0x00000032, 0x00000056, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFFFFFDF7, 0xFFFFFF9C, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000001, 0xFFFFFE08, 0xFFFFFFB6, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00620005, 0x00620003, 0x00000005, 0x000B00C3, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00620105, 0x00620103, 0x00000005, 0x000B00C4, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000005, 0x000001C3, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000000D, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000000B, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFFFFFE9F, 0xFFFFFFA3, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000001, 0xFFFFFE94, 0xFFFFFFB3, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000000D, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000000B, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000005, 0x000001C4, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x000020EC, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x00000006, PlaySoundAt, 0x000020B4, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD2B, 0x00000075, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD97, 0x0000006C, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A7C80, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFC68, 0x00000000, 0xFFFFFFDD, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8680, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFDC1, 0xFFFFFFC4, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000B00C5, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000006, PlaySoundAt, 0x000020EC, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x00000006, PlaySoundAt, 0x000020B4, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD2B, 0x00000075, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD97, 0x0000006C, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A7B4D, 0x00000024, 0x00000002, 0xFE363C83, 0x00000002, 0x00000044, 0x00000001, D_80243460_8DD560, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000006, PlaySoundAt, 0x000020EC, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x00000006, PlaySoundAt, 0x000020B4, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD2B, 0x00000075, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD97, 0x0000006C, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A7CE7, 0x00000024, 0x00000002, 0xFE363C83, 0x00000004, 0x00000044, 0x00000001, D_80243460_8DD560, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000006, PlaySoundAt, 0x000020EC, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x00000006, PlaySoundAt, 0x000020B4, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD2B, 0x00000075, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD97, 0x0000006C, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A7E80, 0x00000024, 0x00000002, 0xFE363C83, 0x00000006, 0x00000044, 0x00000001, D_80243460_8DD560, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000006, PlaySoundAt, 0x000020EC, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x00000006, PlaySoundAt, 0x000020B4, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD2B, 0x00000075, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD97, 0x0000006C, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A8080, 0x00000024, 0x00000002, 0xFE363C83, 0x00000008, 0x00000044, 0x00000001, D_80243460_8DD560, 0x00000008, 0x00000001, 0x0000001C, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000050, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x00000020, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620102, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620002, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7DB4, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0xF24A7DB4, 0x00000056, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFFFFFE70, 0x00000000, 0xFFFFFF5E, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFFFFFE50, 0x00000082, 0xFFFFFF6E, 0x0000001E, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFFFFFE70, 0x00000000, 0xFFFFFFD7, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFFFFFE64, 0x00000082, 0xFFFFFFDD, 0x0000001E, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7DB4, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFE6B, 0x00000000, 0xFFFFFFA5, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x000003E7, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFFFFFE5D, 0x00000077, 0xFFFFFFA5, 0x0000001E, 0x00000043, 0x00000006, PlaySoundAt, 0x000020EC, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x00000006, PlaySoundAt, 0x000020B4, 0x00000000, 0xFFFFFEB6, 0x00000000, 0xFFFFFF7E, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD2B, 0x00000075, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFFFFFD97, 0x0000006C, 0xFFFFFF77, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A7E80, 0x00000057, 0x00000000, 0x00000046, 0x00000001, D_80242430_8DC530, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000037, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00630001, 0x00630001, 0x00000000, 0x000B00C6, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00620004, 0x00620002, 0x00000000, 0x000B00C7, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00620104, 0x00620102, 0x00000000, 0x000B00C8, 0x00000046, 0x00000001, D_8024237C_8DC47C, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000B00C9, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000046, 0x00000001, D_80242430_8DC530, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00630001, 0x00630001, 0x00000000, 0x000B00CA, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, SetNpcVar, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_80240344_8DA444, 0x00000020, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000044, 0x00000001, D_80243514_8DD614, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_11/8DE400.data.s b/ver/us/asm/data/world/area_kmr/kmr_11/8DE400.data.s deleted file mode 100644 index c91b8587f6..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_11/8DE400.data.s +++ /dev/null @@ -1,63 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80244300_8DE400 -.word 0x43020000, 0x00000000, 0x00000001, 0x40200000, 0x000000B4, 0x00000003, 0x43160000, 0x00000000, 0x00000001 - -dlabel D_80244324_8DE424 -.word 0x00000043, 0x00000002, kmr_11_StationaryAI_Main, D_80244300_8DE400, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244344_8DE444 -.word 0x00000000, 0x00140017, 0x00000000, 0x00000000, D_80244324_8DE424, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00050000 - -dlabel D_80244370_8DE470 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244380_8DE480 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244390_8DE490 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFF90, 0x0000000A, 0x00000002, 0xF8405BAD, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, AwaitPlayerApproach, 0xFE363C80, 0xFE363C82, 0x0000012C, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8680, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFDCC, 0xFFFFFFC0, 0x00000000, 0x00000012, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0xFFFFFF90, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0xF24A7DB4, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A7DB4, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7DB4, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetAngleToPlayer, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C80, 0xFE363C82, 0xF24C0A80, 0xFE363C83, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000001E, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetAngleToPlayer, 0x00000000, 0xFE363C83, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C80, 0xFE363C82, 0xF24C0A80, 0xFE363C83, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x0000010F, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000001E, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetAngleToPlayer, 0x00000002, 0xFE363C83, 0x00000043, 0x00000005, AddVectorPolar, 0xFE363C80, 0xFE363C82, 0xF24C0A80, 0xFE363C83, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x000003E7, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000001E, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, StartBossBattle, 0x00000007, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802446C4_8DE7C4 -.word 0x00000043, 0x00000003, SetEncounterStatusFlags, 0x00000002, 0x00000001, 0x00000043, 0x00000001, kmr_11_UnkFogFunc, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000002, func_80240344_8DA444, 0x00000019, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00630003, 0x00630001, 0x00000000, 0x000B00D1, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A9280, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000001, 0xF24A9280, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000002, 0xF24A9280, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00620106, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00620006, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00630004, 0x00000056, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFE9A, 0xFFFFFF95, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFFFFFE74, 0xFFFFFF87, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, NpcMoveTo, 0x00000001, 0xFFFFFE74, 0xFFFFFFA7, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000005, 0x000001C3, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000000D, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000000B, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x00000014, 0x0000000A, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000000D, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000000B, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000005, 0x000001C4, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x00000005, 0xF24A8280, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF90, 0x00000044, 0x00000001, 0x802411C0, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0xF24A8A80, 0x00000000, 0xF24E6280, 0xF24AB680, 0xF24A5C80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000B00D2, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244BA8_8DECA8 -.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_802446C4_8DE7C4, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A9280, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFC46, 0xFFFFFFCE, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244C44_8DED44 -.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244C9C_8DED9C -.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244CF4_8DEDF4 -.word 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF94, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244D2C_8DEE2C -.word 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, kmr_11_UnkNpcPosFunc, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x00000028, 0x00000002, 0xFE363C83, 0xFE363C86, 0x00000028, 0x00000002, 0xFE363C84, 0xFE363C87, 0x00000028, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244F4C_8DF04C -.word 0x00000001, 0x00000002, 0x00000003, 0x00000002, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF - -dlabel D_80244F74_8DF074 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80244F4C_8DF04C, 0x00000005, 0x00000001, 0x0000000A, 0x00000031, 0x00000001, 0xFE363C81, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024501C_8DF11C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80244370_8DE470, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_80244C44_8DED44, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFF90, 0x0000000A, 0x00000002, 0xF8405BAD, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFFFFFE50, 0x00000082, 0xFFFFFF6E, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0xFFFFFF90, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000200, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802450E8_8DF1E8 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80244380_8DE480, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_80244C9C_8DED9C, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFF90, 0x0000000A, 0x00000002, 0xF8405BAD, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFFFFFE64, 0x00000082, 0xFFFFFFDD, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0xFFFFFF90, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00000200, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802451B4_8DF2B4 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80244390_8DE490, 0x00000043, 0x00000003, BindNpcDefeat, 0xFFFFFFFF, D_80244BA8_8DECA8, 0x00000043, 0x00000004, SetNpcCollisionSize, 0xFFFFFFFF, 0x00000046, 0x00000032, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFF90, 0x0000000A, 0x00000002, 0xF8405BAD, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFE5D, 0x00000077, 0xFFFFFFA5, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0xFFFFFF92, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFFFFFE9A, 0x00000000, 0xFFFFFF95, 0x0000001B, 0x00000001, 0xFFFFFF92, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024529C_8DF39C -.word 0x0060000A, 0x00180018, D_80244CF4_8DEDF4, 0x00000000, D_80244F74_8DF074, 0x00000000, D_80244D2C_8DEE2C, 0x00000000, 0x00200905, 0x00000000, 0x00000000 - -dlabel D_802452C8_8DF3C8 -.word 0x00000000, D_80244344_8DE444, 0x00000000, 0xC47A0000, 0x00000000, 0x00A40104, D_8024501C_8DF11C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00620102, 0x00620104, 0x00620106, 0x00620106, 0x00620102, 0x00620102, 0x00620109, 0x00620109, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00620106, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80244344_8DE444, 0x00000000, 0xC47A0000, 0x00000000, 0x00A40104, D_802450E8_8DF1E8, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00620002, 0x00620004, 0x00620006, 0x00620006, 0x00620002, 0x00620002, 0x00620009, 0x00620009, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00620006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_80244344_8DE444, 0x00000000, 0xC47A0000, 0x00000000, 0x00A40104, D_802451B4_8DF2B4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630001, 0x00630003, 0x00630004, 0x00630004, 0x00630001, 0x00630001, 0x00630006, 0x00630006, 0x00630004, 0x00630004, 0x00630004, 0x00630004, 0x00630004, 0x00630004, 0x00630004, 0x00630004, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80245898_8DF998 -.word 0x00000004, D_8024529C_8DF39C, 0x00000000, 0xC47A0000, 0x00000000, 0x00200001, 0x00000000, 0x00000001, 0x00000000, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, D_802452C8_8DF3C8, 0x01010000, 0x00000001, D_80245898_8DF998, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_11/8DFBB0.data.s b/ver/us/asm/data/world/area_kmr/kmr_11/8DFBB0.data.s deleted file mode 100644 index 439bce675d..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_11/8DFBB0.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80245AB0_8DFBB0 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00630001, 0x00630001, 0x00000000, 0x000B00D3, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x0062000A, 0x00620002, 0x00000000, 0x000B00D4, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00630001, 0x00630001, 0x00000000, 0x000B00D5, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x0062010A, 0x00620102, 0x00000000, 0x000B00D6, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x0062000A, 0x00620002, 0x00000000, 0x000B00D7, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245C0C_8DFD0C -.word 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C8A, 0xFD050F80, 0x00000043, 0x00000001, func_80240EC0_8DAFC0, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF91, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFFFFFE87, 0xFFFFFFF8, 0x00000051, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x01000000, 0x00000001, 0x00000045, 0x00000002, D_80245C0C_8DFD0C, 0xFE363C8B, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A8280, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFFFFFE43, 0x00000000, 0x0000005C, 0x0000000F, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0xFFFFFE2B, 0x00000001, 0x0000005C, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0xF24A8280, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFFFFFE2B, 0x00000000, 0x0000005C, 0x00000007, 0x00000049, 0x00000001, 0xFE363C8B, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF91, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245DCC_8DFECC -.word 0x00000043, 0x00000002, PlaySound, 0x0000000B, 0x00000043, 0x00000006, PlaySoundAt, 0x00002108, 0x00000000, 0x00000299, 0x00000023, 0x00000046, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000000, 0x00000299, 0x00000030, 0x00000046, 0x0000000A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_YellowBlock, 0x00000299, 0x00000023, 0x00000046, 0x0000002D, 0x0000008C, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405BD1, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000E, 0x00000002, 0xF5DE0180, 0xFFFFFF91, 0x0000000A, 0x00000002, 0xF5DE0180, 0xFFFFFF91, 0x00000043, 0x00000007, MakeEntity, Entity_BlueSwitch, 0xFFFFFE2B, 0x00000000, 0x00000099, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignSwitchFlag, 0x00000004, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000047, 0x00000005, 0x80242CF4, 0x00020000, 0xF9718884, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80245AB0_8DFBB0, 0x00000100, 0x00000005, 0x00000001, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BlueSwitch, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignSwitchFlag, 0x00000004, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000047, 0x00000005, 0x80242CF4, 0x00020000, 0xF9718884, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80245AB0_8DFBB0, 0x00000100, 0x00000005, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000271, 0xFFFFFFE7, 0x0000006E, 0x0000002D, 0x80000000, 0x0000000A, 0x00000002, 0xF8405BD1, 0x00000000, 0x00000043, 0x00000002, AssignScript, D_80245DCC_8DFECC, 0x00000012, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_YellowBlock, 0x00000299, 0x00000023, 0x00000046, 0x0000002D, 0x0000008C, 0x80000000, 0x00000043, 0x00000002, AssignBlockFlag, 0xF8405BD1, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0x00000226, 0x00000000, 0xFFFFFDDA, 0x00000000, 0x00000042, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405BDA, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_11/8E0190.data.s b/ver/us/asm/data/world/area_kmr/kmr_11/8E0190.data.s deleted file mode 100644 index 7da1934b06..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_11/8E0190.data.s +++ /dev/null @@ -1,507 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80246090_8E0190 -.word 0x00000000, 0x00000000, 0x00000000, 0x42C80000, 0x42480000, 0x00000000, 0x43480000, 0x43160000, 0x00000000, 0x437A0000, 0x43C80000, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000046, 0x00000000, 0x00000008, 0x00000043, 0x00000004, SetNpcVar, 0x00000004, 0x00000000, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000064, 0x000000B6, 0xFFFFFE9F, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000064, 0x00000000, 0xFFFFFF24, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000064, 0x00000000, 0xFFFFFF24, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000498, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x0000003B, 0xFFFFFF61, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFFE8, 0xFFFFFF00, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000008, 0xFFFFFFFB, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000064, 0x00000000, 0xFFFFFF24, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000064, 0x000000BE, 0xFFFFFE9F, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000000FA, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000064, 0x00000000, 0xFFFFFF24, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000064, 0x000000BE, 0xFFFFFE9F, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000003E8, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7D1A, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000043, 0x00000005, LoadPath, 0x00000050, D_80246090_8E0190, 0x00000004, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, GetNextPathPos, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C88, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000018, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000004, 0x00000295, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000046, 0x00000001, 0x80241C24, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel hos_06_D_80246430 -.word 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C8F, 0xFE363C87, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dup_kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0x00000001, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000153, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dup_kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xFFFFFFFF, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000033, 0x00000003, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000033, 0x00000003, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000046, 0x00000001, 0xFE363C84, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246790_8E0890 -.word 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, PlaySound, 0x00000165, 0x00000043, 0x00000002, PlaySound, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dup_kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dup_kmr_11_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, dup_kmr_11_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, dup_kmr_11_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, TranslateModel, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246D94_8E0E94 -.word 0x00000001, 0x0000005D - -dlabel D_80246D9C_8E0E9C -.word 0x00000001, 0xFFFFFEFF, 0x0000000D, 0x00000020 - -dlabel D_80246DAC_8E0EAC -.word D_80246D94_8E0E94, 0x00000000, D_80246D9C_8E0E9C, 0x00000000 - -dlabel D_80246DBC_8E0EBC -.word 0x00000001, 0x0000005E - -dlabel D_80246DC4_8E0EC4 -.word 0x00000001, 0x0000019F, 0x00000015, 0xFFFFFF30 - -dlabel D_80246DD4_8E0ED4 -.word D_80246DBC_8E0EBC, 0x00000000, D_80246DC4_8E0EC4, 0x00000000 - -dlabel D_80246DE4_8E0EE4 -.word 0x00000001, 0x00000056 - -dlabel D_80246DEC_8E0EEC -.word 0x00000001, 0xFFFFFC77, 0x00000015, 0x00000048 - -dlabel D_80246DFC_8E0EFC -.word D_80246DE4_8E0EE4, 0x00000000, D_80246DEC_8E0EEC, 0x00000000 - -dlabel D_80246E0C_8E0F0C -.word 0x00000001, 0x0000004E - -dlabel D_80246E14_8E0F14 -.word 0x00000001, 0x0000004D - -dlabel D_80246E1C_8E0F1C -.word 0x00000001, 0x0000015C, 0xFFFFFD39, 0x00000079, 0xFFFFFF97, 0x0000000D, 0xF8405BD2, 0xFAA2B58A - -dlabel D_80246E3C_8E0F3C -.word 0x00000002, 0xFFFFFD2B, 0x00000075, 0xFFFFFF77, 0xFFFFFD97, 0x0000006C, 0xFFFFFF77 - -dlabel D_80246E58_8E0F58 -.word D_80246E0C_8E0F0C, D_80246E14_8E0F14, D_80246E1C_8E0F1C, D_80246E3C_8E0F3C, 0x00000000 - -dlabel D_80246E6C_8E0F6C -.word 0xC4264000, 0x00000000, 0xC3150000, 0x00000000 - -dlabel D_80246E7C_8E0F7C -.word 0x00000001, 0x0000004B - -dlabel D_80246E84_8E0F84 -.word 0x00000001, 0x0000004C - -dlabel D_80246E8C_8E0F8C -.word 0x00000001, 0x00000157, 0x00000133, 0x00000073, 0xFFFFFE32, 0x0000000F, 0xF8405BD3, 0x00000000 - -dlabel D_80246EAC_8E0FAC -.word 0x00000002, 0x00000103, 0x0000004D, 0xFFFFFE45, 0x00000162, 0x00000060, 0xFFFFFE0C - -dlabel D_80246EC8_8E0FC8 -.word D_80246E7C_8E0F7C, D_80246E84_8E0F84, D_80246E8C_8E0F8C, D_80246EAC_8E0FAC, 0x00000000 - -dlabel D_80246EDC_8E0FDC -.word 0x43A00000, 0x00000000, 0xC3F80000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80246DAC_8E0EAC, 0x00000047, 0x00000005, hos_06_D_80246430, 0x00000100, 0x0000000C, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80246DD4_8E0ED4, 0x00000047, 0x00000005, hos_06_D_80246430, 0x00000100, 0x0000000D, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80246DFC_8E0EFC, 0x00000047, 0x00000005, hos_06_D_80246430, 0x00000100, 0x00000014, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80246E58_8E0F58, 0x00000047, 0x00000005, D_80246790_8E0890, 0x00001000, 0x0000000A, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80246790_8E0890, 0x00100000, D_80246E6C_8E0F6C, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80246EC8_8E0FC8, 0x00000047, 0x00000005, D_80246790_8E0890, 0x00001000, 0x0000000B, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80246790_8E0890, 0x00100000, D_80246EDC_8E0FDC, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247010_8E1110 -.word 0x00000000, 0x00008AB5, 0x00000000, 0xC3A70000, 0xC38E8000, 0xC2EC0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x001C0000 - -dlabel D_8024703C_8E113C -.word 0x00000000, 0x80010000, 0x00000000, 0x00000000, 0x42B20000, 0x00000000, 0x00000000, D_80247010_8E1110, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247068_8E1168 -.word 0x00000000, 0x80016C43, 0x00000000, 0xC0400000, 0xC1A00000, 0xC2CE0000, 0x00000000, D_8024703C_8E113C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247094_8E1194 -.word 0x00000000, 0x00006008, 0x00000000, 0xC3010000, 0xC38E8000, 0xC3C10000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x001F0000 - -dlabel D_802470C0_8E11C0 -.word 0x00000000, 0x80010000, 0x00000000, 0x00000000, 0x42B20000, 0x00000000, 0x00000000, D_80247094_8E1194, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802470EC_8E11EC -.word 0x00000000, 0x800196F0, 0x00000000, 0xC29A0000, 0xC1A00000, 0xC2CA0000, D_80247068_8E1168, D_802470C0_8E11C0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247118_8E1218 -.word 0x00000000, 0x0000355E, 0x00000000, 0x434D0000, 0xC38E8000, 0xC3AB0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00220000 - -dlabel D_80247144_8E1244 -.word 0x00000000, 0x80010000, 0x00000000, 0x00000000, 0x42B20000, 0x00000000, 0x00000000, D_80247118_8E1218, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247170_8E1270 -.word 0x00000000, 0x8001C19B, 0x00000000, 0xC2DE0000, 0xC1A00000, 0xC20C0000, D_802470EC_8E11EC, D_80247144_8E1244, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024719C_8E129C -.word 0x00000000, 0x00000AB3, 0x00000000, 0x43A70000, 0xC38E8000, 0xC1F80000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00130000 - -dlabel D_802471C8_8E12C8 -.word 0x00000000, 0x80010000, 0x00000000, 0x00000000, 0x42B20000, 0x00000000, 0x00000000, D_8024719C_8E129C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802471F4_8E12F4 -.word 0x00000000, 0x8001EC45, 0x00000000, 0xC28E0000, 0xC1A00000, 0x41D80000, D_80247170_8E1270, D_802471C8_8E12C8, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247220_8E1320 -.word 0x00000000, 0x0000E00A, 0x00000000, 0x43010000, 0xC38E8000, 0x436C0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00160000 - -dlabel D_8024724C_8E134C -.word 0x00000000, 0x80010000, 0x00000000, 0x00000000, 0x42B20000, 0x00000000, 0x00000000, D_80247220_8E1320, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247278_8E1378 -.word 0x00000000, 0x800116EE, 0x00000000, 0x40000000, 0xC1A00000, 0x41C00000, D_802471F4_8E12F4, D_8024724C_8E134C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802472A4_8E13A4 -.word 0x00000000, 0x0000B560, 0x00000000, 0xC34D0000, 0xC38E8000, 0x43400000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00190000 - -dlabel D_802472D0_8E13D0 -.word 0x00000000, 0x80010000, 0x00000000, 0x00000000, 0x42B20000, 0x00000000, 0x00000000, D_802472A4_8E13A4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802472FC_8E13FC -.word 0x00000000, 0x80014199, 0x00000000, 0x42100000, 0xC1A00000, 0xC2240000, D_80247278_8E1378, D_802472D0_8E13D0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247328_8E1428 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802472FC_8E13FC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247354_8E1454 -.word 0x00000000, 0x00008AB5, 0x00000000, 0xC3A70000, 0xC3440000, 0xC2EA0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x001D0000 - -dlabel D_80247380_8E1480 -.word 0x00000000, 0x80016C43, 0x00000000, 0xC0400000, 0xC2DA0000, 0xC2CE0000, 0x00000000, D_80247354_8E1454, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802473AC_8E14AC -.word 0x00000000, 0x00006008, 0x00000000, 0xC3010000, 0xC3440000, 0xC3C08000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00200000 - -dlabel D_802473D8_8E14D8 -.word 0x00000000, 0x800196F0, 0x00000000, 0xC29A0000, 0xC2DA0000, 0xC2CA0000, D_80247380_8E1480, D_802473AC_8E14AC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247404_8E1504 -.word 0x00000000, 0x0000355E, 0x00000000, 0x434D0000, 0xC3440000, 0xC3AA8000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00230000 - -dlabel D_80247430_8E1530 -.word 0x00000000, 0x8001C19B, 0x00000000, 0xC2DE0000, 0xC2DA0000, 0xC20C0000, D_802473D8_8E14D8, D_80247404_8E1504, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024745C_8E155C -.word 0x00000000, 0x00000AB3, 0x00000000, 0x43A70000, 0xC3440000, 0xC1F00000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00140000 - -dlabel D_80247488_8E1588 -.word 0x00000000, 0x8001EC45, 0x00000000, 0xC28E0000, 0xC2DA0000, 0x41D80000, D_80247430_8E1530, D_8024745C_8E155C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802474B4_8E15B4 -.word 0x00000000, 0x0000E00A, 0x00000000, 0x43010000, 0xC3440000, 0x436D0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00170000 - -dlabel D_802474E0_8E15E0 -.word 0x00000000, 0x800116EE, 0x00000000, 0x40000000, 0xC2DA0000, 0x41C00000, D_80247488_8E1588, D_802474B4_8E15B4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024750C_8E160C -.word 0x00000000, 0x0000B560, 0x00000000, 0xC34D0000, 0xC3440000, 0x43410000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x001A0000 - -dlabel D_80247538_8E1638 -.word 0x00000000, 0x80014199, 0x00000000, 0x42100000, 0xC2DA0000, 0xC2240000, D_802474E0_8E15E0, D_8024750C_8E160C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247564_8E1664 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80247328_8E1428, D_80247538_8E1638, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247590_8E1690 -.word 0x00000000, 0x00006008, 0x00000000, 0xC3010000, 0xC2D40000, 0xC3C00000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00210000 - -dlabel D_802475BC_8E16BC -.word 0x00000000, 0x000096F0, 0x00000000, 0xC2980000, 0xC2D40000, 0xC2C80000, 0x00000000, D_80247590_8E1690, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802475E8_8E16E8 -.word 0x00000000, 0x00008AB5, 0x00000000, 0xC3A70000, 0xC2D40000, 0xC2E80000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x001E0000 - -dlabel D_80247614_8E1714 -.word 0x00000000, 0x00006C43, 0x00000000, 0xC0400000, 0xC2D40000, 0xC2CE0000, D_802475BC_8E16BC, D_802475E8_8E16E8, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247640_8E1740 -.word 0x00000000, 0x0000355E, 0x00000000, 0x434D0000, 0xC2D40000, 0xC3AA0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00240000 - -dlabel D_8024766C_8E176C -.word 0x00000000, 0x0000C19B, 0x00000000, 0xC2DC0000, 0xC2D40000, 0xC20C0000, D_80247614_8E1714, D_80247640_8E1740, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247698_8E1798 -.word 0x00000000, 0x00000AB3, 0x00000000, 0x43A70000, 0xC2D40000, 0xC1E80000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00150000 - -dlabel D_802476C4_8E17C4 -.word 0x00000000, 0x0000EC45, 0x00000000, 0xC28E0000, 0xC2D40000, 0x41D00000, D_8024766C_8E176C, D_80247698_8E1798, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802476F0_8E17F0 -.word 0x00000000, 0x0000E00A, 0x00000000, 0x43010000, 0xC2D40000, 0x436E0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00180000 - -dlabel D_8024771C_8E181C -.word 0x00000000, 0x000016EE, 0x00000000, 0x3F800000, 0xC2D40000, 0x41B80000, D_802476C4_8E17C4, D_802476F0_8E17F0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247748_8E1848 -.word 0x00000000, 0x0000B560, 0x00000000, 0xC34D0000, 0xC2D40000, 0x43420000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x001B0000 - -dlabel D_80247774_8E1874 -.word 0x00000000, 0x00004199, 0x00000000, 0x420C0000, 0xC2D40000, 0xC2240000, D_8024771C_8E181C, D_80247748_8E1848, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802477A0_8E18A0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80247564_8E1664, D_80247774_8E1874, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802477CC_8E18CC -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802477A0_8E18A0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802477F8_8E18F8 -.word 0x00000000, 0x00000907, 0x00000000, 0xC3850000, 0x00000000, 0xC2C60000, 0x00000000, D_802477CC_8E18CC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247824_8E1924 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00890000 - -dlabel D_80247850_8E1950 -.word 0x00000000, 0x00000000, 0x00000000, 0xC2480000, 0xC3600000, 0x00000000, 0x00000000, D_80247824_8E1924, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024787C_8E197C -.word 0x00000000, 0x0000E001, 0x00000000, 0xC2860000, 0x00000000, 0x42AC0000, 0x00000000, D_80247850_8E1950, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802478A8_8E19A8 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x008A0000 - -dlabel D_802478D4_8E19D4 -.word 0x00000000, 0x00000000, 0x80010000, 0xC2960000, 0xC3C80000, 0x00000000, 0x00000000, D_802478A8_8E19A8, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247900_8E1A00 -.word 0x00000000, 0x0000E001, 0x00000000, 0xC2540000, 0x00000000, 0x42900000, D_8024787C_8E197C, D_802478D4_8E19D4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024792C_8E1A2C -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x008B0000 - -dlabel D_80247958_8E1A58 -.word 0x00000000, 0x00000000, 0xC0010000, 0xC2480000, 0xC3600000, 0x00000000, 0x00000000, D_8024792C_8E1A2C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247984_8E1A84 -.word 0x00000000, 0x0000E001, 0x00000000, 0xC2680000, 0x00000000, 0x425C0000, D_80247900_8E1A00, D_80247958_8E1A58, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802479B0_8E1AB0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80247984_8E1A84, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802479DC_8E1ADC -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00860000 - -dlabel D_80247A08_8E1B08 -.word 0x00000000, 0x00000000, 0x00000000, 0xC2480000, 0xC3600000, 0x00000000, 0x00000000, D_802479DC_8E1ADC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247A34_8E1B34 -.word 0x00000000, 0x0000C001, 0x00000000, 0xC3900000, 0x00000000, 0x434C0000, 0x00000000, D_80247A08_8E1B08, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247A60_8E1B60 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00870000 - -dlabel D_80247A8C_8E1B8C -.word 0x00000000, 0x00000000, 0x80010000, 0xC2960000, 0xC3C80000, 0x00000000, 0x00000000, D_80247A60_8E1B60, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247AB8_8E1BB8 -.word 0x00000000, 0x0000C001, 0x00000000, 0xC3960000, 0x00000000, 0x43490000, D_80247A34_8E1B34, D_80247A8C_8E1B8C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247AE4_8E1BE4 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00880000 - -dlabel D_80247B10_8E1C10 -.word 0x00000000, 0x00000000, 0xC0010000, 0xC2480000, 0xC3600000, 0x00000000, 0x00000000, D_80247AE4_8E1BE4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247B3C_8E1C3C -.word 0x00000000, 0x0000C001, 0x00000000, 0xC3868000, 0x00000000, 0x433A0000, D_80247AB8_8E1BB8, D_80247B10_8E1C10, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247B68_8E1C68 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802479B0_8E1AB0, D_80247B3C_8E1C3C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247B94_8E1C94 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC1A00000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x007E0000 - -dlabel D_80247BC0_8E1CC0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC3C80000, 0x434B0000, 0x00000000, D_80247B94_8E1C94, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247BEC_8E1CEC -.word 0x00000000, 0x00000000, 0x00000000, 0xC3878000, 0x00000000, 0x42540000, 0x00000000, D_80247BC0_8E1CC0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247C18_8E1D18 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC1A00000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00820000 - -dlabel D_80247C44_8E1D44 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC3C80000, 0x434B0000, 0x00000000, D_80247C18_8E1D18, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247C70_8E1D70 -.word 0x00000000, 0x0000071C, 0x00000000, 0xC3878000, 0x00000000, 0x42540000, D_80247BEC_8E1CEC, D_80247C44_8E1D44, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247C9C_8E1D9C -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC1A00000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00830000 - -dlabel D_80247CC8_8E1DC8 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC3C80000, 0x434B0000, 0x00000000, D_80247C9C_8E1D9C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247CF4_8E1DF4 -.word 0x00000000, 0x00003554, 0x00000000, 0xC3878000, 0x00000000, 0x42540000, D_80247C70_8E1D70, D_80247CC8_8E1DC8, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247D20_8E1E20 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC1A00000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00840000 - -dlabel D_80247D4C_8E1E4C -.word 0x00000000, 0x00003FFF, 0x00000000, 0x00000000, 0xC3C80000, 0x434B0000, 0x00000000, D_80247D20_8E1E20, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247D78_8E1E78 -.word 0x00000000, 0x0000238D, 0x00000000, 0xC3878000, 0x00000000, 0x42540000, D_80247CF4_8E1DF4, D_80247D4C_8E1E4C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247DA4_8E1EA4 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC1A00000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00850000 - -dlabel D_80247DD0_8E1ED0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC3C80000, 0x434B0000, 0x00000000, D_80247DA4_8E1EA4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247DFC_8E1EFC -.word 0x00000000, 0x0000F1C8, 0x00000000, 0xC3878000, 0x00000000, 0x42540000, D_80247D78_8E1E78, D_80247DD0_8E1ED0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247E28_8E1F28 -.word 0x00000000, 0x00000000, 0x00000000, 0xC1F00000, 0x41A00000, 0xC1F00000, D_80247B68_8E1C68, D_80247DFC_8E1EFC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247E54_8E1F54 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00810000 - -dlabel D_80247E80_8E1F80 -.word 0x00000000, 0x00000000, 0x80010000, 0xC3070000, 0xC3C80000, 0xC33F0000, 0x00000000, D_80247E54_8E1F54, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247EAC_8E1FAC -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00800000 - -dlabel D_80247ED8_8E1FD8 -.word 0x00000000, 0x00000000, 0x00000000, 0xC3160000, 0xC3C80000, 0xC33F0000, D_80247E80_8E1F80, D_80247EAC_8E1FAC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247F04_8E2004 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x007F0000 - -dlabel D_80247F30_8E2030 -.word 0x00000000, 0x00000000, 0x00000000, 0xC3070000, 0xC3C80000, 0xC33F0000, D_80247ED8_8E1FD8, D_80247F04_8E2004, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247F5C_8E205C -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80247E28_8E1F28, D_80247F30_8E2030, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247F88_8E2088 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802477F8_8E18F8, D_80247F5C_8E205C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80247FB4_8E20B4 -.word 0x00000000, 0x0000F6F9, 0x00000000, 0x438A0000, 0xC3C88000, 0x43420000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00010000 - -dlabel D_80247FE0_8E20E0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80247FB4_8E20B4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024800C_8E210C -.word 0x00000000, 0x00008189, 0x00000000, 0x41000000, 0x41D00000, 0x42D00000, 0x00000000, D_80247FE0_8E20E0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80248038_8E2138 -.word 0x00000000, 0x00007E77, 0x00000000, 0xC0C00000, 0x00000000, 0x43450000, 0x00000000, D_8024800C_8E210C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80248064_8E2164 -.word 0x00000000, 0x3FFF0000, 0x00000000, 0x40400000, 0x00000000, 0x42AE0000, 0x00000000, D_80248038_8E2138, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80248090_8E2190 -.word 0x00000000, 0x00000907, 0x00000000, 0x43960000, 0xC37A0000, 0xC3160000, D_80247F88_8E2088, D_80248064_8E2164, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802480BC_8E21BC -.word 0x00000000, 0x00000AAA, 0x00000000, 0x43AD0000, 0xC3A78000, 0xC2080000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00040000 - -dlabel D_802480E8_8E21E8 -.word 0x00000000, 0x0000F556, 0xE71D0000, 0xC3AB8000, 0xC25C0000, 0xC2600000, 0x00000000, D_802480BC_8E21BC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80248114_8E2214 -.word 0x00000000, 0x00003554, 0x00000000, 0x43300000, 0xC34E0000, 0xC3AB0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00020000 - -dlabel D_80248140_8E2240 -.word 0x00000000, 0x1555CAAC, 0x00000000, 0xC3BC0000, 0xC2D40000, 0xC2A40000, D_802480E8_8E21E8, D_80248114_8E2214, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024816C_8E226C -.word 0x00000000, 0x0000E001, 0x00000000, 0x42F40000, 0xC3540000, 0x436B0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00030000 - -dlabel D_80248198_8E2298 -.word 0x00000000, 0x00001FFF, 0x3FFF0000, 0xC37C0000, 0xC2CC0000, 0xC2A00000, D_80248140_8E2240, D_8024816C_8E226C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802481C4_8E22C4 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80248090_8E2190, D_80248198_8E2298, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802481F0_8E22F0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802481C4_8E22C4, 0x00000000, 0x00000000, 0x00000000, D_802481F0_8E22F0, D_802481C4_8E22C4, D_80248198_8E2298, D_8024816C_8E226C, D_80248140_8E2240, D_80248114_8E2214, D_802480E8_8E21E8, D_802480BC_8E21BC, D_80248090_8E2190, D_80248064_8E2164, D_80248038_8E2138, D_8024800C_8E210C, D_80247FE0_8E20E0, D_80247FB4_8E20B4, D_80247F88_8E2088, D_80247F5C_8E205C, D_80247F30_8E2030, D_80247F04_8E2004, D_80247ED8_8E1FD8, D_80247EAC_8E1FAC, D_80247E80_8E1F80, D_80247E54_8E1F54, D_80247E28_8E1F28, D_80247DFC_8E1EFC, D_80247DD0_8E1ED0, D_80247DA4_8E1EA4, D_80247D78_8E1E78, D_80247D4C_8E1E4C, D_80247D20_8E1E20, D_80247CF4_8E1DF4, D_80247CC8_8E1DC8, D_80247C9C_8E1D9C, D_80247C70_8E1D70, D_80247C44_8E1D44, D_80247C18_8E1D18, D_80247BEC_8E1CEC, D_80247BC0_8E1CC0, D_80247B94_8E1C94, D_80247B68_8E1C68, D_80247B3C_8E1C3C, D_80247B10_8E1C10, D_80247AE4_8E1BE4, D_80247AB8_8E1BB8, D_80247A8C_8E1B8C, D_80247A60_8E1B60, D_80247A34_8E1B34, D_80247A08_8E1B08, D_802479DC_8E1ADC, D_802479B0_8E1AB0, D_80247984_8E1A84, D_80247958_8E1A58, D_8024792C_8E1A2C, D_80247900_8E1A00, D_802478D4_8E19D4, D_802478A8_8E19A8, D_8024787C_8E197C, D_80247850_8E1950, D_80247824_8E1924, D_802477F8_8E18F8, D_802477CC_8E18CC, D_802477A0_8E18A0, D_80247774_8E1874, D_80247748_8E1848, D_8024771C_8E181C, D_802476F0_8E17F0, D_802476C4_8E17C4, D_80247698_8E1798, D_8024766C_8E176C, D_80247640_8E1740, D_80247614_8E1714, D_802475E8_8E16E8, D_802475BC_8E16BC, D_80247590_8E1690, D_80247564_8E1664, D_80247538_8E1638, D_8024750C_8E160C, D_802474E0_8E15E0, D_802474B4_8E15B4, D_80247488_8E1588, D_8024745C_8E155C, D_80247430_8E1530, D_80247404_8E1504, D_802473D8_8E14D8, D_802473AC_8E14AC, D_80247380_8E1480, D_80247354_8E1454, D_80247328_8E1428, D_802472FC_8E13FC, D_802472D0_8E13D0, D_802472A4_8E13A4, D_80247278_8E1378, D_8024724C_8E134C, D_80247220_8E1320, D_802471F4_8E12F4, D_802471C8_8E12C8, D_8024719C_8E129C, D_80247170_8E1270, D_80247144_8E1244, D_80247118_8E1218, D_802470EC_8E11EC, D_802470C0_8E11C0, D_80247094_8E1194, D_80247068_8E1168, D_8024703C_8E113C, D_80247010_8E1110, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00050001, 0x00000000, 0x00000008, 0x00010000, 0x00000000, 0x00110001, 0x00B600B6, 0x00B60005, 0x00020000, 0x00000000, 0x00080002, 0x00000000, 0x00000011, 0x000200B6, 0x00B600B6, 0x00050003, 0x00001FFF, 0x00000008, 0x0003FF04, 0x00D4FFB0, 0x00110003, 0x00B600B6, 0x00B60005, 0x00040000, flower_splash_update_part_transform, 0x00080004, 0x007AFF2C, 0x00EB0011, 0x000400B6, 0x00B600B6, 0x00050005, 0x0000CAAC, 0x00000008, 0x0005FE88, 0x00CEFFAE, 0x00110005, 0x00B600B6, 0x00B60005, 0x00060000, 0x35540000, 0x00080006, 0x00B0FF32, 0xFEAA0011, 0x000600B6, 0x00B600B6, 0x00050007, 0x0000F556, 0x00000008, 0x0007FEA9, 0x014FFFC8, 0x00110007, 0x00B600B6, 0x00B60005, 0x00080000, 0x0AAA0000, 0x00080008, 0x015AFEB1, 0xFFDE0011, 0x000800B6, 0x00B600B6, 0x00050009, 0x00000907, 0x00000008, 0x0009FEC9, 0x0176FF7F, 0x00110009, 0x00B600B6, 0x00B60005, 0x000A0000, 0x00000000, 0x0008000A, 0x00030000, 0x00570011, 0x000A00B6, 0x00B600B6, 0x0005000B, 0x00007E77, 0x00000008, 0x000B0000, 0x00000011, 0x0011000B, 0x00B600B6, 0x00B60005, 0x000C0000, 0x81890000, 0x0008000C, 0x0008001A, 0x00680011, 0x000C00B6, 0x00B600B6, 0x0005000D, 0x00000000, 0x00000008, 0x000D0000, 0x00000000, 0x0011000D, 0x00B600B6, 0x00B60005, 0x000E0000, 0xF6F90000, 0x0008000E, 0x0114FE6F, 0x00C20011, 0x000E00B6, 0x00B600B6, 0x0005000F, 0x00000000, 0x00000008, 0x000F0000, 0x00000000, 0x0011000F, 0x00B600B6, 0x00B60005, 0x00100000, 0x00000000, 0x00080010, 0x00000000, 0x00000011, 0x001000B6, 0x00B600B6, 0x00050011, 0x00000000, 0x00000008, 0x0011FEFD, 0x0177FF41, 0x00110011, 0x00B600B6, 0x00B60005, 0x00120000, 0x00000000, 0x00080012, 0x00000000, 0x00000011, 0x001200B6, 0x00B600B6, 0x00050013, 0x00000000, 0x00000008, 0x0013FEFD, 0x0177FF41, 0x00110013, 0x00B600B6, 0x00B60005, 0x00140000, 0x00000000, 0x00080014, 0x00000000, 0x00000011, 0x001400B6, 0x00B600B6, 0x00050015, 0x00000000, 0x00000008, 0x0015FF07, 0x0177FF41, 0x00110015, 0x00B600B6, 0x00B60005, 0x00160000, 0x00000000, 0x00080016, 0x00000000, 0x00000011, 0x001600B6, 0x00B600B6, 0x00050017, 0x00000000, 0x00000008, 0x0017FFE2, 0x0014FFE2, 0x00110017, 0x00B600B6, 0x00B60005, 0x00180000, 0xF1C80000, 0x00080018, 0xFEF10000, 0x00350011, 0x001800B6, 0x00B600B6, 0x00050019, 0x00000000, 0x00000008, 0x00190000, 0xFFEC0035, 0x00110019, 0x00B600B6, 0x00B60005, 0x001A0000, 0x00000000, 0x0008001A, 0x0000FFEC, 0x00000011, 0x001A00B6, 0x00B600B6, 0x0005001B, 0x0000238D, 0x00000008, 0x001BFEF1, 0x00000035, 0x0011001B, 0x00B600B6, 0x00B60005, 0x001C0000, 0x3FFF0000, 0x0008001C, 0x0000FFEC, 0x00350011, 0x001C00B6, 0x00B600B6, 0x0005001D, 0x00000000, 0x00000008, 0x001D0000, 0xFFEC0000, 0x0011001D, 0x00B600B6, 0x00B60005, 0x001E0000, 0x35540000, 0x0008001E, 0xFEF10000, 0x00350011, 0x001E00B6, 0x00B600B6, 0x0005001F, 0x00000000, 0x00000008, 0x001F0000, 0xFFEC0035, 0x0011001F, 0x00B600B6, 0x00B60005, 0x00200000, 0x00000000, 0x00080020, 0x0000FFEC, 0x00000011, 0x002000B6, 0x00B600B6, 0x00050021, 0x0000071C, 0x00000008, 0x0021FEF1, 0x00000035, 0x00110021, 0x00B600B6, 0x00B60005, 0x00220000, 0x00000000, 0x00080022, 0x0000FFEC, 0x00350011, 0x002200B6, 0x00B600B6, 0x00050023, 0x00000000, 0x00000008, 0x00230000, 0xFFEC0000, 0x00110023, 0x00B600B6, 0x00B60005, 0x00240000, 0x00000000, 0x00080024, 0xFEF10000, 0x00350011, 0x002400B6, 0x00B600B6, 0x00050025, 0x00000000, 0x00000008, 0x00250000, 0xFFEC0035, 0x00110025, 0x00B600B6, 0x00B60005, 0x00260000, 0x00000000, 0x00080026, 0x0000FFEC, 0x00000011, 0x002600B6, 0x00B600B6, 0x00050027, 0x00000000, 0x00000008, 0x00270000, 0x00000000, 0x00110027, 0x00B600B6, 0x00B60005, 0x00280000, 0xC0010000, 0x00080028, 0xFEF30000, 0x00BA0011, 0x002800B6, 0x00B600B6, 0x00050029, 0x00000000, 0x00000008, 0x0029FEFD, 0x01770000, 0x00110029, 0x00B600B6, 0x00B60005, 0x002A0000, 0x00000000, 0x0008002A, 0x00000000, 0x00000011, 0x002A00B6, 0x00B600B6, 0x0005002B, 0x0000C001, 0x00000008, 0x002BFED4, 0x000000C9, 0x0011002B, 0x00B600B6, 0x00B60005, 0x002C0000, 0x00000000, 0x0008002C, 0xFEFD0177, 0x00000011, 0x002C00B6, 0x00B600B6, 0x0005002D, 0x00000000, 0x00000008, 0x002D0000, 0x00000000, 0x0011002D, 0x00B600B6, 0x00B60005, 0x002E0000, 0xC0010000, 0x0008002E, 0xFEE00000, 0x00CC0011, 0x002E00B6, 0x00B600B6, 0x0005002F, 0x00000000, 0x00000008, 0x002FFEFD, 0x01770000, 0x0011002F, 0x00B600B6, 0x00B60005, 0x00300000, 0x00000000, 0x00080030, 0x00000000, 0x00000011, 0x003000B6, 0x00B600B6, 0x00050031, 0x00000000, 0x00000008, 0x00310000, 0x00000000, 0x00110031, 0x00B600B6, 0x00B60005, 0x00320000, flower_splash_update_part_transform, 0x00080032, 0xFFC60000, 0x00370011, 0x003200B6, 0x00B600B6, 0x00050033, 0x00000000, 0x00000008, 0x0033FEFD, 0x01770000, 0x00110033, 0x00B600B6, 0x00B60005, 0x00340000, 0x00000000, 0x00080034, 0x00000000, 0x00000011, 0x003400B6, 0x00B600B6, 0x00050035, 0x0000E001, 0x00000008, 0x0035FFCB, 0x00000048, 0x00110035, 0x00B600B6, 0x00B60005, 0x00360000, 0x00000000, 0x00080036, 0xFEFD0177, 0x00000011, 0x003600B6, 0x00B600B6, 0x00050037, 0x00000000, 0x00000008, 0x00370000, 0x00000000, 0x00110037, 0x00B600B6, 0x00B60005, 0x00380000, flower_splash_update_part_transform, 0x00080038, 0xFFBD0000, 0x00560011, 0x003800B6, 0x00B600B6, 0x00050039, 0x00000000, 0x00000008, 0x0039FEFD, 0x01770000, 0x00110039, 0x00B600B6, 0x00B60005, 0x003A0000, 0x00000000, 0x0008003A, 0x00000000, 0x00000011, 0x003A00B6, 0x00B600B6, 0x0005003B, 0x00000907, 0x00000008, 0x003BFEF6, 0x0000FF9D, 0x0011003B, 0x00B600B6, 0x00B60005, 0x003C0000, 0x00000000, 0x0008003C, 0x00000000, 0x00000011, 0x003C00B6, 0x00B600B6, 0x0005003D, 0x00000000, 0x00000008, 0x003D0000, 0x00000000, 0x0011003D, 0x00B600B6, 0x00B60005, 0x003E0000, 0x41990000, 0x0008003E, 0x0023006A, 0xFFD70011, 0x003E00B6, 0x00B600B6, 0x0005003F, 0x0000B560, 0x00000008, 0x003FFF33, 0xFF9600C2, 0x0011003F, 0x00B600B6, 0x00B60005, 0x00400000, 0x16EE0000, 0x00080040, 0x0001006A, 0x00170011, 0x004000B6, 0x00B600B6, 0x00050041, 0x0000E00A, 0x00000008, 0x00410081, 0xFF9600EE, 0x00110041, 0x00B600B6, 0x00B60005, 0x00420000, 0xEC450000, 0x00080042, 0xFFB9006A, 0x001A0011, 0x004200B6, 0x00B600B6, 0x00050043, 0x00000AB3, 0x00000008, 0x0043014E, 0xFF96FFE3, 0x00110043, 0x00B600B6, 0x00B60005, 0x00440000, 0xC19B0000, 0x00080044, 0xFF92006A, 0xFFDD0011, 0x004400B6, 0x00B600B6, 0x00050045, 0x0000355E, 0x00000008, 0x004500CD, 0xFF96FEAC, 0x00110045, 0x00B600B6, 0x00B60005, 0x00460000, 0x6C430000, 0x00080046, 0xFFFD006A, 0xFF990011, 0x004600B6, 0x00B600B6, 0x00050047, 0x00008AB5, 0x00000008, 0x0047FEB2, 0xFF96FF8C, 0x00110047, 0x00B600B6, 0x00B60005, 0x00480000, 0x96F00000, 0x00080048, 0xFFB4006A, 0xFF9C0011, 0x004800B6, 0x00B600B6, 0x00050049, 0x00006008, 0x00000008, 0x0049FF7F, 0xFF96FE80, 0x00110049, 0x00B600B6, 0x00B60005, 0x004A0000, 0x00000000, 0x0008004A, 0x00000000, 0x00000011, 0x004A00B6, 0x00B600B6, 0x0005004B, 0x00004199, 0x00000008, 0x004B0024, 0x00C4FFD7, 0x0011004B, 0x00B600B6, 0x00B60005, 0x004C0000, 0xB5600000, 0x0008004C, 0xFF33FF3C, 0x00C10011, 0x004C00B6, 0x00B600B6, 0x0005004D, 0x000016EE, 0x00000008, 0x004D0002, 0x00C40018, 0x0011004D, 0x00B600B6, 0x00B60005, 0x004E0000, quizmo_answer_main, 0x0008004E, 0x0081FF3C, 0x00ED0011, 0x004E00B6, 0x00B600B6, 0x0005004F, 0x0000EC45, 0x00000008, 0x004FFFB9, 0x00C4001B, 0x0011004F, 0x00B600B6, 0x00B60005, 0x00500000, 0x0AB30000, 0x00080050, 0x014EFF3C, 0xFFE20011, 0x005000B6, 0x00B600B6, 0x00050051, 0x0000C19B, 0x00000008, 0x0051FF91, 0x00C4FFDD, 0x00110051, 0x00B600B6, 0x00B60005, 0x00520000, 0x355E0000, 0x00080052, 0x00CDFF3C, 0xFEAB0011, 0x005200B6, 0x00B600B6, 0x00050053, 0x000096F0, 0x00000008, 0x0053FFB3, 0x00C4FF9B, 0x00110053, 0x00B600B6, 0x00B60005, 0x00540000, 0x60080000, 0x00080054, 0xFF7FFF3C, 0xFE7F0011, 0x005400B6, 0x00B600B6, 0x00050055, 0x00006C43, 0x00000008, 0x0055FFFD, 0x00C4FF99, 0x00110055, 0x00B600B6, 0x00B60005, 0x00560000, 0x8AB50000, 0x00080056, 0xFEB2FF3C, 0xFF8B0011, 0x005600B6, 0x00B600B6, 0x00050057, 0x00000000, 0x00000008, 0x00570000, 0x00000000, 0x00110057, 0x00B600B6, 0x00B60005, 0x00580000, 0x41990000, 0x00080058, 0x002400C4, 0xFFD70011, 0x005800B6, 0x00B600B6, 0x00050059, 0x00000000, 0x00000008, 0x00590000, 0x00590000, 0x00110059, 0x00B600B6, 0x00B60005, 0x005A0000, 0xB5600000, 0x0008005A, 0xFF33FEE3, 0x00C00011, 0x005A00B6, 0x00B600B6, 0x0005005B, 0x000016EE, 0x00000008, 0x005B0002, 0x00C40018, 0x0011005B, 0x00B600B6, 0x00B60005, 0x005C0000, 0x00000000, 0x0008005C, 0x00000059, 0x00000011, 0x005C00B6, 0x00B600B6, 0x0005005D, 0x0000E00A, 0x00000008, 0x005D0081, 0xFEE300EC, 0x0011005D, 0x00B600B6, 0x00B60005, 0x005E0000, 0xEC450000, 0x0008005E, 0xFFB900C4, 0x001B0011, 0x005E00B6, 0x00B600B6, 0x0005005F, 0x00000000, 0x00000008, 0x005F0000, 0x00590000, 0x0011005F, 0x00B600B6, 0x00B60005, 0x00600000, 0x0AB30000, 0x00080060, 0x014EFEE3, 0xFFE10011, 0x006000B6, 0x00B600B6, 0x00050061, 0x0000C19B, 0x00000008, 0x0061FF91, 0x00C4FFDD, 0x00110061, 0x00B600B6, 0x00B60005, 0x00620000, 0x00000000, 0x00080062, 0x00000059, 0x00000011, 0x006200B6, 0x00B600B6, 0x00050063, 0x0000355E, 0x00000008, 0x006300CD, 0xFEE3FEAA, 0x00110063, 0x00B600B6, 0x00B60005, 0x00640000, 0x96F00000, 0x00080064, 0xFFB300C4, 0xFF9B0011, 0x006400B6, 0x00B600B6, 0x00050065, 0x00000000, 0x00000008, 0x00650000, 0x00590000, 0x00110065, 0x00B600B6, 0x00B60005, 0x00660000, 0x60080000, 0x00080066, 0xFF7FFEE3, 0xFE7E0011, 0x006600B6, 0x00B600B6, 0x00050067, 0x00006C43, 0x00000008, 0x0067FFFD, 0x00C4FF99, 0x00110067, 0x00B600B6, 0x00B60005, 0x00680000, 0x00000000, 0x00080068, 0x00000059, 0x00000011, 0x006800B6, 0x00B600B6, 0x00050069, 0x00008AB5, 0x00000008, 0x0069FEB2, 0xFEE3FF8A, 0x00110069, 0x00B600B6, 0x00B60001, 0x00010005, 0x000D0000, 0x00040000, 0x00080015, 0xFF090177, 0xFF410001, 0x00010005, 0x000D0000, 0x00100000, 0x00080015, 0xFF0A0177, 0xFF410001, 0x00010005, 0x000D0000, 0x00240000, 0x00080015, 0xFF0B0177, 0xFF410001, 0x00010005, 0x000D0000, 0x00400000, 0x00080015, 0xFF0C0177, 0xFF410001, 0x00010008, 0x000B0000, 0x00000012, 0x0005000D, 0x00000065, 0x00000008, 0x0015FF0D, 0x0177FF41, 0x00010001, 0x0005000D, 0x00000091, 0x00000001, 0x00010005, 0x000D0000, 0x00C50000, 0x00080015, 0xFF0E0177, 0xFF410001, 0x00010005, 0x000D0000, 0x01010000, 0x00080015, 0xFF0F0176, 0xFF410001, 0x00010008, 0x000B0000, 0x00000013, 0x0005000D, 0x00000145, 0x00000001, 0x00010005, 0x000D0000, 0x01910000, 0x00080011, 0xFF070177, 0xFF410008, 0x0015FF10, 0x0175FF41, 0x00010001, 0x0005000D, 0x000001E4, 0x00000008, 0x0011FF09, 0x0177FF41, 0x00080015, 0xFF100173, 0xFF410001, 0x00010008, 0x000B0000, 0x00000014, 0x0005000D, 0x0000023F, 0x00000008, 0x0011FF0A, 0x0177FF41, 0x00080015, 0xFF100171, 0xFF410001, 0x00010005, 0x000D0000, 0x02A10000, 0x00080011, 0xFF0B0177, 0xFF410008, 0x0015FF10, 0x016EFF41, 0x00010001, 0x0008000B, 0x00000000, 0x00150005, 0x000D0000, 0x030B0000, 0x00080011, 0xFF0C0177, 0xFF410008, 0x0015FF10, 0x016BFF41, 0x00010001, 0x0005000D, 0x0000037D, 0x00000008, 0x0011FF0D, 0x0177FF41, 0x00080013, 0xFF070177, 0xFF410008, 0x0015FF10, 0x0168FF41, 0x00010001, 0x0008000B, 0x00000000, 0x00160005, 0x000D0000, 0x03F60000, 0x00080013, 0xFF080177, 0xFF410008, 0x0015FF10, 0x0164FF41, 0x00010001, 0x0005000D, 0x00000476, 0x00000008, 0x0011FF0E, 0x0177FF41, 0x00080013, 0xFF090177, 0xFF410008, 0x0015FF10, 0x0160FF41, 0x00010001, 0x0008000B, 0x00000000, 0x00170005, 0x000D0000, 0x04FE0000, 0x00080011, 0xFF0F0176, 0xFF410008, 0x0013FF0A, 0x0177FF41, 0x00080015, 0xFF10015B, 0xFF410001, 0x00010008, 0x000B0000, 0x00000018, 0x0005000D, 0x0000058D, 0x00000008, 0x0013FF0B, 0x0177FF41, 0x00080015, 0xFF100156, 0xFF410001, 0x00010008, 0x000B0000, 0x00000019, 0x0005000D, 0x00000624, 0x00000008, 0x0011FF10, 0x0175FF41, 0x00080015, 0xFF0F0150, 0xFF410008, 0x0033FF07, 0x01770000, 0x00010001, 0x0005000D, 0x000006C1, 0x00000008, 0x0011FF10, 0x0173FF41, 0x00080013, 0xFF0C0177, 0xFF410008, 0x0015FF0F, 0x014AFF41, 0x00080033, 0xFF090177, 0x00000001, 0x00010008, 0x000B0000, 0x0000001A, 0x0005000D, 0x00000766, 0x00000008, 0x0011FF10, 0x0171FF41, 0x00080013, 0xFF0D0177, 0xFF410008, 0x0015FF0E, 0x0144FF41, 0x00080033, 0xFF0B0177, 0x00000001, 0x00010008, 0x000B0000, 0x0000001B, 0x0005000D, 0x00000812, 0x00000008, 0x0011FF10, 0x016EFF41, 0x00080013, 0xFF0E0176, 0xFF410008, 0x0015FF0E, 0x013DFF41, 0x00080033, 0xFF0D0177, 0x00000001, 0x00010008, 0x000B0000, 0x0000001C, 0x0005000D, 0x000008C4, 0x00000008, 0x0011FF10, 0x016BFF41, 0x00080013, 0xFF0F0176, 0xFF410008, 0x0015FF0D, 0x0136FF41, 0x00080033, 0xFF0F0177, 0x00000001, 0x00010008, 0x000B0000, 0x0000001D, 0x0005000D, 0x0000097E, 0x00000008, 0x0011FF10, 0x0168FF41, 0x00080013, 0xFF100175, 0xFF410008, 0x0015FF0C, 0x012EFF41, 0x00080033, 0xFF110177, 0x00000001, 0x00010008, 0x000B0000, 0x0000001E, 0x0005000D, 0x00000A3F, 0x00000008, 0x0011FF10, 0x0164FF41, 0x00080013, 0xFF100173, 0xFF410008, 0x0015FF0B, 0x0126FF41, 0x00080033, 0xFF120177, 0x00000001, 0x00010008, 0x000B0000, 0x0000001F, 0x0005000D, 0x00000B07, 0x00000008, 0x0011FF10, 0x0160FF41, 0x00080013, 0xFF110171, 0xFF410008, 0x0015FF0A, 0x011EFF41, 0x00080033, 0xFF130177, 0x00000001, 0x00010008, 0x000B0000, 0x00000020, 0x0005000D, 0x00000BD6, 0x00000008, 0x0011FF10, 0x015BFF41, 0x00080013, 0xFF12016F, 0xFF410008, 0x0015FF09, 0x0115FF41, 0x00080033, 0xFF140176, 0x00000001, 0x00010008, 0x000B0000, 0x00000021, 0x0005000D, 0x00000CAB, 0x00000008, 0x0011FF10, 0x0156FF41, 0x00080013, 0xFF13016C, 0xFF410008, 0x0015FF08, 0x010CFF41, 0x00080033, 0xFF150176, 0x00000001, 0x00010008, 0x000B0000, 0x00000022, 0x0005000D, 0x00000D87, 0x00000008, 0x0011FF0F, 0x0150FF41, 0x00080013, 0xFF140168, 0xFF410008, 0x0015FF07, 0x0102FF41, 0x00080033, 0xFF160175, 0x00000001, 0x00010008, 0x000B0000, 0x00000024, 0x0005000D, 0x00000E6A, 0x00000008, 0x0011FF0F, 0x014AFF41, 0x00080013, 0xFF140165, 0xFF410005, 0x00150000, 0x0000FBBC, 0x00080015, 0xFF1100F8, 0xFF410008, 0x0033FF16, 0x01730000, 0x00010001, 0x0008000B, 0x00000000, 0x00250005, 0x000D0000, 0x0F540000, 0x00080011, 0xFF0E0144, 0xFF410008, 0x0013FF15, 0x0160FF41, 0x00050015, 0x00000000, 0xF7780008, 0x0015FF1A, 0x00EEFF41, 0x00080033, 0xFF170171, 0x00000001, 0x00010008, 0x000B0000, 0x00000026, 0x0005000D, 0x00001044, 0x00000008, 0x0011FF0E, 0x013DFF41, 0x00080013, 0xFF16015C, 0xFF410005, 0x00150000, 0x0000F334, 0x00080015, 0xFF2200E3, 0xFF410008, 0x0033FF17, 0x016F0000, 0x00010001, 0x0008000B, 0x00000000, 0x00270005, 0x000D0000, 0x113B0000, 0x00080011, 0xFF0D0136, 0xFF410008, 0x0013FF17, 0x0157FF41, 0x00050015, 0x00000000, 0xEEF00008, 0x0015FF2A, 0x00D8FF41, 0x00080033, 0xFF17016C, 0x00000001, 0x00010008, 0x000B0000, 0x00000029, 0x0005000D, 0x00001238, 0x00000008, 0x0011FF0C, 0x012EFF41, 0x00080013, 0xFF180151, 0xFF410005, 0x00150000, 0x0000EAAB, 0x00080015, 0xFF3200CD, 0xFF410008, 0x0033FF17, 0x01680000, 0x00010001, 0x0008000B, 0x00000000, 0x002A0005, 0x000D0000, 0x133C0000, 0x00080011, 0xFF0B0126, 0xFF410008, 0x0013FF19, 0x014CFF41, 0x00050015, 0x00000000, 0xE6670008, 0x0015FF39, 0x00C1FF41, 0x00080033, 0xFF170165, 0x00000001, 0x00010008, 0x000B0000, 0x0000002C, 0x0005000D, 0x00001446, 0x00000008, 0x0011FF0A, 0x011EFF41, 0x00080013, 0xFF190145, 0xFF410005, 0x00150000, 0x0000E223, 0x00080015, 0xFF4000B5, 0xFF410008, 0x0033FF17, 0x01610000, 0x00010001, 0x0008000B, 0x00000000, 0x002D0005, 0x000D0000, 0x15560000, 0x00080011, 0xFF090115, 0xFF410008, 0x0013FF1A, 0x013FFF41, 0x00050015, 0x00000000, 0xDDDF0008, 0x0015FF46, 0x00A8FF41, 0x00080033, 0xFF16015C, 0x00000001, 0x00010008, 0x000B0000, 0x0000002F, 0x0005000D, 0x0000166D, 0x00000008, 0x0011FF08, 0x010CFF41, 0x00080013, 0xFF1B0138, 0xFF410005, 0x00150000, 0x0000D99A, 0x00080015, 0xFF4B009B, 0xFF410008, 0x0033FF16, 0x01570000, 0x00010001, 0x0008000B, 0x00000000, 0x00300005, 0x000D0000, 0x178A0000, 0x00080011, 0xFF070102, 0xFF410008, 0x0013FF1C, 0x0130FF41, 0x00050015, 0x00000000, 0xD5560008, 0x0015FF51, 0x008EFF41, 0x00080033, 0xFF150151, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000032, 0x0005000D, 0x000018AE, 0x00000005, 0x00110000, 0x0000DDDF, 0x00080011, 0xFF1100F8, 0xFF410008, 0x0013FF1D, 0x0128FF41, 0x00050015, 0x00000000, 0xD1120008, 0x0015FF56, 0x0080FF41, 0x00080033, 0xFF14014B, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000034, 0x0005000D, 0x000019D7, 0x00000005, 0x00110000, 0x0000BBBD, 0x00080011, 0xFF1A00EE, 0xFF410008, 0x0013FF1D, 0x0120FF41, 0x00050015, 0x00000000, 0xCCCE0008, 0x0015FF5A, 0x0072FF41, 0x00080033, 0xFF130145, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000036, 0x0005000D, 0x00001B07, 0x00000005, 0x00110000, 0x0000999B, 0x00080011, 0xFF2200E3, 0xFF410008, 0x0013FF1E, 0x0117FF41, 0x00050015, 0x00000000, 0xC8890008, 0x0015FF5E, 0x0064FF41, 0x00080033, 0xFF12013E, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000037, 0x0005000D, 0x00001C3D, 0x00000005, 0x00110000, 0x00007776, 0x00080011, 0xFF2A00D8, 0xFF410008, 0x0013FF1F, 0x010EFF41, 0x00050015, 0x00000000, 0xC4450008, 0x0015FF62, 0x0055FF41, 0x00080033, 0xFF110137, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000039, 0x0005000D, 0x00001D79, 0x00000005, 0x00110000, 0x00005554, 0x00080011, 0xFF3200CD, 0xFF410008, 0x0013FF20, 0x0105FF41, 0x00050015, 0x00000000, 0xC0010008, 0x0015FF65, 0x0046FF41, 0x00080033, 0xFF10012F, 0x00000008, 0x0039FF07, 0x01770000, 0x00010001, 0x0008000B, 0xFFFF0000, 0x003B0005, 0x000D0000, 0x1EBA0000, 0x00050011, 0x00000000, 0x33320008, 0x0011FF39, 0x00C1FF41, 0x00080013, 0xFF2100FB, 0xFF410005, 0x00150000, 0x0000BBBD, 0x00080015, 0xFF680037, 0xFF410008, 0x0033FF0E, 0x01270000, 0x00080039, 0xFF090177, 0x00000001, 0x00010008, 0x000BFFFF, 0x0000003D, 0x0005000D, 0x00002002, 0x00000005, 0x00110000, 0x00001110, 0x00080011, 0xFF4000B5, 0xFF410008, 0x0013FF22, 0x00F1FF41, 0x00050015, 0x00000000, 0xB7790008, 0x0015FF6B, 0x0028FF41, 0x00080033, 0xFF0D011F, 0x00000008, 0x0039FF0B, 0x01770000, 0x00010001, 0x0008000B, 0xFFFF0000, 0x003F0005, 0x000D0000, 0x21500000, 0x00050011, 0x00000000, 0xEEF00008, 0x0011FF46, 0x00A8FF41, 0x00080013, 0xFF2200E6, 0xFF410005, 0x00150000, 0x0000B334, 0x00080015, 0xFF6E0018, 0xFF410008, 0x0033FF0B, 0x01160000, 0x00080039, 0xFF0D0177, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000041, 0x0005000D, 0x000022A3, 0x00000005, 0x00110000, 0x0000CCCE, 0x00080011, 0xFF4B009B, 0xFF410008, 0x0013FF23, 0x00DBFF41, 0x00050015, 0x00000000, 0xAEF00008, 0x0015FF70, 0x0007FF41, 0x00080033, 0xFF09010D, 0x00000008, 0x0039FF0F, 0x01770000, 0x00010001, 0x0008000B, 0xFFFF0000, 0x00430005, 0x000D0000, 0x23FC0000, 0x00050011, 0x00000000, 0xAAAC0008, 0x0011FF51, 0x008EFF41, 0x00080013, 0xFF2400CF, 0xFF410005, 0x00150000, 0x0000AAAC, 0x00080015, 0xFF72FFF8, 0xFF410008, 0x0033FF07, 0x01030000, 0x00080039, 0xFF110177, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000046, 0x0005000D, 0x0000255B, 0x00000005, 0x00110000, 0x0000888A, 0x00080011, 0xFF560080, 0xFF410008, 0x0013FF25, 0x00C4FF41, 0x00050015, 0x00000000, 0xA6680008, 0x0015FF73, 0xFFE7FF41, 0x00050033, 0x00000000, 0xFDDE0008, 0x0033FF18, 0x00F90000, 0x00080039, 0xFF120177, 0x00000001, 0x00010008, 0x000BFFFF, 0x00000048, 0x0005000D, 0x000026C0, 0x00000005, 0x00110000, 0x00006665, 0x00080011, 0xFF5A0072, 0xFF410008, 0x0013FF26, 0x00B8FF41, 0x00050015, 0x00000000, 0xA2230008, 0x0015FF75, 0xFFD6FF41, 0x00050033, 0x00000000, 0xFBBC0008, 0x0033FF28, 0x00EE0000, 0x00080039, 0xFF130177, 0x00000001, 0x00010008, 0x000BFFFF, 0x0000004A, 0x0005000D, 0x0000282A, 0x00000005, 0x00110000, 0x00004443, 0x00080011, 0xFF5E0064, 0xFF410008, 0x0013FF26, 0x00ABFF41, 0x00050015, 0x00000000, 0x9DDF0008, 0x0015FF76, 0xFFC4FF41, 0x00050033, 0x00000000, 0xF99A0008, 0x0033FF37, 0x00E30000, 0x00080039, 0xFF140176, 0x00000001, 0x00010008, 0x000BFFFF, 0x0000004C, 0x0005000D, 0x0000299A, 0x00000005, 0x00110000, 0x00002221, 0x00080011, 0xFF620055, 0xFF410008, 0x0013FF27, 0x009EFF41, 0x00050015, 0x00000000, 0x999B0008, 0x0015FF77, 0xFFB3FF41, 0x00050033, 0x00000000, 0xF7780008, 0x0033FF45, 0x00D80000, 0x00080039, 0xFF150176, 0x00000001, 0x00010008, 0x000BFFFE, 0x0000004F, 0x0005000D, 0x00002B10, 0x00000005, 0x00110000, 0x00000000, 0x00080011, 0xFF650046, 0xFF410008, 0x0013FF28, 0x0091FF41, 0x00050015, 0x00000000, 0x95570008, 0x0015FF78, 0xFFA0FF41, 0x00050033, 0x00000000, 0xF5560008, 0x0033FF52, 0x00CC0000, 0x00080039, 0xFF160175, 0x00000001, 0x00010008, 0x000BFFFE, 0x00000051, 0x0005000D, 0x00002C8A, 0x00000005, 0x00110000, 0x0000DDDF, 0x00080011, 0xFF680037, 0xFF410005, 0x00130000, 0x0000F8B0, 0x00080013, 0xFF2B009E, 0xFF410005, 0x00150000, 0x00009112, 0x00080015, 0xFF78FF8E, 0xFF410005, 0x00330000, 0x0000F334, 0x00080033, 0xFF5E00C0, 0x00000008, 0x0039FF16, 0x01730000, 0x00010001, 0x0008000B, 0xFFFE0000, 0x00540005, 0x000D0000, 0x2E0B0000, 0x00050011, 0x00000000, 0xBBBD0008, 0x0011FF6B, 0x0028FF41, 0x00050013, 0x00000000, 0xF1600008, 0x0013FF2F, 0x00A8FF41, 0x00050015, 0x00000000, 0x8CCE0008, 0x0015FF79, 0xFF7BFF41, 0x00050033, 0x00000000, 0xF1120008, 0x0033FF6A, 0x00B30000, 0x00080039, 0xFF170171, 0x00000001, 0x00010008, 0x000BFFFE, 0x00000056, 0x0005000D, 0x00002F91, 0x00000005, 0x00110000, 0x0000999B, 0x00080011, 0xFF6E0018, 0xFF410005, 0x00130000, 0x0000EA0F, 0x00080013, 0xFF3200AF, 0xFF410005, 0x00150000, 0x0000888A, 0x00080015, 0xFF79FF69, 0xFF410005, 0x00330000, 0x0000EEF0, 0x00080033, 0xFF7400A6, 0x00000008, 0x0039FF17, 0x016F0000, 0x00010001, 0x0008000B, 0xFFFE0000, 0x00590005, 0x000D0000, 0x311C0000, 0x00050011, 0x00000000, 0x77760008, 0x0011FF70, 0x0007FF41, 0x00050013, 0x00000000, 0xE2BF0008, 0x0013FF35, 0x00B3FF41, 0x00050015, 0x00000000, 0x84460008, 0x0015FF79, 0xFF55FF41, 0x00050033, 0x00000000, 0xECCD0008, 0x0033FF7E, 0x00980000, 0x00080039, 0xFF17016C, 0x00000001, 0x00010008, 0x000BFFFE, 0x0000005B, 0x0005000D, 0x000032AC, 0x00000005, 0x00110000, 0x00005554, 0x00080011, 0xFF72FFF8, 0xFF410005, 0x00130000, 0x0000DB6F, 0x00080013, 0xFF3900B4, 0xFF410005, 0x00150000, 0x00008001, 0x00080015, 0xFF79FF42, 0xFF410005, 0x00330000, 0x0000EAAB, 0x00080033, 0xFF87008A, 0x00000008, 0x0036FF07, 0x01770000, 0x00080039, 0xFF170168, 0x00000001, 0x00010005, 0x000A000C, 0x00000000, 0x0008000B, 0xFFFE0000, 0x005E0005, 0x000D0000, 0x34420000, 0x00050011, 0x00000000, 0x33320008, 0x0011FF73, 0xFFE7FF41, 0x00050013, 0x00000000, 0xD41E0008, 0x0013FF3C, 0x00B1FF41, 0x00080015, 0xFF79FF2E, 0xFF410005, 0x00330000, 0x0000E889, 0x00080033, 0xFF90007C, 0x00000008, 0x0036FF08, 0x01770000, 0x00080039, 0xFF170165, 0x00000001, 0x00010005, 0x000A0032, 0x00000000, 0x0008000B, 0xFFFE0000, 0x00610005, 0x000D0000, 0x35DC0000, 0x00050011, 0x00000000, 0x11100008, 0x0011FF75, 0xFFD6FF41, 0x00050013, 0x00000000, 0xCCCE0008, 0x0013FF3F, 0x00ABFF41, 0x00080015, 0xFF79FF1A, 0xFF410005, 0x00330000, 0x0000E667, 0x00080033, 0xFF98006D, 0x00000008, 0x0036FF09, 0x01770000, 0x00080039, 0xFF170161, 0x00000001, 0x00010005, 0x000A0071, 0x00000000, 0x0008000B, 0xFFFE0000, 0x00640005, 0x000D0000, 0x377C0000, 0x00050011, 0x00000000, 0xEEF00008, 0x0011FF76, 0xFFC4FF41, 0x00050013, 0x00000000, 0xC57D0008, 0x0013FF43, 0x00A1FF41, 0x00080015, 0xFF79FF06, 0xFF410005, 0x00330000, 0x0000E445, 0x00080033, 0xFF9F005E, 0x00000008, 0x0039FF16, 0x015C0000, 0x00010001, 0x0005000A, 0x00CA0000, 0x00000008, 0x000BFFFE, 0x00000066, 0x0005000D, 0x00003921, 0x00000005, 0x00110000, 0x0000CCCE, 0x00080011, 0xFF77FFB3, 0xFF410005, 0x00130000, 0x0000BE2D, 0x00080013, 0xFF460095, 0xFF410008, 0x0015FF79, 0xFEF1FF41, 0x00050033, 0x00000000, 0xE2230008, 0x0033FFA6, 0x004F0000, 0x00080036, 0xFF0A0177, 0x00000008, 0x0039FF16, 0x01570000, 0x00010001, 0x0005000A, 0x013D0000, 0x00000008, 0x000BFFFD, 0x00000069, 0x0005000D, 0x00003ACC, 0x00000005, 0x00110000, 0x0000AAAC, 0x00080011, 0xFF78FFA0, 0xFF410005, 0x00130000, 0x0000B6DC, 0x00080013, 0xFF490085, 0xFF410008, 0x0015FF79, 0xFEDCFF41, 0x00080029, 0xFF070177, 0x00000005, 0x00330000, 0x0000E001, 0x00080033, 0xFFAB003F, 0x00000008, 0x0036FF0B, 0x01770000, 0x00080039, 0xFF150151, 0x00000001, 0x00010005, 0x000A01CB, 0x00000000, 0x0008000B, 0xFFFD0000, 0x006C0005, 0x000D0000, 0x3C7B0000, 0x00050011, 0x00000000, 0x888A0008, 0x0011FF78, 0xFF8EFF41, 0x00050013, 0x00000000, 0xAF8C0008, 0x0013FF4D, 0x0071FF41, 0x00080015, 0xFF79FEC7, 0xFF410008, 0x0029FF09, 0x01770000, 0x00050033, 0x00000000, 0xDDDF0008, 0x0033FFB1, 0x002E0000, 0x00080036, 0xFF0C0177, 0x00000008, 0x0039FF14, 0x014B0000, 0x00010001, 0x0005000A, 0x02740000, 0x00000008, 0x000BFFFD, 0x0000006F, 0x0005000D, 0x00003E2F, 0x00000005, 0x00110000, 0x00006665, 0x00080011, 0xFF79FF7B, 0xFF410005, 0x00130000, 0x0000A83C, 0x00080013, 0xFF50005A, 0xFF410008, 0x0015FF79, 0xFEB2FF41, 0x00080029, 0xFF0B0177, 0x00000005, 0x00330000, 0x0000DBBD, 0x00080033, 0xFFB6001D, 0x00000008, 0x0039FF13, 0x01450000, 0x00010001, 0x0005000A, 0x03380000, 0x00000008, 0x000BFFFD, 0x00000072, 0x0005000D, 0x00003FE8, 0x00000005, 0x00110000, 0x00004443, 0x00080011, 0xFF79FF69, 0xFF410005, 0x00130000, 0x0000A0EB, 0x00080013, 0xFF53003F, 0xFF410008, 0x0015FF79, 0xFE9CFF41, 0x00080029, 0xFF0D0177, 0x00000005, 0x00330000, 0x0000D99A, 0x00080033, 0xFFBA000C, 0x00000008, 0x0036FF0D, 0x01760000, 0x00080039, 0xFF12013E, 0x00000001, 0x00010005, 0x000A0417, 0x00000000, 0x0008000B, 0xFFFD0000, 0x00760005, 0x000D0000, 0x41A60000, 0x00050011, 0x00000000, 0x22210008, 0x0011FF79, 0xFF55FF41, 0x00050013, 0x00000000, 0x999B0008, 0x0013FF57, 0x0021FF41, 0x00080015, 0xFF79FE87, 0xFF410008, 0x0029FF0F, 0x01770000, 0x00050033, 0x00000000, 0xD7780008, 0x0033FFBE, 0xFFFC0000, 0x00080036, 0xFF0E0176, 0x00000008, 0x0039FF11, 0x01370000, 0x00010001, 0x0005000A, 0x05120000, 0x00000008, 0x000BFFFD, 0x00000079, 0x0005000D, 0x00004368, 0x00000005, 0x00110000, 0x00000000, 0x00080011, 0xFF79FF42, 0xFF410005, 0x00130000, 0x0000924B, 0x00080013, 0xFF5A0000, 0xFF410008, 0x0015FF79, 0xFE70FF41, 0x00080029, 0xFF110177, 0x00000005, 0x00330000, 0x0000D556, 0x00080033, 0xFFC1FFEA, 0x00000008, 0x0036FF0F, 0x01750000, 0x00080039, 0xFF10012F, 0x00000001, 0x00010005, 0x000A0629, 0x00000000, 0x0008000B, 0xFFFD0000, 0x007C0005, 0x000D0000, 0x45300000, 0x00080011, 0xFF79FF2E, 0xFF410005, 0x00130000, 0x00008AFA, 0x00080013, 0xFF5D000D, 0xFF410008, 0x0029FF12, 0x01770000, 0x00050033, 0x00000000, 0xD3340008, 0x0033FFC4, 0xFFD70000, 0x00080036, 0xFF0F0173, 0x00000008, 0x0039FF0E, 0x01270000, 0x00010001, 0x0005000A, 0x075D0000, 0x00000008, 0x000BFFFD, 0x0000007F, 0x0005000D, 0x000046FC, 0x00000008, 0x0011FF79, 0xFF1AFF41, 0x00050013, 0x00000000, 0x83AA0008, 0x0013FF61, 0x0016FF41, 0x00080029, 0xFF130177, 0x00000005, 0x00330000, 0x0000D112, 0x00080033, 0xFFC6FFC4, 0x00000008, 0x0036FF10, 0x01710000, 0x00080039, 0xFF0D011F, 0x00000001, 0x00010005, 0x000A08AD, 0x00000000, 0x0008000B, 0xFFFC0000, 0x00830005, 0x000D0000, 0x48CC0000, 0x00080011, 0xFF79FF06, 0xFF410005, 0x00130000, 0x00007C56, 0x00080013, 0xFF64001C, 0xFF410008, 0x0029FF14, 0x01760000, 0x00050033, 0x00000000, 0xCEF00008, 0x0033FFC9, 0xFFB10000, 0x00080036, 0xFF11016F, 0x00000008, 0x0039FF0B, 0x01160000, 0x00010001, 0x0005000A, 0x0A1B0000, 0x00000008, 0x000BFFFC, 0x00000086, 0x0005000D, 0x00004AA2, 0x00000008, 0x0011FF79, 0xFEF1FF41, 0x00050013, 0x00000000, 0x75060008, 0x0013FF67, 0x001EFF41, 0x00080029, 0xFF150176, 0x00000005, 0x00330000, 0x0000CCCE, 0x00080033, 0xFFCAFF9E, 0x00000008, 0x0036FF12, 0x016C0000, 0x00080039, 0xFF09010D, 0x00000001, 0x00010005, 0x000A0BA5, 0x00000000, 0x0008000B, 0xFFFC0000, 0x008A0005, 0x000D0000, 0x4C7C0000, 0x00080011, 0xFF79FEDC, 0xFF410005, 0x00130000, 0x00006DB6, 0x00080013, 0xFF6A001B, 0xFF410008, 0x0029FF16, 0x01750000, 0x00050033, 0x00000000, 0xCAAC0008, 0x0033FFCC, 0xFF8A0000, 0x00080036, 0xFF120168, 0x00000008, 0x0039FF07, 0x01030000, 0x00010001, 0x0005000A, 0x0D450000, 0x00000008, 0x000BFFFC, 0x0000008D, 0x0005000D, 0x00004E5A, 0x00000008, 0x0011FF79, 0xFEC7FF41, 0x00050013, 0x00000000, 0x66650008, 0x0013FF6A, 0x0015FF41, 0x00080029, 0xFF160173, 0x00000005, 0x00330000, 0x0000C889, 0x00080033, 0xFFCDFF75, 0x00000008, 0x0036FF13, 0x01650000, 0x00050039, 0x00000000, 0xEEF00008, 0x0039FF18, 0x00F90000, 0x00010001, 0x0005000A, 0x0EF00000, 0x00000008, 0x000BFFFC, 0x00000091, 0x0005000D, 0x0000503D, 0x00000008, 0x0011FF79, 0xFEB2FF41, 0x00050013, 0x00000000, 0x5F150008, 0x0013FF6A, 0x000CFF41, 0x00080029, 0xFF170171, 0x00000005, 0x00330000, 0x0000C667, 0x00080033, 0xFFCEFF60, 0x00000008, 0x0036FF14, 0x01600000, 0x00050039, 0x00000000, 0xDDDF0008, 0x0039FF28, 0x00EE0000, 0x00010001, 0x0005000A, 0x10A60000, 0x00000008, 0x000BFFFC, 0x00000094, 0x0005000D, 0x00005224, 0x00000008, 0x0011FF79, 0xFE9CFF41, 0x00050013, 0x00000000, 0x57C40008, 0x0013FF6A, 0x0000FF41, 0x00080029, 0xFF17016F, 0x00000005, 0x00330000, 0x0000C445, 0x00080033, 0xFFCEFF4B, 0x00000008, 0x0036FF14, 0x015C0000, 0x00050039, 0x00000000, 0xCCCE0008, 0x0039FF37, 0x00E30000, 0x00010001, 0x0005000A, 0x12680000, 0x00000008, 0x000BFFFC, 0x00000098, 0x0005000D, 0x00005410, 0x00000008, 0x0011FF79, 0xFE87FF41, 0x00050013, 0x00000000, 0x50740008, 0x0013FF6A, 0xFFEFFF41, 0x00080029, 0xFF17016C, 0x00000005, 0x00330000, 0x0000C223, 0x00080033, 0xFFCEFF36, 0x00000008, 0x0036FF15, 0x01570000, 0x00050039, 0x00000000, 0xBBBD0008, 0x0039FF45, 0x00D80000, 0x00010001, 0x0005000A, 0x14340000, 0x00000008, 0x000BFFFB, 0x0000009C, 0x0005000D, 0x00005600, 0x00000008, 0x0011FF79, 0xFE70FF41, 0x00050013, 0x00000000, 0x49240008, 0x0013FF6A, 0xFFDCFF41, 0x00080029, 0xFF170168, 0x00000008, 0x002FFF07, 0x01770000, 0x00050033, 0x00000000, 0xC0010008, 0x0033FFCE, 0xFF200000, 0x00080036, 0xFF160151, 0x00000005, 0x00390000, 0x0000AAAC, 0x00080039, 0xFF5200CC, 0x00000001, 0x00010008, 0x0009FECA, 0x0176FF84, 0x0005000A, 0x160B0000, 0x00000008, 0x000BFFFB, 0x000000A0, 0x0005000D, 0x000057F4, 0x00000005, 0x00130000, 0x000041D3, 0x00080013, 0xFF6AFFC4, 0xFF410008, 0x0029FF17, 0x01650000, 0x0008002F, 0xFF090177, 0x00000008, 0x0036FF17, 0x014C0000, 0x00050039, 0x00000000, 0x999B0008, 0x0039FF5E, 0x00C00000, 0x00010001, 0x00080009, 0xFECC0175, 0xFF880005, 0x000A17ED, 0x00000000, 0x0008000B, 0xFFFB0000, 0x00A30005, 0x000D0000, 0x59ED0000, 0x00050013, 0x00000000, 0x3A830008, 0x0013FF6A, 0xFFAAFF41, 0x00080029, 0xFF170161, 0x00000008, 0x002FFF0B, 0x01770000, 0x00080036, 0xFF170145, 0x00000005, 0x00390000, 0x0000888A, 0x00080039, 0xFF6A00B3, 0x00000001, 0x00010008, 0x0009FECD, 0x0173FF8D, 0x0005000A, 0x19D90000, 0x00000008, 0x000BFFFB, 0x000000A7, 0x0005000D, 0x00005BE9, 0x00000005, 0x00130000, 0x00003332, 0x00080013, 0xFF6AFF8D, 0xFF410008, 0x0029FF16, 0x015C0000, 0x0008002F, 0xFF0D0177, 0x00000008, 0x0036FF18, 0x013F0000, 0x00050039, 0x00000000, 0x77760008, 0x0039FF74, 0x00A60000, 0x00010001, 0x00080009, 0xFECE0170, 0xFF910005, 0x000A1BCF, 0x00000000, 0x0008000B, 0xFFFB0000, 0x00AB0005, 0x000D0000, 0x5DEA0000, 0x00050013, 0x00000000, 0x2BE20008, 0x0013FF6A, 0xFF6CFF41, 0x00080029, 0xFF160157, 0x00000008, 0x002FFF0F, 0x01770000, 0x00080036, 0xFF190138, 0x00000005, 0x00390000, 0x00006665, 0x00080039, 0xFF7E0098, 0x00000001, 0x00010008, 0x0009FECF, 0x016DFF96, 0x0005000A, 0x1DD00000, 0x00000008, 0x000BFFFB, 0x000000B0, 0x0005000D, 0x00005FEF, 0x00000005, 0x00130000, 0x00002492, 0x00080013, 0xFF6AFF49, 0xFF410008, 0x0029FF15, 0x01510000, 0x0008002F, 0xFF110177, 0x00000008, 0x0036FF1A, 0x01300000, 0x00050039, 0x00000000, 0x55540008, 0x0039FF87, 0x008A0000, 0x00010001, 0x00080009, 0xFED00169, 0xFF9A0005, 0x000A1FDA, 0x00000000, 0x0008000B, 0xFFFA0000, 0x00B40005, 0x000D0000, 0x61F80000, 0x00050013, 0x00000000, 0x1D410008, 0x0013FF6A, 0xFF23FF41, 0x00080029, 0xFF14014B, 0x00000008, 0x002FFF12, 0x01770000, 0x00080036, 0xFF1A0128, 0x00000005, 0x00390000, 0x00004443, 0x00080039, 0xFF90007C, 0x00000001, 0x00010008, 0x0009FED2, 0x0163FF9F, 0x0005000A, 0x21EE0000, 0x00000008, 0x000BFFFA, 0x000000B8, 0x0005000D, 0x00006405, 0x00000005, 0x00130000, 0x000015F1, 0x00080013, 0xFF6AFEFA, 0xFF410008, 0x0029FF13, 0x01450000, 0x0008002F, 0xFF130177, 0x00000008, 0x0036FF1B, 0x01200000, 0x00050039, 0x00000000, 0x33320008, 0x0039FF98, 0x006D0000, 0x00010001, 0x00080009, 0xFED3015D, 0xFFA40005, 0x000A240B, 0x00000000, 0x0008000B, 0xFFFA0000, 0x00BC0005, 0x000D0000, 0x66150000, 0x00050013, 0x00000000, 0x0EA00008, 0x0013FF6A, 0xFECFFF41, 0x00080029, 0xFF12013E, 0x00000008, 0x002FFF14, 0x01760000, 0x00080036, 0xFF1C0117, 0x00000005, 0x00390000, 0x00002221, 0x00080039, 0xFF9F005E, 0x00000001, 0x00010008, 0x0009FED4, 0x0156FFA9, 0x0005000A, 0x26310000, 0x00000008, 0x000BFFFA, 0x000000C0, 0x0005000D, 0x0000682A, 0x00000005, 0x00130000, 0x00000750, 0x00080013, 0xFF6AFEA1, 0xFF410008, 0x0029FF11, 0x01370000, 0x0008002F, 0xFF150176, 0x00000008, 0x0036FF1C, 0x010E0000, 0x00050039, 0x00000000, 0x11100008, 0x0039FFA6, 0x004F0000, 0x00010001, 0x00080009, 0xFED5014F, 0xFFAD0005, 0x000A2860, 0x00000000, 0x0008000B, 0xFFFA0000, 0x00C50005, 0x000D0000, 0x6A420000, 0x00050013, 0x00000000, 0x00000008, 0x0013FF6A, 0xFE70FF41, 0x00080029, 0xFF10012F, 0x00000008, 0x002FFF16, 0x01750000, 0x00080036, 0xFF1D0105, 0x00000005, 0x00390000, 0x00000000, 0x00080039, 0xFFAB003F, 0x00000001, 0x00010008, 0x0009FED6, 0x0146FFB2, 0x0005000A, 0x2A980000, 0x00000005, 0x000D0000, 0x6C5F0000, 0x00080029, 0xFF0E0127, 0x00000008, 0x002FFF16, 0x01730000, 0x00080036, 0xFF1E00FB, 0x00000005, 0x00390000, 0x0000EEF0, 0x00080039, 0xFFB1002E, 0x00000001, 0x00010008, 0x0009FED8, 0x013CFFB7, 0x0005000A, 0x2CD90000, 0x00000005, 0x000D0000, 0x6E7F0000, 0x00080029, 0xFF0D011F, 0x00000008, 0x002FFF17, 0x01710000, 0x00080036, 0xFF1F00F1, 0x00000005, 0x00390000, 0x0000DDDF, 0x00080039, 0xFFB6001D, 0x00000001, 0x00010008, 0x0009FED9, 0x0131FFBC, 0x0005000A, 0x2F220000, 0x00000005, 0x000D0000, 0x70A20000, 0x00080029, 0xFF0B0116, 0x00000008, 0x002FFF17, 0x016F0000, 0x00080036, 0xFF1F00E6, 0x00000005, 0x00390000, 0x0000CCCE, 0x00080039, 0xFFBA000C, 0x00000001, 0x00010008, 0x0009FEDA, 0x0125FFC1, 0x0005000A, 0x31740000, 0x00000005, 0x000D0000, 0x72CA0000, 0x00080029, 0xFF09010D, 0x00000008, 0x002FFF17, 0x016C0000, 0x00080036, 0xFF2000DB, 0x00000005, 0x00390000, 0x0000BBBD, 0x00080039, 0xFFBEFFFC, 0x00000001, 0x00010008, 0x0009FEDB, 0x0118FFC6, 0x0005000A, 0x33CD0000, 0x00000005, 0x000D0000, 0x74F40000, 0x00080029, 0xFF070103, 0x00000008, 0x002CFF07, 0x01770000, 0x0008002F, 0xFF170168, 0x00000008, 0x0036FF21, 0x00CF0000, 0x00050039, 0x00000000, 0xAAAC0008, 0x0039FFC1, 0xFFEA0000, 0x00010001, 0x00080009, 0xFEDC010A, 0xFFCB0005, 0x000A362F, 0x00000000, 0x0005000D, 0x00007723, 0x00000005, 0x00290000, 0x0000FDDE, 0x00080029, 0xFF1800F9, 0x00000008, 0x002CFF08, 0x01770000, 0x0008002F, 0xFF170165, 0x00000008, 0x0036FF22, 0x00C40000, 0x00050039, 0x00000000, 0x999B0008, 0x0039FFC4, 0xFFD70000, 0x00010001, 0x00080009, 0xFEDE00FA, 0xFFD00005, 0x000A3898, 0x00000000, 0x0005000D, 0x00007955, 0x00000005, 0x00290000, 0x0000FBBC, 0x00080029, 0xFF2800EE, 0x00000008, 0x002CFF09, 0x01770000, 0x0008002F, 0xFF170161, 0x00000008, 0x0036FF22, 0x00B80000, 0x00050039, 0x00000000, 0x888A0008, 0x0039FFC6, 0xFFC40000, 0x00010001, 0x00080009, 0xFEDF00EA, 0xFFD50005, 0x000A3B08, 0x00000000, 0x0005000D, 0x00007B8A, 0x00000005, 0x00290000, 0x0000F99A, 0x00080029, 0xFF3700E3, 0x00000008, 0x002FFF16, 0x015C0000, 0x00080036, 0xFF2300AB, 0x00000005, 0x00390000, 0x00007776, 0x00080039, 0xFFC9FFB1, 0x00000001, 0x00010008, 0x0009FEE0, 0x00D8FFDA, 0x0005000A, 0x3D800000, 0x00000005, 0x000D0000, 0x7DC30000, 0x00050029, 0x00000000, 0xF7780008, 0x0029FF45, 0x00D80000, 0x0008002C, 0xFF0A0177, 0x00000008, 0x002FFF16, 0x01570000, 0x00080036, 0xFF24009E, 0x00000005, 0x00390000, 0x00006665, 0x00080039, 0xFFCAFF9E, 0x00000001, 0x00010008, 0x0009FEE1, 0x00C5FFDF, 0x0005000A, 0x3FFF0000, 0x00000005, 0x000D0000, 0x80010000, 0x00080025, 0x00000000, 0x00350005, 0x00290000, 0x0000F556, 0x00080029, 0xFF5200CC, 0x00000008, 0x002CFF0B, 0x01770000, 0x0008002F, 0xFF150151, 0x00000008, 0x0036FF24, 0x00910000, 0x00050039, 0x00000000, 0x55540008, 0x0039FFCC, 0xFF8A0000, 0x00010001, 0x00080009, 0xFEF000DB, 0xFFDC0005, 0x000D0000, 0x76B80000, 0x00080019, 0x00000000, 0x00350008, 0x001C0000, 0x00000035, 0x00080025, 0x00000006, 0x00370005, 0x00290000, 0x0000F334, 0x00080029, 0xFF5E00C0, 0x00000008, 0x002CFF0C, 0x01770000, 0x0008002F, 0xFF14014B, 0x00000005, 0x00360000, 0x0000FC58, 0x00080036, 0xFF2C009E, 0x00000005, 0x00390000, 0x00004443, 0x00080039, 0xFFCDFF75, 0x00000001, 0x00010008, 0x0009FEFE, 0x00EEFFDA, 0x0005000D, 0x00006D67, 0x00000008, 0x00190000, 0x00060037, 0x0008001C, 0x00000006, 0x00370008, 0x001F0000, 0x00000035, 0x00080025, 0x0000000C, 0x003A0005, 0x00290000, 0x0000F112, 0x00080029, 0xFF6A00B3, 0x00000008, 0x002FFF13, 0x01450000, 0x00050036, 0x00000000, 0xF8B00008, 0x0036FF33, 0x00A80000, 0x00050039, 0x00000000, 0x33320008, 0x0039FFCE, 0xFF600000, 0x00010001, 0x00080009, 0xFF0D00FE, 0xFFD70005, 0x000D0000, 0x640C0000, 0x00080019, 0x0000000C, 0x003A0008, 0x001C0000, 0x000C003A, 0x0008001F, 0x00000006, 0x00370008, 0x00220000, 0x00000035, 0x00080025, 0x00000011, 0x003C0005, 0x00290000, 0x0000EEF0, 0x00080029, 0xFF7400A6, 0x00000008, 0x002CFF0D, 0x01760000, 0x0008002F, 0xFF12013E, 0x00000005, 0x00360000, 0x0000F508, 0x00080036, 0xFF3A00AF, 0x00000005, 0x00390000, 0x00002221, 0x00080039, 0xFFCEFF4B, 0x00000001, 0x00010008, 0x0009FF1C, 0x010BFFD4, 0x0005000D, 0x00005AA8, 0x00000008, 0x00190000, 0x0011003C, 0x0008001C, 0x00000011, 0x003C0008, 0x001F0000, 0x000C003A, 0x00080022, 0x00000006, 0x00370008, 0x00250000, 0x0016003F, 0x00050029, 0x00000000, 0xECCD0008, 0x0029FF7E, 0x00980000, 0x0008002C, 0xFF0E0176, 0x00000008, 0x002FFF11, 0x01370000, 0x00050036, 0x00000000, 0xF1600008, 0x0036FF41, 0x00B30000, 0x00050039, 0x00000000, 0x11100008, 0x0039FFCE, 0xFF360000, 0x00010001, 0x00080009, 0xFF2B0115, 0xFFD10005, 0x000D0000, 0x513A0000, 0x00080019, 0x00000016, 0x003F0008, 0x001C0000, 0x0016003F, 0x0008001F, 0x00000011, 0x003C0008, 0x00220000, 0x000C003A, 0x00080025, 0x0000001B, 0x00410005, 0x00290000, 0x0000EAAB, 0x00080029, 0xFF87008A, 0x00000008, 0x002CFF0F, 0x01750000, 0x0008002F, 0xFF10012F, 0x00000005, 0x00360000, 0x0000EDB7, 0x00080036, 0xFF4900B4, 0x00000005, 0x00390000, 0x00000000, 0x00080039, 0xFFCEFF20, 0x00000001, 0x00010008, 0x0009FF39, 0x011DFFCE, 0x0005000D, 0x000047C4, 0x00000008, 0x00190000, 0x001B0041, 0x0008001C, 0x0000001B, 0x00410008, 0x001F0000, 0x0016003F, 0x00080022, 0x00000011, 0x003C0008, 0x00250000, 0x001F0044, 0x00050029, 0x00000000, 0xE8890008, 0x0029FF90, 0x007C0000, 0x0008002C, 0xFF0F0173, 0x00000008, 0x002FFF0E, 0x01270000, 0x00050036, 0x00000000, 0xEA0F0008, 0x0036FF50, 0x00B10000, 0x00010001, 0x00080009, 0xFF480123, 0xFFCB0005, 0x000D0000, 0x3E460000, 0x00080019, 0x0000001F, 0x00440008, 0x001C0000, 0x001F0044, 0x0008001F, 0x0000001B, 0x00410008, 0x00220000, 0x0016003F, 0x00080025, 0x00000023, 0x00460005, 0x00290000, 0x0000E667, 0x00080029, 0xFF98006D, 0x00000008, 0x002CFF10, 0x01710000, 0x0008002F, 0xFF0D011F, 0x00000005, 0x00360000, 0x0000E667, 0x00080036, 0xFF5700AB, 0x00000001, 0x00010008, 0x0009FF57, 0x0126FFC8, 0x0005000D, 0x000034C0, 0x00000008, 0x00190000, 0x00230046, 0x0008001C, 0x00000023, 0x00460008, 0x001F0000, 0x001F0044, 0x00080022, 0x0000001B, 0x00410008, 0x00250000, 0x00260049, 0x00050029, 0x00000000, 0xE4450008, 0x0029FF9F, 0x005E0000, 0x0008002C, 0xFF11016F, 0x00000008, 0x002FFF0B, 0x01160000, 0x00050036, 0x00000000, 0xE2BF0008, 0x0036FF5E, 0x00A10000, 0x00010001, 0x00080009, 0xFF650128, 0xFFC50005, 0x000D0000, 0x2B330000, 0x00080019, 0x00000026, 0x00490008, 0x001C0000, 0x00260049, 0x0008001F, 0x00000023, 0x00460008, 0x00220000, 0x001F0044, 0x00080025, 0x00000029, 0x004B0005, 0x00290000, 0x0000E223, 0x00080029, 0xFFA6004F, 0x00000008, 0x002CFF12, 0x016C0000, 0x0008002F, 0xFF09010D, 0x00000005, 0x00360000, 0x0000DF17, 0x00080036, 0xFF650095, 0x00000001, 0x00010008, 0x0009FF74, 0x0129FFC2, 0x0005000D, 0x0000219F, 0x00000008, 0x00190000, 0x0029004B, 0x0008001C, 0x00000029, 0x004B0008, 0x001F0000, 0x00260049, 0x00080022, 0x00000023, 0x00460008, 0x00250000, 0x002C004E, 0x00050029, 0x00000000, 0xE0010008, 0x0029FFAB, 0x003F0000, 0x0008002C, 0xFF120168, 0x00000008, 0x002FFF07, 0x01030000, 0x00050036, 0x00000000, 0xDB6E0008, 0x0036FF6D, 0x00850000, 0x00010001, 0x00080009, 0xFF830128, 0xFFBF0005, 0x000D0000, 0x18060000, 0x00080019, 0x0000002C, 0x004E0008, 0x001C0000, 0x002C004E, 0x0008001F, 0x00000029, 0x004B0008, 0x00220000, 0x00260049, 0x00080025, 0x0000002E, 0x00500005, 0x00290000, 0x0000DDDF, 0x00080029, 0xFFB1002E, 0x00000008, 0x002CFF13, 0x01650000, 0x0005002F, 0x00000000, 0xEEF00008, 0x002FFF18, 0x00F90000, 0x00050036, 0x00000000, 0xD7C60008, 0x0036FF74, 0x00710000, 0x00010001, 0x00080009, 0xFF910126, 0xFFBC0005, 0x000D0000, 0x0E660000, 0x00080019, 0x0000002E, 0x00500008, 0x001C0000, 0x002E0050, 0x0008001F, 0x0000002C, 0x004E0008, 0x00220000, 0x0029004B, 0x00080025, 0x0000002F, 0x00530005, 0x00290000, 0x0000DBBD, 0x00080029, 0xFFB6001D, 0x00000008, 0x002CFF14, 0x01600000, 0x0005002F, 0x00000000, 0xDDDF0008, 0x002FFF28, 0x00EE0000, 0x00050036, 0x00000000, 0xD41E0008, 0x0036FF7B, 0x005A0000, 0x00010001, 0x00080009, 0xFFA00121, 0xFFB90005, 0x000D0000, 0x04C20000, 0x00080019, 0x0000002F, 0x00530008, 0x001C0000, 0x002F0053, 0x0008001F, 0x0000002E, 0x00500008, 0x00220000, 0x002C004E, 0x00080025, 0x00000031, 0x00550005, 0x00290000, 0x0000D99A, 0x00080029, 0xFFBA000C, 0x00000008, 0x002CFF14, 0x015C0000, 0x0005002F, 0x00000000, 0xCCCE0008, 0x002FFF37, 0x00E30000, 0x00050036, 0x00000000, 0xD0760008, 0x0036FF82, 0x003F0000, 0x00010001, 0x00080009, 0xFFAF011B, 0xFFB60005, 0x000D0000, 0xFB1A0000, 0x00080019, 0x00000031, 0x00550008, 0x001C0000, 0x00310055, 0x0008001F, 0x0000002F, 0x00530008, 0x00220000, 0x002E0050, 0x00080025, 0x00000031, 0x00580005, 0x00290000, 0x0000D778, 0x00080029, 0xFFBEFFFC, 0x00000008, 0x002CFF15, 0x01570000, 0x0005002F, 0x00000000, 0xBBBD0008, 0x002FFF45, 0x00D80000, 0x00050036, 0x00000000, 0xCCCE0008, 0x0036FF89, 0x00210000, 0x00010001, 0x00080009, 0xFFBD0114, 0xFFB40005, 0x000D0000, 0xF16D0000, 0x00080019, 0x00000031, 0x00580008, 0x001C0000, 0x00310058, 0x0008001F, 0x00000031, 0x00550008, 0x00220000, 0x002F0053, 0x00080025, 0x00000032, 0x005A0005, 0x00290000, 0x0000D556, 0x00080029, 0xFFC1FFEA, 0x00000008, 0x002CFF16, 0x01510000, 0x0005002F, 0x00000000, 0xAAAC0008, 0x002FFF52, 0x00CC0000, 0x00050036, 0x00000000, 0xC9260008, 0x0036FF91, 0x00000000, 0x00010001, 0x00080009, 0xFFCC010A, 0xFFB10005, 0x000D0000, 0xE7BC0000, 0x00080019, 0x00000032, 0x005A0008, 0x001C0000, 0x0032005A, 0x0008001F, 0x00000031, 0x00580008, 0x00220000, 0x00310055, 0x00080025, 0x00000031, 0x005D0005, 0x00290000, 0x0000D334, 0x00080029, 0xFFC4FFD7, 0x00000008, 0x002CFF17, 0x014C0000, 0x0005002F, 0x00000000, 0x999B0008, 0x002FFF5E, 0x00C00000, 0x00050036, 0x00000000, 0xC57D0008, 0x0036FF98, 0x000D0000, 0x00010001, 0x00080009, 0xFFDB0100, 0xFFAE0005, 0x000D0000, 0xDE090000, 0x00080019, 0x00000031, 0x005D0008, 0x001C0000, 0x0031005D, 0x0008001F, 0x00000032, 0x005A0008, 0x00220000, 0x00310058, 0x00080025, 0x00000030, 0x005F0005, 0x00290000, 0x0000D112, 0x00080029, 0xFFC6FFC4, 0x00000008, 0x002CFF17, 0x01450000, 0x0005002F, 0x00000000, 0x888A0008, 0x002FFF6A, 0x00B30000, 0x00050036, 0x00000000, 0xC1D50008, 0x0036FF9F, 0x00160000, 0x00010001, 0x00080009, 0xFFE900F4, 0xFFAB0005, 0x000D0000, 0xD4520000, 0x00080019, 0x00000030, 0x005F0008, 0x001C0000, 0x0030005F, 0x0008001F, 0x00000031, 0x005D0008, 0x00220000, 0x0032005A, 0x00080025, 0x0000002E, 0x00620005, 0x00290000, 0x0000CEF0, 0x00080029, 0xFFC9FFB1, 0x00000008, 0x002CFF18, 0x013F0000, 0x0005002F, 0x00000000, 0x77760008, 0x002FFF74, 0x00A60000, 0x00050036, 0x00000000, 0xBE2D0008, 0x0036FFA6, 0x001C0000, 0x00010001, 0x00080009, 0xFFF800E6, 0xFFA80005, 0x000D0000, 0xCA9A0000, 0x00080019, 0x0000002E, 0x00620008, 0x001C0000, 0x002E0062, 0x0008001F, 0x00000030, 0x005F0008, 0x00220000, 0x0031005D, 0x00080025, 0x0000002C, 0x00640005, 0x00290000, 0x0000CCCE, 0x00080029, 0xFFCAFF9E, 0x00000008, 0x002CFF19, 0x01380000, 0x0005002F, 0x00000000, 0x66650008, 0x002FFF7E, 0x00980000, 0x00050036, 0x00000000, 0xBA850008, 0x0036FFAD, 0x001E0000, 0x00010001, 0x00080009, 0x000600D7, 0xFFA50005, 0x000D0000, 0xC0E00000, 0x00080019, 0x0000002C, 0x00640008, 0x001C0000, 0x002C0064, 0x0008001F, 0x0000002E, 0x00620008, 0x00220000, 0x0030005F, 0x00080025, 0x00000029, 0x00670005, 0x00290000, 0x0000CAAC, 0x00080029, 0xFFCCFF8A, 0x00000008, 0x002CFF1A, 0x01300000, 0x0005002F, 0x00000000, 0x55540008, 0x002FFF87, 0x008A0000, 0x00050036, 0x00000000, 0xB6DC0008, 0x0036FFB5, 0x001B0000, 0x00010001, 0x00080009, 0x001400C7, 0xFFA20005, 0x000D0000, 0xB7250000, 0x00080019, 0x00000029, 0x00670008, 0x001C0000, 0x00290067, 0x0008001F, 0x0000002C, 0x00640008, 0x00220000, 0x002E0062, 0x00080025, 0x00000026, 0x00690005, 0x00290000, 0x0000C889, 0x00080029, 0xFFCDFF75, 0x00000008, 0x002CFF1A, 0x01280000, 0x0005002F, 0x00000000, 0x44430008, 0x002FFF90, 0x007C0000, 0x00050036, 0x00000000, 0xB3340008, 0x0036FFB5, 0x00150000, 0x00010001, 0x00080009, 0x002300B6, 0xFF9F0005, 0x000D0000, 0xAD690000, 0x00080019, 0x00000026, 0x00690008, 0x001C0000, 0x00260069, 0x0008001F, 0x00000029, 0x00670008, 0x00220000, 0x002C0064, 0x00080025, 0x00000022, 0x006C0005, 0x00290000, 0x0000C667, 0x00080029, 0xFFCEFF60, 0x00000008, 0x002CFF1B, 0x01200000, 0x0005002F, 0x00000000, 0x33320008, 0x002FFF98, 0x006D0000, 0x00050036, 0x00000000, 0xAF8C0008, 0x0036FFB5, 0x000C0000, 0x00010001, 0x00080009, 0x003200A4, 0xFF9C0005, 0x000D0000, 0xA3AD0000, 0x00080019, 0x00000022, 0x006C0008, 0x001C0000, 0x0022006C, 0x0008001F, 0x00000026, 0x00690008, 0x00220000, 0x00290067, 0x00080025, 0x0000001D, 0x006E0005, 0x00290000, 0x0000C445, 0x00080029, 0xFFCEFF4B, 0x00000008, 0x002CFF1C, 0x01170000, 0x0005002F, 0x00000000, 0x22210008, 0x002FFF9F, 0x005E0000, 0x00050036, 0x00000000, 0xABE40008, 0x0036FFB5, 0x00000000, 0x00010001, 0x00080009, 0x00410091, 0xFF990005, 0x000D0000, 0x99F10000, 0x00080019, 0x0000001D, 0x006E0008, 0x001C0000, 0x001D006E, 0x0008001F, 0x00000022, 0x006C0008, 0x00220000, 0x00260069, 0x00080025, 0x00000018, 0x00710005, 0x00290000, 0x0000C223, 0x00080029, 0xFFCEFF36, 0x00000008, 0x002CFF1C, 0x010E0000, 0x0005002F, 0x00000000, 0x11100008, 0x002FFFA6, 0x004F0000, 0x00050036, 0x00000000, 0xA83C0008, 0x0036FFB5, 0xFFEF0000, 0x00010001, 0x00080009, 0x004F007D, 0xFF960005, 0x000D0000, 0x90370000, 0x00080019, 0x00000018, 0x00710008, 0x001C0000, 0x00180071, 0x0008001F, 0x0000001D, 0x006E0008, 0x00220000, 0x0022006C, 0x00080025, 0x00000012, 0x00730005, 0x00290000, 0x0000C001, 0x00080029, 0xFFCEFF20, 0x00000008, 0x002CFF1D, 0x01050000, 0x0005002F, 0x00000000, 0x00000008, 0x002FFFAB, 0x003F0000, 0x00050036, 0x00000000, 0xA4940008, 0x0036FFB5, 0xFFDC0000, 0x00010001, 0x00080009, 0x005E0068, 0xFF930005, 0x000D0000, 0x867E0000, 0x00080019, 0x00000012, 0x00730008, 0x001C0000, 0x00120073, 0x0008001F, 0x00000018, 0x00710008, 0x00220000, 0x001D006E, 0x00080025, 0x0000000B, 0x00760008, 0x002CFF1E, 0x00FB0000, 0x0005002F, 0x00000000, 0xEEF00008, 0x002FFFB1, 0x002E0000, 0x00050036, 0x00000000, 0xA0EB0008, 0x0036FFB5, 0xFFC40000, 0x00010001, 0x00080009, 0x006D0052, 0xFF900005, 0x000D0000, 0x7CC30000, 0x00080019, 0x0000000B, 0x00760008, 0x001C0000, 0x000B0076, 0x0008001F, 0x00000012, 0x00730008, 0x00220000, 0x00180071, 0x00080025, 0x00000004, 0x00780008, 0x002CFF1F, 0x00F10000, 0x0005002F, 0x00000000, 0xDDDF0008, 0x002FFFB6, 0x001D0000, 0x00050036, 0x00000000, 0x9D430008, 0x0036FFB5, 0xFFAA0000, 0x00010001, 0x00080009, 0x007B003B, 0xFF8E0005, 0x000D0000, 0x730E0000, 0x00080019, 0x00000004, 0x00780008, 0x001C0000, 0x00040078, 0x0008001F, 0x0000000B, 0x00760008, 0x00220000, 0x00120073, 0x00080025, 0x0000FFFE, 0x007B0008, 0x002CFF1F, 0x00E60000, 0x0005002F, 0x00000000, 0xCCCE0008, 0x002FFFBA, 0x000C0000, 0x00050036, 0x00000000, 0x999B0008, 0x0036FFB5, 0xFF8D0000, 0x00010001, 0x00080009, 0x008A0023, 0xFF8B0005, 0x000D0000, 0x695C0000, 0x00080019, 0x0000FFFE, 0x007B0008, 0x001C0000, 0xFFFE007B, 0x0008001F, 0x00000004, 0x00780008, 0x00220000, 0x000B0076, 0x00080025, 0x0000FFF6, 0x007D0008, 0x002CFF20, 0x00DB0000, 0x0005002F, 0x00000000, 0xBBBD0008, 0x002FFFBE, 0xFFFC0000, 0x00050036, 0x00000000, 0x95F30008, 0x0036FFB5, 0xFF6C0000, 0x00010001, 0x00080009, 0x0099000B, 0xFF880005, 0x000D0000, 0x5FAD0000, 0x00080019, 0x0000FFF6, 0x007D0008, 0x001C0000, 0xFFF6007D, 0x0008001F, 0x0000FFFE, 0x007B0008, 0x00220000, 0x00040078, 0x00080025, 0x0000FFEE, 0x00800008, 0x002CFF21, 0x00CF0000, 0x0005002F, 0x00000000, 0xAAAC0008, 0x002FFFC1, 0xFFEA0000, 0x00050036, 0x00000000, 0x924A0008, 0x0036FFB5, 0xFF490000, 0x00010001, 0x00080009, 0x00A7FFF4, 0xFF850005, 0x000D0000, 0x56020000, 0x00080019, 0x0000FFEE, 0x00800008, 0x001C0000, 0xFFEE0080, 0x0008001F, 0x0000FFF6, 0x007D0008, 0x00220000, 0xFFFE007B, 0x00080025, 0x0000FFE5, 0x00820008, 0x002CFF22, 0x00C40000, 0x0005002F, 0x00000000, 0x999B0008, 0x002FFFC4, 0xFFD70000, 0x00050036, 0x00000000, 0x8EA20008, 0x0036FFB5, 0xFF230000, 0x00010001, 0x00080009, 0x00B6FFDB, 0xFF820005, 0x000D0000, 0x4C5C0000, 0x00080019, 0x0000FFE5, 0x00820008, 0x001C0000, 0xFFE50082, 0x0008001F, 0x0000FFEE, 0x00800008, 0x00220000, 0xFFF6007D, 0x00080025, 0x0000FFDC, 0x00850008, 0x002CFF22, 0x00B80000, 0x0005002F, 0x00000000, 0x888A0008, 0x002FFFC6, 0xFFC40000, 0x00050036, 0x00000000, 0x8AFA0008, 0x0036FFB5, 0xFEFA0000, 0x00010001, 0x00080009, 0x00C5FFC1, 0xFF7F0005, 0x000D0000, 0x42BA0000, 0x00080019, 0x0000FFDC, 0x00850008, 0x001C0000, 0xFFDC0085, 0x0008001F, 0x0000FFE5, 0x00820008, 0x00220000, 0xFFEE0080, 0x00080025, 0x0000FFD3, 0x00870008, 0x002CFF23, 0x00AB0000, 0x0005002F, 0x00000000, 0x77760008, 0x002FFFC9, 0xFFB10000, 0x00050036, 0x00000000, 0x87520008, 0x0036FFB5, 0xFECF0000, 0x00010001, 0x00080009, 0x00D3FFA7, 0xFF7C0005, 0x000D0000, 0x391D0000, 0x00080019, 0x0000FFD3, 0x00870008, 0x001C0000, 0xFFD30087, 0x0008001F, 0x0000FFDC, 0x00850008, 0x00220000, 0xFFE50082, 0x00080025, 0x0000FFC9, 0x008A0008, 0x002CFF24, 0x009E0000, 0x0005002F, 0x00000000, 0x66650008, 0x002FFFCA, 0xFF9E0000, 0x00050036, 0x00000000, 0x83AA0008, 0x0036FFB5, 0xFEA10000, 0x00010001, 0x00080009, 0x00E2FF8D, 0xFF790005, 0x000D0000, 0x2F870000, 0x00080019, 0x0000FFC9, 0x008A0008, 0x001C0000, 0xFFC9008A, 0x0008001F, 0x0000FFD3, 0x00870008, 0x00220000, 0xFFDC0085, 0x00080025, 0x0000FFBE, 0x008C0008, 0x002CFF24, 0x00910000, 0x0005002F, 0x00000000, 0x55540008, 0x002FFFCC, 0xFF8A0000, 0x00050036, 0x00000000, 0x80010008, 0x0036FFB5, 0xFE700000, 0x00010001, 0x00080009, 0x00F1FF72, 0xFF760005, 0x000D0000, 0x25F70000, 0x00080019, 0x0000FFBE, 0x008C0008, 0x001C0000, 0xFFBE008C, 0x0008001F, 0x0000FFC9, 0x008A0008, 0x00220000, 0xFFD30087, 0x00080025, 0x0000FFB3, 0x008F0005, 0x002C0000, 0x0000FC58, 0x0008002C, 0xFF2C009E, 0x00000005, 0x002F0000, 0x00004443, 0x0008002F, 0xFFCDFF75, 0x00000001, 0x00010008, 0x000900FF, 0xFF57FF73, 0x0005000D, 0x00001C6D, 0x00000008, 0x00190000, 0xFFB3008F, 0x0008001C, 0x0000FFB3, 0x008F0008, 0x001F0000, 0xFFBE008C, 0x00080022, 0x0000FFC9, 0x008A0008, 0x00250000, 0xFFA80091, 0x0005002C, 0x00000000, 0xF8B00008, 0x002CFF33, 0x00A80000, 0x0005002F, 0x00000000, 0x33320008, 0x002FFFCE, 0xFF600000, 0x00010001, 0x00080009, 0x010EFF3C, 0xFF700005, 0x000D0000, 0x12EB0000, 0x00080019, 0x0000FFA8, 0x00910008, 0x001C0000, 0xFFA80091, 0x0008001F, 0x0000FFB3, 0x008F0008, 0x00220000, 0xFFBE008C, 0x00080025, 0x0000FF9D, 0x00940005, 0x002C0000, 0x0000F508, 0x0008002C, 0xFF3A00AF, 0x00000005, 0x002F0000, 0x00002221, 0x0008002F, 0xFFCEFF4B, 0x00000001, 0x00010008, 0x0009011D, 0xFF21FF6D, 0x0005000D, 0x00000971, 0x00000008, 0x00190000, 0xFF9D0094, 0x0008001C, 0x0000FF9D, 0x00940008, 0x001F0000, 0xFFA80091, 0x00080022, 0x0000FFB3, 0x008F0008, 0x00250000, 0xFF910096, 0x0005002C, 0x00000000, 0xF1600008, 0x002CFF41, 0x00B30000, 0x0005002F, 0x00000000, 0x11100008, 0x002FFFCE, 0xFF360000, 0x00010001, 0x00080009, 0x012CFF06, 0xFF6A0005, 0x000D0000, 0x00000000, 0x00080019, 0x0000FF91, 0x00960008, 0x001C0000, 0xFF910096, 0x0008001F, 0x0000FF9D, 0x00940008, 0x00220000, 0xFFA80091, 0x00080025, 0x0000FF85, 0x00990005, 0x002C0000, 0x0000EDB8, 0x0008002C, 0xFF4900B4, 0x00000005, 0x002F0000, 0x00000000, 0x0008002F, 0xFFCEFF20, 0x00000001, 0x00010008, 0x00190000, 0xFF850099, 0x0008001C, 0x0000FF85, 0x00990008, 0x001F0000, 0xFF910096, 0x00080022, 0x0000FF9D, 0x00940008, 0x00250000, 0xFF79009B, 0x0005002C, 0x00000000, 0xEA0F0008, 0x002CFF50, 0x00B10000, 0x00010001, 0x00080019, 0x0000FF79, 0x009B0008, 0x001C0000, 0xFF79009B, 0x0008001F, 0x0000FF85, 0x00990008, 0x00220000, 0xFF910096, 0x00080025, 0x0000FF6D, 0x009E0005, 0x002C0000, 0x0000E667, 0x0008002C, 0xFF5700AB, 0x00000001, 0x00010008, 0x00190000, 0xFF6D009E, 0x0008001C, 0x0000FF6D, 0x009E0008, 0x001F0000, 0xFF79009B, 0x00080022, 0x0000FF85, 0x00990008, 0x00250000, 0xFF6000A0, 0x0005002C, 0x00000000, 0xE2BF0008, 0x002CFF5E, 0x00A10000, 0x00010001, 0x00080019, 0x0000FF60, 0x00A00008, 0x001C0000, 0xFF6000A0, 0x0008001F, 0x0000FF6D, 0x009E0008, 0x00220000, 0xFF79009B, 0x00080025, 0x0000FF53, 0x00A30005, 0x002C0000, 0x0000DF17, 0x0008002C, 0xFF650095, 0x00000001, 0x00010008, 0x00190000, 0xFF5300A3, 0x0008001C, 0x0000FF53, 0x00A30008, 0x001F0000, 0xFF6000A0, 0x00080022, 0x0000FF6D, 0x009E0008, 0x00250000, 0xFF4500A5, 0x0005002C, 0x00000000, 0xDB6E0008, 0x002CFF6D, 0x00850000, 0x00010001, 0x00080019, 0x0000FF45, 0x00A50008, 0x001C0000, 0xFF4500A5, 0x0008001F, 0x0000FF53, 0x00A30008, 0x00220000, 0xFF6000A0, 0x00080025, 0x0000FF38, 0x00A80005, 0x002C0000, 0x0000D7C6, 0x0008002C, 0xFF740071, 0x00000001, 0x00010008, 0x00190000, 0xFF3800A8, 0x0008001C, 0x0000FF38, 0x00A80008, 0x001F0000, 0xFF4500A5, 0x00080022, 0x0000FF53, 0x00A30008, 0x00250000, 0xFF2A00AA, 0x0005002C, 0x00000000, 0xD41E0008, 0x002CFF7B, 0x005A0000, 0x00010001, 0x00080019, 0x0000FF2A, 0x00AA0008, 0x001C0000, 0xFF2A00AA, 0x0008001F, 0x0000FF38, 0x00A80008, 0x00220000, 0xFF4500A5, 0x00080025, 0x0000FF1D, 0x00AD0005, 0x002C0000, 0x0000D076, 0x0008002C, 0xFF82003F, 0x00000001, 0x00010008, 0x00190000, 0xFF1D00AD, 0x0008001C, 0x0000FF1D, 0x00AD0008, 0x001F0000, 0xFF2A00AA, 0x00080022, 0x0000FF38, 0x00A80008, 0x00250000, 0xFF0F00AF, 0x0005002C, 0x00000000, 0xCCCE0008, 0x002CFF89, 0x00210000, 0x00010001, 0x00080019, 0x0000FF0F, 0x00AF0008, 0x001C0000, 0xFF0F00AF, 0x0008001F, 0x0000FF1D, 0x00AD0008, 0x00220000, 0xFF2A00AA, 0x00080025, 0x0000FF01, 0x00B20005, 0x002C0000, 0x0000C925, 0x0008002C, 0xFF910000, 0x00000001, 0x00010005, 0x00070000, 0xF556FF98, 0x00080019, 0x0000FF01, 0x00B20008, 0x001C0000, 0xFF0100B2, 0x0008001F, 0x0000FF0F, 0x00AF0008, 0x00220000, 0xFF1D00AD, 0x00080025, 0x0000FEF3, 0x00B40005, 0x002C0000, 0x0000C57D, 0x0008002C, 0xFF98000D, 0x00000001, 0x00010005, 0x00070000, 0xF556FE72, 0x00080019, 0x0000FEF3, 0x00B40008, 0x001C0000, 0xFEF300B4, 0x0008001F, 0x0000FF01, 0x00B20008, 0x00220000, 0xFF0F00AF, 0x00080025, 0x0000FEE4, 0x00B70005, 0x002C0000, 0x0000C1D5, 0x0008002C, 0xFF9F0016, 0x00000001, 0x00010005, 0x00070000, 0xF556FCAD, 0x00080019, 0x0000FEE4, 0x00B70008, 0x001C0000, 0xFEE400B7, 0x0008001F, 0x0000FEF3, 0x00B40008, 0x00220000, 0xFF0100B2, 0x00080025, 0x0000FED6, 0x00B90005, 0x002C0000, 0x0000BE2D, 0x0008002C, 0xFFA6001C, 0x00000001, 0x00010005, 0x00070000, 0xF556FA64, 0x00080019, 0x0000FED6, 0x00B90008, 0x001C0000, 0xFED600B9, 0x0008001F, 0x0000FEE4, 0x00B70008, 0x00220000, 0xFEF300B4, 0x00080025, 0x0000FEC7, 0x00BC0005, 0x002C0000, 0x0000BA85, 0x0008002C, 0xFFAD001E, 0x00000001, 0x00010005, 0x00070000, 0xF556F7B5, 0x00080019, 0x0000FEC7, 0x00BC0008, 0x001C0000, 0xFEC700BC, 0x0008001F, 0x0000FED6, 0x00B90008, 0x00220000, 0xFEE400B7, 0x00080025, 0x0000FEB9, 0x00BE0005, 0x002C0000, 0x0000B6DD, 0x0008002C, 0xFFB5001B, 0x00000001, 0x00010005, 0x00070000, 0xF556F4BD, 0x00080019, 0x0000FEB9, 0x00BE0008, 0x001C0000, 0xFEB900BE, 0x0008001F, 0x0000FEC7, 0x00BC0008, 0x00220000, 0xFED600B9, 0x00080025, 0x0000FEAA, 0x00C10005, 0x002C0000, 0x0000B334, 0x0008002C, 0xFFB50015, 0x00000001, 0x00010005, 0x00070000, 0xF556F19A, 0x00080019, 0x0000FEAA, 0x00C10008, 0x001C0000, 0xFEAA00C1, 0x0008001F, 0x0000FEB9, 0x00BE0008, 0x00220000, 0xFEC700BC, 0x00080025, 0x0000FE9C, 0x00C30005, 0x002C0000, 0x0000AF8C, 0x0008002C, 0xFFB5000C, 0x00000001, 0x00010005, 0x00070000, 0xF556EE68, 0x00080019, 0x0000FE9C, 0x00C30008, 0x001C0000, 0xFE9C00C3, 0x0008001F, 0x0000FEAA, 0x00C10008, 0x00220000, 0xFEB900BE, 0x00080025, 0x0000FE8D, 0x00C60005, 0x002C0000, 0x0000ABE4, 0x0008002C, 0xFFB50000, 0x00000001, 0x00010005, 0x00070000, 0xF556EB44, 0x00080019, 0x0000FE8D, 0x00C60008, 0x001C0000, 0xFE8D00C6, 0x0008001F, 0x0000FE9C, 0x00C30008, 0x00220000, 0xFEAA00C1, 0x00080025, 0x0000FE7F, 0x00C80005, 0x002C0000, 0x0000A83C, 0x0008002C, 0xFFB5FFEF, 0x00000001, 0x00010005, 0x00070000, 0xF556E84D, 0x00080019, 0x0000FE7F, 0x00C80008, 0x001C0000, 0xFE7F00C8, 0x0008001F, 0x0000FE8D, 0x00C60008, 0x00220000, 0xFE9C00C3, 0x00080025, 0x0000FE70, 0x00CB0005, 0x002C0000, 0x0000A493, 0x0008002C, 0xFFB5FFDC, 0x00000001, 0x00010005, 0x00070000, 0xF556E59E, 0x00080019, 0x0000FE70, 0x00CB0008, 0x001C0000, 0xFE7000CB, 0x0008001F, 0x0000FE7F, 0x00C80008, 0x00220000, 0xFE8D00C6, 0x0005002C, 0x00000000, 0xA0EB0008, 0x002CFFB5, 0xFFC40000, 0x00010001, 0x00050007, 0x0000F556, 0xE3550008, 0x001F0000, 0xFE7000CB, 0x00080022, 0x0000FE7F, 0x00C80005, 0x002C0000, 0x00009D43, 0x0008002C, 0xFFB5FFAA, 0x00000001, 0x00010005, 0x00070000, 0xF556E18F, 0x00080022, 0x0000FE70, 0x00CB0005, 0x002C0000, 0x0000999B, 0x0008002C, 0xFFB5FF8D, 0x00000001, 0x00010005, 0x00070000, 0xF556E069, 0x0005002C, 0x00000000, 0x95F30008, 0x002CFFB5, 0xFF6C0000, 0x00010001, 0x00050007, 0x0000F556, 0xE0010005, 0x002C0000, 0x0000924A, 0x0008002C, 0xFFB5FF49, 0x00000001, 0x00010005, 0x00070000, 0xF556E04D, 0x0005002C, 0x00000000, 0x8EA20008, 0x002CFFB5, 0xFF230000, 0x00010001, 0x00050007, 0x0000F556, 0xE11D0005, 0x002C0000, 0x00008AFA, 0x0008002C, 0xFFB5FEFA, 0x00000001, 0x00010005, 0x00070000, 0xF556E24F, 0x0005002C, 0x00000000, 0x87520008, 0x002CFFB5, 0xFECF0000, 0x00010001, 0x00050007, 0x0000F556, 0xE3C20005, 0x002C0000, 0x000083AA, 0x0008002C, 0xFFB5FEA1, 0x00000001, 0x00010005, 0x00070000, 0xF556E556, 0x0005002C, 0x00000000, 0x80010008, 0x002CFFB5, 0xFE700000, 0x00010001, 0x00050007, 0x0000F556, 0xE6EA0001, 0x00010005, 0x00070000, 0xF556E85E, 0x00010001, 0x00050007, 0x0000F556, 0xE98F0001, 0x00010005, 0x00070000, 0xF556EA5F, 0x00010001, 0x00050007, 0x0000F556, 0xEAAB0001, 0x00010005, 0x00070000, 0xF556EA4D, 0x00010001, 0x00050007, 0x0000F556, 0xE96B0001, 0x00010005, 0x00070000, 0xF556E85E, 0x00010001, 0x00050007, 0x0000F556, 0xE77C0001, 0x00010005, 0x00070000, 0xF556E71D, 0x00010001, 0x00010001, 0x00080007, 0xFEA9014C, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x0149FFC8, 0x00010001, 0x00080007, 0xFEA90143, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x013CFFC8, 0x00010001, 0x00080007, 0xFEA90133, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x0128FFC8, 0x00010001, 0x00080007, 0xFEA9011B, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x010CFFC8, 0x00010001, 0x00080007, 0xFEA900FB, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x00E8FFC8, 0x00010001, 0x00080007, 0xFEA900D2, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x00BAFFC8, 0x00010001, 0x00080007, 0xFEA9009F, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x0082FFC8, 0x00010001, 0x00080007, 0xFEA90063, 0xFFC80001, 0x00010008, 0x0007FEA9, 0x0040FFC8, 0x00010001, 0x00080007, 0xFEA9001B, 0xFFC80001, 0x00010008, 0x0007FEA9, 0xFFF4FFC8, 0x00010001, 0x00080007, 0xFEA9FFC9, 0xFFC80001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010005, 0x00030000, 0x1FFF0040, 0x00080003, 0xFF0400D3, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF00FB, 0x00080003, 0xFF0400D0, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF022A, 0x00080003, 0xFF0400CA, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF03C5, 0x00080003, 0xFF0400C3, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF05C6, 0x00080003, 0xFF0400B9, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF0825, 0x00080003, 0xFF0400AE, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF0ADB, 0x00080003, 0xFF0400A1, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF0DE0, 0x00080003, 0xFF040093, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF112E, 0x00080003, 0xFF040083, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF14BC, 0x00080003, 0xFF040072, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF1884, 0x00080003, 0xFF040060, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF1C7F, 0x00080003, 0xFF04004C, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF20A4, 0x00080003, 0xFF040038, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF24EE, 0x00080003, 0xFF040023, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF2954, 0x00080003, 0xFF04000D, 0xFFB00001, 0x00010005, 0x00030000, 0x1FFF2DCF, 0x00080003, 0xFF04FFF7, 0xFFB00005, 0x00050013, 0xCAAC0000, 0x00080005, 0xFE8800CD, 0xFFAE0001, 0x00010005, 0x00030000, 0x1FFF3258, 0x00080003, 0xFF04FFE0, 0xFFB00005, 0x0005004E, 0xCAAC0000, 0x00080005, 0xFE8800C9, 0xFFAE0001, 0x00010005, 0x00030000, 0x1FFF36E8, 0x00080003, 0xFF04FFC9, 0xFFB00005, 0x000500AD, 0xCAAC0000, 0x00080005, 0xFE8800C4, 0xFFAE0001, 0x00010005, 0x00030000, 0x1FFF3B77, 0x00080003, 0xFF04FFB1, 0xFFB00005, 0x0005012E, 0xCAAC0000, 0x00080005, 0xFE8800BD, 0xFFAE0001, 0x00010005, 0x00030000, 0x1FFF3FFF, 0x00080003, 0xFF04FF9A, 0xFFB00005, 0x000501D0, 0xCAAC0000, 0x00080005, 0xFE8800B4, 0xFFAE0001, 0x00010005, 0x00050291, 0xCAAC0000, 0x00080005, 0xFE8800A9, 0xFFAE0001, 0x00010005, 0x0005036E, 0xCAAC0000, 0x00080005, 0xFE88009C, 0xFFAE0001, 0x00010005, 0x00050466, 0xCAAC0000, 0x00080005, 0xFE88008E, 0xFFAE0001, 0x00010005, 0x00050577, 0xCAAC0000, 0x00080005, 0xFE88007F, 0xFFAE0001, 0x00010005, 0x0005069E, 0xCAAC0000, 0x00080005, 0xFE88006E, 0xFFAE0001, 0x00010005, 0x000507DA, 0xCAAC0000, 0x00080005, 0xFE88005C, 0xFFAE0001, 0x00010005, 0x00050929, 0xCAAC0000, 0x00080005, 0xFE880049, 0xFFAE0001, 0x00010005, 0x00050A88, 0xCAAC0000, 0x00080005, 0xFE880035, 0xFFAE0001, 0x00010005, 0x00050BF7, 0xCAAC0000, 0x00080005, 0xFE880020, 0xFFAE0001, 0x00010005, 0x00050D72, 0xCAAC0000, 0x00080005, 0xFE88000A, 0xFFAE0001, 0x00010005, 0x00050EF8, 0xCAAC0000, 0x00080005, 0xFE88FFF5, 0xFFAE0001, 0x00010005, 0x00051087, 0xCAAC0000, 0x00080005, 0xFE88FFDE, 0xFFAE0001, 0x00010005, 0x0005121C, 0xCAAC0000, 0x00080005, 0xFE88FFC6, 0xFFAE0001, 0x00010005, 0x000513B7, 0xCAAC0000, 0x00080005, 0xFE88FFAE, 0xFFAE0001, 0x00010005, 0x00051555, 0xCAAC0000, 0x00080005, 0xFE88FF96, 0xFFAE0001, 0x00010005, 0x005C0012, 0x00000000, 0x00010001, 0x0005005C, 0x004D0000, 0x00000001, 0x00010005, 0x005C00B4, 0x00000000, 0x00010001, 0x0005005C, 0x014A0000, 0x00000001, 0x00010005, 0x005C0212, 0x00000000, 0x00010001, 0x0005005C, 0x03120000, 0x00000001, 0x00010005, 0x005C044C, 0x00000000, 0x00010001, 0x0005005C, 0x05C30000, 0x00000001, 0x00010005, 0x005C077C, 0x00000000, 0x00010001, 0x0005005C, 0x097B0000, 0x00000001, 0x00010005, 0x005C0BC2, 0x00000000, 0x0005005F, 0x00120000, 0x00000001, 0x00010005, 0x005C0E55, 0x00000000, 0x0005005F, 0x004D0000, 0x00000001, 0x00010005, 0x005C1139, 0x00000000, 0x0005005F, 0x00B40000, 0x00000001, 0x00010005, 0x005C1470, 0x00000000, 0x0005005F, 0x014A0000, 0x00000001, 0x00010005, 0x005C17FF, 0x00000000, 0x0005005F, 0x02120000, 0x00000001, 0x00010005, 0x00590012, 0x00000000, 0x0005005C, 0x1BE90000, 0x00000005, 0x005F0312, 0x00000000, 0x00010001, 0x00050059, 0x004D0000, 0x00000005, 0x005C2032, 0x00000000, 0x0005005F, 0x044C0000, 0x00000001, 0x00010005, 0x005900B4, 0x00000000, 0x0005005C, 0x24DC0000, 0x00000005, 0x005F05C3, 0x00000000, 0x00010001, 0x00050059, 0x014A0000, 0x00000005, 0x005C29ED, 0x00000000, 0x0005005F, 0x077C0000, 0x00000001, 0x00010005, 0x00590212, 0x00000000, 0x0005005C, 0x2F670000, 0x00000005, 0x005F097B, 0x00000000, 0x00010001, 0x00050059, 0x03120000, 0x00000005, 0x005C354F, 0x00000000, 0x0005005F, 0x0BC20000, 0x00000001, 0x00010005, 0x0059044C, 0x00000000, 0x0005005C, 0x3BA70000, 0x00000005, 0x005F0E55, 0x00000000, 0x00010001, 0x00050059, 0x05C30000, 0x00000005, 0x005C4274, 0x00000000, 0x0005005F, 0x11390000, 0x00000001, 0x00010005, 0x0059077C, 0x00000000, 0x0005005C, 0x49B90000, 0x00000005, 0x005F1470, 0x00000000, 0x00010001, 0x00050059, 0x097B0000, 0x00000005, 0x005C517A, 0x00000000, 0x0005005F, 0x17FF0000, 0x00000001, 0x00010005, 0x00590BC2, 0x00000000, 0x0005005C, 0x59BA0000, 0x00000005, 0x005F1BE9, 0x00000000, 0x00010001, 0x00050059, 0x0E550000, 0x00000005, 0x005C627E, 0x00000000, 0x0005005F, 0x20320000, 0x00000001, 0x00010005, 0x00591139, 0x00000000, 0x0005005C, 0x6BC80000, 0x00000005, 0x005F24DC, 0x00000000, 0x00010001, 0x00050059, 0x14700000, 0x00000005, 0x005C759C, 0x00000000, 0x0005005F, 0x29ED0000, 0x00000001, 0x00010005, 0x005917FF, 0x00000000, 0x0005005C, 0x80010000, 0x00000005, 0x005F2F67, 0x00000000, 0x00010001, 0x00050059, 0x1BE90000, 0x00000005, 0x005B0888, 0x16EE0000, 0x0005005F, 0x354F0000, 0x00000005, 0x00620012, 0x00000000, 0x00010001, 0x00050059, 0x20320000, 0x00000005, 0x005B1110, 0x16EE0000, 0x0005005F, 0x3BA70000, 0x00000005, 0x0062004D, 0x00000000, 0x00010001, 0x00050059, 0x24DC0000, 0x00000005, 0x005B1999, 0x16EE0000, 0x0005005F, 0x42740000, 0x00000005, 0x006200B4, 0x00000000, 0x00010001, 0x00050059, 0x29ED0000, 0x00000005, 0x005B2221, 0x16EE0000, 0x0005005F, 0x49B90000, 0x00000005, 0x0062014A, 0x00000000, 0x00010001, 0x00050059, 0x2F670000, 0x00000005, 0x005B2AAA, 0x16EE0000, 0x0005005F, 0x517A0000, 0x00000005, 0x00620212, 0x00000000, 0x00010001, 0x00050059, 0x354F0000, 0x00000005, 0x005B3332, 0x16EE0000, 0x0005005F, 0x59BA0000, 0x00000005, 0x00620312, 0x00000000, 0x00010001, 0x00050059, 0x3BA70000, 0x00000005, 0x005B3BBB, 0x16EE0000, 0x0005005F, 0x627E0000, 0x00000005, 0x0062044C, 0x00000000, 0x00010001, 0x00050059, 0x42740000, 0x00000005, 0x005B4443, 0x16EE0000, 0x0005005F, 0x6BC80000, 0x00000005, 0x006205C3, 0x00000000, 0x00010001, 0x00050059, 0x49B90000, 0x00000005, 0x005B4CCC, 0x16EE0000, 0x0005005F, 0x759C0000, 0x00000005, 0x0062077C, 0x00000000, 0x00010001, 0x00050059, 0x517A0000, 0x00000005, 0x005B5554, 0x16EE0000, 0x0005005F, 0x80010000, 0x00000005, 0x0062097B, 0x00000000, 0x00010001, 0x00050059, 0x59BA0000, 0x00000005, 0x005B5DDD, 0x16EE0000, 0x0005005E, 0x0888EC45, 0x00000005, 0x00620BC2, 0x00000000, 0x00050068, 0x00120000, 0x00000001, 0x00010005, 0x0059627E, 0x00000000, 0x0005005B, 0x666516EE, 0x00000005, 0x005E1110, 0xEC450000, 0x00050062, 0x0E550000, 0x00000005, 0x0068004D, 0x00000000, 0x00010001, 0x00050059, 0x6BC80000, 0x00000005, 0x005B6EEE, 0x16EE0000, 0x0005005E, 0x1999EC45, 0x00000005, 0x00621139, 0x00000000, 0x00050068, 0x00B40000, 0x00000001, 0x00010005, 0x0059759C, 0x00000000, 0x0005005B, 0x777616EE, 0x00000005, 0x005E2221, 0xEC450000, 0x00050062, 0x14700000, 0x00000005, 0x0068014A, 0x00000000, 0x00010001, 0x00050059, 0x80010000, 0x00000005, 0x005B8001, 0x16EE0000, 0x0005005E, 0x2AAAEC45, 0x00000005, 0x006217FF, 0x00000000, 0x00050068, 0x02120000, 0x00000001, 0x00010005, 0x004D01A1, 0x16EE0000, 0x00050058, 0x08884199, 0x00000008, 0x005B0002, 0x00B50018, 0x0005005E, 0x3332EC45, 0x00000005, 0x00621BE9, 0x00000000, 0x00050068, 0x03120000, 0x00000001, 0x00010005, 0x004D0638, 0x16EE0000, 0x00050058, 0x11104199, 0x00000008, 0x005B0002, 0x00A70018, 0x0005005E, 0x3BBBEC45, 0x00000005, 0x00622032, 0x00000000, 0x00050068, 0x044C0000, 0x00000001, 0x00010005, 0x004D0D4F, 0x16EE0000, 0x00050058, 0x19994199, 0x00000008, 0x005B0002, 0x00980018, 0x0005005E, 0x4443EC45, 0x00000005, 0x006224DC, 0x00000000, 0x00050068, 0x05C30000, 0x00000001, 0x00010005, 0x004D1673, 0x16EE0000, 0x00050058, 0x22214199, 0x00000008, 0x005B0002, 0x008A0018, 0x0005005E, 0x4CCCEC45, 0x00000005, 0x006229ED, 0x00000000, 0x00050068, 0x077C0000, 0x00000001, 0x00010005, 0x004D212F, 0x16EE0000, 0x00050058, 0x2AAA4199, 0x00000008, 0x005B0002, 0x007C0018, 0x0005005E, 0x5554EC45, 0x00000005, 0x00622F67, 0x00000000, 0x00050068, 0x097B0000, 0x00000001, 0x00010005, 0x004D2D0D, 0x16EE0000, 0x00050058, 0x33324199, 0x00000008, 0x005B0002, 0x006D0018, 0x0005005E, 0x5DDDEC45, 0x00000005, 0x0062354F, 0x00000000, 0x00050068, 0x0BC20000, 0x00000001, 0x00010005, 0x004D399B, 0x16EE0000, 0x00050058, 0x3BBB4199, 0x00000008, 0x005B0002, 0x005F0018, 0x0005005E, 0x6665EC45, 0x00000005, 0x00623BA7, 0x00000000, 0x00050068, 0x0E550000, 0x00000001, 0x00010005, 0x004D4663, 0x16EE0000, 0x00050058, 0x44434199, 0x00000008, 0x005B0002, 0x00500018, 0x0005005E, 0x6EEEEC45, 0x00000005, 0x00624274, 0x00000000, 0x00050068, 0x11390000, 0x00000001, 0x00010005, 0x004D52F0, 0x16EE0000, 0x00050058, 0x4CCC4199, 0x00000008, 0x005B0002, 0x00420018, 0x0005005E, 0x7776EC45, 0x00000005, 0x006249B9, 0x00000000, 0x00050068, 0x14700000, 0x00000001, 0x00010005, 0x004D5ECF, 0x16EE0000, 0x00050058, 0x55544199, 0x00000008, 0x005B0002, 0x00340018, 0x0005005E, 0x8001EC45, 0x00000005, 0x0062517A, 0x00000000, 0x00050068, 0x17FF0000, 0x00000001, 0x00010005, 0x004D698B, 0x16EE0000, 0x0005004F, 0x01A1EC45, 0x00000005, 0x00585DDD, 0x41990000, 0x0008005B, 0x00020025, 0x00180008, 0x005EFFB9, 0x00B5001B, 0x00050062, 0x59BA0000, 0x00000005, 0x00650012, 0x00000000, 0x00050068, 0x1BE90000, 0x00000001, 0x00010005, 0x004D72AF, 0x16EE0000, 0x0005004F, 0x0638EC45, 0x00000005, 0x00586665, 0x41990000, 0x0008005B, 0x00020017, 0x00180008, 0x005EFFB9, 0x00A7001B, 0x00050062, 0x627E0000, 0x00000005, 0x0065004D, 0x00000000, 0x00050068, 0x20320000, 0x00000001, 0x00010005, 0x004D79C6, 0x16EE0000, 0x0005004F, 0x0D4FEC45, 0x00000005, 0x00586EEE, 0x41990000, 0x0008005B, 0x00020008, 0x00180008, 0x005EFFB9, 0x0098001B, 0x00050062, 0x6BC80000, 0x00000005, 0x006500B4, 0x00000000, 0x00050068, 0x24DC0000, 0x00000001, 0x00010005, 0x004D7E5D, 0x16EE0000, 0x0005004F, 0x1673EC45, 0x00000005, 0x00587776, 0x41990000, 0x0008005B, 0x0002FFFB, 0x00180008, 0x005EFFB9, 0x008A001B, 0x00050062, 0x759C0000, 0x00000005, 0x0065014A, 0x00000000, 0x00050068, 0x29ED0000, 0x00000001, 0x00010005, 0x004D8001, 0x16EE0000, 0x0005004F, 0x212FEC45, 0x00000005, 0x00588001, 0x41990000, 0x0008005B, 0x0002FFEC, 0x00180008, 0x005EFFB9, 0x007C001B, 0x00050062, 0x80010000, 0x00000005, 0x00650212, 0x00000000, 0x00050068, 0x2F670000, 0x00000001, 0x00010005, 0x004B01A1, 0x41990000, 0x0008004D, 0x000200C0, 0x00180005, 0x004F2D0D, 0xEC450000, 0x00080058, 0x002400B5, 0xFFD70008, 0x005EFFB9, 0x006D001B, 0x00050061, 0x0888C19B, 0x00000005, 0x00650312, 0x00000000, 0x00050068, 0x354F0000, 0x00000001, 0x00010005, 0x004B0638, 0x41990000, 0x0008004D, 0x000200B5, 0x00180005, 0x004F399B, 0xEC450000, 0x00080058, 0x002400A7, 0xFFD70008, 0x005EFFB9, 0x005F001B, 0x00050061, 0x1110C19B, 0x00000005, 0x0065044C, 0x00000000, 0x00050068, 0x3BA70000, 0x00000001, 0x00010005, 0x004B0D4F, 0x41990000, 0x0008004D, 0x000200A4, 0x00180005, 0x004F4663, 0xEC450000, 0x00080058, 0x00240098, 0xFFD70008, 0x005EFFB9, 0x0050001B, 0x00050061, 0x1999C19B, 0x00000005, 0x006505C3, 0x00000000, 0x00050068, 0x42740000, 0x00000001, 0x00010005, 0x004B1673, 0x41990000, 0x0008004D, 0x0002008E, 0x00180005, 0x004F52F1, 0xEC450000, 0x00080058, 0x0024008A, 0xFFD70008, 0x005EFFB9, 0x0042001B, 0x00050061, 0x2221C19B, 0x00000005, 0x0065077C, 0x00000000, 0x00050068, 0x49B90000, 0x00000001, 0x00010005, 0x004B212F, 0x41990000, 0x0008004D, 0x00020074, 0x00180005, 0x004F5ECF, 0xEC450000, 0x00080058, 0x0024007C, 0xFFD70008, 0x005EFFB9, 0x0034001B, 0x00050061, 0x2AAAC19B, 0x00000005, 0x0065097B, 0x00000000, 0x00050068, 0x517A0000, 0x00000001, 0x00010005, 0x004B2D0D, 0x41990000, 0x0008004D, 0x00020058, 0x00180005, 0x004F698B, 0xEC450000, 0x00080058, 0x0024006D, 0xFFD70008, 0x005EFFB9, 0x0025001B, 0x00050061, 0x3332C19B, 0x00000005, 0x00650BC2, 0x00000000, 0x00050068, 0x59BA0000, 0x00000001, 0x00010005, 0x004B399B, 0x41990000, 0x0008004D, 0x0002003A, 0x00180005, 0x004F72AF, 0xEC450000, 0x00080058, 0x0024005F, 0xFFD70008, 0x005EFFB9, 0x0017001B, 0x00050061, 0x3BBBC19B, 0x00000005, 0x00650E55, 0x00000000, 0x00050068, 0x627E0000, 0x00000001, 0x00010005, 0x004B4663, 0x41990000, 0x0008004D, 0x0002001C, 0x00180005, 0x004F79C6, 0xEC450000, 0x00080058, 0x00240050, 0xFFD70008, 0x005EFFB9, 0x0008001B, 0x00050061, 0x4443C19B, 0x00000005, 0x00651139, 0x00000000, 0x00050068, 0x6BC80000, 0x00000001, 0x00010005, 0x004B52F0, 0x41990000, 0x0008004D, 0x0002FFFF, 0x00180005, 0x004F7E5D, 0xEC450000, 0x00080058, 0x00240042, 0xFFD70008, 0x005EFFB9, 0xFFFB001B, 0x00050061, 0x4CCCC19B, 0x00000005, 0x00651470, 0x00000000, 0x00050068, 0x759C0000, 0x00000001, 0x00010005, 0x004B5ECF, 0x41990000, 0x0008004D, 0x0002FFE2, 0x00180005, 0x004F8001, 0xEC450000, 0x00080058, 0x00240034, 0xFFD70008, 0x005EFFB9, 0xFFEC001B, 0x00050061, 0x5554C19B, 0x00000005, 0x006517FF, 0x00000000, 0x00050068, 0x80010000, 0x00000001, 0x00010005, 0x004B698B, 0x41990000, 0x0008004D, 0x0002FFC9, 0x00180008, 0x004FFFB9, 0x00C0001B, 0x00080058, 0x00240025, 0xFFD70005, 0x00615DDD, 0xC19B0000, 0x00050065, 0x1BE90000, 0x00000005, 0x00670888, 0x6C430000, 0x00010001, 0x0005004B, 0x72AF4199, 0x00000008, 0x004D0002, 0xFFB30018, 0x0008004F, 0xFFB900B5, 0x001B0008, 0x00580024, 0x0017FFD7, 0x00050061, 0x6665C19B, 0x00000005, 0x00652032, 0x00000000, 0x00050067, 0x11106C43, 0x00000001, 0x00010005, 0x004B79C6, 0x41990000, 0x0008004D, 0x0002FFA2, 0x00180008, 0x004FFFB9, 0x00A4001B, 0x00080058, 0x00240008, 0xFFD70005, 0x00616EEE, 0xC19B0000, 0x00050065, 0x24DC0000, 0x00000005, 0x00671999, 0x6C430000, 0x00010001, 0x0005004B, 0x7E5D4199, 0x00000008, 0x004D0002, 0xFF970018, 0x0008004F, 0xFFB9008E, 0x001B0008, 0x00580024, 0xFFFBFFD7, 0x00050061, 0x7776C19B, 0x00000005, 0x006529ED, 0x00000000, 0x00050067, 0x22216C43, 0x00000001, 0x00010005, 0x004B8001, 0x41990000, 0x0008004D, 0x0002FF93, 0x00180008, 0x004FFFB9, 0x0074001B, 0x00080058, 0x0024FFEC, 0xFFD70005, 0x00618001, 0xC19B0000, 0x00050065, 0x2F670000, 0x00000005, 0x00672AAA, 0x6C430000, 0x00010001, 0x00080040, 0x00010067, 0x00170008, 0x004B0024, 0x00C0FFD7, 0x0008004F, 0xFFB90058, 0x001B0008, 0x0061FF91, 0x00B5FFDD, 0x00050065, 0x354F0000, 0x00000005, 0x00673332, 0x6C430000, 0x00010001, 0x00080040, 0x00010060, 0x00170008, 0x004B0024, 0x00B5FFD7, 0x0008004F, 0xFFB9003A, 0x001B0005, 0x005101A1, 0xC19B0000, 0x00080061, 0xFF9100A7, 0xFFDD0005, 0x00653BA7, 0x00000000, 0x00050067, 0x3BBB6C43, 0x00000001, 0x00010008, 0x00400001, 0x00540017, 0x0008004B, 0x002400A4, 0xFFD70008, 0x004FFFB9, 0x001C001B, 0x00050051, 0x0638C19B, 0x00000008, 0x0061FF91, 0x0098FFDD, 0x00050065, 0x42740000, 0x00000005, 0x00674443, 0x6C430000, 0x00010001, 0x00080040, 0x00010045, 0x00170008, 0x004B0024, 0x008EFFD7, 0x0008004F, 0xFFB9FFFF, 0x001B0005, 0x00510D4F, 0xC19B0000, 0x00080061, 0xFF91008A, 0xFFDD0005, 0x006549B9, 0x00000000, 0x00050067, 0x4CCC6C43, 0x00000001, 0x00010008, 0x00400001, 0x00330017, 0x0008004B, 0x00240074, 0xFFD70008, 0x004FFFB9, 0xFFE2001B, 0x00050051, 0x1673C19B, 0x00000008, 0x0061FF91, 0x007CFFDD, 0x00050065, 0x517A0000, 0x00000005, 0x00675554, 0x6C430000, 0x00010001, 0x00080040, 0x0001001F, 0x00170008, 0x004B0024, 0x0058FFD7, 0x0008004F, 0xFFB9FFC9, 0x001B0005, 0x0051212F, 0xC19B0000, 0x00080061, 0xFF91006D, 0xFFDD0005, 0x006559BA, 0x00000000, 0x00050067, 0x5DDD6C43, 0x00000001, 0x00010008, 0x00400001, 0x000A0017, 0x0008004B, 0x0024003A, 0xFFD70008, 0x004FFFB9, 0xFFB3001B, 0x00050051, 0x2D0DC19B, 0x00000008, 0x0061FF91, 0x005FFFDD, 0x00050065, 0x627E0000, 0x00000005, 0x00676665, 0x6C430000, 0x00010001, 0x00080040, 0x0001FFF6, 0x00170008, 0x004B0024, 0x001CFFD7, 0x0008004F, 0xFFB9FFA2, 0x001B0005, 0x0051399B, 0xC19B0000, 0x00080061, 0xFF910050, 0xFFDD0005, 0x00656BC8, 0x00000000, 0x00050067, 0x6EEE6C43, 0x00000001, 0x00010008, 0x00400001, 0xFFE10017, 0x0008004B, 0x0024FFFF, 0xFFD70008, 0x004FFFB9, 0xFF97001B, 0x00050051, 0x4663C19B, 0x00000008, 0x0061FF91, 0x0042FFDD, 0x00050065, 0x759C0000, 0x00000005, 0x00677776, 0x6C430000, 0x00010001, 0x00080040, 0x0001FFCD, 0x00170008, 0x004B0024, 0xFFE2FFD7, 0x0008004F, 0xFFB9FF93, 0x001B0005, 0x005152F1, 0xC19B0000, 0x00080061, 0xFF910034, 0xFFDD0005, 0x00658001, 0x00000000, 0x00050067, 0x80016C43, 0x00000001, 0x00010008, 0x00400001, 0xFFBB0017, 0x00080042, 0xFFB90067, 0x001A0008, 0x004B0024, 0xFFC9FFD7, 0x00050051, 0x5ECFC19B, 0x00000005, 0x005501A1, 0x6C430000, 0x00080061, 0xFF910025, 0xFFDD0005, 0x00640888, 0x96F00000, 0x00080067, 0xFFFD00B5, 0xFF990001, 0x00010008, 0x00400001, 0xFFAC0017, 0x00080042, 0xFFB90060, 0x001A0008, 0x004B0024, 0xFFB3FFD7, 0x00050051, 0x698BC19B, 0x00000005, 0x00550638, 0x6C430000, 0x00080061, 0xFF910017, 0xFFDD0005, 0x00641110, 0x96F00000, 0x00080067, 0xFFFD00A7, 0xFF990001, 0x00010008, 0x00400001, 0xFFA00017, 0x00080042, 0xFFB90054, 0x001A0008, 0x004B0024, 0xFFA2FFD7, 0x00050051, 0x72AFC19B, 0x00000005, 0x00550D4F, 0x6C430000, 0x00080061, 0xFF910008, 0xFFDD0005, 0x00641999, 0x96F00000, 0x00080067, 0xFFFD0098, 0xFF990001, 0x00010008, 0x00400001, 0xFF990017, 0x00080042, 0xFFB90045, 0x001A0008, 0x004B0024, 0xFF97FFD7, 0x00050051, 0x79C6C19B, 0x00000005, 0x00551673, 0x6C430000, 0x00080061, 0xFF91FFFB, 0xFFDD0005, 0x00642221, 0x96F00000, 0x00080067, 0xFFFD008A, 0xFF990001, 0x00010008, 0x00400001, 0xFF960017, 0x00080042, 0xFFB90033, 0x001A0008, 0x004B0024, 0xFF93FFD7, 0x00050051, 0x7E5DC19B, 0x00000005, 0x0055212F, 0x6C430000, 0x00080061, 0xFF91FFEC, 0xFFDD0005, 0x00642AAA, 0x96F00000, 0x00080067, 0xFFFD007C, 0xFF990001, 0x00010008, 0x003E0023, 0x0067FFD7, 0x00080042, 0xFFB9001F, 0x001A0005, 0x00518001, 0xC19B0000, 0x00050055, 0x2D0D6C43, 0x00000005, 0x00643332, 0x96F00000, 0x00080067, 0xFFFD006D, 0xFF990001, 0x00010008, 0x003E0023, 0x0060FFD7, 0x00080042, 0xFFB9000A, 0x001A0008, 0x0051FF91, 0x00C0FFDD, 0x00050055, 0x399B6C43, 0x00000005, 0x00643BBB, 0x96F00000, 0x00080067, 0xFFFD005F, 0xFF990001, 0x00010008, 0x003E0023, 0x0054FFD7, 0x00080042, 0xFFB9FFF6, 0x001A0008, 0x0051FF91, 0x00B5FFDD, 0x00050055, 0x46636C43, 0x00000005, 0x00644443, 0x96F00000, 0x00080067, 0xFFFD0050, 0xFF990001, 0x00010008, 0x003E0023, 0x0045FFD7, 0x00080042, 0xFFB9FFE1, 0x001A0008, 0x0051FF91, 0x00A4FFDD, 0x00050055, 0x52F16C43, 0x00000005, 0x00644CCC, 0x96F00000, 0x00080067, 0xFFFD0042, 0xFF990001, 0x00010008, 0x003E0023, 0x0033FFD7, 0x00080042, 0xFFB9FFCD, 0x001A0008, 0x0051FF91, 0x008EFFDD, 0x00050055, 0x5ECF6C43, 0x00000005, 0x00645554, 0x96F00000, 0x00080067, 0xFFFD0034, 0xFF990001, 0x00010008, 0x003E0023, 0x001FFFD7, 0x00080042, 0xFFB9FFBB, 0x001A0008, 0x0051FF91, 0x0074FFDD, 0x00050055, 0x698B6C43, 0x00000005, 0x00645DDD, 0x96F00000, 0x00080067, 0xFFFD0025, 0xFF990001, 0x00010008, 0x003E0023, 0x000AFFD7, 0x00080042, 0xFFB9FFAC, 0x001A0008, 0x0051FF91, 0x0058FFDD, 0x00050055, 0x72AF6C43, 0x00000005, 0x00646665, 0x96F00000, 0x00080067, 0xFFFD0017, 0xFF990001, 0x00010008, 0x003E0023, 0xFFF6FFD7, 0x00080042, 0xFFB9FFA0, 0x001A0008, 0x0051FF91, 0x003AFFDD, 0x00050055, 0x79C66C43, 0x00000005, 0x00646EEE, 0x96F00000, 0x00080067, 0xFFFD0008, 0xFF990001, 0x00010008, 0x003E0023, 0xFFE1FFD7, 0x00080042, 0xFFB9FF99, 0x001A0008, 0x0051FF91, 0x001CFFDD, 0x00050055, 0x7E5D6C43, 0x00000005, 0x00647776, 0x96F00000, 0x00080067, 0xFFFDFFFB, 0xFF990001, 0x00010008, 0x003E0023, 0xFFCDFFD7, 0x00080042, 0xFFB9FF96, 0x001A0008, 0x0051FF91, 0xFFFFFFDD, 0x00050055, 0x80016C43, 0x00000005, 0x00648001, 0x96F00000, 0x00080067, 0xFFFDFFEC, 0xFF990001, 0x00010008, 0x003E0023, 0xFFBBFFD7, 0x00080051, 0xFF91FFE2, 0xFFDD0005, 0x005301A1, 0x96F00000, 0x00080055, 0xFFFD00C0, 0xFF990008, 0x0064FFB3, 0x00B5FF9B, 0x00010001, 0x0008003E, 0x0023FFAC, 0xFFD70008, 0x0051FF91, 0xFFC9FFDD, 0x00050053, 0x063896F0, 0x00000008, 0x0055FFFD, 0x00B5FF99, 0x00080064, 0xFFB300A7, 0xFF9B0001, 0x00010008, 0x003E0023, 0xFFA0FFD7, 0x00080051, 0xFF91FFB3, 0xFFDD0005, 0x00530D4F, 0x96F00000, 0x00080055, 0xFFFD00A4, 0xFF990008, 0x0064FFB3, 0x0098FF9B, 0x00010001, 0x0008003E, 0x0023FF99, 0xFFD70008, 0x0051FF91, 0xFFA2FFDD, 0x00050053, 0x167396F0, 0x00000008, 0x0055FFFD, 0x008EFF99, 0x00080064, 0xFFB3008A, 0xFF9B0001, 0x00010008, 0x003E0023, 0xFF96FFD7, 0x00080051, 0xFF91FF97, 0xFFDD0005, 0x0053212F, 0x96F00000, 0x00080055, 0xFFFD0074, 0xFF990008, 0x0064FFB3, 0x007CFF9B, 0x00010001, 0x00080044, 0xFF920067, 0xFFDD0008, 0x0051FF91, 0xFF93FFDD, 0x00050053, 0x2D0D96F0, 0x00000008, 0x0055FFFD, 0x0058FF99, 0x00080064, 0xFFB3006D, 0xFF9B0001, 0x00010008, 0x0044FF92, 0x0060FFDD, 0x00050053, 0x399B96F0, 0x00000008, 0x0055FFFD, 0x003AFF99, 0x00080064, 0xFFB3005F, 0xFF9B0001, 0x00010008, 0x0044FF92, 0x0054FFDD, 0x00050053, 0x466396F0, 0x00000008, 0x0055FFFD, 0x001CFF99, 0x00080064, 0xFFB30050, 0xFF9B0001, 0x00010008, 0x0044FF92, 0x0045FFDD, 0x00050053, 0x52F196F0, 0x00000008, 0x0055FFFD, 0xFFFFFF99, 0x00080064, 0xFFB30042, 0xFF9B0001, 0x00010008, 0x0044FF92, 0x0033FFDD, 0x00050053, 0x5ECF96F0, 0x00000008, 0x0055FFFD, 0xFFE2FF99, 0x00080064, 0xFFB30034, 0xFF9B0001, 0x00010008, 0x0044FF92, 0x001FFFDD, 0x00050053, 0x698B96F0, 0x00000008, 0x0055FFFD, 0xFFC9FF99, 0x00080064, 0xFFB30025, 0xFF9B0001, 0x00010008, 0x0044FF92, 0x000AFFDD, 0x00050053, 0x72AF96F0, 0x00000008, 0x0055FFFD, 0xFFB3FF99, 0x00080064, 0xFFB30017, 0xFF9B0001, 0x00010008, 0x0044FF92, 0xFFF6FFDD, 0x00050053, 0x79C696F0, 0x00000008, 0x0055FFFD, 0xFFA2FF99, 0x00080064, 0xFFB30008, 0xFF9B0001, 0x00010008, 0x0044FF92, 0xFFE1FFDD, 0x00050053, 0x7E5D96F0, 0x00000008, 0x0055FFFD, 0xFF97FF99, 0x00080064, 0xFFB3FFFB, 0xFF9B0001, 0x00010008, 0x0044FF92, 0xFFCDFFDD, 0x00050053, 0x800196F0, 0x00000008, 0x0055FFFD, 0xFF93FF99, 0x00080064, 0xFFB3FFEC, 0xFF9B0001, 0x00010008, 0x0044FF92, 0xFFBBFFDD, 0x00080046, 0xFFFD0067, 0xFF990008, 0x0053FFB3, 0x00C0FF9B, 0x00010001, 0x00080044, 0xFF92FFAC, 0xFFDD0008, 0x0046FFFD, 0x0060FF99, 0x00080053, 0xFFB300B5, 0xFF9B0001, 0x00010008, 0x0044FF92, 0xFFA0FFDD, 0x00080046, 0xFFFD0054, 0xFF990008, 0x0053FFB3, 0x00A4FF9B, 0x00010001, 0x00080044, 0xFF92FF99, 0xFFDD0008, 0x0046FFFD, 0x0045FF99, 0x00080053, 0xFFB3008E, 0xFF9B0001, 0x00010008, 0x0044FF92, 0xFF96FFDD, 0x00080046, 0xFFFD0033, 0xFF990008, 0x0053FFB3, 0x0074FF9B, 0x00010001, 0x00080046, 0xFFFD001F, 0xFF990008, 0x0053FFB3, 0x0058FF9B, 0x00010001, 0x00080046, 0xFFFD000A, 0xFF990008, 0x0053FFB3, 0x003AFF9B, 0x00010001, 0x00080046, 0xFFFDFFF6, 0xFF990008, 0x0053FFB3, 0x001CFF9B, 0x00010001, 0x00080046, 0xFFFDFFE1, 0xFF990008, 0x0053FFB3, 0xFFFFFF9B, 0x00010001, 0x00080046, 0xFFFDFFCD, 0xFF990008, 0x0053FFB3, 0xFFE2FF9B, 0x00010001, 0x00080046, 0xFFFDFFBB, 0xFF990008, 0x0053FFB3, 0xFFC9FF9B, 0x00010001, 0x00080046, 0xFFFDFFAC, 0xFF990008, 0x0053FFB3, 0xFFB3FF9B, 0x00010001, 0x00080046, 0xFFFDFFA0, 0xFF990008, 0x0053FFB3, 0xFFA2FF9B, 0x00010001, 0x00080046, 0xFFFDFF99, 0xFF990008, 0x0053FFB3, 0xFF97FF9B, 0x00010001, 0x00080046, 0xFFFDFF96, 0xFF990008, 0x0053FFB3, 0xFF93FF9B, 0x00010001, 0x00080048, 0xFFB40067, 0xFF9C0001, 0x00010008, 0x0048FFB4, 0x0060FF9C, 0x00010001, 0x00080048, 0xFFB40054, 0xFF9C0001, 0x00010008, 0x0048FFB4, 0x0045FF9C, 0x00010001, 0x00080048, 0xFFB40033, 0xFF9C0001, 0x00010008, 0x0048FFB4, 0x001FFF9C, 0x00010001, 0x00080048, 0xFFB4000A, 0xFF9C0001, 0x00010008, 0x0048FFB4, 0xFFF6FF9C, 0x00010001, 0x00080048, 0xFFB4FFE1, 0xFF9C0001, 0x00010008, 0x0048FFB4, 0xFFCDFF9C, 0x00010001, 0x00080048, 0xFFB4FFBB, 0xFF9C0001, 0x00010008, 0x0048FFB4, 0xFFACFF9C, 0x00010001, 0x00080048, 0xFFB4FFA0, 0xFF9C0001, 0x00010008, 0x0048FFB4, 0xFF99FF9C, 0x00010001, 0x000A0008, 0x0048FFB4, 0xFF96FF9C, 0x00010001, 0x00030000, 0x00000000 - -dlabel D_8024EEF0_8E8FF0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00770000 - -dlabel D_8024EF1C_8E901C -.word 0x00000000, 0x00000000, 0x00000000, 0xC31F0000, 0x00000000, 0xC2FC0000, 0x00000000, D_8024EEF0_8E8FF0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024EF48_8E9048 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00780000 - -dlabel D_8024EF74_8E9074 -.word 0x00000000, 0x00000000, 0x00000000, 0xC31F0000, 0x00000000, 0xC2FC0000, D_8024EF1C_8E901C, D_8024EF48_8E9048, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024EFA0_8E90A0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00790000 - -dlabel D_8024EFCC_8E90CC -.word 0x00000000, 0x00000000, 0x00000000, 0xC31F0000, 0x00000000, 0xC2FC0000, D_8024EF74_8E9074, D_8024EFA0_8E90A0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024EFF8_8E90F8 -.word 0x00000000, 0x00008001, 0x00000000, 0x430C0000, 0xC1200000, 0xC3B40000, 0x00000000, D_8024EFCC_8E90CC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F024_8E9124 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x007A0000 - -dlabel D_8024F050_8E9150 -.word 0x00000000, 0x00000000, 0x00000000, 0xC31F0000, 0x00000000, 0xC2FC0000, 0x00000000, D_8024F024_8E9124, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F07C_8E917C -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x007B0000 - -dlabel D_8024F0A8_8E91A8 -.word 0x00000000, 0x00000000, 0x00000000, 0xC31F0000, 0x00000000, 0xC2FC0000, D_8024F050_8E9150, D_8024F07C_8E917C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F0D4_8E91D4 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x007C0000 - -dlabel D_8024F100_8E9200 -.word 0x00000000, 0x00000000, 0x00000000, 0xC31F0000, 0x00000000, 0xC2FC0000, D_8024F0A8_8E91A8, D_8024F0D4_8E91D4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F12C_8E922C -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xC1200000, 0x00000000, D_8024EFF8_8E90F8, D_8024F100_8E9200, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F158_8E9258 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8024F12C_8E922C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F184_8E9284 -.word 0x00000000, 0x0000F6F9, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00760000 - -dlabel D_8024F1B0_8E92B0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x42DC0000, 0x00000000, 0x00000000, D_8024F184_8E9284, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F1DC_8E92DC -.word 0x00000000, 0x0000F6F9, 0x80020000, 0xC36D0000, 0x42DA0000, 0x431B0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x002F0000 - -dlabel D_8024F208_8E9308 -.word 0x00000000, 0x0000F6F9, 0x00000000, 0x439C0000, 0xC3290000, 0x431B0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00300000 - -dlabel D_8024F234_8E9334 -.word 0x00000000, 0x0000F6F9, 0x80020000, 0xC36D0000, 0x43290000, 0x431B0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00310000 - -dlabel D_8024F260_8E9360 -.word 0x00000000, 0x0000F6F9, 0x00000000, 0x439C0000, 0xC3650000, 0x431B0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00320000 - -dlabel D_8024F28C_8E938C -.word 0x00000000, 0x0000F6F9, 0x80020000, 0xC36D0000, 0x43650000, 0x431B0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00330000 - -dlabel D_8024F2B8_8E93B8 -.word 0x00000000, 0x0000F6F9, 0x00000000, 0x439C0000, 0xC3908000, 0x431B0000, 0x00000000, 0x00000000, 0xFFFF0000, 0x00000000, 0x00340000 - -dlabel D_8024F2E4_8E93E4 -.word 0x00000000, 0x00000000, 0x00000000, 0x42960000, 0x00000000, 0x00000000, D_8024F2B8_8E93B8, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F310_8E9410 -.word 0x00000000, 0x00000000, 0xC0010000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, D_8024F2E4_8E93E4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F33C_8E943C -.word 0x00000000, 0x00000000, 0x00000000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, D_8024F310_8E9410, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F368_8E9468 -.word 0x00000000, 0x00000000, 0xC0010000, 0x42960000, 0x00000000, 0x00000000, D_8024F28C_8E938C, D_8024F33C_8E943C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F394_8E9494 -.word 0x00000000, 0x00000000, 0x7FFE0000, 0x42960000, 0x00000000, 0x00000000, D_8024F260_8E9360, D_8024F368_8E9468, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F3C0_8E94C0 -.word 0x00000000, 0x00000000, 0xC0010000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, D_8024F394_8E9494, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F3EC_8E94EC -.word 0x00000000, 0x00000000, 0x00000000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, D_8024F3C0_8E94C0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F418_8E9518 -.word 0x00000000, 0x00000000, 0xC0010000, 0x42960000, 0x00000000, 0x00000000, D_8024F234_8E9334, D_8024F3EC_8E94EC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F444_8E9544 -.word 0x00000000, 0x00000000, 0x7FFE0000, 0x42960000, 0x00000000, 0x00000000, D_8024F208_8E9308, D_8024F418_8E9518, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F470_8E9570 -.word 0x00000000, 0x00000000, 0xC0010000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, D_8024F444_8E9544, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F49C_8E959C -.word 0x00000000, 0x00000000, 0x00000000, 0x41F00000, 0x00000000, 0x00000000, 0x00000000, D_8024F470_8E9570, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F4C8_8E95C8 -.word 0x00000000, 0x00000000, 0xC0010000, 0x42960000, 0x00000000, 0x00000000, D_8024F1DC_8E92DC, D_8024F49C_8E959C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F4F4_8E95F4 -.word 0x00000000, 0x00000000, 0x7FFE0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8024F4C8_8E95C8, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F520_8E9620 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x42DC0000, 0x00000000, D_8024F1B0_8E92B0, D_8024F4F4_8E95F4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F54C_8E964C -.word 0x00000000, 0x00000907, 0x00000000, 0xC3850000, 0x00000000, 0xC2C60000, D_8024F158_8E9258, D_8024F520_8E9620, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F578_8E9678 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8024F54C_8E964C, 0x00000000, 0x00000000, 0x00000000, D_8024F578_8E9678, D_8024F54C_8E964C, D_8024F520_8E9620, D_8024F4F4_8E95F4, D_8024F4C8_8E95C8, D_8024F49C_8E959C, D_8024F470_8E9570, D_8024F444_8E9544, D_8024F418_8E9518, D_8024F3EC_8E94EC, D_8024F3C0_8E94C0, D_8024F394_8E9494, D_8024F368_8E9468, D_8024F33C_8E943C, D_8024F310_8E9410, D_8024F2E4_8E93E4, D_8024F2B8_8E93B8, D_8024F28C_8E938C, D_8024F260_8E9360, D_8024F234_8E9334, D_8024F208_8E9308, D_8024F1DC_8E92DC, D_8024F1B0_8E92B0, D_8024F184_8E9284, D_8024F158_8E9258, D_8024F12C_8E922C, D_8024F100_8E9200, D_8024F0D4_8E91D4, D_8024F0A8_8E91A8, D_8024F07C_8E917C, D_8024F050_8E9150, D_8024F024_8E9124, D_8024EFF8_8E90F8, D_8024EFCC_8E90CC, D_8024EFA0_8E90A0, D_8024EF74_8E9074, D_8024EF48_8E9048, D_8024EF1C_8E901C, D_8024EEF0_8E8FF0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00050001, 0x00000000, 0x00000008, 0x00010000, 0x00000000, 0x00110001, 0x00B600B6, 0x00B60005, 0x00020000, 0x09070000, 0x00080002, 0xFEF60000, 0xFF9D0011, 0x000200B6, 0x00B600B6, 0x00050003, 0x00000000, 0x00000008, 0x00030000, 0x006E0000, 0x00110003, 0x00B600B6, 0x00B60005, 0x00040000, 0x00007FFE, 0x00080004, 0x00000000, 0x00000011, 0x000400B6, 0x00B600B6, 0x00050005, 0x00000000, 0xC0010008, 0x0005004B, 0x00000000, 0x00110005, 0x00B600B6, 0x00B60005, 0x00060000, 0x00000000, 0x00080006, 0x001E0000, 0x00000011, 0x000600B6, 0x00B600B6, 0x00050007, 0x00000000, 0xC0010008, 0x0007001E, 0x00000000, 0x00110007, 0x00B600B6, 0x00B60005, 0x00080000, 0x00007FFE, 0x00080008, 0x004B0000, 0x00000011, 0x000800B6, 0x00B600B6, 0x00050009, 0x00000000, 0xC0010008, 0x0009004B, 0x00000000, 0x00110009, 0x00B600B6, 0x00B60005, 0x000A0000, 0x00000000, 0x0008000A, 0x001E0000, 0x00000011, 0x000A00B6, 0x00B600B6, 0x0005000B, 0x00000000, 0xC0010008, 0x000B001E, 0x00000000, 0x0011000B, 0x00B600B6, 0x00B60005, 0x000C0000, 0x00007FFE, 0x0008000C, 0x004B0000, 0x00000011, 0x000C00B6, 0x00B600B6, 0x0005000D, 0x00000000, 0xC0010008, 0x000D004B, 0x00000000, 0x0011000D, 0x00B600B6, 0x00B60005, 0x000E0000, 0x00000000, 0x0008000E, 0x001E0000, 0x00000011, 0x000E00B6, 0x00B600B6, 0x0005000F, 0x00000000, 0xC0010008, 0x000F001E, 0x00000000, 0x0011000F, 0x00B600B6, 0x00B60005, 0x00100000, 0x00000000, 0x00080010, 0x004B0000, 0x00000011, 0x001000B6, 0x00B600B6, 0x00050011, 0x0000F6F9, 0x00000008, 0x00110138, 0xFEDF009B, 0x00110011, 0x00B600B6, 0x00B60005, 0x00120000, 0xF6F98002, 0x00080012, 0xFF1300E5, 0x009B0011, 0x001200B6, 0x00B600B6, 0x00050013, 0x0000F6F9, 0x00000008, 0x00130138, 0xFF1B009B, 0x00110013, 0x00B600B6, 0x00B60005, 0x00140000, 0xF6F98002, 0x00080014, 0xFF1300A9, 0x009B0011, 0x001400B6, 0x00B600B6, 0x00050015, 0x0000F6F9, 0x00000008, 0x00150138, 0xFF57009B, 0x00110015, 0x00B600B6, 0x00B60005, 0x00160000, 0xF6F98002, 0x00080016, 0xFF13006D, 0x009B0011, 0x001600B6, 0x00B600B6, 0x00050017, 0x00000000, 0x00000008, 0x00170000, 0x006E0000, 0x00110017, 0x00B600B6, 0x00B60005, 0x00180000, 0xF6F90000, 0x00080018, 0x00000000, 0x00000011, 0x001800B6, 0x00B600B6, 0x00050019, 0x00000000, 0x00000008, 0x00190000, 0x00000000, 0x00110019, 0x00B600B6, 0x00B60005, 0x001A0000, 0x00000000, 0x0008001A, 0x0000FFF6, 0x00000011, 0x001A00B6, 0x00B600B6, 0x0005001B, 0x00000000, 0x00000008, 0x001BFF61, 0x0000FF82, 0x0011001B, 0x00B600B6, 0x00B60005, 0x001C0000, 0x00000000, 0x0008001C, 0x00000000, 0x00000011, 0x001C00B6, 0x00B600B6, 0x0005001D, 0x00000000, 0x00000008, 0x001DFF61, 0x0000FF82, 0x0011001D, 0x00B600B6, 0x00B60005, 0x001E0000, 0x00000000, 0x0008001E, 0x00000000, 0x00000011, 0x001E00B6, 0x00B600B6, 0x0005001F, 0x00000000, 0x00000008, 0x001FFF61, 0x0000FF82, 0x0011001F, 0x00B600B6, 0x00B60005, 0x00200000, 0x00000000, 0x00080020, 0x00000000, 0x00000011, 0x002000B6, 0x00B600B6, 0x00050021, 0x00008001, 0x00000008, 0x0021008C, 0xFFF6FE98, 0x00110021, 0x00B600B6, 0x00B60005, 0x00220000, 0x00000000, 0x00080022, 0xFF610000, 0xFF820011, 0x002200B6, 0x00B600B6, 0x00050023, 0x00000000, 0x00000008, 0x00230000, 0x00000000, 0x00110023, 0x00B600B6, 0x00B60005, 0x00240000, 0x00000000, 0x00080024, 0xFF610000, 0xFF820011, 0x002400B6, 0x00B600B6, 0x00050025, 0x00000000, 0x00000008, 0x00250000, 0x00000000, 0x00110025, 0x00B600B6, 0x00B60005, 0x00260000, 0x00000000, 0x00080026, 0xFF610000, 0xFF820011, 0x002600B6, 0x00B600B6, 0x00050027, 0x00000000, 0x00000008, 0x00270000, 0x00000000, 0x00110027, 0x00B600B6, 0x00B60001, 0x00010005, 0x00040000, 0x00007FFA, 0x00050006, 0x00000000, 0x00100005, 0x00080000, 0x00007FEB, 0x0005000A, 0x00000000, 0x00110005, 0x000C0000, 0x00007FFC, 0x0005000E, 0x00000000, 0x00120001, 0x00010005, 0x00040000, 0x00007FDE, 0x00050006, 0x00000000, 0x00360005, 0x00080000, 0x00007FC4, 0x0005000A, 0x00000000, 0x00380005, 0x000C0000, 0x00007FE4, 0x0005000E, 0x00000000, 0x003A0001, 0x00010005, 0x00040000, 0x00007FA5, 0x00050006, 0x00000000, 0x00760005, 0x00080000, 0x00007F82, 0x0005000A, 0x00000000, 0x00790005, 0x000C0000, 0x00007FAF, 0x0005000E, 0x00000000, 0x007B0001, 0x00010005, 0x00040000, 0x00007F4E, 0x00050006, 0x00000000, 0x00D60005, 0x00080000, 0x00007F20, 0x0005000A, 0x00000000, 0x00DA0005, 0x000C0000, 0x00007F58, 0x0005000E, 0x00000000, 0x00DD0001, 0x00010005, 0x00040000, 0x00007ED6, 0x00050006, 0x00000000, 0x015C0005, 0x00080000, 0x00007E99, 0x0005000A, 0x00000000, 0x01610005, 0x000C0000, 0x00007ED9, 0x0005000E, 0x00000000, 0x01640001, 0x00010005, 0x00040000, 0x00007E3A, 0x00050006, 0x00000000, 0x020E0005, 0x00080000, 0x00007DE6, 0x0005000A, 0x00000000, 0x02130005, 0x000C0000, 0x00007E2D, 0x0005000E, 0x00000000, 0x02170001, 0x00010005, 0x00040000, 0x00007D77, 0x00050006, 0x00000000, 0x02F10005, 0x00080000, 0x00007D02, 0x0005000A, 0x00000000, 0x02F70005, 0x000C0000, 0x00007D4E, 0x0005000E, 0x00000000, 0x02FB0001, 0x00010005, 0x00040000, 0x00007C8C, 0x00050006, 0x00000000, 0x040C0005, 0x00080000, 0x00007BE7, 0x0005000A, 0x00000000, 0x04120005, 0x000C0000, 0x00007C36, 0x0005000E, 0x00000000, 0x04160001, 0x00010005, 0x00040000, 0x00007B75, 0x00050006, 0x00000000, 0x05630005, 0x00080000, 0x00007A8F, 0x0005000A, 0x00000000, 0x05690005, 0x000C0000, 0x00007AE1, 0x0005000E, 0x00000000, 0x056D0001, 0x00010005, 0x00040000, 0x00007A2F, 0x00050006, 0x00000000, 0x06FD0005, 0x00080000, 0x000078F5, 0x0005000A, 0x00000000, 0x07030005, 0x000C0000, 0x00007948, 0x0005000E, 0x00000000, 0x07070001, 0x00010005, 0x00040000, 0x000078B9, 0x00050006, 0x00000000, 0x08DF0005, 0x00080000, 0x00007713, 0x0005000A, 0x00000000, 0x08E50005, 0x000C0000, 0x00007765, 0x0005000E, 0x00000000, 0x08E90001, 0x00010005, 0x00040000, 0x0000770E, 0x00050006, 0x00000000, 0x0B0F0005, 0x00080000, 0x000074E4, 0x0005000A, 0x00000000, 0x0B150005, 0x000C0000, 0x00007533, 0x0005000E, 0x00000000, 0x0B190001, 0x00010005, 0x00040000, 0x0000752D, 0x00050006, 0x00000000, 0x0D930005, 0x00080000, 0x00007260, 0x0005000A, 0x00000000, 0x0D980005, 0x000C0000, 0x000072AD, 0x0005000E, 0x00000000, 0x0D9D0001, 0x00010005, 0x00040000, 0x00007314, 0x00050006, 0x00000000, 0x10700005, 0x00080000, 0x00006F84, 0x0005000A, 0x00000000, 0x10750005, 0x000C0000, 0x00006FCD, 0x0005000E, 0x00000000, 0x10790001, 0x00010005, 0x00040000, 0x000070BE, 0x00050006, 0x00000000, 0x13AC0005, 0x00080000, 0x00006C48, 0x0005000A, 0x00000000, 0x13B10005, 0x000C0000, 0x00006C8D, 0x0005000E, 0x00000000, 0x13B50001, 0x00010005, 0x00040000, 0x00006E2A, 0x00050006, 0x00000000, 0x174D0005, 0x00080000, 0x000068A7, 0x0005000A, 0x00000000, 0x17520005, 0x000C0000, 0x000068E8, 0x0005000E, 0x00000000, 0x17560001, 0x00010005, 0x00040000, 0x00006B55, 0x00050006, 0x00000000, 0x1B590005, 0x00080000, 0x0000649C, 0x0005000A, 0x00000000, 0x1B5E0005, 0x000C0000, 0x000064D7, 0x0005000E, 0x00000000, 0x1B610001, 0x00010005, 0x00040000, 0x0000683D, 0x00050006, 0x00000000, 0x1FD50005, 0x00080000, 0x00006021, 0x0005000A, 0x00000000, 0x1FD90005, 0x000C0000, 0x00006056, 0x0005000E, 0x00000000, 0x1FDC0001, 0x00010005, 0x00040000, 0x000064DE, 0x00050006, 0x00000000, 0x24C70005, 0x00080000, 0x00005B30, 0x0005000A, 0x00000000, 0x24CB0005, 0x000C0000, 0x00005B5F, 0x0005000E, 0x00000000, 0x24CD0001, 0x00010005, 0x00040000, 0x00006136, 0x00050006, 0x00000000, 0x2A350005, 0x00080000, 0x000055C3, 0x0005000A, 0x00000000, 0x2A380005, 0x000C0000, 0x000055EC, 0x0005000E, 0x00000000, 0x2A3A0001, 0x00010005, 0x00040000, 0x00005D42, 0x00050006, 0x00000000, 0x30240005, 0x00080000, 0x00004FD5, 0x0005000A, 0x00000000, 0x30270005, 0x000C0000, 0x00004FF8, 0x0005000E, 0x00000000, 0x30290001, 0x00010005, 0x00040000, 0x00005900, 0x00050006, 0x00000000, 0x369B0005, 0x00080000, 0x0000495F, 0x0005000A, 0x00000000, 0x369D0005, 0x000C0000, 0x0000497C, 0x0005000E, 0x00000000, 0x369F0001, 0x00010005, 0x00040000, 0x0000546D, 0x00050006, 0x00000000, 0x3D9E0005, 0x00080000, 0x0000425D, 0x0005000A, 0x00000000, 0x3DA00005, 0x000C0000, 0x00004274, 0x0005000E, 0x00000000, 0x3DA10001, 0x00010005, 0x00040000, 0x00004F86, 0x00050006, 0x00000000, 0x45340005, 0x00080000, 0x00003AC7, 0x0005000A, 0x00000000, 0x45350005, 0x000C0000, 0x00003AD9, 0x0005000E, 0x00000000, 0x45360001, 0x00010005, 0x00040000, 0x00004A49, 0x00050006, 0x00000000, 0x4D620005, 0x00080000, 0x0000329A, 0x0005000A, 0x00000000, 0x4D630005, 0x000C0000, 0x000032A7, 0x0005000E, 0x00000000, 0x4D640001, 0x00010008, 0x00030003, 0x00800000, 0x00050004, 0x00000000, 0x44B20005, 0x00060000, 0x0000562F, 0x00050008, 0x00000000, 0x29CE0005, 0x000A0000, 0x0000562F, 0x0005000C, 0x00000000, 0x29D70005, 0x000E0000, 0x00005630, 0x00080017, 0x00030080, 0x00000001, 0x00010008, 0x00030006, 0x00910000, 0x00050004, 0x00000000, 0x3EC00005, 0x00060000, 0x00005F9F, 0x00050008, 0x00000000, 0x205F0005, 0x000A0000, 0x00005F9F, 0x0005000C, 0x00000000, 0x20640005, 0x000E0000, 0x00005F9F, 0x00080017, 0x00060091, 0x00000001, 0x00010008, 0x0003000A, 0x009F0000, 0x00050004, 0x00000000, 0x38700005, 0x00060000, 0x000069B8, 0x00050008, 0x00000000, 0x16450005, 0x000A0000, 0x000069B8, 0x0005000C, 0x00000000, 0x16480005, 0x000E0000, 0x000069B8, 0x00080017, 0x000A009F, 0x00000001, 0x00010008, 0x0003000D, 0x00AA0000, 0x00050004, 0x00000000, 0x31BF0005, 0x00060000, 0x00007481, 0x00050008, 0x00000000, 0x0B7D0005, 0x000A0000, 0x00007481, 0x0005000C, 0x00000000, 0x0B7E0005, 0x000E0000, 0x00007481, 0x00080017, 0x000D00AA, 0x00000001, 0x00010008, 0x00030011, 0x00B40000, 0x00050004, 0x00000000, 0x2AAA0005, 0x00060000, 0x00008001, 0x00050008, 0x00000000, 0x00000005, 0x000A0000, 0x00008001, 0x0005000C, 0x00000000, 0x00000005, 0x000E0000, 0x00008001, 0x00080017, 0x001100B4, 0x00000001, 0x00010008, 0x00030014, 0x00BB0000, 0x00050004, 0x00000000, 0x29890008, 0x00170014, 0x00BB0000, 0x00010001, 0x00080003, 0x001800C1, 0x00000005, 0x00040000, 0x0000286B, 0x00080017, 0x001800C1, 0x00000001, 0x00010008, 0x0003001B, 0x00C50000, 0x00050004, 0x00000000, 0x27510008, 0x0017001B, 0x00C50000, 0x00010001, 0x00080003, 0x001E00C7, 0x00000005, 0x00040000, 0x00002639, 0x00080017, 0x001E00C7, 0x00000001, 0x00010008, 0x00030022, 0x00C80000, 0x00050004, 0x00000000, 0x25250008, 0x00170022, 0x00C80000, 0x00010001, 0x00080003, 0x002500C8, 0x00000005, 0x00040000, 0x00002414, 0x00080017, 0x002500C8, 0x00000001, 0x00010008, 0x00030029, 0x00C80000, 0x00050004, 0x00000000, 0x23070008, 0x00170029, 0x00C80000, 0x00010001, 0x00080003, 0x002C00C8, 0x00000005, 0x00040000, 0x000021FC, 0x00080017, 0x002C00C8, 0x00000001, 0x00010008, 0x00030030, 0x00C80000, 0x00050004, 0x00000000, 0x20F50008, 0x00170030, 0x00C80000, 0x00010001, 0x00080003, 0x003300C8, 0x00000005, 0x00040000, 0x00001FF1, 0x00080017, 0x003300C8, 0x00000001, 0x00010008, 0x00030036, 0x00C70000, 0x00050004, 0x00000000, 0x1EF10008, 0x00170036, 0x00C70000, 0x00010001, 0x00080003, 0x003A00C5, 0x00000005, 0x00040000, 0x00001DF3, 0x00080017, 0x003A00C5, 0x00000001, 0x00010008, 0x0003003D, 0x00C30000, 0x00050004, 0x00000000, 0x1CF90008, 0x0017003D, 0x00C30000, 0x00010001, 0x00080003, 0x004100BF, 0x00000005, 0x00040000, 0x00001C02, 0x00080017, 0x004100BF, 0x00000001, 0x00010008, 0x00030044, 0x00BA0000, 0x00050004, 0x00000000, 0x1B0D0008, 0x00170044, 0x00BA0000, 0x00010001, 0x00080003, 0x004800B4, 0x00000005, 0x00040000, 0x00001A1D, 0x00080017, 0x004800B4, 0x00000001, 0x00010008, 0x0003004B, 0x00AD0000, 0x00050004, 0x00000000, 0x192F0008, 0x0017004B, 0x00AD0000, 0x00010001, 0x00080003, 0x004E00A5, 0x00000005, 0x00040000, 0x00001844, 0x00080017, 0x004E00A5, 0x00000001, 0x00010008, 0x00030052, 0x009C0000, 0x00050004, 0x00000000, 0x175D0008, 0x00170052, 0x009C0000, 0x00010001, 0x00080003, 0x00550092, 0x00000005, 0x00040000, 0x00001679, 0x00080017, 0x00550092, 0x00000001, 0x00010008, 0x00030059, 0x00880000, 0x00050004, 0x00000000, 0x15970008, 0x00170059, 0x00880000, 0x00010001, 0x00080003, 0x005C007C, 0x00000005, 0x00040000, 0x000014B9, 0x00080017, 0x005C007C, 0x00000001, 0x00010008, 0x0003005F, 0x006F0000, 0x00050004, 0x00000000, 0x13DE0008, 0x0017005F, 0x006F0000, 0x00010001, 0x00080003, 0x00630062, 0x00000005, 0x00040000, 0x00001307, 0x00080017, 0x00630062, 0x00000001, 0x00010008, 0x00030066, 0x00540000, 0x00050004, 0x00000000, 0x12320008, 0x00170066, 0x00540000, 0x00010001, 0x00080003, 0x006A0044, 0x00000005, 0x00040000, 0x00001160, 0x00080017, 0x006A0044, 0x00000001, 0x00010008, 0x0003006D, 0x00340000, 0x00050004, 0x00000000, 0x10920008, 0x0017006D, 0x00340000, 0x00010001, 0x00080003, 0x00710024, 0x00000005, 0x00040000, 0x00000FC6, 0x00080017, 0x00710024, 0x00000001, 0x00010008, 0x00030074, 0x00120000, 0x00050004, 0x00000000, 0x0EFE0008, 0x00170074, 0x00120000, 0x00010001, 0x00080003, 0x00780000, 0x00000005, 0x00040000, 0x00000E38, 0x00080017, 0x00780000, 0x00000008, 0x001BFF6B, 0x0000FF82, 0x00010001, 0x00050004, 0x00000000, 0x096C0008, 0x001BFF6C, 0x0000FF82, 0x00010001, 0x00050004, 0x00000000, 0x04A60008, 0x001BFF6F, 0xFFFFFF82, 0x00010001, 0x00050004, 0x00000000, 0x00000008, 0x001BFF73, 0xFFFDFF82, 0x00010001, 0x00080003, 0x0078000A, 0x00000005, 0x00040000, 0x000000EF, 0x00080017, 0x0078000A, 0x00000008, 0x001BFF77, 0xFFFBFF82, 0x00010001, 0x00080003, 0x00780011, 0x00000005, 0x00040000, 0x0000018D, 0x00080017, 0x00780011, 0x00000008, 0x001BFF7B, 0xFFF7FF82, 0x00010001, 0x00080003, 0x00780014, 0x00000005, 0x00040000, 0x000001C7, 0x00080017, 0x00780014, 0x00000008, 0x001BFF7D, 0xFFF3FF82, 0x00010001, 0x00080003, 0x00780011, 0x00000005, 0x00040000, 0x000001B3, 0x00080017, 0x00780011, 0x00000008, 0x001BFF7E, 0xFFEEFF82, 0x00010001, 0x00080003, 0x0078000A, 0x00000005, 0x00040000, 0x0000016E, 0x00080017, 0x0078000A, 0x00000008, 0x001BFF7E, 0xFFE9FF82, 0x00010001, 0x00080003, 0x00780000, 0x00000005, 0x00040000, 0x000000E2, 0x00080017, 0x00780000, 0x00000008, 0x001BFF7D, 0xFFE3FF82, 0x00010001, 0x00080003, 0x00780003, 0x00000005, 0x00040000, 0x00000000, 0x00080017, 0x00780003, 0x00000008, 0x001BFF7B, 0xFFDCFF82, 0x00010001, 0x00080003, 0x00780005, 0x00000005, 0x00040000, 0x00000079, 0x00080017, 0x00780005, 0x00000008, 0x001BFF78, 0xFFD5FF82, 0x00010001, 0x00080003, 0x00780004, 0x00000005, 0x00040000, 0x000000B6, 0x00080017, 0x00780004, 0x00000008, 0x001BFF75, 0xFFCDFF82, 0x00010001, 0x00080003, 0x00780000, 0x00000005, 0x00040000, 0x0000007B, 0x00080017, 0x00780000, 0x00000008, 0x001BFF72, 0xFFC4FF82, 0x00010001, 0x00050004, 0x00000000, 0x00000008, 0x001BFF6F, 0xFFBAFF82, 0x00010001, 0x0008001B, 0xFF6BFFB0, 0xFF820008, 0x001DFF6B, 0x0000FF82, 0x00010001, 0x0008001B, 0xFF6CFFA6, 0xFF820001, 0x00010008, 0x001BFF6D, 0xFF9BFF82, 0x0008001D, 0xFF6CFFFF, 0xFF820001, 0x00010008, 0x001BFF6E, 0xFF8FFF82, 0x0008001D, 0xFF6CFFFD, 0xFF820001, 0x00010008, 0x001BFF6E, 0xFF82FF82, 0x0008001D, 0xFF6DFFFB, 0xFF820001, 0x00010008, 0x001BFF6F, 0xFF75FF82, 0x0008001D, 0xFF6DFFF7, 0xFF820008, 0x001FFF6B, 0x0000FF82, 0x00080022, 0xFF6B0000, 0xFF820001, 0x00010008, 0x001BFF6F, 0xFF68FF82, 0x0008001D, 0xFF6EFFF3, 0xFF820008, 0x001FFF6C, 0x0000FF82, 0x00080022, 0xFF6C0000, 0xFF820001, 0x00010008, 0x001BFF6F, 0xFF59FF82, 0x0008001D, 0xFF6FFFEE, 0xFF820008, 0x001FFF6F, 0xFFFFFF82, 0x00080022, 0xFF6FFFFF, 0xFF820001, 0x00010008, 0x001BFF6F, 0xFF4BFF82, 0x0008001D, 0xFF70FFE9, 0xFF820008, 0x001FFF73, 0xFFFDFF82, 0x00080022, 0xFF73FFFD, 0xFF820001, 0x00010008, 0x001BFF6F, 0xFF3BFF82, 0x0008001D, 0xFF71FFE3, 0xFF820008, 0x001FFF77, 0xFFFBFF82, 0x00080022, 0xFF77FFFB, 0xFF820001, 0x00010008, 0x001BFF6E, 0xFF2BFF82, 0x0008001D, 0xFF72FFDC, 0xFF820008, 0x001FFF7B, 0xFFF7FF82, 0x00080022, 0xFF7BFFF7, 0xFF820001, 0x00010008, 0x001BFF6D, 0xFF1BFF82, 0x0008001D, 0xFF73FFD5, 0xFF820008, 0x001FFF7E, 0xFFF3FF82, 0x00080022, 0xFF7DFFF3, 0xFF820001, 0x00010008, 0x001BFF6D, 0xFF0AFF82, 0x0008001D, 0xFF75FFCD, 0xFF820008, 0x001FFF7E, 0xFFEEFF82, 0x00080022, 0xFF7EFFEE, 0xFF820001, 0x00010008, 0x001BFF6C, 0xFEF9FF82, 0x0008001D, 0xFF76FFC4, 0xFF820008, 0x001FFF7E, 0xFFE9FF82, 0x00080022, 0xFF7EFFE9, 0xFF820001, 0x00010008, 0x001BFF6C, 0xFEE7FF82, 0x0008001D, 0xFF77FFBA, 0xFF820008, 0x001FFF7D, 0xFFE3FF82, 0x00080022, 0xFF7DFFE3, 0xFF820001, 0x00010008, 0x001BFF6B, 0xFED4FF82, 0x0008001D, 0xFF79FFB0, 0xFF820008, 0x001FFF7C, 0xFFDCFF82, 0x00080022, 0xFF7BFFDC, 0xFF820001, 0x00010008, 0x001DFF7A, 0xFFA6FF82, 0x0008001F, 0xFF7BFFD5, 0xFF820008, 0x0022FF78, 0xFFD5FF82, 0x00010001, 0x0008001D, 0xFF7BFF9B, 0xFF820008, 0x001FFF79, 0xFFCDFF82, 0x00080022, 0xFF75FFCD, 0xFF820001, 0x00010008, 0x001DFF7D, 0xFF8FFF82, 0x0008001F, 0xFF78FFC4, 0xFF820008, 0x0022FF72, 0xFFC4FF82, 0x00010001, 0x0008001D, 0xFF7EFF82, 0xFF820008, 0x001FFF76, 0xFFBAFF82, 0x00080022, 0xFF6FFFBA, 0xFF820001, 0x00010008, 0x001DFF7F, 0xFF75FF82, 0x0008001F, 0xFF74FFB0, 0xFF820008, 0x0022FF6B, 0xFFB0FF82, 0x00080026, 0xFF6B0000, 0xFF820001, 0x00010008, 0x001DFF80, 0xFF68FF82, 0x0008001F, 0xFF72FFA6, 0xFF820008, 0x0022FF6C, 0xFFA6FF82, 0x00080026, 0xFF6C0000, 0xFF820001, 0x00010008, 0x001DFF81, 0xFF59FF82, 0x0008001F, 0xFF70FF9B, 0xFF820008, 0x0022FF6D, 0xFF9BFF82, 0x00080026, 0xFF6FFFFF, 0xFF820001, 0x00010008, 0x001DFF82, 0xFF4BFF82, 0x0008001F, 0xFF6EFF8F, 0xFF820008, 0x0022FF6E, 0xFF8FFF82, 0x00080026, 0xFF73FFFD, 0xFF820001, 0x00010008, 0x001DFF83, 0xFF3BFF82, 0x0008001F, 0xFF6CFF82, 0xFF820008, 0x0022FF6E, 0xFF82FF82, 0x00080026, 0xFF77FFFB, 0xFF820001, 0x00010008, 0x001DFF84, 0xFF2BFF82, 0x0008001F, 0xFF6AFF75, 0xFF820008, 0x0022FF6F, 0xFF75FF82, 0x00080026, 0xFF7BFFF7, 0xFF820001, 0x00010008, 0x001DFF85, 0xFF1BFF82, 0x0008001F, 0xFF68FF68, 0xFF820008, 0x0022FF6F, 0xFF68FF82, 0x00080026, 0xFF7EFFF3, 0xFF820001, 0x00010008, 0x001DFF85, 0xFF0AFF82, 0x0008001F, 0xFF66FF59, 0xFF820008, 0x0022FF6F, 0xFF59FF82, 0x00080026, 0xFF7EFFEE, 0xFF820001, 0x00010008, 0x001DFF86, 0xFEF9FF82, 0x0008001F, 0xFF65FF4B, 0xFF820008, 0x0022FF6F, 0xFF4BFF82, 0x00080026, 0xFF7EFFE9, 0xFF820001, 0x00010008, 0x001DFF86, 0xFEE7FF82, 0x0008001F, 0xFF63FF3B, 0xFF820008, 0x0022FF6F, 0xFF3BFF82, 0x00080026, 0xFF7DFFE3, 0xFF820001, 0x00010008, 0x001DFF86, 0xFED4FF82, 0x0008001F, 0xFF62FF2B, 0xFF820008, 0x0022FF6E, 0xFF2BFF82, 0x00080026, 0xFF7CFFDC, 0xFF820001, 0x00010008, 0x001FFF60, 0xFF1BFF82, 0x00080022, 0xFF6DFF1B, 0xFF820008, 0x0026FF7B, 0xFFD5FF82, 0x00010001, 0x0008001F, 0xFF5FFF0A, 0xFF820008, 0x0022FF6D, 0xFF0AFF82, 0x00080026, 0xFF79FFCD, 0xFF820001, 0x00010008, 0x001FFF5F, 0xFEF9FF82, 0x00080022, 0xFF6CFEF9, 0xFF820008, 0x0026FF78, 0xFFC4FF82, 0x00010001, 0x0008001F, 0xFF5EFEE7, 0xFF820008, 0x0022FF6C, 0xFEE7FF82, 0x00080026, 0xFF76FFBA, 0xFF820001, 0x00010008, 0x001FFF5E, 0xFED4FF82, 0x00080022, 0xFF6BFED4, 0xFF820008, 0x0024FF6B, 0x0000FF82, 0x00080026, 0xFF74FFB0, 0xFF820001, 0x00010008, 0x0026FF72, 0xFFA6FF82, 0x00010001, 0x00080024, 0xFF6CFFFF, 0xFF820008, 0x0026FF70, 0xFF9BFF82, 0x00010001, 0x00080024, 0xFF6CFFFD, 0xFF820008, 0x0026FF6E, 0xFF8FFF82, 0x00010001, 0x00080024, 0xFF6DFFFB, 0xFF820008, 0x0026FF6C, 0xFF82FF82, 0x00010001, 0x00080024, 0xFF6DFFF7, 0xFF820008, 0x0026FF6A, 0xFF75FF82, 0x00010001, 0x00080024, 0xFF6EFFF3, 0xFF820008, 0x0026FF68, 0xFF68FF82, 0x00010001, 0x00080024, 0xFF6FFFEE, 0xFF820008, 0x0026FF66, 0xFF59FF82, 0x00010001, 0x00080024, 0xFF70FFE9, 0xFF820008, 0x0026FF65, 0xFF4BFF82, 0x00010001, 0x00080024, 0xFF71FFE3, 0xFF820008, 0x0026FF63, 0xFF3BFF82, 0x00010001, 0x00080024, 0xFF72FFDC, 0xFF820008, 0x0026FF62, 0xFF2BFF82, 0x00010001, 0x00080024, 0xFF73FFD5, 0xFF820008, 0x0026FF60, 0xFF1BFF82, 0x00010001, 0x00080024, 0xFF75FFCD, 0xFF820008, 0x0026FF5F, 0xFF0AFF82, 0x00010001, 0x00080024, 0xFF76FFC4, 0xFF820008, 0x0026FF5F, 0xFEF9FF82, 0x00010001, 0x00080024, 0xFF77FFBA, 0xFF820008, 0x0026FF5E, 0xFEE7FF82, 0x00010001, 0x00080024, 0xFF79FFB0, 0xFF820008, 0x0026FF5E, 0xFED4FF82, 0x00010001, 0x00080024, 0xFF7AFFA6, 0xFF820001, 0x00010008, 0x0024FF7B, 0xFF9BFF82, 0x00010001, 0x00080024, 0xFF7DFF8F, 0xFF820001, 0x00010008, 0x0024FF7E, 0xFF82FF82, 0x00010001, 0x00080024, 0xFF7FFF75, 0xFF820001, 0x00010008, 0x0024FF80, 0xFF68FF82, 0x00010001, 0x00080024, 0xFF81FF59, 0xFF820001, 0x00010008, 0x0024FF82, 0xFF4BFF82, 0x00010001, 0x00080024, 0xFF83FF3B, 0xFF820001, 0x00010008, 0x0024FF84, 0xFF2BFF82, 0x00010001, 0x00080024, 0xFF85FF1B, 0xFF820001, 0x00010008, 0x0024FF85, 0xFF0AFF82, 0x00010001, 0x00080024, 0xFF86FEF9, 0xFF820001, 0x00010008, 0x0024FF86, 0xFEE7FF82, 0x00010001, 0x000A0008, 0x0024FF86, 0xFED4FF82, 0x00010001, 0x00030000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_22/900380.data.s b/ver/us/asm/data/world/area_kmr/kmr_22/900380.data.s deleted file mode 100644 index 51170cc33d..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_22/900380.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240D10_900380 -.word 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240FFC_90066C, D_80240D10_900380, 0x00000009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80240DE0_900450 -.short 0x0136, 0x0122, 0x010E, 0x00FA, 0x00E6, 0x00D2, 0x00BE, 0x00AA, 0x0096, 0x0082, 0x006E, 0x005A, 0x0046, 0x0032, 0x0020, 0x0010, 0x0008, 0x0004, 0x0002, 0x0001 - -dlabel D_80240E08_900478 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000056, 0x00000000, 0x00000043, 0x00000001, func_80240010_8FF680, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000001, func_80240208_8FF878, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000007D0, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GotoMapSpecial, 0x802483A0, 0x00000000, 0x00000006, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248398, 0x00000000, 0x00000006, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248390, 0x00000000, 0x00000006, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248388, 0x00000001, 0x00000006, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248380, 0x00000004, 0x00000006, 0x00000016, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248378, 0x00000000, 0x00000006, 0x00000016, 0x00000001, 0x00000006, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248370, 0x00000000, 0x00000006, 0x00000016, 0x00000001, 0x00000007, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248368, 0x00000002, 0x00000006, 0x00000016, 0x00000001, 0x00000008, 0x00000043, 0x00000004, GotoMapSpecial, 0x80248360, 0x00000001, 0x00000006, 0x00000023, 0x00000000, 0x00000043, 0x00000001, func_802401E0_8FF850, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240FFC_90066C -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFF38, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFFA1, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00200000, 0x00000001, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x000000D0, 0x000000D0, 0x000000D0, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001B8, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000064, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000041, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024829C, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802482B4, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802482CC, 0x00000016, 0x00000001, 0x00000004, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802482E4, 0x00000016, 0x00000001, 0x00000005, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802482FC, 0x00000016, 0x00000001, 0x00000006, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80248314, 0x00000016, 0x00000001, 0x00000007, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024832C, 0x00000016, 0x00000001, 0x00000008, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80248344, 0x00000023, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, D_80240E08_900478, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000041, 0x00000000, 0x00000008, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_kmr/kmr_22/900A80.data.s b/ver/us/asm/data/world/area_kmr/kmr_22/900A80.data.s deleted file mode 100644 index 5389834b2d..0000000000 --- a/ver/us/asm/data/world/area_kmr/kmr_22/900A80.data.s +++ /dev/null @@ -1,204 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241410_900A80 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00280018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80241468_900AD8 -.word D_80241468_900AD8, 0x00000000, 0x10460000, 0x42CC0000, 0x42C60000, 0xC1200000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241494_900B04 -.word D_80241468_900AD8, 0x00000000, 0x2B020000, 0x43090000, 0x42BC0000, 0xC1200000, D_80241468_900AD8, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802414C0_900B30 -.word D_80241468_900AD8, 0x00000000, 0xEAD80000, 0x42FE0000, 0x42600000, 0xC1200000, D_80241494_900B04, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802414EC_900B5C -.word D_80241468_900AD8, 0x00000000, 0xF1C80000, 0x42D40000, 0x41B80000, 0xC1200000, D_802414C0_900B30, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241518_900B88 -.word D_80241468_900AD8, 0x00000000, 0x15550000, 0x42F40000, 0xC1500000, 0xC1200000, D_802414EC_900B5C, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241544_900BB4 -.word D_80241468_900AD8, 0x00000000, 0x52350000, 0x42F00000, 0x42D80000, 0xC1300000, D_80241518_900B88, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241570_900BE0 -.word D_80241468_900AD8, 0x00000000, 0x0AEC0000, 0x430C0000, 0x42920000, 0xC1300000, D_80241544_900BB4, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024159C_900C0C -.word D_80241468_900AD8, 0x00000000, 0xE0170000, 0x42E00000, 0x42280000, 0xC1300000, D_80241570_900BE0, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802415C8_900C38 -.word D_80241468_900AD8, 0x00000000, 0x038E0000, 0x42DC0000, 0x40400000, 0xC1300000, D_8024159C_900C0C, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802415F4_900C64 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802415C8_900C38, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241620_900C90 -.word D_802415F4_900C64, D_802415C8_900C38, D_8024159C_900C0C, D_80241570_900BE0, D_80241544_900BB4, D_80241518_900B88, D_802414EC_900B5C, D_802414C0_900B30, D_80241494_900B04, D_80241468_900AD8, 0x00000000, 0x00000000 - -dlabel D_80241650_900CC0 -.word D_80241650_900CC0, 0x00000000, 0x32DC0000, 0x42780000, 0x42540000, 0xC1A00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024167C_900CEC -.word D_80241650_900CC0, 0x00000000, 0x330B0000, 0x42C20000, 0x424C0000, 0xC1A00000, D_80241650_900CC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802416A8_900D18 -.word D_80241650_900CC0, 0x00000000, 0xD8720000, 0x42960000, 0x41980000, 0xC1A00000, D_8024167C_900CEC, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802416D4_900D44 -.word D_80241650_900CC0, 0x00000000, 0x007A0000, 0x428A0000, 0xC1980000, 0xC1A00000, D_802416A8_900D18, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241700_900D70 -.word D_80241650_900CC0, 0x00000000, 0x60570000, 0x42980000, 0x42780000, 0xC1A80000, D_802416D4_900D44, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024172C_900D9C -.word D_80241650_900CC0, 0x00000000, 0x05BE0000, 0x42C00000, 0x41E00000, 0xC1A80000, D_80241700_900D70, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241758_900DC8 -.word D_80241650_900CC0, 0x00000000, 0xEB250000, 0x42860000, 0x00000000, 0xC1A80000, D_8024172C_900D9C, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241784_900DF4 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80241758_900DC8, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802417B0_900E20 -.word D_80241784_900DF4, D_80241758_900DC8, D_8024172C_900D9C, D_80241700_900D70, D_802416D4_900D44, D_802416A8_900D18, D_8024167C_900CEC, D_80241650_900CC0, 0x00000000, 0x00000000 - -dlabel D_802417D8_900E48 -.word D_802417D8_900E48, 0x00000000, 0x75710000, 0x43040000, 0xC0A00000, 0xC0A00000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241804_900E74 -.word D_802417D8_900E48, 0x00000000, 0xC7070000, 0x42C40000, 0x40800000, 0xC0A00000, D_802417D8_900E48, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241830_900EA0 -.word D_802417D8_900E48, 0x00000000, 0x59000000, 0x43010000, 0xC1D00000, 0xC0C00000, D_80241804_900E74, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024185C_900ECC -.word D_802417D8_900E48, 0x00000000, 0x91CB0000, 0x42F00000, 0x41400000, 0xC0C00000, D_80241830_900EA0, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241888_900EF8 -.word D_802417D8_900E48, 0x00000000, 0xE3BC0000, 0x42AE0000, 0xC1500000, 0xC0C00000, D_8024185C_900ECC, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802418B4_900F24 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80241888_900EF8, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802418E0_900F50 -.word D_802418B4_900F24, D_80241888_900EF8, D_8024185C_900ECC, D_80241830_900EA0, D_80241804_900E74, D_802417D8_900E48, 0x00000000, 0x00000000 - -dlabel D_80241900_900F70 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x21100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x22100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000112, 0x22110000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000122, 0x22210000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001122, 0x22211000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001222, 0x22221000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x33333333, 0x33311222, 0x22221133, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33312222, 0x22222133, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33112222, 0x22222113, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x44444444, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x31122222, 0x22222113, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33122222, 0x22222133, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33333333, 0x33112222, 0x22221133, 0x33333333, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00012222, 0x22221000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00011222, 0x22211000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001222, 0x22210000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00001122, 0x22110000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000122, 0x22100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000112, 0x21100000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, 0x11000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241D00_901370 -.word 0x014041C1, 0xE7390241, 0x044F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel kmr_22_lava_piranha_vine_gfx -.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xE200001C, 0x00551238, 0xFCFFFFFF, 0xFFFDF2F9, 0xFA000000, 0x50505000, 0xE3001001, 0x00008000, 0xFD100000, D_80241D00_901370, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48001F, D_80241900_900F70, 0xF5480800, 0x07094060, 0xE6000000, 0x00000000, 0xF4000000, 0x0707E07C, 0xE7000000, 0x00000000, 0xF5400800, 0x00094060, 0xF2000000, 0x000FC07C, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00000005, 0xDF000000, 0x00000000 - -dlabel kmr_22_VineAnimationsDmaTable -.word 0x007B6690, 0x007B70E0, 0x80234000, 0x007B5960, 0x007B6690, 0x80234000, 0x007C4F50, 0x007C7410, 0x80234000, 0x007C7410, 0x007C7E50, 0x80234000, 0x007B70E0, 0x007B8030, 0x80234000, 0x007B8030, 0x007B8D30, 0x80234000, 0x007B8D30, 0x007B97E0, 0x80234000, 0x007B97E0, 0x007BA280, 0x80234000, 0x007BA280, 0x007BB050, 0x80234000, 0x007BB050, 0x007BBD80, 0x80234000, 0x007BBD80, 0x007BEDD0, 0x80234000, 0x007BEDD0, 0x007C16C0, 0x80234000, 0x007C16C0, 0x007C3A00, 0x80234000, 0x007C3A00, 0x007C44D0, 0x80234000, 0x007C44D0, 0x007C4F50, 0x80234000, 0x007C7E50, 0x007CA850, 0x80234000, 0x007CA850, 0x007CD5F0, 0x80234000, 0x007CD5F0, 0x007CDB30, 0x80234000, 0x007CDB30, 0x007CEFF0, 0x80234000, 0x007CEFF0, 0x007CFCC0, 0x80234000, 0x007CFCC0, 0x007D0860, 0x80234000, 0x007D0860, 0x007D14E0, 0x80234000, 0x007D14E0, 0x007D2080, 0x80234000, 0x007D2080, 0x007D2960, 0x80234000, 0x007D2960, 0x007D3260, 0x80234000, 0x007D3260, 0x007D5570, 0x80234000, 0x007D5570, 0x007D6F80, 0x80234000, 0x007D6F80, 0x007D76B0, 0x80234000, 0x007D76B0, 0x007D8FF0, 0x80234000, 0x007D8FF0, 0x007D96E0, 0x80234000, 0x007D96E0, 0x007D98E0, 0x80234000, 0x007D98E0, 0x007DA140, 0x80234000, 0x007DA140, 0x007DC180, 0x80234000, 0x007DC180, 0x007DE970, 0x80234000, 0x007DE970, 0x007DF2B0, 0x80234000, 0x007DF2B0, 0x007E03B0, 0x80234000, 0x007E03B0, 0x007E0E80, 0x80234000 - -dlabel D_8024219C_90180C -.word 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C80, 0x0000003C, 0x00000001, 0xFE363C80, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x00000015, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcRotation, 0x00000015, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000001, kmr_22_MarkVineInterpolationDirty, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x0000005A, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000001, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000009, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000009, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000002, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000003, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000004, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000005, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000006, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000007, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000000, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000000, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000000, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000000, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000000, 0x00000008, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x00000016, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcRotation, 0x00000016, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000001, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x0000005A, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000001, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000001, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000001, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000001, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000001, 0x00000001, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000001, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000001, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000001, 0x00000002, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000001, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000001, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000001, 0x00000003, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000001, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000001, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000001, 0x00000004, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000001, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000001, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000001, 0x00000005, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000001, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000001, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000001, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000001, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000001, 0x00000006, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x00000017, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcRotation, 0x00000017, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000002, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000008, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x0000005A, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000002, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000002, 0x00000000, 0x00000001, 0x00000001, 0x00000001, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000002, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000002, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000002, 0x00000001, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000002, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000002, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000002, 0x00000002, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000002, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000002, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000002, 0x00000003, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000002, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000002, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000002, 0x00000004, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000002, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000002, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000002, 0x00000005, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000002, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000002, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000002, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000002, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000002, 0x00000006, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000003, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000003, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000003, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000003, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000003, 0x00000000, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000003, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000003, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000003, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000003, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000003, 0x00000001, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000003, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000003, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000003, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000003, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000003, 0x00000002, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000003, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000003, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000003, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000003, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000003, 0x00000003, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000043, 0x00000006, GetAnimatedPositionByTreeIndex, 0x00000003, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBonePos, 0x00000003, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, GetAnimatedRotationByTreeIndex, 0x00000003, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneRot, 0x00000003, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, kmr_22_SetVineBoneScale, 0x00000003, 0x00000004, 0xF24A7D5C, 0xF24A7D5C, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243534_902BA4 -.word 0x00000043, 0x00000007, func_802CFD30, 0x00000015, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000016, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000017, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000015, 0x00790003, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000016, 0x007B0003, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000017, 0x007B0003, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000015, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000016, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000017, 0x00000000, 0x0000003E, 0x00000002, 0x00000040, 0xFE363C80, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0xFE363C80, 0x0000003C, 0x00000001, 0xFE363C80, 0x00000043, 0x00000003, BindNpcAux, 0xFFFFFFFF, D_8024219C_90180C, 0x00000043, 0x00000003, LoadAnimatedModel, 0x00000000, D_80241620_900C90, 0x00000043, 0x00000003, kmr_22_LoadAnimationFromTable, 0x00000000, 0x00000000, 0x00000043, 0x00000003, PlayModelAnimation, 0x00000000, func_80200000, 0x00000043, 0x00000005, SetAnimatedModelRootPosition, 0x00000000, 0xFFFFFFD8, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimatorFlags, 0x00000000, 0x00000080, 0x00000001, 0x00000043, 0x00000003, LoadAnimatedModel, 0x00000001, D_802417B0_900E20, 0x00000043, 0x00000003, kmr_22_LoadAnimationFromTable, 0x00000001, 0x0000001F, 0x00000043, 0x00000003, PlayModelAnimation, 0x00000001, 0x80204000, 0x00000043, 0x00000005, SetAnimatedModelRootPosition, 0x00000001, 0xFFFFFFD8, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimatorFlags, 0x00000001, 0x00000080, 0x00000001, 0x00000043, 0x00000003, LoadAnimatedModel, 0x00000002, D_802417B0_900E20, 0x00000043, 0x00000003, kmr_22_LoadAnimationFromTable, 0x00000002, 0x0000001F, 0x00000043, 0x00000003, PlayModelAnimation, 0x00000002, 0x80207000, 0x00000043, 0x00000005, SetAnimatedModelRootPosition, 0x00000002, 0x0000000A, 0x00000000, 0x00000014, 0x00000043, 0x00000004, SetAnimatorFlags, 0x00000002, 0x00000080, 0x00000001, 0x00000043, 0x00000003, LoadAnimatedModel, 0x00000003, D_802418E0_900F50, 0x00000043, 0x00000003, kmr_22_LoadAnimationFromTable, 0x00000003, 0x00000022, 0x00000043, 0x00000003, PlayModelAnimation, 0x00000003, 0x8020A000, 0x00000043, 0x00000005, SetAnimatedModelRootPosition, 0x00000003, 0xFFFFFFD8, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetAnimatorFlags, 0x00000003, 0x00000080, 0x00000001, 0x00000043, 0x00000001, kmr_22_CreateVineRenderer, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243838_902EA8 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243848_902EB8 -.word 0x00790003, 0x0079000E, 0xFFFFFFFF - -dlabel D_80243854_902EC4 -.word 0x007B0003, 0xFFFFFFFF - -dlabel D_8024385C_902ECC -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00120000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802438A4_902F14 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x0066001B, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802438EC_902F5C -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00130000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243934_902FA4 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00680008, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024397C_902FEC -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00690003, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000005, 0xFFFFFFE7, 0xFFFFFF4C, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000D, 0x00690002, 0x00000043, 0x00000007, func_802CFD30, 0x0000000D, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000D, 0x00000023, 0xFFFFFFF2, 0xFFFFFF4C, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000E, 0x00690002, 0x00000043, 0x00000007, func_802CFD30, 0x0000000E, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000E, 0x00000034, 0xFFFFFFEE, 0xFFFFFF4C, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00690002, 0x00000043, 0x00000007, func_802CFD30, 0x0000000F, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000F, 0x00000045, 0xFFFFFFED, 0xFFFFFF4C, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000010, 0x00690002, 0x00000043, 0x00000007, func_802CFD30, 0x00000010, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000010, 0x00000056, 0xFFFFFFED, 0xFFFFFF4C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243B30_9031A0 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00140000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243B78_9031E8 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x006A0010, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243BC0_903230 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00150000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C08_903278 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00760003, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C50_9032C0 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x003B0002, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C98_903308 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00160000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243CE0_903350 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00170000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243D28_903398 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x007C001A, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000028, 0x0000002D, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243D8C_9033FC -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x007C001B, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000028, 0x0000002D, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243DF0_903460 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x007C001C, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000028, 0x0000002D, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243E54_9034C4 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0x0000001C, 0x007D0001, 0x00000043, 0x00000007, func_802CFD30, 0x0000001C, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000001C, 0x00000078, 0xFFFFFFFF, 0xFFFFFFCD, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000001D, 0x007D0001, 0x00000043, 0x00000007, func_802CFD30, 0x0000001D, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000001D, 0xFFFFFFD8, 0x0000003B, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243F0C_90357C -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00180000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243F54_9035C4 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x007F0009, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243F9C_90360C -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x007F000A, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243FE4_903654 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x007F000B, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024402C_90369C -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x007F000C, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244074_9036E4 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00800006, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x0000000E, 0x00000050, 0x00000050, 0x00000050, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802440BC_90372C -.word 0x00000000, D_80241410_900A80, 0xC2780000, 0x42C00000, 0x00000000, 0x00000F01, D_8024385C_902ECC, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120000, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00120001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000007, D_80241410_900A80, 0x41200000, 0x00000000, 0x00000000, 0x00000F01, D_802438A4_902F14, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00660004, 0x00660002, 0x00660003, 0x00660003, 0x00660004, 0x00660004, 0x0066000A, 0x0066000A, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, D_80241410_900A80, 0x42B40000, 0x41200000, 0x42B60000, 0x00000F01, D_802438A4_902F14, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00660004, 0x00660002, 0x00660003, 0x00660003, 0x00660004, 0x00660004, 0x0066000A, 0x0066000A, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000009, D_80241410_900A80, 0x42AC0000, 0x00000000, 0xC0E00000, 0x00000F01, D_802438A4_902F14, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00660004, 0x00660002, 0x00660003, 0x00660003, 0x00660004, 0x00660004, 0x0066000A, 0x0066000A, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, D_80241410_900A80, 0x42580000, 0xC0000000, 0xC23C0000, 0x00000F01, D_802438A4_902F14, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00660004, 0x00660002, 0x00660003, 0x00660003, 0x00660004, 0x00660004, 0x0066000A, 0x0066000A, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00660003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244A6C_9040DC -.word 0x00000001, D_80241410_900A80, 0xC2780000, 0x42C00000, 0x00000000, 0x00000F01, D_802438EC_902F5C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130000, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00130001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, D_80241410_900A80, 0x429C0000, 0x41980000, 0x41A00000, 0x00000F01, D_80243934_902FA4, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00680006, 0x00680006, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00680001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, D_80241410_900A80, 0x41B80000, 0xC0800000, 0xC3340000, 0x00000F01, D_8024397C_902FEC, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, D_80241410_900A80, 0x41B80000, 0xC0800000, 0xC3340000, 0x00000F01, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000E, D_80241410_900A80, 0x41B80000, 0xC0800000, 0xC3340000, 0x00000F01, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, D_80241410_900A80, 0x41B80000, 0xC0800000, 0xC3340000, 0x00000F01, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, D_80241410_900A80, 0x41B80000, 0xC0800000, 0xC3340000, 0x00000F01, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00690000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802457FC_904E6C -.word 0x00000002, D_80241410_900A80, 0xC2780000, 0x42C00000, 0x00000000, 0x00000F01, D_80243B30_9031A0, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000011, D_80241410_900A80, 0x42580000, 0xBF800000, 0x3F800000, 0x00000F01, D_80243B78_9031E8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x006A0006, 0x006A0009, 0x006A000C, 0x006A000C, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x006A0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80245BDC_90524C -.word 0x00000003, D_80241410_900A80, 0xC2780000, 0x42C00000, 0x00000000, 0x00000F01, D_80243BC0_903230, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150000, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00150001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, D_80241410_900A80, 0x42C20000, 0x00000000, 0x00000000, 0x00000F01, D_80243C08_903278, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00760002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, D_80241410_900A80, 0x41880000, 0x00000000, 0xC1600000, 0x00000F01, D_80243C50_9032C0, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x003B0001, 0x003B0002, 0x003B0003, 0x003B0003, 0x003B0001, 0x003B0001, 0x003B000C, 0x003B000C, 0x003B0015, 0x003B0012, 0x003B0011, 0x003B0010, 0x003B0005, 0x003B0001, 0x003B0001, 0x003B0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000014, D_80241410_900A80, 0x423C0000, 0x00000000, 0x41C80000, 0x00000F01, D_80243C50_9032C0, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x003B0001, 0x003B0002, 0x003B0003, 0x003B0003, 0x003B0001, 0x003B0001, 0x003B000C, 0x003B000C, 0x003B0015, 0x003B0012, 0x003B0011, 0x003B0010, 0x003B0005, 0x003B0001, 0x003B0001, 0x003B0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024639C_905A0C -.word 0x00000004, D_80241410_900A80, 0xC2780000, 0x42C00000, 0x00000000, 0x00000F01, D_80243C98_903308, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160000, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00160001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000015, D_80241410_900A80, 0x00000000, 0x00000000, 0x00000000, 0x00000004, D_80243534_902BA4, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00790003, 0x00000000, 0x00000000, D_80243848_902EB8, 0x00000000, 0x00000016, D_80241410_900A80, 0x00000000, 0x00000000, 0x00000000, 0x00000005, D_80243838_902EA8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x00000000, 0x00000000, D_80243854_902EC4, 0x00000000, 0x00000017, D_80241410_900A80, 0x00000000, 0x00000000, 0x00000000, 0x00000005, D_80243838_902EA8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x007B0003, 0x00000000, 0x00000000, D_80243854_902EC4, 0x00000000 - -dlabel D_80246B5C_9061CC -.word 0x00000005, D_80241410_900A80, 0xC2780000, 0x42C00000, 0x00000000, 0x00000F01, D_80243CE0_903350, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170000, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00170001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000019, D_80241410_900A80, 0x428C0000, 0x42DA0000, 0x3F800000, 0x00000F01, D_80243D28_903398, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001A, D_80241410_900A80, 0x428C0000, 0x42DA0000, 0x3F800000, 0x00000F01, D_80243D8C_9033FC, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001B, D_80241410_900A80, 0x428C0000, 0x42DA0000, 0x3F800000, 0x00000F01, D_80243DF0_903460, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x007C0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001C, D_80241410_900A80, 0x42700000, 0x42200000, 0xC2480000, 0x00000F01, D_80243E54_9034C4, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007D0000, 0x007D0000, 0x007D0005, 0x007D0005, 0x007D0000, 0x007D0000, 0x007D0006, 0x007D0006, 0x007D0005, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001D, D_80241410_900A80, 0x41600000, 0x42740000, 0x3F800000, 0x00000F01, 0x00000000, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007D0000, 0x007D0000, 0x007D0005, 0x007D0005, 0x007D0000, 0x007D0000, 0x007D0006, 0x007D0006, 0x007D0005, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x007D0001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802476FC_906D6C -.word 0x00000006, D_80241410_900A80, 0xC2780000, 0x42C00000, 0x00000000, 0x00000F01, D_80243F0C_90357C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180000, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00180001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001E, D_80241410_900A80, 0x42700000, 0xC0000000, 0x00000000, 0x00000F01, D_80243F54_9035C4, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000001F, D_80241410_900A80, 0x41200000, 0x41F80000, 0xC1400000, 0x00000F01, D_80243F9C_90360C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000020, D_80241410_900A80, 0x42200000, 0x42880000, 0x00000000, 0x00000F01, D_80243FE4_903654, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000021, D_80241410_900A80, 0x42C00000, 0x42540000, 0x00000000, 0x00000F01, D_8024402C_90369C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x007F0009, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802480AC_90771C -.word 0x00000022, D_80241410_900A80, 0x42680000, 0x00000000, 0x41A00000, 0x00000F01, D_80244074_9036E4, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00800002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000005, D_802440BC_90372C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000007, D_80244A6C_9040DC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_802457FC_904E6C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, D_80245BDC_90524C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, D_8024639C_905A0C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, D_80246B5C_9061CC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000005, D_802476FC_906D6C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_802480AC_90771C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_01/BBE2E0.data.s b/ver/us/asm/data/world/area_obk/obk_01/BBE2E0.data.s deleted file mode 100644 index 06139eac2c..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_01/BBE2E0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241140_BBE2E0 -.word 0x43E60000, 0xC3D20000, 0x441D8000, 0x00000000, 0x437A0000, 0xC3D20000, 0x41700000, 0x43340000, 0x44188000, 0xC3D20000, 0x41700000, 0x43340000, 0x437A0000, 0xC3520000, 0x41700000, 0x43340000, 0x44188000, 0xC3520000, 0x41700000, 0x43340000, 0x43870000, 0x00000000, 0x41700000, 0x43340000, 0x441D8000, 0x00000000, 0x41700000, 0x43340000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80241B5C, D_80241140_BBE2E0, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900B2, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_01/BBE410.data.s b/ver/us/asm/data/world/area_obk/obk_01/BBE410.data.s deleted file mode 100644 index d40ea6dcaf..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_01/BBE410.data.s +++ /dev/null @@ -1,60 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241270_BBE410 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000055, 0x00000024, 0x00000002, 0xFE363C82, 0x00000050, 0x00000024, 0x00000002, 0xFE363C83, 0x0000004E, 0x00000044, 0x00000001, ExitDoubleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80245890, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241324_BBE4C4 -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD7, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000056, 0x00000024, 0x00000002, 0xFE363C82, 0x0000003E, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80245898, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802413F8_BBE598 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD3, 0x00000044, 0x00000001, 0x80243D70, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xFE363C81, 0x00000057, 0x00000024, 0x00000002, 0xFE363C82, 0x00000040, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802458A0, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802414D8_BBE678 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD3, 0x00000044, 0x00000001, 0x80243D70, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xFE363C81, 0x00000058, 0x00000024, 0x00000002, 0xFE363C82, 0x00000042, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802458A8, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802415B8_BBE758 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD3, 0x00000044, 0x00000001, 0x80243D70, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000024, 0x00000002, 0xFE363C81, 0x00000059, 0x00000024, 0x00000002, 0xFE363C82, 0x00000044, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802458B0, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241698_BBE838 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000024, 0x00000002, 0xFE363C81, 0x0000005A, 0x00000024, 0x00000002, 0xFE363C82, 0x00000046, 0x00000024, 0x00000002, 0xFE363C83, 0x00000048, 0x00000044, 0x00000001, ExitDoubleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802458B8, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024174C_BBE8EC -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000024, 0x00000002, 0xFE363C81, 0x0000005B, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004A, 0x00000024, 0x00000002, 0xFE363C83, 0x0000004C, 0x00000044, 0x00000001, ExitDoubleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802458B8, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241800_BBE9A0 -.word 0x00000047, 0x00000005, D_80241270_BBE410, 0x00000100, 0x00000055, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80241324_BBE4C4, 0x00000100, 0x00000056, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802413F8_BBE598, 0x00000100, 0x00000057, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802414D8_BBE678, 0x00000100, 0x00000058, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802415B8_BBE758, 0x00000100, 0x00000059, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80241698_BBE838, 0x00000100, 0x0000005A, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024174C_BBE8EC, 0x00000100, 0x0000005B, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802418D4_BBEA74 -.word 0x00000043, 0x00000002, GetLoadType, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000044, 0x00000001, EnterSavePoint, 0x00000044, 0x00000001, D_80241800_BBE9A0, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_80241800_BBE9A0, 0x00000043, 0x00000002, UseDoorSounds, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF8405F3D, 0x00000000, 0x00000024, 0x00000002, 0xF8405F3D, 0x00000001, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD2, 0x00000013, 0x00000000, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x00000050, 0x00000024, 0x00000002, 0xFE363C83, 0x0000004E, 0x00000046, 0x00000001, EnterDoubleDoor, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x0000003E, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000040, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x00000042, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C82, 0x00000044, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000016, 0x00000001, 0x00000005, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x00000046, 0x00000024, 0x00000002, 0xFE363C83, 0x00000048, 0x00000046, 0x00000001, EnterDoubleDoor, 0x00000016, 0x00000001, 0x00000006, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004A, 0x00000024, 0x00000002, 0xFE363C83, 0x0000004C, 0x00000046, 0x00000001, EnterDoubleDoor, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF8406338, 0x00000001, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80245804, 0x00000046, 0x00000001, 0x80245840, 0x00000044, 0x00000001, D_80242CE8_BBFE88, 0x00000044, 0x00000001, 0x80243B08, 0x00000044, 0x00000001, 0x802411F0, 0x00000044, 0x00000001, D_802418D4_BBEA74, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241C50_BBEDF0 -.word 0x0000001C, 0x00000000 - -dlabel D_80241C58_BBEDF8 -.word 0x00000058, 0x0000005A, 0x00000057, 0x00000059 - -dlabel D_80241C68_BBEE08 -.word 0x00000043, 0x00000002, func_80240098_BBD238, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241C88_BBEE28 -.word 0x00000003, 0x00000001, 0x0000000A, 0x0000000B, 0x00000002, 0xF9718881, 0x00000000, 0x00000004, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F8B, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000003, 0x0000000C, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000005, TranslateModel, 0x00000053, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000054, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000006E, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000006D, 0x00000024, 0x00000002, 0xFD050F8B, 0xFE363C80, 0x00000003, 0x00000001, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241DD8_BBEF78 -.word 0x00000043, 0x00000005, TranslateModel, 0xFE363C88, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C88, 0x00000000, 0xFFFFFFFE, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000014, 0x00000003, 0x00000008, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0xFE363C88, 0xFFFFFF9C, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C88, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000014, 0x00000000, 0x0000000A, 0x00000004, 0x00000003, 0x00000001, 0x00000002, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0xFE363C88, 0xFFFFFF9C, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C88, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x00000002, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241FB0_BBF150 -.word 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, MakeLerp, 0x0000000A, 0x00000019, 0x00000003, 0x00000008, 0x00000003, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C83, 0xF24A7AE7, 0x00000043, 0x00000005, ScaleModel, 0xFE363C88, 0xF24A7E80, 0xFE363C83, 0xF24A7E80, 0x00000043, 0x00000006, RotateModel, 0xFE363C88, 0xFE363C82, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000019, 0x0000000A, 0x0000000A, 0x00000004, 0x00000003, 0x00000001, 0x00000006, 0x00000043, 0x00000001, UpdateLerp, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C80, 0x0000002E, 0x00000002, 0xFE363C83, 0xF24A7AE7, 0x00000043, 0x00000005, ScaleModel, 0xFE363C88, 0xF24A7E80, 0xFE363C83, 0xF24A7E80, 0x00000043, 0x00000006, RotateModel, 0xFE363C88, 0xFE363C82, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x00000006, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024218C_BBF32C -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C88, 0x0000000A, 0x00000002, 0xFE363C88, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x0000003C, 0x00000001, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x0000006C, 0x00000044, 0x00000001, D_80241DD8_BBEF78, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000076, 0x00002086, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x0000006E, 0x00000044, 0x00000001, D_80241FB0_BBF150, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000003, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, obk_01_UnsetCamera0MoveFlag1, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000028, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFFFFFE5C, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24AA280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000002EE, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x000001C7, 0xFFFFFF2E, 0x00000117, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7DB4, 0x00000043, 0x00000005, PlayerJump, 0x000001C7, 0xFFFFFF79, 0x00000117, 0x0000001E, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0x000001BD, 0xFFFFFF79, 0x00000117, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008000D, 0x00000008, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xF9718881, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFF9C, 0x00000064, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x00000053, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000054, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000006E, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000006D, 0x00000024, 0x00000002, 0xFD050F8B, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xF9718881, 0x00000000, 0x00000004, 0x00000001, 0x0000000F, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000001, 0x00000058, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001C2, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7C80, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x000001C7, 0xFFFFFE5C, 0x00000117, 0x00000059, 0x00000000, 0x00000043, 0x00000002, func_80240730_BBD8D0, 0xFE363C8A, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000023, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000028, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000023, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000003, 0x00000001, 0x00000027, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000002, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFFFFFE5C, 0xFE363C82, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xF9718881, 0x00000000, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000028, 0x00000043, 0x00000003, FindKeyItem, 0x0000001C, 0xFE363C81, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0x000001BF, 0xFFFFFEA2, 0x00000116, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD7, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000047, 0x00000005, D_802429E8_BBFB88, 0x00000080, 0x00000076, 0x00000001, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024293C_BBFADC -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802429E8_BBFB88 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000024, 0x00000002, 0xFE363C88, 0x0000006C, 0x00000044, 0x00000001, D_80241DD8_BBEF78, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000076, 0x00002086, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0x0000006E, 0x00000044, 0x00000001, D_80241FB0_BBF150, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000003, 0x00000045, 0x00000002, D_8024293C_BBFADC, 0xFE363C8A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000028, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x00000028, 0x00000002, 0xFE363C83, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7C1A, 0x00000043, 0x00000005, PlayerJump, 0x00000033, 0xFFFFFF2E, 0x00000057, 0x0000003C, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x00000162, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080003, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010030, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010031, 0x00000008, 0x00000001, 0x00000007, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x00000172, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x00000172, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242CE8_BBFE88 -.word 0x0000003E, 0x00000002, 0x00000003, 0xFE363C8A, 0x00000024, 0x00000002, 0xF4ACD480, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD481, 0x00000000, 0x00000024, 0x00000002, 0xF4ACD482, 0x00000000, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000006E, 0x00000053, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000006D, 0x00000054, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000078, 0x00000071, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000076, 0x0000006C, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000007A, 0x00000074, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD7, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFF9C, 0x00000043, 0x00000005, TranslateModel, 0x00000053, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000054, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000006E, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000006D, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFF24, 0x00000043, 0x00000005, TranslateModel, 0x00000058, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000005A, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000057, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000059, 0x00000000, 0xFE363C80, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x0000001C, 0x000001BF, 0xFFFFFEA2, 0x00000116, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802429E8_BBFB88, 0x00000080, 0x00000076, 0x00000001, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000000, 0x00000044, 0x00000001, D_80241C88_BBEE28, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x00000044, 0x00000001, D_80241C68_BBEE08, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x0000004E, 0x00000006, D_8024218C_BBF32C, 0x00000080, 0x00000076, D_80241C50_BBEDF0, 0x00000000, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_01/BC0100.data.s b/ver/us/asm/data/world/area_obk/obk_01/BC0100.data.s deleted file mode 100644 index 6d5e17a5d5..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_01/BC0100.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242F60_BC0100 -.word 0x00000043, 0x00000003, EnableModel, 0x00000086, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000088, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000008A, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000008C, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000090, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, EnableModel, 0x0000008A, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000008C, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000090, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000028, 0x00000002, 0xFE363C80, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243094_BC0234 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFDA, 0x0000000A, 0x00000002, 0xF8405F55, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000E002B, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xF8405F55, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000E002C, 0x000000A0, 0x00000028, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFDA, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001B, 0x00000001, 0x00000001, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0006000C, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000028, 0x00000043, 0x00000007, MakeItemEntity, 0x0000001D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80240790_BBD930, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C86, 0x00000028, 0x00000027, 0x00000002, 0xFE363C86, 0xFE363C84, 0x00000024, 0x00000002, 0xFE363C87, 0x00000046, 0x00000027, 0x00000002, 0xFE363C87, 0xFE363C84, 0x00000043, 0x00000005, MakeLerp, 0xFE363C86, 0xFE363C87, 0x00000014, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetItemPos, 0xFE363C8A, 0xFE363C83, 0xFE363C80, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000001E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, SetItemAlpha, 0xFE363C8A, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C8A, 0x0000000A, 0x00000002, 0xF8405F55, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000019, 0x00000044, 0x00000001, D_80242F60_BC0100, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000E002D, 0x000000A0, 0x00000028, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000023, 0x00000044, 0x00000001, D_80242F60_BC0100, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000E002E, 0x000000A0, 0x00000028, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFDB, 0x00000023, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x01010006, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, SetPlayerAnimation, 0x01010007, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7E80, 0x00000043, 0x00000005, PlayerJump, 0x0000032C, 0xFFFFFF56, 0xFFFFFFFE, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x000000D9, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x0000032C, 0x00000000, 0x0000001C, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x0000032C, 0x00000000, 0x0000001C, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x000000DA, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0x0000032C, 0x0000003D, 0xFFFFFFFE, 0x00000043, 0x00000005, PlayerJump, 0x0000032C, 0x00000000, 0x0000001C, 0x00000008, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000001, EnablePartnerAI, 0x0000000A, 0x00000002, 0xF8405F40, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000044, 0x00000001, D_80242F60_BC0100, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000E002F, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xF8405F40, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802436C4_BC0864 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x01010006, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, SetPlayerAnimation, 0x01010007, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7E80, 0x00000043, 0x00000005, PlayerJump, 0x0000032C, 0x00000028, 0xFFFFFFFE, 0x00000014, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x000000D9, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x0000032C, 0xFFFFFF2E, 0x0000001C, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x0000032C, 0xFFFFFF2E, 0x0000001C, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x000000DA, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0x0000032C, 0xFFFFFF6E, 0xFFFFFFFE, 0x00000043, 0x00000005, PlayerJump, 0x0000032C, 0xFFFFFF2E, 0x0000001C, 0x00000008, 0x00000043, 0x00000002, SetPlayerActionState, 0x0000000A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243904_BC0AA4 -.word 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF9718883, 0x00000001, 0x0000000B, 0x00000002, 0xF9718884, 0xF9718883, 0x00000005, 0x00000001, 0x00000003, 0x00000043, 0x00000006, RotateModel, 0x00000086, 0x00000005, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x00000086, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000086, 0x00000005, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x00000086, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF9718884, 0xF9718883, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243A38_BC0BD8 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000024, 0x00000002, 0xF9718883, 0x00000000, 0x0000000A, 0x00000002, 0xF8405F55, 0x00000000, 0x0000000F, 0x00000002, 0xFE363C81, 0xFFFFFF2E, 0x0000000E, 0x00000002, 0xFE363C81, 0xFFFFFF9C, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000307, 0x00000024, 0x00000002, 0xF9718883, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243B00_BC0CA0 -.word 0x0000001D, 0x00000000, 0x0000004E, 0x00000006, D_80243094_BC0234, 0x00000100, 0x0000007D, D_80243B00_BC0CA0, 0x00000000, 0x00000001, 0x00000047, 0x00000005, D_802436C4_BC0864, 0x00000100, 0x0000007E, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80243A38_BC0BD8, 0x00000044, 0x00000001, D_80243904_BC0AA4, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFDB, 0x00000043, 0x00000003, EnableModel, 0x00000086, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000008A, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000088, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000008C, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000090, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000086, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000088, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000008A, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000008C, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000090, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000001, 0x00000005, 0x00000002, 0x00000002, 0x00000005, 0x00000002, 0x00000002, 0x00000005, 0x00000002, 0x00000002, 0x00000005, 0x00000002, 0x00000003, 0x00000005, 0x00000002, 0x00000003, 0x00000005, 0x00000003, 0x00000004, 0x00000005, 0x00000003, 0x00000004, 0x00000005, 0x00000003, 0x00000004, 0x00000005, 0x00000003, 0x00000005, 0x00000005, 0x00000003, 0x00000005, 0x00000005, 0x00000004, 0x00000006, 0x00000005, 0x00000004, 0x00000006, 0x00000005, 0x00000004, 0x00000006, 0x00000005, 0x00000004, 0x00000007, 0x00000005, 0x00000004, 0x00000007, 0x00000005, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000027, 0x00000002, 0xFE363C84, 0x00000050, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000028, 0x00000002, 0xFE363C83, 0x0000000A, 0x00000043, 0x0000000F, PlayEffect, 0x00000033, 0x00000000, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A85B4, 0x00000032, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x00002094, 0x00000000, 0x00000028, 0x00000002, 0xFE363C84, 0x0000000C, 0x00000043, 0x00000005, MakeLerp, 0x0000000A, 0x000001C2, 0x00000008, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C82, 0xF24C0A80, 0x00000043, 0x00000005, SetNpcScale, 0x00000000, 0xFE363C82, 0xFE363C82, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C82, 0x0000000C, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C84, 0x0000002D, 0x00000002, 0xFE363C86, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C83, 0xFE363C86, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000026, 0x00000002, 0xFE363C80, 0xF24E3A80, 0x00000005, 0x00000001, 0x00000014, 0x0000002D, 0x00000002, 0xFE363C80, 0xF24AAA80, 0x00000043, 0x00000007, func_802CFD30, 0x00000000, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000002, RemoveNpc, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD3, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_01/BC11A0.data.s b/ver/us/asm/data/world/area_obk/obk_01/BC11A0.data.s deleted file mode 100644 index 43728446c0..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_01/BC11A0.data.s +++ /dev/null @@ -1,90 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80244000_BC11A0 -.word 0x3FC00000, 0x0000003C, 0x0000001E, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_80244030_BC11D0 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80244000_BC11A0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244050_BC11F0 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, D_80244030_BC11D0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024407C_BC121C -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_802440A8_BC1248 -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000008, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel obk_01_varStash -.word 0x00000000 - -dlabel D_802440F4_BC1294 -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel obk_01_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel obk_01_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_8024415C_BC12FC -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, obk_01_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, obk_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_80240BB0_BBDD50, 0xFE363C80, 0x0000004E, 0x00000006, D_8024415C_BC12FC, 0x00000010, 0x00000000, obk_01_802458F0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, func_80240B24_BBDCC4, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802442F0_BC1490 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, obk_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244370_BC1510 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, obk_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000045, 0x00000002, D_802442F0_BC1490, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040002, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFE363C89, 0xFFFFFFFC, 0xFE363C8B, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C89, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C8B, 0x000000B4, 0x00000027, 0x00000002, 0xFE363C86, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C86, 0xFFFFFFEC, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000014, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x000000B4, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFE363C89, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x00000005, 0x00000023, 0x00000000, 0x00000043, 0x00000002, obk_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244694_BC1834 -.word 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_80240BB0_BBDD50, 0xFE363C80, 0x0000004E, 0x00000006, D_80244370_BC1510, 0x00000010, 0x00000000, obk_01_802458F0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, func_80240B24_BBDCC4, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244704_BC18A4 -.word 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFBA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, obk_01_LetterDelivery_SaveNpcAnim, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C85, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x0000000B, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C82, 0xFE363C8D, 0xFE363C80, 0xFE363C8E, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C8E, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C80, 0xFE363C8F, 0x0000000A, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000000, 0xFE363C82, 0xFE363C87, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000046, 0x00000001, D_80244694_BC1834, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C88, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802440F4_BC1294, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C86, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, obk_01_LetterDelivery_RestoreNpcAnim, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802449FC_BC1B9C -.word 0x00000045, 0x00000000 - -dlabel D_80244A04_BC1BA4 -.word 0x00000043, 0x0000000B, obk_01_LetterDelivery_Init, 0x00000004, 0x00950004, 0x00950001, 0x00000045, 0x0000004E, 0x000E0067, 0x000E0068, 0x000E0069, 0x000E006A, D_802449FC_BC1B9C, 0x00000046, 0x00000001, D_80244704_BC18A4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244A54_BC1BF4 -.short 0x0032, 0x003C, 0x00C8, 0x00F0 - -dlabel D_80244A5C_BC1BFC -.word 0x00000043, 0x00000001, func_80240F38_BBE0D8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244A78_BC1C18 -.word 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80241094_BBE234, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244AE8_BC1C88 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80244A5C_BC1BFC, 0x00000043, 0x00000003, BindNpcAux, 0xFFFFFFFF, D_80244A78_BC1C18, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244B34_BC1CD4 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80244A5C_BC1BFC, 0x00000043, 0x00000003, BindNpcAux, 0xFFFFFFFF, D_80244A78_BC1C18, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244B80_BC1D20 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E0061, 0x00000018, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E0062, 0x0000001B, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E0063, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244C28_BC1DC8 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E0064, 0x00000018, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E0065, 0x0000001B, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E0066, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_80244A04_BC1BA4, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02DC, 0x0000000D, 0x0000000A, 0x00000002, 0xF8405F3F, 0x00000000, 0x00000024, 0x00000002, 0xF8405F3F, 0x00000001, 0x00000046, 0x00000001, D_802440A8_BC1248, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E006B, 0x00000024, 0x00000002, 0xFE363C80, 0x00000073, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802440F4_BC1294, 0x00000043, 0x00000002, AddKeyItem, 0x00000073, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244DA4_BC1F44 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80244B80_BC1D20, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFDC, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244DFC_BC1F9C -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80244C28_BC1DC8, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFDC, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244E54_BC1FF4 -.word 0x00000000, D_8024407C_BC121C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000A01, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80245044_BC21E4 -.word 0x00000001, D_8024407C_BC121C, 0x4402C000, 0xC30B0000, 0x43410000, 0x00000B01, D_80244AE8_BC1C88, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80245234_BC23D4 -.word 0x00000002, D_8024407C_BC121C, 0x43EC8000, 0xC2F40000, 0x43770000, 0x00000B01, D_80244B34_BC1CD4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80245424_BC25C4 -.word 0x00000003, D_80244050_BC11F0, 0x43D30000, 0xC3480000, 0x42E00000, 0x00000901, D_80244DA4_BC1F44, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000001A6, 0xFFFFFF38, 0x00000070, 0x0000001E, 0x00000000, 0xFFFF8001, 0x00000000, 0x000001A6, 0xFFFFFF38, 0x00000070, 0x0000001E, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x001A00A6, 0x00000004, D_80244050_BC11F0, 0x43C68000, 0xC3CD0000, 0x43B00000, 0x00000901, D_80244DFC_BC1F9C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000018D, 0xFFFFFE66, 0x00000160, 0x00000050, 0x00000000, 0xFFFF8001, 0x00000000, 0x0000018D, 0xFFFFFE66, 0x00000160, 0x00000050, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x001A00A7, 0x00000001, D_80244E54_BC1FF4, 0x00000000, 0x00000001, D_80245044_BC21E4, 0x00000000, 0x00000001, D_80245234_BC23D4, 0x00000000, 0x00000002, D_80245424_BC25C4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0x000002A3, 0xFFFFFE5C, 0x0000019F, 0x000000B4, 0x0000002F, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405F41, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_02/BC2D40.data.s b/ver/us/asm/data/world/area_obk/obk_02/BC2D40.data.s deleted file mode 100644 index 9c2a98e189..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_02/BC2D40.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802402B0_BC2D40 -.word 0x42860000, 0x00000000, 0x436B0000, 0x00000000, 0x00000000, 0xC3520000, 0x436B0000, 0x00000000, 0x435C0000, 0xC3520000, 0x42820000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80240B68, D_802402B0_BC2D40, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900B3, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_02/BC2E20.data.s b/ver/us/asm/data/world/area_obk/obk_02/BC2E20.data.s deleted file mode 100644 index ee8a54b223..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_02/BC2E20.data.s +++ /dev/null @@ -1,45 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240390_BC2E20 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000017, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004B, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802417D0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240434_BC2EC4 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000018, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004D, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, ExitSingleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802417D8, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802404D8_BC2F68 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000002, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x802417E0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240534_BC2FC4 -.word 0x00000047, 0x00000005, D_80240390_BC2E20, 0x00000100, 0x00000017, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80240434_BC2EC4, 0x00000100, 0x00000018, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802404D8_BC2F68, 0x00080000, 0x00000014, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240598_BC3028 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004B, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000046, 0x00000001, D_80240534_BC2FC4, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004D, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000046, 0x00000001, D_80240534_BC2FC4, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, D_80240534_BC2FC4, 0x00000044, 0x00000001, EnterWalk, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024067C_BC310C -.word 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000029, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x0000002A, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x0000002B, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x0000002C, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x0000002D, 0x00000001, 0x00000043, 0x00000003, SetTexPanner, 0x0000002E, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0x00008000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000005C, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000005D, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024081C_BC32AC -.word 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024083C_BC32CC -.word 0x00000024, 0x00000002, 0xFD050F80, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024085C_BC32EC -.word 0x00000024, 0x00000002, 0xFD050F80, 0x00000002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024087C_BC330C -.word 0x00000043, 0x00000003, EnableGroup, 0x0000000C, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x00000025, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x0000003E, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x0000004E, 0x00000001, 0x0000000A, 0x00000002, 0xF8405F4E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000023, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000021, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240924_BC33B4 -.word 0x00000043, 0x00000003, EnableGroup, 0x0000000C, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000025, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000003E, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000004E, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240984_BC3414 -.word 0x00000043, 0x00000003, EnableGroup, 0x00000020, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x00000032, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x0000004C, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802409D0_BC3460 -.word 0x00000043, 0x00000003, EnableGroup, 0x00000020, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000032, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000004C, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240A1C_BC34AC -.word 0x00000047, 0x00000005, D_8024081C_BC32AC, 0x00000080, 0x00000008, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024083C_BC32CC, 0x00000080, 0x00000002, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024085C_BC32EC, 0x00000080, 0x0000000B, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000024, 0x00000002, 0xFD050F81, 0xFFFFFFFE, 0x00000005, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xFD050F80, 0xFD050F81, 0x00000014, 0x00000001, 0xFD050F80, 0x00000016, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_80240924_BC33B4, 0x00000046, 0x00000001, D_80240984_BC3414, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8024087C_BC330C, 0x00000046, 0x00000001, D_80240984_BC3414, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8024087C_BC330C, 0x00000046, 0x00000001, D_802409D0_BC3460, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F81, 0xFD050F80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80241198, 0x00000046, 0x00000001, 0x80241738, 0x00000044, 0x00000001, D_8024067C_BC310C, 0x00000044, 0x00000001, 0x802412C0, 0x00000044, 0x00000001, 0x80241350, 0x00000044, 0x00000001, 0x80241360, 0x00000044, 0x00000001, 0x80240320, 0x00000044, 0x00000001, D_80240598_BC3028, 0x00000044, 0x00000001, D_80240A1C_BC34AC, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000001B, 0x7FFFFE00, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_02/BC3720.data.s b/ver/us/asm/data/world/area_obk/obk_02/BC3720.data.s deleted file mode 100644 index 6df695bd88..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_02/BC3720.data.s +++ /dev/null @@ -1,27 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240C90_BC3720 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80240CBC_BC374C -.short 0x0032, 0x003C, 0x00C8, 0x00F0 - -dlabel D_80240CC4_BC3754 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000001, func_80240000_BC2A90, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, obk_02_UnkAngleFunc004, 0x00000043, 0x00000001, func_80240194_BC2C24, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcRenderMode, 0xFFFFFFFF, 0x00000011, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240D70_BC3800 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80240CC4_BC3754, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240D94_BC3824 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80240CC4_BC3754, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240DB8_BC3848 -.word 0x00000000, D_80240C90_BC3720, 0x4402C000, 0xC30B0000, 0x43410000, 0x00000F01, D_80240D70_BC3800, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80240C90_BC3720, 0x43EC8000, 0xC2F40000, 0x43770000, 0x00000F01, D_80240D94_BC3824, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_80240DB8_BC3848, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802411B0_BC3C40 -.word 0x436D0000, 0xC3520000, 0x42540000, 0x00000000 - -dlabel D_802411C0_BC3C50 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000042, 0x00000001, 0x00000021, 0x00000021, 0x00000001, 0x0000000A, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x00000023, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000021, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000023, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000021, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000019, 0x7FFFFE00, 0x00000024, 0x00000002, 0xF8405F4E, 0x00000001, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF8405F4E, 0x00000000, 0x00000047, 0x00000005, D_802411C0_BC3C50, 0x00100000, D_802411B0_BC3C40, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000023, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000021, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000019, 0x7FFFFE00, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_02/BC3DE0.data.s b/ver/us/asm/data/world/area_obk/obk_02/BC3DE0.data.s deleted file mode 100644 index cf5e559c84..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_02/BC3DE0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241350_BC3DE0 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, RotateModel, 0x00000033, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFA, 0x00000008, 0x00000001, 0x0000001E, 0x00000004, 0x00000001, 0x0000000A, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000006, RotateModel, 0x00000035, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000008, 0x00000001, 0x0000003C, 0x00000004, 0x00000001, 0x00000014, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000003, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, func_80240240_BC2CD0, 0x00000043, 0x00000006, RotateModel, 0x00000037, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000001E, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_02/BC3F60.data.s b/ver/us/asm/data/world/area_obk/obk_02/BC3F60.data.s deleted file mode 100644 index 20aac78819..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_02/BC3F60.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802414D0_BC3F60 -.word 0x00000008, 0x00000001, 0x0000000F, 0x00000056, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x0000212A, 0x00000000, 0x00000004, 0x0000001A, 0xFFFFFFF4, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFB0, 0x0000000A, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x00000032, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x0000212B, 0x00000000, 0x00000004, 0x0000001A, 0xFFFFFFF4, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000A, 0xF24A8080, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000006, PlaySoundAt, 0x0000212C, 0x00000000, 0x00000004, 0x0000001A, 0xFFFFFFF4, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFB0, 0x00000000, 0x00000014, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x00000032, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008001F, 0x00000008, 0x00000001, 0x00000030, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000024, 0x00000002, 0xF8405F42, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802416FC_BC418C -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000046, 0x00000001, D_802414D0_BC3F60, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_Chest, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignChestFlag, 0xF8405F43, 0x00000043, 0x00000002, AssignScript, D_802416FC_BC418C, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0x00000064, 0xFFFFFF2E, 0x00000000, 0x00000000, 0x00000006, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405F44, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_03/BC5270.data.s b/ver/us/asm/data/world/area_obk/obk_03/BC5270.data.s deleted file mode 100644 index 2d2e96bbb3..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_03/BC5270.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240FF0_BC5270 -.word 0xC1A00000, 0x00000000, 0xC36B0000, 0x43340000, 0x43700000, 0x00000000, 0x00000000, 0x43870000, 0x44250000, 0x00000000, 0x00000000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802413B4, D_80240FF0_BC5270, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900B4, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_03/BC5350.data.s b/ver/us/asm/data/world/area_obk/obk_03/BC5350.data.s deleted file mode 100644 index b711218d05..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_03/BC5350.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802410D0_BC5350 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000006, 0x00000024, 0x00000002, 0xFE363C82, 0x0000005A, 0x00000024, 0x00000002, 0xFE363C84, 0x0000005B, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000044, 0x00000001, 0x80285DFC, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80243BC0, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241184_BC5404 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x00000057, 0x00000024, 0x00000002, 0xFE363C84, 0x00000058, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, 0x80285DFC, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80243BC8, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241238_BC54B8 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x0000005A, 0x00000024, 0x00000002, 0xFE363C84, 0x0000005B, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, 0x80285E24, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000057, 0x00000024, 0x00000002, 0xFE363C84, 0x00000058, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, 0x80285E24, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802412FC_BC557C -.word 0x00000043, 0x00000003, SetTexPanner, 0x00000063, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000064, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80243B3C, 0x00000046, 0x00000001, 0x80241ED4, 0x00000044, 0x00000001, 0x80242C8C, 0x00000044, 0x00000001, 0x80243B60, 0x00000046, 0x00000001, 0x80241670, 0x00000044, 0x00000001, D_802412FC_BC557C, 0x00000044, 0x00000001, 0x80241060, 0x00000047, 0x00000005, D_80241184_BC5404, 0x00000100, 0x00000005, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802410D0_BC5350, 0x00000100, 0x00000006, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80241238_BC54B8, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_03/BC5770.data.s b/ver/us/asm/data/world/area_obk/obk_03/BC5770.data.s deleted file mode 100644 index ed51428239..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_03/BC5770.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802414F0_BC5770 -.word 0x00270060, 0x00270061, 0x00270062, 0x00270063, 0x00270064, 0x00270065, 0x00270066, 0x00270067, 0x00270068, 0x00270069, 0x0027006A, 0x0027006B, 0x0027006C, 0x0027006D, 0x0027006E, 0x0027006F, 0x00270070, 0x00270071, 0x00270072, 0x00270073, 0x00270074, 0x00270075, 0x00270076 - -dlabel D_8024154C_BC57CC -.word 0x00000096, 0x00000001, 0x0024002B, 0x00000092, 0x00000019, 0x00240028, 0x00000081, 0x0000000F, 0x00240001, 0x000000A3, 0x00000019, 0x00240017, 0x00000095, 0x00000032, 0x0024000C, 0x0000008C, 0x0000000D, 0x0024000A, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802415A0_BC5820 -.word 0x00000086, 0x00000004, 0x00000000, 0x0000008D, 0x00000003, 0x00000000, 0x000000C2, 0x00000005, 0x00000000, 0x000000B4, 0x000000C8, 0x00000000, 0x000000AE, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802415E8_BC5868 -.word 0x002A002A, 0x002B002B, 0x002C002C, 0x002D002D, 0x002E002E, 0x002F002F - -dlabel D_80241600_BC5880 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000003, 0x00000016, 0x00000001, 0x00000004, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241654_BC58D4 -.word 0x00000000, 0x00950001, 0x00950004, D_80241600_BC5880, 0x00000000, 0x00000000, D_802414F0_BC5770, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFDC, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000030, 0x7FFFFE00, 0x00000012, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000002A, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000002B, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000002C, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000002D, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000002E, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000002F, 0x7FFFFE00, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeShop, D_802415E8_BC5868, D_8024154C_BC57CC, D_802415A0_BC5820, 0x00000000, 0x00000043, 0x00000002, MakeShopOwner, D_80241654_BC58D4, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_03/BC5A00.data.s b/ver/us/asm/data/world/area_obk/obk_03/BC5A00.data.s deleted file mode 100644 index ff4c6e3eb1..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_03/BC5A00.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241780_BC5A00 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, obk_03_GetEntityPosition, 0xFE363C87, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, PlaySoundAt, 0x00000301, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0xFE363C85, 0xFE363C86, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, obk_03_SetEntityPosition, 0xFE363C87, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, obk_03_GetEntityPosition, 0xFE363C87, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, PlaySoundAt, 0x00000048, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0xFE363C88, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802418F0_BC5B70 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, obk_03_GetEntityPosition, 0xFE363C87, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, PlaySoundAt, 0x00000303, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0xFE363C85, 0xFE363C86, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, obk_03_SetEntityPosition, 0xFE363C87, 0xFE363C82, 0xFE363C80, 0xFE363C84, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, obk_03_GetEntityPosition, 0xFE363C87, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, PlaySoundAt, 0x000000DD, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0xFE363C88, 0xF24A7E80, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241A60_BC5CE0 -.word 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000154, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000174, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000E, 0x00000002, 0xFE363C82, 0xFFFFFF8D, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xFE363C82, 0xFFFFFFAB, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008001F, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A8280, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002B, 0x00000043, 0x00000005, PlayerJump1, 0x0000014A, 0xFFFFFF2E, 0xFFFFFFCF, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000005, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B9C_BC5E1C -.word 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000E, 0x00000002, 0xFE363C80, 0x0000018A, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xFE363C80, 0x000001D6, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000E, 0x00000002, 0xFE363C82, 0xFFFFFF79, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xFE363C82, 0xFFFFFFC2, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008001F, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A8280, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002B, 0x00000043, 0x00000005, PlayerJump1, 0x00000160, 0xFFFFFF2E, 0xFFFFFFFB, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000005, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241CD8_BC5F58 -.word 0x00000043, 0x00000007, MakeEntity, Entity_BlueSwitch, 0x00000168, 0xFFFFFF2E, 0xFFFFFF9C, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignSwitchFlag, 0x00000006, 0x00000043, 0x00000002, AssignScript, D_80241DB4_BC6034, 0x00000044, 0x00000001, D_80241A60_BC5CE0, 0x00000024, 0x00000002, 0xFE363C82, 0x00000168, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C85, 0xFFFFFF2E, 0x00000024, 0x00000002, 0xFE363C86, 0x00000014, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C88, 0x00000005, 0x00000046, 0x00000001, D_80241780_BC5A00, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241DB4_BC6034 -.word 0x00000043, 0x00000007, MakeEntity, Entity_HugeBlueSwitch, 0x000001B8, 0xFFFFFF2E, 0xFFFFFF9C, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignSwitchFlag, 0x00000007, 0x00000043, 0x00000002, AssignScript, D_80241E90_BC6110, 0x00000044, 0x00000001, D_80241B9C_BC5E1C, 0x00000024, 0x00000002, 0xFE363C82, 0x000001B8, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0xFFFFFF9C, 0x00000024, 0x00000002, 0xFE363C85, 0xFFFFFF2E, 0x00000024, 0x00000002, 0xFE363C86, 0x00000014, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C88, 0x0000001E, 0x00000046, 0x00000001, D_802418F0_BC5B70, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241E90_BC6110 -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD9, 0x00000044, 0x00000001, 0x80242320, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD9, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD9, 0x00000043, 0x00000007, MakeEntity, Entity_BlueSwitch, 0x0000012C, 0xFFFFFF2E, 0xFFFFFF9C, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignSwitchFlag, 0x00000005, 0x00000043, 0x00000002, AssignScript, D_80241CD8_BC5F58, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFF7E, 0x00000000, 0xFFFFFFCE, 0x00000000, 0x0000008C, 0x80000000, 0x00000043, 0x00000002, AssignCrateFlag, 0xF8405F45, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0x0000009B, 0x00000000, 0xFFFFFF9C, 0x00000000, 0xFFFFFFFF, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFF5B, 0x00000000, 0xFFFFFFCE, 0x00000000, 0xFFFFFFFF, 0x80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_03/BC6250.data.s b/ver/us/asm/data/world/area_obk/obk_03/BC6250.data.s deleted file mode 100644 index 8f204ba7f5..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_03/BC6250.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241FD0_BC6250 -.word 0x00000043, 0x00000005, MakeLerp, 0xFE363C80, 0x00000000, 0xFE363C81, 0x00000008, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0xFE363C82, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242060_BC62E0 -.word 0x00000043, 0x00000006, PlaySoundAt, 0x0000203D, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C83, 0x00000000, 0x00000027, 0x00000002, 0xFE363C84, 0xFFFFFFF8, 0x00000027, 0x00000002, 0xFE363C85, 0xFFFFFFBA, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C86, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0xFFFFFFF8, 0x00000027, 0x00000002, 0xFE363C88, 0x00000046, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802421E4_BC6464 -.word 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C81, 0x0000000F, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242268_BC64E8 -.word 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000043, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000007, 0x7FFFFE00, 0x00000043, 0x00000003, EnableModel, 0x00000046, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000048, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000004A, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000004C, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000004E, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000050, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000052, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000054, 0x00000001, 0x00000043, 0x00000005, TranslateModel, 0x00000046, 0x00000000, 0x000000B4, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000048, 0x00000000, 0x0000009B, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000004A, 0x00000000, 0x00000082, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000004C, 0x00000000, 0x00000069, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000004E, 0x00000000, 0x00000050, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000050, 0x00000000, 0x00000037, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000052, 0x00000000, 0x0000001E, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000054, 0x00000000, 0x00000005, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000113, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF47, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000046, 0x00000001, D_802421E4_BC6464, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000001E, 0xF24A8680, 0x00000024, 0x00000002, 0xFE363C80, 0x00000113, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF47, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000001C, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x000000AF, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x00000046, 0x00000044, 0x00000001, D_80241FD0_BC6250, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x000000E1, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF60, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000044, 0x00000001, D_802421E4_BC6464, 0x00000024, 0x00000002, 0xFE363C80, 0x000000E1, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF60, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000001C, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000096, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x00000048, 0x00000044, 0x00000001, D_80241FD0_BC6250, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x000000AF, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF79, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000046, 0x00000001, D_802421E4_BC6464, 0x00000024, 0x00000002, 0xFE363C80, 0x000000AF, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF79, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000001C, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x0000007D, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004A, 0x00000044, 0x00000001, D_80241FD0_BC6250, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000007D, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF92, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000046, 0x00000001, D_802421E4_BC6464, 0x00000024, 0x00000002, 0xFE363C80, 0x0000007D, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFF92, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000001A, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000064, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004C, 0x00000044, 0x00000001, D_80241FD0_BC6250, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000004B, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFAB, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000046, 0x00000001, D_802421E4_BC6464, 0x00000024, 0x00000002, 0xFE363C80, 0x0000004B, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFAB, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000019, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x0000004B, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x0000004E, 0x00000044, 0x00000001, D_80241FD0_BC6250, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0x00000019, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFC4, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000046, 0x00000001, D_802421E4_BC6464, 0x00000024, 0x00000002, 0xFE363C80, 0x00000019, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFC4, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000000E, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000032, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x00000050, 0x00000044, 0x00000001, D_80241FD0_BC6250, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFE7, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFDD, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000046, 0x00000001, D_802421E4_BC6464, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFE7, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFDD, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000009, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000019, 0x00000024, 0x00000002, 0xFE363C81, 0x00000005, 0x00000024, 0x00000002, 0xFE363C82, 0x00000052, 0x00000044, 0x00000001, D_80241FD0_BC6250, 0x00000008, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFB5, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFF6, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000046, 0x00000001, D_802421E4_BC6464, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFB5, 0x00000024, 0x00000002, 0xFE363C81, 0xFFFFFFF6, 0x00000024, 0x00000002, 0xFE363C82, 0x000000BC, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000004, 0x00000044, 0x00000001, D_80242060_BC62E0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000054, 0x00000046, 0x00000001, D_80241FD0_BC6250, 0x00000043, 0x00000003, EnableModel, 0x0000001E, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000001F, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000009, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x0000000B, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x0000000D, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x0000000F, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000011, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000013, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000015, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000019, 0x7FFFFE00, 0x00000046, 0x00000001, D_80242268_BC64E8, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD9, 0x00000043, 0x00000003, EnableModel, 0x00000046, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000048, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000004A, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000004C, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000004E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000050, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000052, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000054, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000001F, 0x00000001, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000009, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000000B, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000000D, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000000F, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000011, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000013, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000015, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000019, 0x7FFFFE00, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000043, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000001E, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000001F, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000007, 0x7FFFFE00, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_03/BC7120.data.s b/ver/us/asm/data/world/area_obk/obk_03/BC7120.data.s deleted file mode 100644 index 5c54716d70..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_03/BC7120.data.s +++ /dev/null @@ -1,51 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242EA0_BC7120 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel obk_03_varStash -.word 0x00000000 - -dlabel D_80242ED0_BC7150 -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel obk_03_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel obk_03_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_80242F38_BC71B8 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, obk_03_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, obk_03_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_80240540_BC47C0, 0xFE363C80, 0x0000004E, 0x00000006, D_80242F38_BC71B8, 0x00000010, 0x00000000, D_80243BE0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, func_802404B4_BC4734, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802430CC_BC734C -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, obk_03_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024314C_BC73CC -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, obk_03_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000045, 0x00000002, D_802430CC_BC734C, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040002, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFE363C89, 0xFFFFFFFC, 0xFE363C8B, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C89, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C8B, 0x000000B4, 0x00000027, 0x00000002, 0xFE363C86, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C86, 0xFFFFFFEC, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000014, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x000000B4, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFE363C89, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x00000005, 0x00000023, 0x00000000, 0x00000043, 0x00000002, obk_03_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243470_BC76F0 -.word 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_80240540_BC47C0, 0xFE363C80, 0x0000004E, 0x00000006, D_8024314C_BC73CC, 0x00000010, 0x00000000, D_80243BE0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, func_802404B4_BC4734, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802434E0_BC7760 -.word 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFBA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, obk_03_LetterDelivery_SaveNpcAnim, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C85, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x0000000B, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C82, 0xFE363C8D, 0xFE363C80, 0xFE363C8E, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C8E, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C80, 0xFE363C8F, 0x0000000A, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000000, 0xFE363C82, 0xFE363C87, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000046, 0x00000001, D_80243470_BC76F0, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C88, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80242ED0_BC7150, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C86, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, obk_03_LetterDelivery_RestoreNpcAnim, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802437D8_BC7A58 -.word 0x00000041, 0x00000000 - -dlabel D_802437E0_BC7A60 -.word 0x00000043, 0x0000000B, obk_03_LetterDelivery_Init, 0x00000000, 0x00950004, 0x00950001, 0x00000041, 0x00000000, 0x000E005D, 0x000E005E, 0x000E005F, 0x000E0060, D_802437D8_BC7A58, 0x00000046, 0x00000001, D_802434E0_BC7760, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243830_BC7AB0 -.word 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80242ED0_BC7150, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243894_BC7B14 -.word 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFDC, 0x00000046, 0x00000001, 0x80284054, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00950004, 0x00950001, 0x00000000, 0x000E005C, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_802437E0_BC7A60, 0x00000046, 0x00000001, D_80243830_BC7AB0, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243928_BC7BA8 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80243894_BC7B14, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024394C_BC7BCC -.word 0x00000000, D_80242EA0_BC7120, 0x422C0000, 0xC3480000, 0xC1100000, 0x00000D01, D_80243928_BC7BA8, 0x00000000, 0x00000000, 0x0000005A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x001A00A5, 0x00000001, D_8024394C_BC7BCC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_03/BC7DE0.data.s b/ver/us/asm/data/world/area_obk/obk_03/BC7DE0.data.s deleted file mode 100644 index 06252de258..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_03/BC7DE0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243B60_BC7DE0 -.word 0x00000043, 0x00000003, ParentColliderToModel, 0x0000003A, 0x0000007F, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000003B, 0x00000081, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000003C, 0x00000081, 0x00000043, 0x00000001, func_802408D0_BC4B50, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_04/BC8CE0.data.s b/ver/us/asm/data/world/area_obk/obk_04/BC8CE0.data.s deleted file mode 100644 index e46a04f751..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_04/BC8CE0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240E80_BC8CE0 -.word 0xC36B0000, 0x00000000, 0x40A00000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802438C4, D_80240E80_BC8CE0, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900B5, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, PushSong, 0x00000042, 0x00000001, 0x00000008, 0x00000001, 0x00000082, 0x00000043, 0x00000001, PopSong, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_04/BC8DE0.data.s b/ver/us/asm/data/world/area_obk/obk_04/BC8DE0.data.s deleted file mode 100644 index 1f1e02b7f6..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_04/BC8DE0.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240F80_BC8DE0 -.word 0x00000024, 0x00000002, 0xF8405F48, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF8405F49, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240FC0_BC8E20 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF8405F47, 0x00000001, 0x00000044, 0x00000001, 0x802441AC, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_GiantChest, 0x000000B4, 0x00000000, 0xFFFFFF51, 0xFFFFFFF6, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignChestFlag, 0xF8405F47, 0x00000043, 0x00000002, AssignScript, D_80240FC0_BC8E20, 0x00000043, 0x00000007, MakeItemEntity, 0x0000016A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80240000_BC7E60, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x0000000A, 0x00000002, 0xF8405F48, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BoardedFloor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80240F80_BC8DE0, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFFC4, 0x00000000, 0xFFFFFF42, 0x00000000, 0x000000A3, 0x80000000, 0x00000043, 0x00000002, AssignCrateFlag, 0xF8405F4A, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFFC4, 0x0000001E, 0xFFFFFF42, 0x00000000, 0xFFFFFFFF, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFFEC, 0x00000000, 0xFFFFFF42, 0x00000000, 0xFFFFFFFF, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0xFFFFFF51, 0x00000000, 0xFFFFFFB5, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405F4C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_04/BC9020.data.s b/ver/us/asm/data/world/area_obk/obk_04/BC9020.data.s deleted file mode 100644 index 9d8e91f50d..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_04/BC9020.data.s +++ /dev/null @@ -1,111 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802411C0_BC9020 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_802411EC_BC904C -.word 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000001, func_80240050_BC7EB0, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_802402F4_BC8154, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241244_BC90A4 -.word 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000001, func_802405B4_BC8414, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_80240624_BC8484, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024129C_BC90FC -.word 0x0000000A, 0x00000002, 0xFD050F85, 0xFE363C80, 0x00000024, 0x00000002, 0xFD050F86, 0x00000001, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFD050F86, 0x00000002, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00950009, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00950001, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241330_BC9190 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802413BC_BC921C -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241448_BC92A8 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802414D4_BC9334 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241560_BC93C0 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802415EC_BC944C -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241678_BC94D8 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241704_BC9564 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000046, 0x00000001, D_8024129C_BC90FC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241790_BC95F0 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802411EC_BC904C, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802417DC_BC963C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80241330_BC9190, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024183C_BC969C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_802413BC_BC921C, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024189C_BC96FC -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80241448_BC92A8, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802418FC_BC975C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_802414D4_BC9334, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024195C_BC97BC -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80241560_BC93C0, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802419BC_BC981C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_802415EC_BC944C, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241A1C_BC987C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80241678_BC94D8, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241A7C_BC98DC -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241244_BC90A4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80241704_BC9564, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241ADC_BC993C -.word 0x00000000, D_802411C0_BC9020, 0x00000000, 0xC47A0000, 0x00000000, 0x11300F00, D_80241790_BC95F0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241CCC_BC9B2C -.word 0x00000001, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_802417DC_BC963C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241EBC_BC9D1C -.word 0x00000002, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_8024183C_BC969C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802420AC_BC9F0C -.word 0x00000003, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_8024189C_BC96FC, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024229C_BCA0FC -.word 0x00000004, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_802418FC_BC975C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024248C_BCA2EC -.word 0x00000005, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_8024195C_BC97BC, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024267C_BCA4DC -.word 0x00000006, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_802419BC_BC981C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024286C_BCA6CC -.word 0x00000007, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_80241A1C_BC987C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242A5C_BCA8BC -.word 0x00000008, D_802411C0_BC9020, 0x43300000, 0x00000000, 0xC32D0000, 0x11300F00, D_80241A7C_BC98DC, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242C4C_BCAAAC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242C5C_BCAABC -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000010, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242C84_BCAAE4 -.word 0x0000000A, 0x00000002, 0xF8405F4C, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x00950004, 0x00950001, 0x00000000, 0x000E003F, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8405F4B, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x00950004, 0x00950001, 0x00000000, 0x000E0040, 0x00000024, 0x00000002, 0xF8405F4B, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x00950004, 0x00950001, 0x00000000, 0x000E0041, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242D44_BCABA4 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80242C84_BCAAE4, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0xFFFFFF60, 0x0000000A, 0xFFFFFF51, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242D9C_BCABFC -.word 0x00000009, D_802411C0_BC9020, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F01, D_80242C4C_BCAAAC, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, D_802411C0_BC9020, 0x00000000, 0xC47A0000, 0x00000000, 0x00004F01, D_80242C5C_BCAABC, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024317C_BCAFDC -.word 0x0000000B, D_802411C0_BC9020, 0x00000000, 0xC47A0000, 0x00000000, 0x00000D01, D_80242D44_BCABA4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x001A00A9, 0x00000001, D_80241ADC_BC993C, 0x00000000, 0x00000001, D_80241CCC_BC9B2C, 0x00000000, 0x00000001, D_80241EBC_BC9D1C, 0x00000000, 0x00000001, D_802420AC_BC9F0C, 0x00000000, 0x00000001, D_8024229C_BCA0FC, 0x00000000, 0x00000001, D_8024248C_BCA2EC, 0x00000000, 0x00000001, D_8024267C_BCA4DC, 0x00000000, 0x00000001, D_8024286C_BCA6CC, 0x00000000, 0x00000001, D_80242A5C_BCA8BC, 0x00000000, 0x00000002, D_80242D9C_BCABFC, 0x00000000, 0x00000001, D_8024317C_BCAFDC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_04/BCB260.data.s b/ver/us/asm/data/world/area_obk/obk_04/BCB260.data.s deleted file mode 100644 index 1ea9812f9b..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_04/BCB260.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243400_BCB260 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8680, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFF6A, 0xFE363C82, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000D, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000000F, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x0000000B, 0x00000024, 0x00000002, 0xFE363C83, 0xFFFFFFFF, 0x00000046, 0x00000001, EnterSingleDoor, 0x00000043, 0x00000003, EnableModel, 0x0000000D, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000000F, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFA6, 0x0000000F, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000000B, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF29, 0x00000000, 0x00000019, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF29, 0x00000000, 0xFFFFFFE7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF38, 0x00000000, 0x00000019, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF38, 0x00000000, 0xFFFFFFE7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF47, 0x00000000, 0x00000019, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000001, 0xFFFFFF47, 0x00000000, 0xFFFFFFE7, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, EnableModel, 0x0000000B, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000000A, 0x0000000F, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateModel, 0x0000000D, 0xFE363C80, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000010, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802437FC_BCB65C -.word 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000001E, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x0000001F, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000027, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024336C, 0x00000046, 0x00000001, 0x80241014, 0x00000044, 0x00000001, D_802439C0_BCB820, 0x00000044, 0x00000001, D_802437FC_BCB65C, 0x00000044, 0x00000001, D_80243400_BCB260, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000012, 0x7FFFFE00, 0x00000044, 0x00000001, 0x80240ED0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802439C0_BCB820 -.word 0x00000043, 0x00000001, func_80240910_BC8770, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, GotoMap, 0x802451D0, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_04/BCB870.data.s b/ver/us/asm/data/world/area_obk/obk_04/BCB870.data.s deleted file mode 100644 index ba7b9b9359..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_04/BCB870.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel obk_04_varStash -.word 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243A74_BCB8D4 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243ADC_BCB93C -.word 0x00000043, 0x00000001, func_80240E58_BC8CB8, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, SetItemAlpha, 0xFD050F80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000005, 0x00000001, 0x00000014, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C04_BCBA64 -.word 0x00000014, 0x00000001, 0xFD050F85, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F87, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFD050F87, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFD050F87, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFD050F87, 0x00000003, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFD050F87, 0x00000004, 0x00000016, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFD050F87, 0x00000005, 0x00000016, 0x00000001, 0x00000006, 0x00000024, 0x00000002, 0xFD050F87, 0x00000006, 0x00000016, 0x00000001, 0x00000007, 0x00000024, 0x00000002, 0xFD050F87, 0x00000007, 0x00000016, 0x00000001, 0x00000008, 0x00000024, 0x00000002, 0xFD050F87, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243D24_BCBB84 -.word 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000003C, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0xFE363C8A, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243DC8_BCBC28 -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0xFE363C8A, 0x00040000, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0xFE363C8A, 0x00950008, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000003C, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0xFE363C8A, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFE363C8A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243ED4_BCBD34 -.word 0x00000056, 0x00000000, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0xF24A9A80, 0x00000000, 0xF24F2A80, 0xF24AC080, 0xF24A5480, 0x00000057, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0006000C, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C86, 0x00000028, 0x00000043, 0x00000007, MakeItemEntity, 0x00000002, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C86, 0x00000010, 0x00000043, 0x0000000F, PlayEffect, 0x0000001B, 0x00000000, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xF24A7E80, 0xFE363C88, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000033, 0x00000009, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xF24A7E80, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000027, 0x00000002, 0xFE363C84, 0x00000032, 0x00000027, 0x00000002, 0xFE363C85, 0x00000002, 0x00000027, 0x00000002, 0xFE363C83, 0x00000008, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000003, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000027, 0x00000002, 0xFE363C83, 0xFFFFFFF0, 0x00000043, 0x0000000F, PlayEffect, 0x00000011, 0x00000003, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFAA2B58A, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, func_802D7B44, 0xFE363C88, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C8C, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000056, 0x00000000, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0x00000003, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000008D, 0x00000000, 0x00000008, 0x00000044, 0x00000001, D_80243A74_BCB8D4, 0x00000008, 0x00000001, 0x00000001, 0x00000044, 0x00000001, D_80243ADC_BCB93C, 0x00000024, 0x00000002, 0xFD050F81, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002B, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000010E, 0x00000000, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF250BA80, 0xF24AB680, 0xF24A5E80, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF24F8E80, 0xF24AAE80, 0xF24A4680, 0x00000043, 0x00000005, SetNpcPos, 0x00000009, 0x00000000, 0x0000002D, 0x00000014, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0x00000041, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000001E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x00000009, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetItemAlpha, 0xFD050F80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000009, 0x00950004, 0x00950001, 0x00000000, 0x000E003A, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF2518280, 0xF24AB680, 0xF24A5E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000009, 0x00950004, 0x00950001, 0x00000000, 0x000E003B, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFD050F82, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFD050F89, 0x00000000, 0x00000003, 0x00000001, 0x00000064, 0x00000027, 0x00000002, 0xFD050F89, 0x00000001, 0x0000000F, 0x00000002, 0xFD050F89, 0x0000000A, 0x00000024, 0x00000002, 0xFD050F89, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF2524A80, 0xF24AB680, 0xF24A5E80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, RandInt, 0x00000007, 0xFE363C80, 0x00000024, 0x00000002, 0xFD050F84, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000001, func_80240A58_BC88B8, 0x00000043, 0x00000001, func_80240C10_BC8A70, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000A, 0x000003FA, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000A, 0xF24A7E80, 0x00000043, 0x00000006, NpcJump0, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000E, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x00000009, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000004, 0xFD050F88, 0x00000027, 0x00000002, 0xFD050F88, 0x00000006, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80240CA0_BC8B00, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, RandInt, 0x00000007, 0xFE363C80, 0x0000000A, 0x00000002, 0xFD050F84, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000004, 0x0000000F, 0x00000002, 0xFE363C80, 0x00000008, 0x00000028, 0x00000002, 0xFE363C80, 0x00000008, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F84, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000001, func_80240A58_BC88B8, 0x00000043, 0x00000001, func_80240C10_BC8A70, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000A, 0x000003FA, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000A, 0xF24A8080, 0x00000043, 0x00000006, NpcJump0, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000E, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000000A, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000008, 0x00000001, 0xFE363C80, 0x00000027, 0x00000002, 0xFD050F88, 0xFFFFFFFF, 0x0000000A, 0x00000002, 0xFD050F88, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0x00000003, 0x00000043, 0x00000003, RandInt, 0x00000032, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000064, 0x00000008, 0x00000001, 0xFE363C80, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x00000009, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000009, 0x00950004, 0x00950001, 0x00000005, 0x000E003C, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFD050F86, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x0000000A, 0x00000002, 0xFD050F86, 0x00000002, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF2518280, 0xF24AB680, 0xF24A5E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000046, 0x00000001, D_80243C04_BCBA64, 0x00000043, 0x00000005, GetNpcPos, 0xFD050F87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetNpcPos, 0x0000000A, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C86, 0x00000019, 0x00000027, 0x00000002, 0xFE363C86, 0xFE363C84, 0x00000043, 0x00000005, MakeLerp, 0xFE363C84, 0xFE363C86, 0x00000014, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0xFE363C83, 0xFE363C80, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFD050F87, 0x00950004, 0x00950001, 0x00000005, 0x000E003E, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000A, 0x000003FA, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000A, 0xF24A8280, 0x00000043, 0x00000006, NpcJump0, 0x0000000A, 0x00000000, 0x00000041, 0x00000000, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000009, 0x00950004, 0x00950001, 0x00000005, 0x000E003B, 0x00000024, 0x00000002, 0xFD050F86, 0x00000000, 0x00000024, 0x00000002, 0xFD050F83, 0x00000000, 0x00000043, 0x00000001, func_80240D14_BC8B74, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8A80, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000046, 0x00000001, D_80243C04_BCBA64, 0x00000043, 0x00000005, GetNpcPos, 0xFD050F87, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000A, 0x000003FA, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000A, 0xF24A8280, 0x00000043, 0x00000006, NpcJump0, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000044, 0x00000001, 0x80240F38, 0x00000044, 0x00000001, D_80243ED4_BCBD34, 0x00000043, 0x00000001, func_80240D00_BC8B60, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0180, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, func_80240D14_BC8B74, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8A80, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, GetNpcPos, 0x00000009, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000009, 0x00950004, 0x00950001, 0x00000000, 0x000E003D, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2518280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x00000047, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000001, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000002, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000004, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000006, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000007, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000008, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000009, 0x00000044, 0x00000001, D_80243DC8_BCBC28, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0xFFFFFF60, 0x0000000A, 0xFFFFFF51, 0x00000043, 0x00000007, func_802CFD30, 0x0000000B, 0x00000007, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000000B, 0x00000044, 0x00000001, D_80243D24_BCBB84, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2518280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD8, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_05/BCDA40.data.s b/ver/us/asm/data/world/area_obk/obk_05/BCDA40.data.s deleted file mode 100644 index 6dc06cd17c..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_05/BCDA40.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802409E0_BCDA40 -.word 0xC2880000, 0x00000000, 0x436B0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80240DE0, D_802409E0_BCDA40, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900B6, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_05/BCDB00.data.s b/ver/us/asm/data/world/area_obk/obk_05/BCDB00.data.s deleted file mode 100644 index 55df92ea11..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_05/BCDB00.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240AA0_BCDB00 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000031, 0x00000024, 0x00000002, 0xFE363C84, 0x00000032, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, 0x80285E24, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240B1C_BCDB7C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x0000000C, 0x00000024, 0x00000002, 0xFE363C82, 0x00000031, 0x00000024, 0x00000002, 0xFE363C84, 0x00000032, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, 0x80285DFC, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80241620, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240BD0_BCDC30 -.word 0x00000043, 0x00000003, SetTexPanner, 0x00000021, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000022, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240C84_BCDCE4 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, obk_05_RetroJar_AwaitPlayerEntry, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x00002082, 0x00000000, 0x00000043, 0x00000002, Disable8bitMario, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000041, 0x00000001, 0x00000008, 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x00002081, 0x00000000, 0x00000043, 0x00000002, Disable8bitMario, 0x00000001, 0x00000044, 0x00000001, 0x80240A30, 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, obk_05_SetCamera0MoveFlag1, 0x00000043, 0x00000002, SetPlayerJumpscale, 0xF24A7E80, 0x00000043, 0x00000005, PlayerJump, 0xFFFFFF97, 0x0000001E, 0xFFFFFFC9, 0x0000001E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000001, obk_05_UnsetCamera0MoveFlag1, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802414E8, 0x00000046, 0x00000001, 0x80241520, 0x00000044, 0x00000001, D_80240F10_BCDF70, 0x00000044, 0x00000001, 0x80240F90, 0x00000044, 0x00000001, D_80240BD0_BCDC30, 0x00000047, 0x00000005, D_80240B1C_BCDB7C, 0x00000100, 0x0000000C, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80240AA0_BCDB00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000011, 0x7FFFFE00, 0x00000044, 0x00000001, 0x80240A30, 0x00000044, 0x00000001, D_80240C84_BCDCE4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F10_BCDF70 -.word 0x00000044, 0x00000001, D_80240F2C_BCDF8C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240F2C_BCDF8C -.word 0x00000043, 0x00000003, ParentColliderToModel, 0x00000008, 0x00000019, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000009, 0x0000001B, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000000A, 0x0000001B, 0x00000043, 0x00000001, obk_05_RockingChair_UpdatePhysics, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_05/BCDFF0.data.s b/ver/us/asm/data/world/area_obk/obk_05/BCDFF0.data.s deleted file mode 100644 index 736f8b5350..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_05/BCDFF0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240F90_BCDFF0 -.word 0x00000043, 0x00000001, func_80240770_BCD7D0, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, GotoMap, 0x80241628, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_05/BCE040.data.s b/ver/us/asm/data/world/area_obk/obk_05/BCE040.data.s deleted file mode 100644 index bfc3c65541..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_05/BCE040.data.s +++ /dev/null @@ -1,24 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240FE0_BCE040 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024100C_BCE06C -.short 0x0032, 0x003C, 0x00C8, 0x00F0 - -dlabel D_80241014_BCE074 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000001, func_802407A0_BCD800, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802407AC_BCD80C, 0x00000043, 0x00000001, func_80240934_BCD994, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcRenderMode, 0xFFFFFFFF, 0x00000011, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802410C0_BCE120 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241014_BCE074, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802410E4_BCE144 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80241014_BCE074, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241108_BCE168 -.word 0x00000000, D_80240FE0_BCE040, 0x4402C000, 0xC30B0000, 0x43410000, 0x00000F01, D_802410C0_BCE120, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80240FE0_BCE040, 0x43EC8000, 0xC2F40000, 0x43770000, 0x00000F01, D_802410E4_BCE144, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_80241108_BCE168, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80241500_BCE560 -.word 0x00000024, 0x00000002, 0xF8405F4D, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF8405F4D, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BoardedFloor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignScript, D_80241500_BCE560, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0x000000C8, 0x00000000, 0xFFFFFF9C, 0x00000000, 0x00000094, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0x000000C8, 0x0000001E, 0xFFFFFF9C, 0x00000000, 0xFFFFFFFF, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0x000000A5, 0x00000000, 0xFFFFFF9C, 0x00000000, 0x00000094, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFF97, 0x00000000, 0xFFFFFFC9, 0x00000000, 0xFFFFFFFF, 0x80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_06/BCE690.data.s b/ver/us/asm/data/world/area_obk/obk_06/BCE690.data.s deleted file mode 100644 index aff41627ec..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_06/BCE690.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240000_BCE690 -.word 0x00000000, 0x43480000, 0x00000000, 0x00000000, 0xC35C0000, 0x00000000, 0x42480000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x802401DC, D_80240000_BCE690, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900B7, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_06/BCE760.data.s b/ver/us/asm/data/world/area_obk/obk_06/BCE760.data.s deleted file mode 100644 index c9bef33952..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_06/BCE760.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802400D0_BCE760 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80240550, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024012C_BCE7BC -.word 0x00000047, 0x00000005, D_802400D0_BCE760, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240158_BCE7E8 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802400D0_BCE760, 0x00000080, 0x00000000, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, D_8024012C_BCE7BC, 0x00000044, 0x00000001, EnterWalk, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000046, 0x00000001, 0x80240440, 0x00000044, 0x00000001, D_802403B0_BCEA40, 0x00000044, 0x00000001, 0x80240060, 0x00000044, 0x00000001, D_80240158_BCE7E8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802402A0_BCE930 -.word 0xC36D0000, 0x00000000, 0x42480000, 0x00000000 - -dlabel D_802402B0_BCE940 -.word 0x00000043, 0x0000000F, PlayEffect, 0x00000042, 0x00000001, 0x00000017, 0x0000001A, 0x00000001, 0x0000000A, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x00000018, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000017, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000018, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x00000017, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000013, 0x7FFFFE00, 0x00000024, 0x00000002, 0xF8405F4E, 0x00000001, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802403B0_BCEA40 -.word 0x0000000A, 0x00000002, 0xF8405F4E, 0x00000000, 0x00000047, 0x00000005, D_802402B0_BCE940, 0x00100000, D_802402A0_BCE930, 0x00000001, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000018, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x00000017, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000013, 0x7FFFFE00, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_06/BCEAD0.data.s b/ver/us/asm/data/world/area_obk/obk_06/BCEAD0.data.s deleted file mode 100644 index 3fb8d43559..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_06/BCEAD0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240440_BCEAD0 -.word 0x0000000A, 0x00000002, 0xF8405F4F, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x0000001D, 0x000000E6, 0x0000007D, 0xFFFFFF29, 0x00000011, 0xF8405F4F, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000B, 0x00000002, 0xF8405F4F, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFDA, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFF92, 0x0000001E, 0x00000032, 0x00000000, 0xFFFFFFFF, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_WoodenCrate, 0xFFFFFF92, 0x00000000, 0x00000032, 0x00000000, 0x0000015C, 0x80000000, 0x00000043, 0x00000002, AssignCrateFlag, 0xF8405F50, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_07/BD0780.data.s b/ver/us/asm/data/world/area_obk/obk_07/BD0780.data.s deleted file mode 100644 index 09707ed0d0..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_07/BD0780.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241B90_BD0780 -.word 0x42880000, 0x00000000, 0x436B0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80241EA0, D_80241B90_BD0780, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900B8, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_07/BD0840.data.s b/ver/us/asm/data/world/area_obk/obk_07/BD0840.data.s deleted file mode 100644 index a639ab76f1..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_07/BD0840.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241C50_BD0840 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x0000002D, 0x00000024, 0x00000002, 0xFE363C84, 0x0000002E, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, 0x80285E24, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241CAC_BD089C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x0000002D, 0x00000024, 0x00000002, 0xFE363C84, 0x0000002E, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, 0x80285DFC, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80244C70, 0x00000003, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241D60_BD0950 -.word 0x00000056, 0x00000000, 0x00000043, 0x00000003, EnableTexPanning, 0x00000043, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000002, 0x00000001, 0xFE363C80, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000046, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80243054, 0x00000046, 0x00000001, 0x80242164, 0x00000044, 0x00000001, D_80241D60_BD0950, 0x00000044, 0x00000001, 0x802428D0, 0x00000044, 0x00000001, 0x80244BF4, 0x00000047, 0x00000005, D_80241CAC_BD089C, 0x00000100, 0x00000003, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80241C50_BD0840, 0x00000044, 0x00000001, 0x80241BE0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_07/BD0BA0.data.s b/ver/us/asm/data/world/area_obk/obk_07/BD0BA0.data.s deleted file mode 100644 index de789c9274..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_07/BD0BA0.data.s +++ /dev/null @@ -1,15 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel obk_07_varStash -.word 0x00000000 - -dlabel D_80241FB4_BD0BA4 -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000002, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000000, 0x00000000, 0x00000043, 0x00000002, SetTimeFreezeMode, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024201C_BD0C0C -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000046, 0x00000001, D_80241FB4_BD0BA4, 0x00000013, 0x00000000, 0x00000014, 0x00000001, 0xFE363C8B, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, AddItem, 0xFE363C8A, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C8A, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000003, AddBadge, 0xFE363C8A, 0xFE363C80, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802420FC_BD0CEC -.word 0x00000024, 0x00000002, 0xFE363C8A, 0x0000001C, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000001, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD6, 0x00000024, 0x00000002, 0xF8405F52, 0x00000001, 0x00000046, 0x00000001, D_8024201C_BD0C0C, 0x00000046, 0x00000001, 0x8024493C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_Chest, 0x000000AA, 0x00000000, 0xFFFFFF60, 0x00000000, 0x00000000, 0x80000000, 0x00000043, 0x00000002, AssignChestFlag, 0xF8405F52, 0x00000043, 0x00000002, AssignScript, D_802420FC_BD0CEC, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_07/BD0DB0.data.s b/ver/us/asm/data/world/area_obk/obk_07/BD0DB0.data.s deleted file mode 100644 index baa0e80949..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_07/BD0DB0.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802421C0_BD0DB0 -.word 0x00000005, 0x00000005, 0xFFFFFF24, 0x0000000A, 0x0000000A, 0xFFFFFF38, 0x0000000F, 0x0000000F, 0xFFFFFF4C, 0x00000014, 0x00000014, 0xFFFFFF60, 0x00000019, 0x00000019, 0xFFFFFF74, 0x0000001E, 0x0000001E, 0xFFFFFF88, 0x00000023, 0x00000023, 0xFFFFFF9C - -dlabel D_80242214_BD0E04 -.word 0xFFFFFFFB, 0x00000005, 0xFFFFFF24, 0xFFFFFFF6, 0x0000000A, 0xFFFFFF38, 0xFFFFFFF1, 0x0000000F, 0xFFFFFF4C, 0xFFFFFFEC, 0x00000014, 0xFFFFFF60, 0xFFFFFFE7, 0x00000019, 0xFFFFFF74, 0xFFFFFFE2, 0x0000001E, 0xFFFFFF88, 0xFFFFFFDD, 0x00000019, 0xFFFFFF9C - -dlabel D_80242268_BD0E58 -.word 0x00000000, 0x0000000A, 0xFFFFFF24, 0x00000000, 0x00000014, 0xFFFFFF38, 0x00000000, 0x0000001E, 0xFFFFFF4C, 0x00000000, 0x00000028, 0xFFFFFF60, 0x00000000, 0x00000032, 0xFFFFFF74, 0x00000000, 0x0000003C, 0xFFFFFF88, 0x00000000, 0x00000046, 0xFFFFFF9C - -dlabel D_802422BC_BD0EAC -.word 0x00000030, 0x00000001, 0xFE363C80, 0x00000033, 0x00000003, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0xF24A7F50, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000033, 0x00000003, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0xF24A8080, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000033, 0x00000003, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0xF24A8280, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000033, 0x00000003, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0xF24A8480, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000033, 0x00000003, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0xF24A8680, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000033, 0x00000003, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0xF24A8880, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000033, 0x00000003, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x0000000F, PlayEffect, 0x00000024, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0xF24A8A80, 0x00000050, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242588_BD1178 -.word 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C83, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFF1, 0x00000027, 0x00000002, 0xFE363C82, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x00000027, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x00000014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000006, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024267C_BD126C -.word 0x0000000A, 0x00000002, 0xFD050F80, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFD050F80, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0xF24A8A80, 0x00000000, 0xF24E6280, 0xF24AC080, 0xF24A5280, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000019, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFE363C80, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0x0000005A, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, PlaySoundAtPlayer, 0x000000F5, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802421C0_BD0DB0, 0x00000044, 0x00000001, D_802422BC_BD0EAC, 0x00000024, 0x00000002, 0xFE363C80, D_80242214_BD0E04, 0x00000044, 0x00000001, D_802422BC_BD0EAC, 0x00000024, 0x00000002, 0xFE363C80, D_80242268_BD0E58, 0x00000044, 0x00000001, D_802422BC_BD0EAC, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002F, 0x00000008, 0x00000001, 0x0000003C, 0x00000046, 0x00000001, D_80242588_BD1178, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0xF24A8A80, 0x00000024, 0x00000002, 0xFD050F80, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024267C_BD126C, 0x00000100, 0x00000006, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_07/BD14F0.data.s b/ver/us/asm/data/world/area_obk/obk_07/BD14F0.data.s deleted file mode 100644 index 58b1fe80dc..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_07/BD14F0.data.s +++ /dev/null @@ -1,30 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242900_BD14F0 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024292C_BD151C -.short 0x0032, 0x003C, 0x00C8, 0x00F0 - -dlabel D_80242934_BD1524 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000001, func_802402C0_BCEEB0, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, obk_07_UnkAngleFunc004, 0x00000043, 0x00000001, func_80240454_BCF044, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcRenderMode, 0xFFFFFFFF, 0x00000011, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802429E0_BD15D0 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80242934_BD1524, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242A04_BD15F4 -.word 0x00000000, D_80242900_BD14F0, 0x4402C000, 0xC30B0000, 0x43410000, 0x00000F01, D_802429E0_BD15D0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242BF4_BD17E4 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80242934_BD1524, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242C18_BD1808 -.word 0x00000001, D_80242900_BD14F0, 0x43EC8000, 0xC2F40000, 0x43770000, 0x00000F01, D_80242BF4_BD17E4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242E08_BD19F8 -.word 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD6, 0x00000024, 0x00000002, 0xFD050F82, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000012, 0x00000000, 0x00000046, 0x00000001, 0x80244B60, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242E64_BD1A54 -.word 0x00000002, D_80242900_BD14F0, 0x43280000, 0x00000000, 0xC3210000, 0x00400D01, D_80242E08_BD19F8, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x001A00A8, 0x00000001, D_80242A04_BD15F4, 0x00000000, 0x00000001, D_80242C18_BD1808, 0x00000000, 0x00000001, D_80242E64_BD1A54, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_07/BD1C80.data.s b/ver/us/asm/data/world/area_obk/obk_07/BD1C80.data.s deleted file mode 100644 index 1817e9cb41..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_07/BD1C80.data.s +++ /dev/null @@ -1,69 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243090_BD1C80 -.word 0x00000022, 0x00000000 - -dlabel D_80243098_BD1C88 -.word 0x00000044, 0x00000000 - -dlabel D_802430A0_BD1C90 -.word 0x2121751D, 0x23A3460C, 0xB46B0078, 0x730D1300 - -dlabel D_802430B0_BD1CA0 -.word 0x00E4862E, 0xB4F27570, 0xFFF304BC, 0xF70D0500 - -dlabel D_802430C0_BD1CB0 -.word 0x2D38D254, 0x28D17D2C, 0xB5A11B55, 0xFFFFFF00 - -dlabel D_802430D0_BD1CC0 -.word 0x00000003, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x000000C8, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x0000001F, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000043, 0x00000001, func_8024143C_BD002C, 0x0000002F, 0x00000002, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000001, func_8024146C_BD005C, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000001F, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x000000C8, 0x00000064, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x00000020, 0x00000043, 0x00000001, UpdateLerp, 0x00000026, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000043, 0x00000001, func_8024143C_BD002C, 0x0000002F, 0x00000002, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000001, func_8024146C_BD005C, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000020, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x0000001E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243230_BD1E20 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_802414B4_BD00A4, 0x00000027, 0x00000002, 0xFE363C80, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243290_BD1E80 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000001, func_80241518_BD0108, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802432F0_BD1EE0 -.word 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFAA2B58A, 0x00000001, 0x00000043, 0x00000001, func_80241674_BD0264, 0x0000000A, 0x00000002, 0xFE363C82, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80241630_BD0220, 0x00000043, 0x00000001, func_8024157C_BD016C, 0x00000043, 0x00000005, ScaleModel, 0x00000032, 0xFE363C80, 0xFE363C80, 0xFE363C80, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000018, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000043, 0x00000005, ScaleModel, 0x00000032, 0x00000001, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802433E4_BD1FD4 -.word 0x00000024, 0x00000002, 0xFAA2B58B, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFAA2B58B, 0x00000001, 0x00000043, 0x00000001, func_802416F8_BD02E8, 0x0000000A, 0x00000002, 0xFE363C82, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80241630_BD0220, 0x00000043, 0x00000001, func_802415B8_BD01A8, 0x00000043, 0x00000006, RotateGroup, 0x00000036, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B58B, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000036, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802434D0_BD20C0 -.word 0x00000024, 0x00000002, 0xFAA2B58C, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xFAA2B58C, 0x00000001, 0x00000043, 0x00000001, func_802416F8_BD02E8, 0x0000000A, 0x00000002, 0xFE363C82, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80241630_BD0220, 0x00000043, 0x00000001, func_802415F4_BD01E4, 0x00000043, 0x00000006, RotateGroup, 0x00000031, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B58C, 0x00000000, 0x00000043, 0x00000006, RotateGroup, 0x00000031, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802435BC_BD21AC -.word 0x00000024, 0x00000002, 0xFD050F84, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0xFD050F87, 0x00000000, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000001, func_80240EF8_BCFAE8, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000001, 0x00000024, 0x00000002, 0xFAA2B58B, 0x00000001, 0x00000024, 0x00000002, 0xFAA2B58C, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFAA2B58A, 0x00000000, 0x0000000A, 0x00000002, 0xFAA2B58B, 0x00000000, 0x0000000A, 0x00000002, 0xFAA2B58C, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000049, 0x00000001, 0xFD050F88, 0x00000049, 0x00000001, 0xFD050F89, 0x00000049, 0x00000001, 0xFD050F8A, 0x00000044, 0x00000001, 0x80241BE0, 0x00000024, 0x00000002, 0xFD050F84, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024374C_BD233C -.word 0x0000000A, 0x00000002, 0xFD050F84, 0x00000001, 0x00000055, 0x00000002, 0xFD050F8E, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F8E, 0x00000055, 0x00000002, 0xFD050F88, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F88, 0x00000013, 0x00000000, 0x00000055, 0x00000002, 0xFD050F89, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F89, 0x00000013, 0x00000000, 0x00000055, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F8A, 0x00000013, 0x00000000, 0x00000055, 0x00000002, 0xFD050F8B, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F8B, 0x00000013, 0x00000000, 0x00000055, 0x00000002, 0xFD050F8C, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F8C, 0x00000013, 0x00000000, 0x00000055, 0x00000002, 0xFD050F8D, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F8D, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8280, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000D, 0x00000002, 0xFE363C82, 0xFFFFFF56, 0x00000004, 0x00000001, 0x00000021, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x0000000B, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFF36, 0xFFFFFF56, 0x00000000, 0x00000003, 0x00000001, 0x00000021, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFF28, 0xFFFFFF8D, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000026, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFD050F83, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000001, func_80241168_BCFD58, 0x00000043, 0x00000001, func_8024130C_BCFEFC, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, func_80241898_BD0488, 0x0000000A, 0x00000002, 0xFD050F82, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243E94_BD2A84, 0x00000045, 0x00000002, D_80244380_BD2F70, 0xFD050F8F, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_802446EC_BD32DC, 0xFD050F8F, 0x00000013, 0x00000000, 0x00000045, 0x00000002, D_802430D0_BD1CC0, 0xFD050F88, 0x00000045, 0x00000002, D_80243230_BD1E20, 0xFD050F89, 0x00000045, 0x00000002, D_80243290_BD1E80, 0xFD050F8A, 0x00000045, 0x00000002, D_802432F0_BD1EE0, 0xFD050F8B, 0x00000045, 0x00000002, D_802433E4_BD1FD4, 0xFD050F8C, 0x00000045, 0x00000002, D_802434D0_BD20C0, 0xFD050F8D, 0x00000043, 0x00000001, func_80241358_BCFF48, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80241790_BD0380, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000001, func_802413D0_BCFFC0, 0x00000008, 0x00000001, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFAA2B58D, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000049, 0x00000001, 0xFD050F8F, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x0000000A, 0x00000002, 0xFD050F82, 0x00000000, 0x0000000A, 0x00000002, 0xFD050F81, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000096, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000050, 0x00000013, 0x00000000, 0x00000045, 0x00000002, D_802435BC_BD21AC, 0xFD050F8E, 0x00000045, 0x00000002, D_80244144_BD2D34, 0xFD050F85, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000050, 0x00000045, 0x00000002, D_802435BC_BD21AC, 0xFD050F8E, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C3C_BD282C -.word 0x0000000A, 0x00000002, 0xFD050F81, 0x00000001, 0x0000000A, 0x00000002, 0xFD050F82, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD5, 0x00000004, 0x00000001, 0x00000032, 0x00000013, 0x00000000, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D015A, 0x000000A0, 0x00000028, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80241130_BCFD20, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0236, 0xFE363C80, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD5, 0x00000043, 0x00000003, EnableModel, 0x00000030, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060007, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000003, 0x00000001, 0x00000032, 0x00000024, 0x00000002, 0xFD050F83, 0x00000001, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD6, 0x00000024, 0x00000002, 0xFD050F83, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D0181, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xFD050F83, 0x00000001, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_8024374C_BD233C, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000064, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243E94_BD2A84 -.word 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00950001, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0x0000005A, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0x0000010E, 0x00000005, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243F60_BD2B50 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243F70_BD2B60 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000063, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000018, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, RandInt, 0x0000000A, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000008, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0x0000005A, 0x00000005, 0x00000043, 0x00000003, RandInt, 0x0000000A, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000008, 0x00000001, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0x0000010E, 0x00000005, 0x00000018, 0x00000001, 0x0000003C, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7E80, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000018, 0x00000001, 0x00000063, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000002D0, 0x00000014, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcRotation, 0x00000002, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244144_BD2D34 -.word 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFD050F81, 0x00000001, 0x00000008, 0x00000001, 0x00000096, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243F60_BD2B50, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetNpcRotation, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000005A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243F60_BD2B50, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, SetNpcRotation, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, AwaitPlayerLeave, 0x000000A8, 0xFFFFFF78, 0x00000032, 0x00000043, 0x00000005, MakeLerp, 0x000000B4, 0x00000000, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x00000002, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x000000A8, 0x00000000, 0xFFFFFF78, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000B4, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x00000002, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFD050F81, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243E94_BD2A84, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244380_BD2F70 -.word 0x00000024, 0x00000002, 0xFD050F81, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B58D, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000002, 0x0000010E, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000E, 0x00000002, 0xFE363C80, 0xFFFFFFA4, 0x00000024, 0x00000002, 0xFD050F81, 0x00000001, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243F70_BD2B60, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000001, func_802418E0_BD04D0, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000028, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000001, func_802418E0_BD04D0, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000028, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000014, 0x00000043, 0x00000003, RandInt, 0x00000063, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000018, 0x00000001, 0x0000003C, 0x00000018, 0x00000001, 0x00000050, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243F60_BD2B50, 0x00000024, 0x00000002, 0xFAA2B58D, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000002, 0xF24A7E80, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000024, 0x00000002, 0xFAA2B58D, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243E94_BD2A84, 0x00000018, 0x00000001, 0x00000063, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243F60_BD2B50, 0x00000024, 0x00000002, 0xFAA2B58D, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000002D0, 0x00000014, 0x00000004, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetNpcRotation, 0x00000002, 0x00000000, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B58D, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243E94_BD2A84, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802446EC_BD32DC -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, obk_07_80241788_BD0378, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244728_BD3318 -.word 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x00000047, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00950008, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000003C, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x00000002, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000024, 0x00000002, 0xFD050F82, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244840_BD3430 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFD5, 0x0000000A, 0x00000002, 0xF8405F53, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00950004, 0x00950001, 0x00000000, 0x000E0036, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00950004, 0x00950001, 0x00000000, 0x000E0035, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFD5, 0x0000000A, 0x00000002, 0xFD050F81, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00950004, 0x00950001, 0x00000000, 0x000E0037, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00950004, 0x00950001, 0x00000000, 0x000E0038, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000049, 0x00000001, 0xFD050F85, 0x00000043, 0x00000005, SetNpcRotation, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000044, 0x00000001, 0x80241BE0, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000003, BindNpcAI, 0x00000002, D_80243F60_BD2B50, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24F2A80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00950009, 0x00950009, 0x00000000, 0x000E0039, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00950001, 0x00000043, 0x00000005, EndSpeech, 0x00000002, 0x00950004, 0x00950001, 0x00000000, 0x00000046, 0x00000001, D_80244728_BD3318, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetNpcScale, 0x00000002, 0xF24A7E80, 0xF24A7E80, 0xF24A7E80, 0x00000043, 0x00000004, SetNpcCollisionSize, 0x00000002, 0x00000028, 0x00000028, 0x00000043, 0x00000001, func_80241B50_BD0740, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80244840_BD3430, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80243E94_BD2A84, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x000000A8, 0x00000000, 0xFFFFFF78, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80240500_BCF0F0, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000018, 0x00000032, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD5, 0x00000043, 0x00000003, EnableModel, 0x00000030, 0x00000000, 0x00000013, 0x00000000, 0x0000004E, 0x00000006, D_80243C3C_BD282C, 0x00000100, 0x00000015, D_80243090_BD1C80, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_08/BD5010.data.s b/ver/us/asm/data/world/area_obk/obk_08/BD5010.data.s deleted file mode 100644 index cecc9bbc71..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_08/BD5010.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802417A0_BD5010 -.word 0xC2880000, 0x00000000, 0x436B0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80241A24, D_802417A0_BD5010, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x001900B9, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_08/BD50D0.data.s b/ver/us/asm/data/world/area_obk/obk_08/BD50D0.data.s deleted file mode 100644 index 7cbb6130a6..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_08/BD50D0.data.s +++ /dev/null @@ -1,45 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80241860_BD50D0 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C82, 0x00000039, 0x00000024, 0x00000002, 0xFE363C84, 0x0000003A, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000046, 0x00000001, 0x80285E24, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802418BC_BD512C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x00000039, 0x00000024, 0x00000002, 0xFE363C84, 0x0000003A, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000044, 0x00000001, 0x80285DFC, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x80246EC0, 0x00000004, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241970_BD51E0 -.word 0x00000043, 0x00000003, SetTexPanner, 0x00000053, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x00000054, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000012C, 0x00000027, 0x00000002, 0xFE363C81, 0x00000064, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x802458E0, 0x00000046, 0x00000001, 0x80243490, 0x00000024, 0x00000002, 0xF9718888, 0x00000000, 0x00000044, 0x00000001, D_80242B3C_BD63AC, 0x00000044, 0x00000001, 0x80243298, 0x00000044, 0x00000001, D_80241970_BD51E0, 0x00000047, 0x00000005, D_802418BC_BD512C, 0x00000100, 0x00000003, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80241860_BD50D0, 0x00000044, 0x00000001, 0x802417F0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B40_BD53B0 -.word 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8A, 0x00010003, 0x00000024, 0x00000002, 0xFE363C8B, 0x00010001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C8A, 0x00020005, 0x00000024, 0x00000002, 0xFE363C8B, 0x00020003, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C8A, 0x00030007, 0x00000024, 0x00000002, 0xFE363C8B, 0x00030003, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C8A, 0x00040003, 0x00000024, 0x00000002, 0xFE363C8B, 0x00040001, 0x00000016, 0x00000001, 0x00000009, 0x00000024, 0x00000002, 0xFE363C8A, 0x00050003, 0x00000024, 0x00000002, 0xFE363C8B, 0x00050001, 0x00000016, 0x00000001, 0x00000006, 0x00000024, 0x00000002, 0xFE363C8A, 0x00060003, 0x00000024, 0x00000002, 0xFE363C8B, 0x00060001, 0x00000016, 0x00000001, 0x00000007, 0x00000024, 0x00000002, 0xFE363C8A, 0x00070003, 0x00000024, 0x00000002, 0xFE363C8B, 0x00070001, 0x00000016, 0x00000001, 0x00000008, 0x00000024, 0x00000002, 0xFE363C8A, 0x00080007, 0x00000024, 0x00000002, 0xFE363C8B, 0x00080001, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241CD4_BD5544 -.word 0x00000056, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000046, 0x00000001, D_80241B40_BD53B0, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0xFE363C8A, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFFFFFFA3, 0xFE363C82, 0x0000000F, 0x00000046, 0x00000001, D_80241B40_BD53B0, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0xFE363C8B, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0x0000010E, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0001002B, 0x00000008, 0x00000001, 0x0000000D, 0x00000043, 0x00000004, GetPlayerPos, 0xFD050F87, 0xFD050F88, 0xFD050F89, 0x00000043, 0x00000003, obk_08_KnockDownPlayerB, 0x00000001, 0x00000025, 0x00000043, 0x00000004, obk_08_KnockDownPlayerD, 0xFD050F87, 0xFD050F88, 0xFD050F89, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0x00000000, 0x000003E8, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x0000000A, 0x00000001, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, obk_08_KnockDownPlayerE, 0xFE363C80, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFD050F88, 0x00000003, 0x00000043, 0x00000004, obk_08_KnockDownPlayerD, 0xFD050F87, 0xFD050F88, 0xFD050F89, 0x00000043, 0x00000001, obk_08_func_80240808_BD4078, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241F20_BD5790 -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000010E, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000028, 0x00000002, 0xFD050F88, 0x00000003, 0x00000043, 0x00000004, obk_08_KnockDownPlayerD, 0xFD050F87, 0xFD050F88, 0xFD050F89, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000000F, 0x00000004, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000004, obk_08_KnockDownPlayerE, 0xFE363C80, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, obk_08_KnockDownPlayerC, 0x00000043, 0x00000004, SetPlayerPos, 0xFD050F87, 0xFD050F88, 0xFD050F89, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00090001, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024207C_BD58EC -.word 0xFFFFFF24, 0xFFFFFF74, 0xFFFFFF24, 0xFFFFFF8D, 0xFFFFFF24, 0xFFFFFFA6, 0xFFFFFF24, 0xFFFFFFBF, 0xFFFFFF24, 0xFFFFFFD8, 0xFFFFFF3D, 0xFFFFFFD8, 0xFFFFFF56, 0xFFFFFFD8, 0xFFFFFF6F, 0xFFFFFFD8, 0xFFFFFF88, 0xFFFFFF74, 0xFFFFFF88, 0xFFFFFF8D, 0xFFFFFF88, 0xFFFFFFA6, 0xFFFFFF88, 0xFFFFFFBF, 0xFFFFFF88, 0xFFFFFFD8, 0xFFFFFF6F, 0xFFFFFFD8, 0xFFFFFF56, 0xFFFFFFD8, 0xFFFFFF3D, 0xFFFFFFD8 - -dlabel D_802420FC_BD596C -.word 0xFFFFFF24, 0x0000003C, 0xFFFFFF24, 0x00000055, 0xFFFFFF24, 0x0000006E, 0xFFFFFF24, 0x00000087, 0xFFFFFF24, 0x000000A0, 0xFFFFFF3D, 0x000000A0, 0xFFFFFF56, 0x000000A0, 0xFFFFFF6F, 0x000000A0, 0xFFFFFF88, 0x0000003C, 0xFFFFFF88, 0x00000055, 0xFFFFFF88, 0x0000006E, 0xFFFFFF88, 0x00000087, 0xFFFFFF88, 0x000000A0, 0xFFFFFF6F, 0x000000A0, 0xFFFFFF56, 0x000000A0, 0xFFFFFF3D, 0x000000A0 - -dlabel D_8024217C_BD59EC -.word 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000013, 0x000000F6, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000078, 0x0000000F, 0x00000003, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000014, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000016, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024224C_BD5ABC -.word 0x00000043, 0x00000005, MakeLerp, 0x00000078, 0x00000000, 0x0000000F, 0x00000003, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000014, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000016, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000013, 0x000000F6, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024231C_BD5B8C -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, DeleteTrigger, 0xFD050F8C, 0x00000043, 0x00000002, DeleteTrigger, 0xFD050F8D, 0x00000043, 0x00000002, DeleteTrigger, 0xFD050F8E, 0x00000044, 0x00000001, 0x80245C34, 0x00000046, 0x00000001, D_8024217C_BD59EC, 0x00000024, 0x00000002, 0xF9718888, 0x00000001, 0x00000008, 0x00000001, 0x00000032, 0x00000046, 0x00000001, D_8024224C_BD5ABC, 0x00000012, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000046, 0x00000001, D_8024217C_BD59EC, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_8024224C_BD5ABC, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024240C_BD5C7C -.word 0x00000003, 0x00000001, 0x00000003, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000005, 0x00000001, 0x00000003, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000000D, 0x000000F6, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000010, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000000D, 0x000000F6, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000010, 0x00000000, 0x00000000, 0x00000064, 0x00000043, 0x00000006, RotateModel, 0x00000010, 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000010, 0x00000000, 0x00000000, 0xFFFFFF9C, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x00000010, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000044, 0x00000001, D_80241CD4_BD5544, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFA6, 0x0000001E, 0x00000003, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000010, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000000D, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000000E, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000000D, 0x000000F7, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000001E, 0xF24A8080, 0x00000057, 0x00000000, 0x00000030, 0x00000001, D_802420FC_BD596C, 0x00000005, 0x00000001, 0x00000010, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C81, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFA6, 0x00000000, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000010, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000000D, 0x00000043, 0x00000002, UpdateColliderTransform, 0x0000000E, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000F, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80241F20_BD5790, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802427A4_BD6014 -.word 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000010, 0x000000F6, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000001A, 0xFFFFFFFF, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x0000001A, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000010, 0x000000F6, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000001A, 0x00000000, 0x00000000, 0x00000064, 0x00000043, 0x00000006, RotateModel, 0x0000001A, 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000001A, 0x00000000, 0x00000000, 0xFFFFFF9C, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x0000001A, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000044, 0x00000001, D_80241CD4_BD5544, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFFFFFFA6, 0x0000001E, 0x00000003, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000001A, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000010, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000011, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000010, 0x000000F7, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000001E, 0xF24A8080, 0x00000057, 0x00000000, 0x00000030, 0x00000001, D_8024207C_BD58EC, 0x00000005, 0x00000001, 0x00000010, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C81, 0x00000043, 0x0000000F, PlayEffect, 0x00000006, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C81, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFA6, 0x00000000, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x00000019, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000001A, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000010, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000011, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000019, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80241F20_BD5790, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242B3C_BD63AC -.word 0x00000043, 0x00000003, ParentColliderToModel, 0x0000000D, 0x00000010, 0x00000043, 0x00000003, ParentColliderToModel, 0x0000000E, 0x00000010, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000010, 0x0000001A, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000011, 0x0000001A, 0x00000047, 0x00000005, D_8024240C_BD5C7C, 0x00000100, 0x0000000D, 0x00000001, 0xFD050F8C, 0x00000047, 0x00000005, D_8024231C_BD5B8C, 0x00000100, 0x00000013, 0x00000001, 0xFD050F8D, 0x00000047, 0x00000005, D_802427A4_BD6014, 0x00000100, 0x00000010, 0x00000001, 0xFD050F8E, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024240C_BD5C7C, 0x00000100, 0x0000000D, 0x00000001, 0xFD050F8C, 0x00000047, 0x00000005, D_8024231C_BD5B8C, 0x00000100, 0x00000013, 0x00000001, 0xFD050F8D, 0x00000047, 0x00000005, D_802427A4_BD6014, 0x00000100, 0x00000010, 0x00000001, 0xFD050F8E, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_08/BD64D0.data.s b/ver/us/asm/data/world/area_obk/obk_08/BD64D0.data.s deleted file mode 100644 index a5c280b76b..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_08/BD64D0.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242C60_BD64D0 -.word 0x00000043, 0x00000003, PlaySoundWithVolume, 0xB0000011, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C82, 0xB0000011, 0x00000000, 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x00000024, 0x00000002, 0xFE363C83, 0x0000005A, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFE363C83, 0x0000000F, 0x00000008, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000003, 0x00000001, 0x0000000F, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0x00000014, 0x00000014, 0x00000008, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x00000043, 0x00000005, MakeLerp, 0x00000014, 0xFE363C83, 0x00000005, 0x00000008, 0x00000003, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x0000000B, 0x00000002, 0xFD050F8B, 0x00000000, 0x00000004, 0x00000001, 0x00000023, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000002, 0x00000004, 0x00000001, 0x0000000F, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000023, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0x00000000, 0x0000000F, 0x00000001, 0x00000003, 0x00000001, 0x00000028, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000028, 0x00000013, 0x00000000, 0x00000043, 0x00000003, PlaySoundWithVolume, 0xB0000012, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C82, 0xB0000012, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80242FA8_BD6818 -.word 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x00000024, 0x00000002, 0xFE363C83, 0x0000005A, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0xFE363C83, 0x0000000F, 0x00000008, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000003, 0x00000001, 0x0000000F, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0x00000014, 0x00000011, 0x00000008, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x00000043, 0x00000005, MakeLerp, 0x00000014, 0xFE363C83, 0x00000008, 0x00000008, 0x00000003, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80240840_BD40B0, 0x00000005, 0x0000000B, 0x00000002, 0xFD050F8B, 0x00000000, 0x00000004, 0x00000001, 0x00000023, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000002, 0x00000004, 0x00000001, 0x0000000F, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000023, 0x00000043, 0x00000005, MakeLerp, 0xFE363C83, 0x00000000, 0x0000000F, 0x00000001, 0x00000003, 0x00000001, 0x00000028, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C82, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000028, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, AwaitPlayerApproach, 0x00000000, 0xFFFFFE7A, 0x00000096, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x00000029, 0x00000044, 0x00000001, D_80242C60_BD64D0, 0x00000008, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x0000002B, 0x00000044, 0x00000001, D_80242FA8_BD6818, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000033, 0x00000044, 0x00000001, D_80242C60_BD64D0, 0x00000008, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x00000035, 0x00000044, 0x00000001, D_80242FA8_BD6818, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C85, 0x00000000, 0x00000024, 0x00000002, 0xFE363C82, 0x0000002E, 0x00000044, 0x00000001, D_80242C60_BD64D0, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C82, 0x00000030, 0x00000044, 0x00000001, D_80242FA8_BD6818, 0x00000008, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C85, 0x00000001, 0x00000024, 0x00000002, 0xFE363C82, 0x00000024, 0x00000044, 0x00000001, D_80242C60_BD64D0, 0x00000008, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x00000026, 0x00000044, 0x00000001, D_80242FA8_BD6818, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000004, AwaitPlayerLeave, 0x00000000, 0xFFFFFE7A, 0x000000AA, 0x00000024, 0x00000002, 0xFD050F8B, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000007, MakeItemEntity, 0x00000022, 0x00000000, 0x00000000, 0xFFFFFFEC, 0x00000011, 0xF8405F53, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000022, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80240870_BD40E0, 0x00000024, 0x00000002, 0xFD050F80, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000005, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405F54, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_08/BD6DD0.data.s b/ver/us/asm/data/world/area_obk/obk_08/BD6DD0.data.s deleted file mode 100644 index 96421d6a2e..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_08/BD6DD0.data.s +++ /dev/null @@ -1,126 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243560_BD6DD0 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024358C_BD6DFC -.word 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000001, func_802408A0_BD4110, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_80240AF0_BD4360, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802435E4_BD6E54 -.word 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000001, func_80240CA0_BD4510, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_80240D10_BD4580, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024363C_BD6EAC -.word 0x0000000A, 0x00000002, 0xFD050F83, 0xFE363C80, 0x00000024, 0x00000002, 0xFD050F84, 0x00000001, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFD050F84, 0x00000002, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00950009, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00950001, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802436D0_BD6F40 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024375C_BD6FCC -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802437E8_BD7058 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243874_BD70E4 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000004, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243900_BD7170 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024398C_BD71FC -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000006, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243A18_BD7288 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000007, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243AA4_BD7314 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x00000008, 0x00000046, 0x00000001, D_8024363C_BD6EAC, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243B30_BD73A0 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024358C_BD6DFC, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243B7C_BD73EC -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_802436D0_BD6F40, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243BDC_BD744C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_8024375C_BD6FCC, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C3C_BD74AC -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_802437E8_BD7058, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243C9C_BD750C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80243874_BD70E4, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243CFC_BD756C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80243900_BD7170, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243D5C_BD75CC -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_8024398C_BD71FC, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243DBC_BD762C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80243A18_BD7288, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243E1C_BD768C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802435E4_BD6E54, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80243AA4_BD7314, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243E7C_BD76EC -.word 0x00000000, D_80243560_BD6DD0, 0x00000000, 0xC47A0000, 0x00000000, 0x11300F00, D_80243B30_BD73A0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024406C_BD78DC -.word 0x00000001, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243B7C_BD73EC, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024425C_BD7ACC -.word 0x00000002, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243BDC_BD744C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024444C_BD7CBC -.word 0x00000003, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243C3C_BD74AC, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024463C_BD7EAC -.word 0x00000004, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243C9C_BD750C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024482C_BD809C -.word 0x00000005, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243CFC_BD756C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244A1C_BD828C -.word 0x00000006, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243D5C_BD75CC, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244C0C_BD847C -.word 0x00000007, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243DBC_BD762C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244DFC_BD866C -.word 0x00000008, D_80243560_BD6DD0, 0xC3860000, 0x42500000, 0x00000000, 0x11300F00, D_80243E1C_BD768C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80244FEC_BD885C -.short 0x0032, 0x003C, 0x00C8, 0x00F0 - -dlabel D_80244FF4_BD8864 -.word 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000001, func_80240FD8_BD4848, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80240FE4_BD4854, 0x00000043, 0x00000001, func_8024116C_BD49DC, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcRenderMode, 0xFFFFFFFF, 0x00000011, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802450A0_BD8910 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80244FF4_BD8864, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802450C4_BD8934 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80244FF4_BD8864, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802450E8_BD8958 -.word 0x00000009, D_80243560_BD6DD0, 0x4402C000, 0xC30B0000, 0x43410000, 0x00000F01, D_802450A0_BD8910, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, D_80243560_BD6DD0, 0x43EC8000, 0xC2F40000, 0x43770000, 0x00000F01, D_802450C4_BD8934, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_802454C8_BD8D38 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802454D8_BD8D48 -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000010, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245500_BD8D70 -.word 0x0000000B, D_80243560_BD6DD0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000F01, D_802454C8_BD8D38, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, D_80243560_BD6DD0, 0x00000000, 0xC47A0000, 0x00000000, 0x00004F01, D_802454D8_BD8D48, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00950001, 0x00950002, 0x00950003, 0x00950003, 0x00950001, 0x00950001, 0x00950000, 0x00950000, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00950003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80243E7C_BD76EC, 0x00000000, 0x00000001, D_8024406C_BD78DC, 0x00000000, 0x00000001, D_8024425C_BD7ACC, 0x00000000, 0x00000001, D_8024444C_BD7CBC, 0x00000000, 0x00000001, D_8024463C_BD7EAC, 0x00000000, 0x00000001, D_8024482C_BD809C, 0x00000000, 0x00000001, D_80244A1C_BD828C, 0x00000000, 0x00000001, D_80244C0C_BD847C, 0x00000000, 0x00000001, D_80244DFC_BD866C, 0x00000000, 0x00000002, D_802450E8_BD8958, 0x00000000, 0x00000002, D_80245500_BD8D70, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80245970_BD91E0 -.word 0x00000014, 0x00000001, 0xFD050F83, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F86, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFD050F86, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFD050F86, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFD050F86, 0x00000003, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xFD050F86, 0x00000004, 0x00000016, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFD050F86, 0x00000005, 0x00000016, 0x00000001, 0x00000006, 0x00000024, 0x00000002, 0xFD050F86, 0x00000006, 0x00000016, 0x00000001, 0x00000007, 0x00000024, 0x00000002, 0xFD050F86, 0x00000007, 0x00000016, 0x00000001, 0x00000008, 0x00000024, 0x00000002, 0xFD050F86, 0x00000008, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245A90_BD9300 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C80, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000027, 0x00000002, 0xFE363C86, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C87, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C88, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245B28_BD9398 -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0xFE363C8A, 0x00040000, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetNpcAnimation, 0xFE363C8A, 0x00950008, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000003C, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0xFE363C8A, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFE363C8A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000008D, 0x00000000, 0x00000008, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000005A, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8280, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFF56, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF2518280, 0xF24AB680, 0xF24A5E80, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF24F8E80, 0xF24AAE80, 0xF24A4680, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0x00000000, 0x0000002D, 0x00000014, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0x00000000, 0x00000041, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000001E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x0000000B, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetItemAlpha, 0xFD050F80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x00950004, 0x00950001, 0x00000000, 0x000E0030, 0x00000003, 0x00000001, 0x00000032, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF2524A80, 0xF24AB680, 0xF24A5E80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000001E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x0000000B, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetItemAlpha, 0xFD050F80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFD050F81, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFE363C80, 0x0000010E, 0x00000024, 0x00000002, 0xFD050F85, 0xFE363C80, 0x00000043, 0x00000001, func_80241220_BD4A90, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000001E, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0x0000000B, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x0000000B, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000027, 0x00000002, 0xFE363C84, 0x00000014, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000003, SetItemAlpha, 0xFD050F80, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x00950004, 0x00950001, 0x00000000, 0x000E0031, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x0000000B, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C86, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0xFE363C86, 0xFE363C84, 0x00000014, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0xFE363C83, 0xFE363C80, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, RandInt, 0x00000168, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x000000B4, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x00000014, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000168, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0xFD050F85, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80241220_BD4A90, 0x00000043, 0x00000001, func_802412BC_BD4B2C, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C8A, 0xFFFFFFFE, 0x0000000E, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80241220_BD4A90, 0x00000043, 0x00000001, func_802412BC_BD4B2C, 0x00000043, 0x00000001, func_80241300_BD4B70, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000B, 0x000003FA, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x0000000B, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000027, 0x00000002, 0xFE363C85, 0x00000014, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C86, 0xFFFFFFE2, 0x00000043, 0x00000005, MakeLerp, 0xFE363C84, 0xFE363C86, 0x0000000F, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0xFE363C83, 0xFE363C80, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80241220_BD4A90, 0x00000043, 0x00000001, func_802412BC_BD4B2C, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C8B, 0xFFFFFFFE, 0x0000000E, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x00950004, 0x00950001, 0x00000000, 0x000E0032, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000024, 0x00000002, 0xFD050F84, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFD050F84, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFD050F82, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000046, 0x00000001, D_80245970_BD91E0, 0x0000000A, 0x00000002, 0xFD050F84, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFD050F86, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetNpcPos, 0x0000000C, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C80, 0x0000000C, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000024, 0x00000002, 0xFE363C85, 0xFFFFFFEC, 0x00000044, 0x00000001, D_80245A90_BD9300, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000C, 0x000003FA, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000C, 0xF24A8280, 0x00000043, 0x00000006, NpcJump0, 0x0000000C, 0x00000000, 0x00000000, 0x00000000, 0x00000014, 0x00000043, 0x00000005, SetNpcPos, 0x0000000C, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000022, 0x00000000, 0x00000000, 0xFFFFFFEC, 0x00000011, 0xF8405F53, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, GetNpcPos, 0x0000000B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000B, 0x00950004, 0x00950001, 0x00000000, 0x000E0033, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000B, 0x00000000, 0x00000043, 0x00000006, NpcJump1, 0x0000000B, 0x00000000, 0x0000002D, 0x00000000, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x0000000B, 0x0000005A, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000001, func_80241658_BD4EC8, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8A80, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2518280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x00000047, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000001, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000002, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000003, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000004, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000005, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000006, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000007, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000008, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000000B, 0x00000044, 0x00000001, D_80245B28_BD9398, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF2518280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000009, SetCamProperties, 0x00000000, 0xF24A8280, 0x00000000, 0x00000000, 0x00000000, 0xF2518280, 0xF24AB680, 0xF24A5E80, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFD050F86, 0x00040000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFD050F86, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFD050F86, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, InterpNpcYaw, 0xFD050F86, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFD050F86, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFD050F86, 0x00000000, 0x0000002D, 0x00000000, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0xFD050F86, 0x0000005A, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFD050F86, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C87, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0xFE363C87, 0xFE363C8A, 0x00000014, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, SetItemPos, 0xFD050F80, 0xFE363C86, 0xFE363C80, 0xFE363C88, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0xFD050F86, 0x00950004, 0x00950001, 0x00000000, 0x000E0034, 0x00000043, 0x00000005, GetNpcPos, 0x0000000B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, GetNpcPos, 0xFD050F86, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F86, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x00000014, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0xFD050F86, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F86, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, InterpNpcYaw, 0xFD050F86, 0x0000005A, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x00000014, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000007, func_802CFD30, 0xFD050F86, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFD050F86, 0x00040000, 0x00000001, 0x00000024, 0x00000002, 0xFD050F84, 0x00000000, 0x00000024, 0x00000002, 0xFD050F82, 0x00000000, 0x00000043, 0x00000001, func_80241658_BD4EC8, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8A80, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C80, 0xFE363C82, 0x00000000, 0x00000004, 0x00000001, 0x00000032, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFD4, 0x00000044, 0x00000001, 0x80242BF0, 0x00000044, 0x00000001, 0x802417F0, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_09/BDABE0.data.s b/ver/us/asm/data/world/area_obk/obk_09/BDABE0.data.s deleted file mode 100644 index 23b524f5e2..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_09/BDABE0.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240430_BDABE0 -.word 0xC3340000, 0x00000000, 0x43BE0000, 0x00000000, 0x43340000, 0x00000000, 0x43BE0000, 0x00000000, 0xC3070000, 0x00000000, 0x43070000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80240810_BDAFC0, D_80240430_BDABE0, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x001900BA - -dlabel D_802404A0_BDAC50 -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF0, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000082, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000001F4, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001B, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240580_BDAD30 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x00000029, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000025, 0x7FFFFE00, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x00000039, 0x00000024, 0x00000002, 0xFE363C83, 0x00000037, 0x00000046, 0x00000001, EnterDoubleDoor, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C82, 0x0000003D, 0x00000024, 0x00000002, 0xFE363C83, 0x0000003B, 0x00000046, 0x00000001, EnterDoubleDoor, 0x00000023, 0x00000000, 0x00000044, 0x00000001, 0x80240990, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802406A8_BDAE58 -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0x00000026, 0x00000024, 0x00000002, 0xFE363C82, 0x00000039, 0x00000024, 0x00000002, 0xFE363C83, 0x00000037, 0x00000044, 0x00000001, ExitDoubleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802429E0, 0x00000005, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024075C_BDAF0C -.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, UseDoorSounds, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C81, 0x00000027, 0x00000024, 0x00000002, 0xFE363C82, 0x0000003D, 0x00000024, 0x00000002, 0xFE363C83, 0x0000003B, 0x00000044, 0x00000001, ExitDoubleDoor, 0x00000008, 0x00000001, 0x00000011, 0x00000043, 0x00000003, GotoMap, 0x802429E0, 0x00000006, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80240810_BDAFC0 -.word 0x00000024, 0x00000002, 0xF5DE0329, 0x0000000D, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80242640, 0x00000044, 0x00000001, 0x80242660, 0x00000043, 0x00000007, FadeInMusic, 0x00000000, 0x0000001C, 0x00000000, 0x00000BB8, 0x00000000, 0x0000007F, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80242628, 0x00000047, 0x00000005, D_802406A8_BDAE58, 0x00000100, 0x00000026, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024075C_BDAF0C, 0x00000100, 0x00000027, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80240580_BDAD30, 0x00000044, 0x00000001, D_802404A0_BDAC50, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_09/BDB140.data.s b/ver/us/asm/data/world/area_obk/obk_09/BDB140.data.s deleted file mode 100644 index 690882a788..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_09/BDB140.data.s +++ /dev/null @@ -1,36 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80240990_BDB140 -.word 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFDC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFDC, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x0000001C, 0x00000000, 0x00000008, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFF4C, 0x00000000, 0x00000158, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFFFFFF4C, 0x00000014, 0x00000158, 0x00000043, 0x00000004, PlayerMoveTo, 0x00000000, 0x000000BE, 0x0000003C, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008001E, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8E80, 0xF24A5680, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001F4, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x000000C8, 0x00000118, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0x0000006E, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000030, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000E0042, 0x000000A0, 0x00000028, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000003, InterpPlayerYaw, 0x00000028, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x01010002, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8A80, 0xF24A5680, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000190, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x000000C8, 0x0000012C, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFFEC, 0x0000000A, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x0000003C, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFFFFFFF6, 0x00000050, 0xFFFFFFDD, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x0000001E, 0x00000046, 0xFFFFFFB5, 0x00000043, 0x00000003, SetNpcYaw, 0x00000000, 0x0000010E, 0x00000043, 0x00000003, SetNpcYaw, 0x00000001, 0x0000010E, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x000000C1, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xF24A7A80, 0x00000005, 0x00000001, 0x00000014, 0x0000002C, 0x00000002, 0xFE363C80, 0xF24AAA80, 0x00000043, 0x00000007, func_802CFD30, 0x00000000, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0x00000001, 0x00000007, 0xFE363C80, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000032, 0xFFFFFFBA, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24F2A80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8680, 0xF24A5280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000032, 0xFFFFFFBA, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00050004, 0x00050001, 0x00000000, 0x000E0043, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0004, 0x00BF0001, 0x00000000, 0x000E0044, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00050004, 0x00050001, 0x00000000, 0x000E0045, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x000000E1, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0004, 0x00BF0001, 0x00000000, 0x000E0046, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000014, 0x00000032, 0xFFFFFFBA, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0004, 0x00BF0001, 0x00000000, 0x000E0047, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB880, 0xF24A5480, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000226, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x000000C8, 0x0000012C, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0x00000050, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0007, 0x00BF0008, 0x00000000, 0x000E0048, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000032, 0xFFFFFFBA, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000012C, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8680, 0xF24A5280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000014, 0x00000032, 0xFFFFFFBA, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0004, 0x00BF0001, 0x00000000, 0x000E0049, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000032, 0xFFFFFFBA, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x0000010E, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00050004, 0x00050001, 0x00000005, 0x000E004A, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x0000005A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00050004, 0x00050001, 0x00000005, 0x000E004B, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000226, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8680, 0xF24A4A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableGroup, 0x00000029, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000001, 0x0000028A, 0x00000050, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000002, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x8000000F, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFEE8, 0xFFFFFE20, 0x00000064, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x00000029, 0x00000000, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x0000028A, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000001, 0xFE363C80, 0x00000050, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, StopSound, 0x8000000F, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x0000009B, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000000F, 0xF24A7B4D, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AF280, 0xF24A3280, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001F4, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x0000015E, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000002, 0x00140005, 0x00140009, 0x00000000, 0x000E004C, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000000, 0x00000032, 0xFFFFFFBA, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x0000012C, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24A8680, 0xF24A5280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000032, 0xFFFFFFBA, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000001, 0x0000026C, 0x00000050, 0x00000043, 0x00000003, EnableNpcShadow, 0x00000002, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000002, 0x8000000F, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFE20, 0xFFFFFEE8, 0x00000064, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000005, TranslateGroup, 0x00000029, 0x00000000, 0xFE363C80, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000280, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000001, 0xFE363C80, 0x00000050, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000002, StopSound, 0x8000000F, 0x00000043, 0x00000003, EnableGroup, 0x00000029, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00050004, 0x00050001, 0x00000000, 0x000E004D, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0006, 0x00BF0005, 0x00000000, 0x000E004E, 0x00000043, 0x00000007, SpeakToNpc, 0x00000000, 0x00050004, 0x00050001, 0x00000000, 0x00000001, 0x000E004F, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF000B, 0x00BF0008, 0x00000000, 0x000E0050, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00050008, 0x00050001, 0x00000000, 0x000E0051, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0007, 0x00BF0008, 0x00000000, 0x000E0052, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8280, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C81, 0x00000028, 0x00000027, 0x00000002, 0xFE363C82, 0x00000096, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000019, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00050004, 0x00050001, 0x00000000, 0x000E0053, 0x00000043, 0x00000003, obk_09_ChangeNpcToPartner, 0x00000000, 0x00000009, 0x00000043, 0x00000001, obk_09_LoadPartyImage, 0x00000044, 0x00000001, 0x80240508, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D018D, 0x000000A0, 0x00000028, 0x00000044, 0x00000001, 0x80240534, 0x00000008, 0x00000001, 0x0000000A, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x0005000B, 0x0005000B, 0x00000000, 0x000E0054, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241830_BDBFE0 -.word 0x00000000, 0x00180018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x001A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00140014, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00160018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_802418E0_BDC090 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802418F0_BDC0A0 -.word 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000009, 0x00000043, 0x00000007, SpeakToNpc, 0x00000001, 0x00BF0004, 0x00BF0004, 0x00000000, 0xFFFFFFFC, 0x000E0057, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00050004, 0x00050001, 0x00000000, 0x00000001, 0x000E0058, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0007, 0x00BF0008, 0x00000000, 0x000E0059, 0x00000012, 0x00000000, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFF0, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0007, 0x00BF0008, 0x00000000, 0x000E0055, 0x00000018, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0007, 0x00BF0008, 0x00000000, 0x000E0056, 0x0000001B, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF0007, 0x00BF0008, 0x00000000, 0x000E005A, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000001, 0x00BF000B, 0x00BF000B, 0x00000000, 0x000E005B, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241A94_BDC244 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802418F0_BDC0A0, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFDC, 0x0000001B, 0x00000001, 0xFFFFFFDC, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x0000001E, 0x00000046, 0xFFFFFFB5, 0x00000043, 0x00000003, SetNpcYaw, 0x00000001, 0x0000010E, 0x0000001C, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B1C_BDC2CC -.word 0x00000043, 0x00000001, func_80240190_BDA940, 0x00000043, 0x00000001, func_80240248_BDA9F8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241B44_BDC2F4 -.word 0x00000043, 0x00000003, BindNpcAux, 0xFFFFFFFF, D_80241B1C_BDC2CC, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00140009, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0xFFFFFF9C, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000007, func_802CFD30, 0xFFFFFFFF, 0x00000007, 0x000000AA, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFDC, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241BF8_BDC3A8 -.word 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF3C, 0x0000000A, 0x00000079, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000005A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241C38_BDC3E8 -.word 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFFAE, 0x0000000A, 0x000000D4, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000010E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80241C78_BDC428 -.word 0x00000000, D_80241830_BDBFE0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000801, D_802418E0_BDC090, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00050001, 0x00050002, 0x00050003, 0x00050003, 0x00050001, 0x00050001, 0x00050000, 0x00050000, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241830_BDBFE0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000801, D_80241A94_BDC244, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00BF0001, 0x00BF0002, 0x00BF0003, 0x00BF0003, 0x00BF0001, 0x00BF0001, 0x00BF0000, 0x00BF0000, 0x00BF0005, 0x00BF0006, 0x00BF0007, 0x00BF0008, 0x00BF0005, 0x00BF0006, 0x00BF0007, 0x00BF0008, 0x00000000, 0x00000000, 0x00000000, 0x001A00A4, 0x00000002, D_80241830_BDBFE0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000801, D_80241B44_BDC2F4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140000, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00140001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80242248_BDC9F8 -.word 0x00000000, D_80241830_BDBFE0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000801, D_80241BF8_BDC3A8, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00050001, 0x00050002, 0x00050003, 0x00050003, 0x00050001, 0x00050001, 0x00050000, 0x00050000, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00050003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80241830_BDBFE0, 0x00000000, 0xC47A0000, 0x00000000, 0x00000801, D_80241C38_BDC3E8, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00BF0001, 0x00BF0002, 0x00BF0003, 0x00BF0003, 0x00BF0001, 0x00BF0001, 0x00BF0000, 0x00BF0000, 0x00BF0005, 0x00BF0006, 0x00BF0007, 0x00BF0008, 0x00BF0005, 0x00BF0006, 0x00BF0007, 0x00BF0008, 0x00000000, 0x00000000, 0x00000000, 0x001A00A4, 0x00000003, D_80241C78_BDC428, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_80242248_BDC9F8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_obk/obk_09/BDCE10.data.s b/ver/us/asm/data/world/area_obk/obk_09/BDCE10.data.s deleted file mode 100644 index 178dafd23b..0000000000 --- a/ver/us/asm/data/world/area_obk/obk_09/BDCE10.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242660_BDCE10 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5A80, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000001C2, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFFEE8, 0x000000EA, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFF79, 0x00000069, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00BF0002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000001, 0xFFFFFF61, 0x0000009E, 0x00000032, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00BF0001, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00BF0004, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00BF0001, 0x00000008, 0x00000001, 0x0000000F, 0x00000056, 0x00000000, 0x00000043, 0x00000007, DropTinyItemEntity, 0x00000054, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_802403F0_BDABA0, 0x00000005, 0x00000001, 0x00000023, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFF0, 0x00000027, 0x00000002, 0xFE363C82, 0x00000004, 0x00000027, 0x00000002, 0xFE363C83, 0xFFFFFFF6, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000023, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000001, 0xFFFFFF54, 0x0000008F, 0x00000014, 0x00000043, 0x00000003, SetNpcJumpscale, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, NpcJump1, 0x00000001, 0xFFFFFF61, 0x0000000A, 0x0000009E, 0x00000014, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00050005, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00050001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0005000A, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000003E8, 0x00000043, 0x00000003, GotoMap, 0x802429F4, 0x00000005, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_omo/omo_04/DAF3E0.data.s b/ver/us/asm/data/world/area_omo/omo_04/DAF3E0.data.s index e5a557da63..c9a88524c8 100644 --- a/ver/us/asm/data/world/area_omo/omo_04/DAF3E0.data.s +++ b/ver/us/asm/data/world/area_omo/omo_04/DAF3E0.data.s @@ -144,7 +144,7 @@ dlabel D_80243E88_DB1288 .word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C86, 0xFE363C83, 0xFE363C84, 0x00000005, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80243E60_DB1260, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000000, 0x00000014, 0x00000001, 0xFE363C86, 0x00000018, 0x00000001, 0xFE363C82, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000005A, 0x00000019, 0x00000001, 0xFE363C82, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000010E, 0x00000023, 0x00000000, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000031, 0x00000001, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_80244000_DB1400 -.word 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, omo_04_UnkNpcPosFunc, 0xFAA2B58A, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x00000024, 0x00000002, 0xFAA2B58A, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, omo_04_GetKammyBroomEmitterPos, 0xFAA2B58A, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 dlabel D_8024418C_DB158C .word 0x44480000, 0x430C0000, 0xC1A00000, 0x44834000, 0x42F00000, 0xC28C0000, 0x448FC000, 0x42BE0000, 0xC2C80000, 0x44960000, 0x429A0000, 0xC1F00000, 0x448FC000, 0x42780000, 0x42AA0000, 0x44834000, 0x42480000, 0x43020000, 0x44480000, 0x42200000, 0x42480000, 0x447A0000, 0x41A00000, 0x00000000 diff --git a/ver/us/asm/data/world/area_omo/omo_07/DC3730.data.s b/ver/us/asm/data/world/area_omo/omo_07/DC3730.data.s index cc4a16577b..66fabf48c7 100644 --- a/ver/us/asm/data/world/area_omo/omo_07/DC3730.data.s +++ b/ver/us/asm/data/world/area_omo/omo_07/DC3730.data.s @@ -3,4 +3,4 @@ .section .data dlabel D_80246480_DC3730 -.word 0x00000001, 0x00000002, 0x00000003, 0x00000002, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C86, 0xFE363C83, 0xFE363C84, 0x00000005, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80246480_DC3730, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000031, 0x00000001, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, omo_07_UnkNpcPosFunc, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF8405FF4, 0x00000001, 0x00000024, 0x00000002, 0xF70F2E84, 0xF5DE0259, 0x00000014, 0x00000001, 0xF70F2E84, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000005, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000006, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000082, 0x00000023, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0x000003E8, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, SetNpcYaw, 0x00000007, 0x0000005A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000424, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000424, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000E, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000019, 0x00000027, 0x00000002, 0xFE363C81, 0x00000026, 0x00000043, 0x00000006, PlaySoundAt, 0x0000207A, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000013, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0x0000004B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000004B, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000F, 0x00000027, 0x00000002, 0xFE363C80, 0x00000037, 0x00000043, 0x00000006, PlaySoundAt, 0x00002098, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x0000000F, 0x00000003, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0xFE363C80, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0xFD050F8A, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFD050F8A, 0x00000263, 0x00000000, 0x00000043, 0x0000000A, ShowEmote, 0xFD050F8A, 0x00000002, 0x00000000, 0x00000014, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x80247110, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x00000001, 0x00000002, 0x00000003, 0x00000002, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C86, 0xFE363C83, 0xFE363C84, 0x00000005, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80246480_DC3730, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000031, 0x00000001, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, omo_07_GetKammyBroomEmitterPos, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF8405FF4, 0x00000001, 0x00000024, 0x00000002, 0xF70F2E84, 0xF5DE0259, 0x00000014, 0x00000001, 0xF70F2E84, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000005, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000006, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000082, 0x00000023, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0x000003E8, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, SetNpcYaw, 0x00000007, 0x0000005A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x00000424, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000424, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000E, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000019, 0x00000027, 0x00000002, 0xFE363C81, 0x00000026, 0x00000043, 0x00000006, PlaySoundAt, 0x0000207A, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000013, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0x0000004B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000004B, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000F, 0x00000027, 0x00000002, 0xFE363C80, 0x00000037, 0x00000043, 0x00000006, PlaySoundAt, 0x00002098, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000001, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x0000000F, 0x00000003, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0xFE363C80, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0xFD050F8A, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFD050F8A, 0x00000263, 0x00000000, 0x00000043, 0x0000000A, ShowEmote, 0xFD050F8A, 0x00000002, 0x00000000, 0x00000014, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x80247110, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/area_omo/omo_09/DD6BB0.data.s b/ver/us/asm/data/world/area_omo/omo_09/DD6BB0.data.s index c476ed67ef..478568bd44 100644 --- a/ver/us/asm/data/world/area_omo/omo_09/DD6BB0.data.s +++ b/ver/us/asm/data/world/area_omo/omo_09/DD6BB0.data.s @@ -3,4 +3,4 @@ .section .data dlabel D_80249EE0_DD6BB0 -.word 0x00000001, 0x00000002, 0x00000003, 0x00000002, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C86, 0xFE363C83, 0xFE363C84, 0x00000005, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80249EE0_DD6BB0, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000031, 0x00000001, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, omo_09_UnkNpcPosFunc, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF8405FFA, 0x00000001, 0x00000024, 0x00000002, 0xF70F2E84, 0xF5DE025A, 0x00000014, 0x00000001, 0xF70F2E84, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000005, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000006, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFD050F8A, 0x0000009B, 0x00000023, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0x0000071C, 0x000000A5, 0x00000000, 0x00000043, 0x00000003, SetNpcYaw, 0x00000007, 0x0000005A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x0000076C, 0x00000096, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x0000076C, 0x00000096, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000E, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000019, 0x00000027, 0x00000002, 0xFE363C81, 0x00000026, 0x00000043, 0x00000006, PlaySoundAt, 0x0000207A, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000013, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0x0000004B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000004B, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000F, 0x00000027, 0x00000002, 0xFE363C80, 0x00000037, 0x00000043, 0x00000006, PlaySoundAt, 0x00002098, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000001, 0xFE363C80, 0x00000096, 0x00000000, 0x00000001, 0x0000000F, 0x00000003, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0xFE363C80, 0x00000096, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0xFD050F8A, 0xFE363C80, 0x00000096, 0x00000000, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFD050F8A, 0x00000263, 0x00000000, 0x00000043, 0x0000000A, ShowEmote, 0xFD050F8A, 0x00000002, 0x00000000, 0x00000014, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x8024ACD0, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 +.word 0x00000001, 0x00000002, 0x00000003, 0x00000002, 0x00000001, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF, 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C86, 0xFE363C83, 0xFE363C84, 0x00000005, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80249EE0_DD6BB0, 0x00000005, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000003, GetSelfVar, 0x00000000, 0xFE363C85, 0x0000000A, 0x00000002, 0xFE363C85, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000012, 0x00000000, 0x00000031, 0x00000001, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000008, 0x00000001, 0x00000003, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, omo_09_GetKammyBroomEmitterPos, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x0000002D, 0x00000002, 0xFE363C83, 0xFE363C86, 0x0000002D, 0x00000002, 0xFE363C84, 0xFE363C87, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C88, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C89, 0x00000026, 0x00000002, 0xFE363C87, 0xFE363C8A, 0x00000026, 0x00000002, 0xFE363C88, 0xFE363C8B, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x0000001F, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0xF24A7E80, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF8405FFA, 0x00000001, 0x00000024, 0x00000002, 0xF70F2E84, 0xF5DE025A, 0x00000014, 0x00000001, 0xF70F2E84, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000005, 0x00000016, 0x00000001, 0x00000001, 0x00000024, 0x00000002, 0xFD050F8A, 0x00000006, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xFD050F8A, 0x0000009B, 0x00000023, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0x0000071C, 0x000000A5, 0x00000000, 0x00000043, 0x00000003, SetNpcYaw, 0x00000007, 0x0000005A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x0000076C, 0x00000096, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x0000076C, 0x00000096, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24FF280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AB680, 0xF24A5C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000E, 0x00000043, 0x00000005, GetNpcPos, 0x00000007, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000019, 0x00000027, 0x00000002, 0xFE363C81, 0x00000026, 0x00000043, 0x00000006, PlaySoundAt, 0x0000207A, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000013, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xF24A7E80, 0x0000004B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000004B, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x0060000F, 0x00000027, 0x00000002, 0xFE363C80, 0x00000037, 0x00000043, 0x00000006, PlaySoundAt, 0x00002098, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000001, 0xFE363C80, 0x00000096, 0x00000000, 0x00000001, 0x0000000F, 0x00000003, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000005, SetNpcPos, 0xFD050F8A, 0xFE363C80, 0x00000096, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0xFD050F8A, 0xFE363C80, 0x00000096, 0x00000000, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x00600013, 0x00000043, 0x00000004, SetNpcVar, 0x00000007, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x0000000B, 0x00000002, 0xF70F2E84, 0x00000002, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFD050F8A, 0x00000263, 0x00000000, 0x00000043, 0x0000000A, ShowEmote, 0xFD050F8A, 0x00000002, 0x00000000, 0x00000014, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x8024ACD0, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_01/BBD980/func_80240B24_BBDCC4.s b/ver/us/asm/nonmatchings/world/area_obk/obk_01/BBD980/func_80240B24_BBDCC4.s deleted file mode 100644 index 3d8395c3bd..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_01/BBD980/func_80240B24_BBDCC4.s +++ /dev/null @@ -1,28 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80240B24_BBDCC4 -/* BBDCC4 80240B24 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* BBDCC8 80240B28 AFBF0010 */ sw $ra, 0x10($sp) -/* BBDCCC 80240B2C 10A00003 */ beqz $a1, .L80240B3C -/* BBDCD0 80240B30 8C86000C */ lw $a2, 0xc($a0) -/* BBDCD4 80240B34 3C018024 */ lui $at, %hi(obk_01_ItemChoice_HasSelectedItem) -/* BBDCD8 80240B38 AC204154 */ sw $zero, %lo(obk_01_ItemChoice_HasSelectedItem)($at) -.L80240B3C: -/* BBDCDC 80240B3C 3C038024 */ lui $v1, %hi(obk_01_ItemChoice_HasSelectedItem) -/* BBDCE0 80240B40 24634154 */ addiu $v1, $v1, %lo(obk_01_ItemChoice_HasSelectedItem) -/* BBDCE4 80240B44 8C620000 */ lw $v0, ($v1) -/* BBDCE8 80240B48 54400003 */ bnel $v0, $zero, .L80240B58 -/* BBDCEC 80240B4C AC600000 */ sw $zero, ($v1) -/* BBDCF0 80240B50 080902DB */ j .L80240B6C -/* BBDCF4 80240B54 0000102D */ daddu $v0, $zero, $zero -.L80240B58: -/* BBDCF8 80240B58 8CC50000 */ lw $a1, ($a2) -/* BBDCFC 80240B5C 3C068024 */ lui $a2, %hi(obk_01_ItemChoice_SelectedItemID) -/* BBDD00 80240B60 0C0B2026 */ jal evt_set_variable -/* BBDD04 80240B64 8CC64158 */ lw $a2, %lo(obk_01_ItemChoice_SelectedItemID)($a2) -/* BBDD08 80240B68 24020002 */ addiu $v0, $zero, 2 -.L80240B6C: -/* BBDD0C 80240B6C 8FBF0010 */ lw $ra, 0x10($sp) -/* BBDD10 80240B70 03E00008 */ jr $ra -/* BBDD14 80240B74 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_03/BC43F0/func_802404B4_BC4734.s b/ver/us/asm/nonmatchings/world/area_obk/obk_03/BC43F0/func_802404B4_BC4734.s deleted file mode 100644 index 119e3f47fd..0000000000 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_03/BC43F0/func_802404B4_BC4734.s +++ /dev/null @@ -1,28 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802404B4_BC4734 -/* BC4734 802404B4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* BC4738 802404B8 AFBF0010 */ sw $ra, 0x10($sp) -/* BC473C 802404BC 10A00003 */ beqz $a1, .L802404CC -/* BC4740 802404C0 8C86000C */ lw $a2, 0xc($a0) -/* BC4744 802404C4 3C018024 */ lui $at, %hi(obk_03_ItemChoice_HasSelectedItem) -/* BC4748 802404C8 AC202F30 */ sw $zero, %lo(obk_03_ItemChoice_HasSelectedItem)($at) -.L802404CC: -/* BC474C 802404CC 3C038024 */ lui $v1, %hi(obk_03_ItemChoice_HasSelectedItem) -/* BC4750 802404D0 24632F30 */ addiu $v1, $v1, %lo(obk_03_ItemChoice_HasSelectedItem) -/* BC4754 802404D4 8C620000 */ lw $v0, ($v1) -/* BC4758 802404D8 54400003 */ bnel $v0, $zero, .L802404E8 -/* BC475C 802404DC AC600000 */ sw $zero, ($v1) -/* BC4760 802404E0 0809013F */ j .L802404FC -/* BC4764 802404E4 0000102D */ daddu $v0, $zero, $zero -.L802404E8: -/* BC4768 802404E8 8CC50000 */ lw $a1, ($a2) -/* BC476C 802404EC 3C068024 */ lui $a2, %hi(obk_03_ItemChoice_SelectedItemID) -/* BC4770 802404F0 0C0B2026 */ jal evt_set_variable -/* BC4774 802404F4 8CC62F34 */ lw $a2, %lo(obk_03_ItemChoice_SelectedItemID)($a2) -/* BC4778 802404F8 24020002 */ addiu $v0, $zero, 2 -.L802404FC: -/* BC477C 802404FC 8FBF0010 */ lw $ra, 0x10($sp) -/* BC4780 80240500 03E00008 */ jr $ra -/* BC4784 80240504 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_04/BC7EB0/func_80240624_BC8484.s b/ver/us/asm/nonmatchings/world/area_obk/obk_04/BC7EB0/func_80240624_BC8484.s index 8112a977ce..43f734ac8b 100644 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_04/BC7EB0/func_80240624_BC8484.s +++ b/ver/us/asm/nonmatchings/world/area_obk/obk_04/BC7EB0/func_80240624_BC8484.s @@ -160,7 +160,7 @@ glabel func_80240624_BC8484 /* BC86DC 8024087C 34A50F83 */ ori $a1, $a1, 0xf83 /* BC86E0 80240880 0C0B1EAF */ jal evt_get_variable /* BC86E4 80240884 E614000C */ swc1 $f20, 0xc($s0) -/* BC86E8 80240888 0C0900A8 */ jal func_802402A0_BC8100 +/* BC86E8 80240888 0C0900A8 */ jal obk_04_func_802402A0_BC8100 /* BC86EC 8024088C 0040202D */ daddu $a0, $v0, $zero /* BC86F0 80240890 AE620074 */ sw $v0, 0x74($s3) /* BC86F4 80240894 C6200038 */ lwc1 $f0, 0x38($s1) @@ -182,7 +182,7 @@ glabel func_80240624_BC8484 /* BC8730 802408D0 3C05FD05 */ lui $a1, 0xfd05 /* BC8734 802408D4 0C0B1EAF */ jal evt_get_variable /* BC8738 802408D8 34A50F83 */ ori $a1, $a1, 0xf83 -/* BC873C 802408DC 0C0900A8 */ jal func_802402A0_BC8100 +/* BC873C 802408DC 0C0900A8 */ jal obk_04_func_802402A0_BC8100 /* BC8740 802408E0 0040202D */ daddu $a0, $v0, $zero .L802408E4: /* BC8744 802408E4 AE620074 */ sw $v0, 0x74($s3) diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240564_BCF154.s b/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240564_BCF154.s index fb111017a1..e710394080 100644 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240564_BCF154.s +++ b/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80240564_BCF154.s @@ -15,7 +15,7 @@ glabel func_80240564_BCF154 /* BCF17C 8024058C AFB10044 */ sw $s1, 0x44($sp) /* BCF180 80240590 AFB00040 */ sw $s0, 0x40($sp) /* BCF184 80240594 AFA40068 */ sw $a0, 0x68($sp) -/* BCF188 80240598 0C090150 */ jal func_80240540_BCF130 +/* BCF188 80240598 0C090150 */ jal obk_07_GetPhonographData /* BCF18C 8024059C AFA5006C */ sw $a1, 0x6c($sp) /* BCF190 802405A0 8FAB0068 */ lw $t3, 0x68($sp) /* BCF194 802405A4 0040A82D */ daddu $s5, $v0, $zero @@ -133,8 +133,8 @@ glabel func_80240564_BCF154 /* BCF328 80240738 01743021 */ addu $a2, $t3, $s4 /* BCF32C 8024073C 00062400 */ sll $a0, $a2, 0x10 /* BCF330 80240740 00042403 */ sra $a0, $a0, 0x10 -/* BCF334 80240744 3C0B8024 */ lui $t3, %hi(D_802430A0_BD1C90) -/* BCF338 80240748 256B30A0 */ addiu $t3, $t3, %lo(D_802430A0_BD1C90) +/* BCF334 80240744 3C0B8024 */ lui $t3, %hi(obk_07_D_802430A0_BD1C90) +/* BCF338 80240748 256B30A0 */ addiu $t3, $t3, %lo(obk_07_D_802430A0_BD1C90) /* BCF33C 8024074C 02EB1021 */ addu $v0, $s7, $t3 /* BCF340 80240750 904A0000 */ lbu $t2, ($v0) /* BCF344 80240754 02CB1021 */ addu $v0, $s6, $t3 @@ -158,8 +158,8 @@ glabel func_80240564_BCF154 /* BCF38C 8024079C 10400017 */ beqz $v0, .L802407FC /* BCF390 802407A0 0220202D */ daddu $a0, $s1, $zero /* BCF394 802407A4 0080302D */ daddu $a2, $a0, $zero -/* BCF398 802407A8 3C0B8024 */ lui $t3, %hi(D_802430C0_BD1CB0) -/* BCF39C 802407AC 256B30C0 */ addiu $t3, $t3, %lo(D_802430C0_BD1CB0) +/* BCF398 802407A8 3C0B8024 */ lui $t3, %hi(obk_07_D_802430C0_BD1CB0) +/* BCF39C 802407AC 256B30C0 */ addiu $t3, $t3, %lo(obk_07_D_802430C0_BD1CB0) /* BCF3A0 802407B0 02EB1021 */ addu $v0, $s7, $t3 /* BCF3A4 802407B4 904A0000 */ lbu $t2, ($v0) /* BCF3A8 802407B8 02CB1021 */ addu $v0, $s6, $t3 @@ -188,30 +188,30 @@ glabel func_80240564_BCF154 /* BCF3FC 8024080C 24160002 */ addiu $s6, $zero, 2 /* BCF400 80240810 24130001 */ addiu $s3, $zero, 1 /* BCF404 80240814 8FAB006C */ lw $t3, 0x6c($sp) -/* BCF408 80240818 3C178024 */ lui $s7, %hi(D_802430B0_BD1CA0) -/* BCF40C 8024081C 26F730B0 */ addiu $s7, $s7, %lo(D_802430B0_BD1CA0) +/* BCF408 80240818 3C178024 */ lui $s7, %hi(obk_07_D_802430B0_BD1CA0) +/* BCF40C 8024081C 26F730B0 */ addiu $s7, $s7, %lo(obk_07_D_802430B0_BD1CA0) /* BCF410 80240820 000B1400 */ sll $v0, $t3, 0x10 /* BCF414 80240824 00021403 */ sra $v0, $v0, 0x10 /* BCF418 80240828 AFA20030 */ sw $v0, 0x30($sp) /* BCF41C 8024082C 25620005 */ addiu $v0, $t3, 5 /* BCF420 80240830 00021400 */ sll $v0, $v0, 0x10 /* BCF424 80240834 00021403 */ sra $v0, $v0, 0x10 -/* BCF428 80240838 3C0B8024 */ lui $t3, %hi(D_802430C0_BD1CB0) -/* BCF42C 8024083C 256B30C0 */ addiu $t3, $t3, %lo(D_802430C0_BD1CB0) +/* BCF428 80240838 3C0B8024 */ lui $t3, %hi(obk_07_D_802430C0_BD1CB0) +/* BCF42C 8024083C 256B30C0 */ addiu $t3, $t3, %lo(obk_07_D_802430C0_BD1CB0) /* BCF430 80240840 AFAB0038 */ sw $t3, 0x38($sp) /* BCF434 80240844 240B0004 */ addiu $t3, $zero, 4 /* BCF438 80240848 AFA20034 */ sw $v0, 0x34($sp) /* BCF43C 8024084C AFAB003C */ sw $t3, 0x3c($sp) .L80240850: -/* BCF440 80240850 3C0B8024 */ lui $t3, %hi(D_802430B0_BD1CA0) -/* BCF444 80240854 256B30B0 */ addiu $t3, $t3, %lo(D_802430B0_BD1CA0) +/* BCF440 80240850 3C0B8024 */ lui $t3, %hi(obk_07_D_802430B0_BD1CA0) +/* BCF444 80240854 256B30B0 */ addiu $t3, $t3, %lo(obk_07_D_802430B0_BD1CA0) /* BCF448 80240858 026B1021 */ addu $v0, $s3, $t3 /* BCF44C 8024085C 904A0000 */ lbu $t2, ($v0) /* BCF450 80240860 8FAB003C */ lw $t3, 0x3c($sp) /* BCF454 80240864 92E80000 */ lbu $t0, ($s7) /* BCF458 80240868 02AB1021 */ addu $v0, $s5, $t3 -/* BCF45C 8024086C 3C0B8024 */ lui $t3, %hi(D_802430B0_BD1CA0) -/* BCF460 80240870 256B30B0 */ addiu $t3, $t3, %lo(D_802430B0_BD1CA0) +/* BCF45C 8024086C 3C0B8024 */ lui $t3, %hi(obk_07_D_802430B0_BD1CA0) +/* BCF460 80240870 256B30B0 */ addiu $t3, $t3, %lo(obk_07_D_802430B0_BD1CA0) /* BCF464 80240874 8C450010 */ lw $a1, 0x10($v0) /* BCF468 80240878 02CB1021 */ addu $v0, $s6, $t3 /* BCF46C 8024087C 90490000 */ lbu $t1, ($v0) @@ -279,8 +279,8 @@ glabel func_80240564_BCF154 /* BCF550 80240960 0200202D */ daddu $a0, $s0, $zero /* BCF554 80240964 0080302D */ daddu $a2, $a0, $zero /* BCF558 80240968 0291A021 */ addu $s4, $s4, $s1 -/* BCF55C 8024096C 3C0B8024 */ lui $t3, %hi(D_802430C0_BD1CB0) -/* BCF560 80240970 256B30C0 */ addiu $t3, $t3, %lo(D_802430C0_BD1CB0) +/* BCF55C 8024096C 3C0B8024 */ lui $t3, %hi(obk_07_D_802430C0_BD1CB0) +/* BCF560 80240970 256B30C0 */ addiu $t3, $t3, %lo(obk_07_D_802430C0_BD1CB0) /* BCF564 80240974 02CB4021 */ addu $t0, $s6, $t3 /* BCF568 80240978 26D60003 */ addiu $s6, $s6, 3 /* BCF56C 8024097C 026B1021 */ addu $v0, $s3, $t3 diff --git a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80241790_BD0380.s b/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80241790_BD0380.s index 06652576c7..8505dba426 100644 --- a/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80241790_BD0380.s +++ b/ver/us/asm/nonmatchings/world/area_obk/obk_07/BCF0F0/func_80241790_BD0380.s @@ -5,7 +5,7 @@ glabel func_80241790_BD0380 /* BD0380 80241790 27BDFFE8 */ addiu $sp, $sp, -0x18 /* BD0384 80241794 AFB00010 */ sw $s0, 0x10($sp) /* BD0388 80241798 AFBF0014 */ sw $ra, 0x14($sp) -/* BD038C 8024179C 0C090150 */ jal func_80240540_BCF130 +/* BD038C 8024179C 0C090150 */ jal obk_07_GetPhonographData /* BD0390 802417A0 0080802D */ daddu $s0, $a0, $zero /* BD0394 802417A4 0040282D */ daddu $a1, $v0, $zero /* BD0398 802417A8 8CA20004 */ lw $v0, 4($a1) diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 63becd810f..a746ae0402 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -9665,17 +9665,19 @@ segments: start: 0x8DA100 vram: 0x80240000 subsegments: - - [0x8DA100, c] - - [0x8DA3A0, c] - - [0x8DAFC0, c] - - [0x8DB020, c] - - [0x8DB260, data] - - [0x8DB2F0, data] - - [0x8DC270, data] - - [0x8DE400, data] - - [0x8DFBB0, data] - - [0x8E0190, data] - - [0x8EB190] + - [0x8DA100, c, kmr_11_0_header] + - [0x8DA100, c, kmr_11_1_music] + - [0x8DA100, c, kmr_11_2_main] + - [0x8DA3A0, c, kmr_11_3_scenes] + - [0x8DA470, c, kmr_11_4_npc] + - [0x8DAFC0, c, kmr_11_5_entity] + - [0x8DB020, c, kmr_11_6_kammy] + - [0x8DB020, c, kmr_11_7_foliage] + - [0x8DB260, c, kmr_11_8_fortress_skeleton] + - [0x8DB260, c, kmr_11_9_fortress_animation] + - [0x8DB260, c, kmr_11_10_bridge_skeleton] + - [0x8DB260, c, kmr_11_11_bridge_animation] + - [0x8DB260] - name: kmr_12 dir: world/area_kmr/kmr_12 type: code @@ -9731,12 +9733,20 @@ segments: start: 0x8FF670 vram: 0x80240000 subsegments: - - [0x8FF670, c] - - [0x8FF680, c] - - [0x8FF8B0, c] - - [0x900380, data] - - [0x900A80, data] - - [0x9079D0] + - [0x8FF670, c, kmr_22_0_header] + - [0x8FF680, c, kmr_22_1_main] + - [0x8FF8B0, c, kmr_22_2_npc] + - [0x900380, .data, kmr_22_0_header] + - [0x900450, .data, kmr_22_1_main] + - start: 0x900A80 + type: .data + name: kmr_22_2_npc + subsegments: + - [0x900A80] + - [0x900F70, ci4, lava_piranha_vine, 64, 32] + - [0x901370, palette, lava_piranha_vine] + - [0x901570, gfx, lava_piranha_vine] + - [0x901650] - name: kmr_23 dir: world/area_kmr/kmr_23 type: code @@ -9863,7 +9873,7 @@ segments: - [0x91E6D0, c, iwa_10_4_train] - [0x91F5A0, c, iwa_10_5_entity] - [0x91FA80, c, iwa_10_6_parakarry] - - [0x91FA80, c, iwa_10_7_new_party] + - [0x91FA80, c, iwa_10_7_new_partner] - [0x91FB20, c, iwa_10_8_foliage] - [0x91FD60] - name: iwa_11 @@ -12538,26 +12548,28 @@ segments: start: 0xBBD1A0 vram: 0x80240000 subsegments: - - [0xBBD1A0, c] - - [0xBBD980, c] - - [0xBBE2E0, data] - - [0xBBE410, data] - - [0xBC0100, data] - - [0xBC11A0, data] - - [0xBC2A30] + - [0xBBD1A0, c, obk_01_0_header] + - [0xBBD1A0, c, obk_01_1_music] + - [0xBBD1A0, c, obk_01_2_main] + - [0xBBD1A0, c, obk_01_3_chandelier] + - [0xBBD980, c, obk_01_4_portrait] + - [0xBBD980, c, obk_01_5_jump_scare] + - [0xBBD980, c, obk_01_6_npc] + - [0xBBE2E0, c, obk_01_7_entity] + - [0xBBE2E0] - name: obk_02 dir: world/area_obk/obk_02 type: code start: 0xBC2A90 vram: 0x80240000 subsegments: - - [0xBC2A90, c] - - [0xBC2CD0, c] - - [0xBC2D40, data] - - [0xBC2E20, data] - - [0xBC3720, data] - - [0xBC3DE0, data] - - [0xBC3F60, data] + - [0xBC2A90, c, obk_02_0_header] + - [0xBC2A90, c, obk_02_1_music] + - [0xBC2A90, c, obk_02_2_main] + - [0xBC2A90, c, obk_02_3_npc] + - [0xBC2CD0, c, obk_02_4_bombable] + - [0xBC2CD0, c, obk_02_5_clock] + - [0xBC4260, c, obk_02_6_entity] - [0xBC4260] - name: obk_03 dir: world/area_obk/obk_03 @@ -12565,100 +12577,97 @@ segments: start: 0xBC4280 vram: 0x80240000 subsegments: - - [0xBC4280, c] - - [0xBC43F0, c] - - [0xBC4B50, c] - - [0xBC5270, data] - - [0xBC5350, data] - - [0xBC5770, data] - - [0xBC5A00, data] - - [0xBC6250, data] - - [0xBC7120, data] - - [0xBC7DE0, data] - - [0xBC7E40] + - [0xBC4280, c, obk_03_0_header] + - [0xBC4280, c, obk_03_1_music] + - [0xBC4280, c, obk_03_2_main] + - [0xBC4280, c, obk_03_3_shop] + - [0xBC4280, c, obk_03_4_entity] + - [0xBC43F0, c, obk_03_5_stairs] + - [0xBC43F0, c, obk_03_6_npc] + - [0xBC4B50, c, obk_03_7_rocking_chair] + - [0xBC5270] - name: obk_04 dir: world/area_obk/obk_04 type: code start: 0xBC7E60 vram: 0x80240000 subsegments: - - [0xBC7E60, c] - - [0xBC7EB0, c] - - [0xBC8CE0, data] - - [0xBC8DE0, data] - - [0xBC9020, data] - - [0xBCB260, data] - - [0xBCB870, data] - - [0xBCD030] + - [0xBC7E60, c, obk_04_0_header] + - [0xBC7E60, c, obk_04_1_music] + - [0xBC7E60, c, obk_04_2_entity] + - [0xBC7EB0, c, obk_04_3_npc] + - [0xBC87A0, c, obk_04_4_main] + - [0xBC87A0, c, obk_04_5_hole] + - [0xBC87A0, c, obk_04_6_game] + - [0xBC8CE0] - name: obk_05 dir: world/area_obk/obk_05 type: code start: 0xBCD060 vram: 0x80240000 subsegments: - - [0xBCD060, c] - - [0xBCD7D0, c] - - [0xBCDA40, data] - - [0xBCDB00, data] - - [0xBCDFF0, data] - - [0xBCE040, data] - - [0xBCE680] + - [0xBCD060, c, obk_05_0_header] + - [0xBCD060, c, obk_05_1_music] + - [0xBCD060, c, obk_05_2_main] + - [0xBCD7D0, c, obk_05_3_rocking_chair] + - [0xBCD800, c, obk_05_4_hole] + - [0xBCD800, c, obk_05_5_npc] + - [0xBCDA40, c, obk_05_6_entity] + - [0xBCDA40] - name: obk_06 dir: world/area_obk/obk_06 type: code start: 0xBCE690 vram: 0x80240000 subsegments: - - [0xBCE690, c] - - [0xBCE690, data] - - [0xBCE760, data] - - [0xBCEAD0, data] - - [0xBCEBE0] + - [0xBCE690, c, obk_06_0_header] + - [0xBCE690, c, obk_06_1_music] + - [0xBCE690, c, obk_06_2_main] + - [0xBCE690, c, obk_06_3_bombable] + - [0xBCE690, c, obk_06_4_entity] + - [0xBCE690] - name: obk_07 dir: world/area_obk/obk_07 type: code start: 0xBCEBF0 vram: 0x80240000 subsegments: - - [0xBCEBF0, c] - - [0xBCEEB0, c] - - [0xBCF0F0, c] - - [0xBD0780, data] - - [0xBD0840, data] - - [0xBD0BA0, data] - - [0xBD0DB0, data] - - [0xBD14F0, data] - - [0xBD1C80, data] - - [0xBD3860] + - [0xBCEBF0, c, obk_07_0_header] + - [0xBCEBF0, c, obk_07_1_music] + - [0xBCEBF0, c, obk_07_2_main] + - [0xBCEBF0, c, obk_07_3_entity] + - [0xBCEEB0, c, obk_07_4_fireplace] + - [0xBCEEB0, c, obk_07_5_npc] + - [0xBCF0F0, c, obk_07_6_phonograph] + - [0xBD0780] - name: obk_08 dir: world/area_obk/obk_08 type: code start: 0xBD3870 vram: 0x80240000 subsegments: - - [0xBD3870, c] - - [0xBD40B0, c] - - [0xBD4110, c] - - [0xBD4A90, c] - - [0xBD5010, data] - - [0xBD50D0, data] - - [0xBD64D0, data] - - [0xBD6DD0, data] - - [0xBDA730] + - [0xBD3870, c, obk_08_0_header] + - [0xBD3870, c, obk_08_1_music] + - [0xBD3870, c, obk_08_2_main] + - [0xBD3870, c, obk_08_3_cabinets] + - [0xBD40B0, c, obk_08_4_entity] + - [0xBD4110, c, obk_08_5_npc] + - [0xBD4A90, c, obk_08_6_game] + - [0xBD5010] - name: obk_09 dir: world/area_obk/obk_09 type: code start: 0xBDA7B0 vram: 0x80240000 subsegments: - - [0xBDA7B0, c] - - [0xBDA940, c] - - [0xBDAB00, c] - - [0xBDABA0, c] - - [0xBDABE0, data] - - [0xBDB140, data] - - [0xBDCE10, data] - - [0xBDD190] + - [0xBDA7B0, c, obk_09_0_header] + - [0xBDA7B0, c, obk_09_1_music] + - [0xBDA7B0, c, obk_09_2_main] + - [0xBDA7B0, c, obk_09_3_meet_bow] + - [0xBDA940, c, obk_09_4_npc] + - [0xBDAB00, c, obk_09_5_new_partner] + - [0xBDABA0, c, obk_09_6_epilogue] + - [0xBDABE0] - name: arn_02 dir: world/area_arn/arn_02 type: code @@ -13439,9 +13448,9 @@ segments: name: kzn_19_4_npc subsegments: - [0xC90BF0] - - [0xC91088, ci4, lava_piranha_vine, 64, 32] - - [0xC91488, palette, lava_piranha_vine] - - [0xC91688, gfx, lava_piranha_vine] + - [0xC91088, ci4, ../../lava_piranha/vine, 64, 32] + - [0xC91488, palette, ../../lava_piranha/vine] + - [0xC91688, gfx_common, ../../lava_piranha/vine] - [0xC91768] - [0xC959B0, .data, kzn_19_5_eruption] - [0xC95E70, .data, kzn_19_6_entity] @@ -13593,7 +13602,7 @@ segments: - [0xCC3810, c, flo_13_2_entity] - [0xCC3810, c, flo_13_3_main] - [0xCC3850, c, flo_13_4_npc] - - [0xCC6DE0, c, flo_13_5_new_party] + - [0xCC6DE0, c, flo_13_5_new_partner] - [0xCC6E80] - name: flo_14 dir: world/area_flo/flo_14 @@ -16164,7 +16173,7 @@ segments: - [0xEDE9C0, c, flo_13_2_entity] - [0xEDE9C0, c, flo_13_3_main] - [0xEDEA00, c, flo_13_4_npc] - - [0xEE2040, c, flo_13_5_new_party] + - [0xEE2040, c, flo_13_5_new_partner] - [0xEE20E0] - name: dead_flo_14 dir: world/dead/area_flo/flo_14 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index e94533e948..4b072330a4 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -606,8 +606,8 @@ func_800505E4 = 0x800505E4; // type:func rom:0x2B9E4 func_80050654 = 0x80050654; // type:func rom:0x2BA54 au_bgm_get_random_reverb = 0x8005068C; // type:func rom:0x2BA8C au_bgm_set_proximity_mix = 0x800506C8; // type:func rom:0x2BAC8 -func_80050770 = 0x80050770; // type:func rom:0x2BB70 -func_80050818 = 0x80050818; // type:func rom:0x2BC18 +au_bgm_set_playback_rate = 0x80050770; // type:func rom:0x2BB70 +au_bgm_player_set_detune = 0x80050818; // type:func rom:0x2BC18 au_bgm_change_track_volume = 0x8005083C; // type:func rom:0x2BC3C func_8005087C = 0x8005087C; // type:func rom:0x2BC7C func_80050888 = 0x80050888; // type:func rom:0x2BC88 @@ -731,8 +731,8 @@ func_80055C64 = 0x80055C64; // type:func rom:0x31064 func_80055C94 = 0x80055C94; // type:func rom:0x31094 snd_set_song_variation = 0x80055CC4; // type:func rom:0x310C4 snd_song_get_playing_info = 0x80055CE8; // type:func rom:0x310E8 -func_80055D38 = 0x80055D38; // type:func rom:0x31138 -func_80055D8C = 0x80055D8C; // type:func rom:0x3118C +snd_song_set_playback_rate = 0x80055D38; // type:func rom:0x31138 +snd_song_set_detune = 0x80055D8C; // type:func rom:0x3118C func_80055DDC = 0x80055DDC; // type:func rom:0x311DC snd_song_clear_track_volumes = 0x80055E48; // type:func rom:0x31248 func_80055EB4 = 0x80055EB4; // type:func rom:0x312B4 @@ -16103,7 +16103,7 @@ func_802427B0_8B2820 = 0x802427B0; // type:func rom:0x8B2820 func_802427CC_8B283C = 0x802427CC; // type:func rom:0x8B283C func_802427EC_8B285C = 0x802427EC; // type:func rom:0x8B285C func_8024280C_8B287C = 0x8024280C; // type:func rom:0x8B287C -kmr_02_UnkNpcPosFunc = 0x80242860; // type:func rom:0x8B28D0 +kmr_02_GetKammyBroomEmitterPos = 0x80242860; // type:func rom:0x8B28D0 kmr_02_SyncStatusMenu = 0x8024293C; // type:func rom:0x8B29AC func_8024295C_8B29CC = 0x8024295C; // type:func rom:0x8B29CC func_80242BA8_8B2C18 = 0x80242BA8; // type:func rom:0x8B2C18 @@ -16287,9 +16287,9 @@ kmr_10_varStash = 0x80240C20; // type:data rom:0x8D90F0 kmr_11_foliage_setup_shear_mtx = 0x80240000; // type:func rom:0x8DA100 kmr_11_TransformFoliage = 0x80240070; // type:func rom:0x8DA170 kmr_11_UnkFogFunc = 0x8024023C; // type:func rom:0x8DA33C -func_8024027C_8DA37C = 0x8024027C; // type:func rom:0x8DA37C -func_802402A0_8DA3A0 = 0x802402A0; // type:func rom:0x8DA3A0 -func_80240344_8DA444 = 0x80240344; // type:func rom:0x8DA444 +UseSlowerFadeOnMapChange = 0x8024027C; // type:func rom:0x8DA37C +MakeLensFlare = 0x802402A0; // type:func rom:0x8DA3A0 +SetCameraVFov = 0x80240344; // type:func rom:0x8DA444 kmr_11_StationaryAI_IdleInit = 0x80240370; // type:func rom:0x8DA470 kmr_11_StationaryAI_Idle = 0x80240424; // type:func rom:0x8DA524 kmr_11_StationaryAI_AlertInit = 0x80240544; // type:func rom:0x8DA644 @@ -16300,7 +16300,7 @@ kmr_11_StationaryAI_LosePlayer = 0x80240868; // type:func rom:0x8DA968 kmr_11_StationaryAI_ReturnHomeInit = 0x802408B0; // type:func rom:0x8DA9B0 kmr_11_StationaryAI_ReturnHome = 0x8024095C; // type:func rom:0x8DAA5C kmr_11_StationaryAI_Main = 0x80240B64; // type:func rom:0x8DAC64 -kmr_11_UnkNpcPosFunc = 0x80240DDC; // type:func rom:0x8DAEDC +kmr_11_GetKammyBroomEmitterPos = 0x80240DDC; // type:func rom:0x8DAEDC func_80240EC0_8DAFC0 = 0x80240EC0; // type:func rom:0x8DAFC0 dup_kmr_11_foliage_setup_shear_mtx = 0x80240F20; // type:func rom:0x8DB020 dup_kmr_11_TransformFoliage = 0x80240F90; // type:func rom:0x8DB090 @@ -16418,9 +16418,9 @@ D_80240334_8FF1B4 = 0x80240334; // type:data rom:0x8FF1B4 D_80240338_8FF1B8 = 0x80240338; // type:data rom:0x8FF1B8 D_802407D0_8FF650 = 0x802407D0; // type:data rom:0x8FF650 func_80240000_8FF670 = 0x80240000; // type:func rom:0x8FF670 -func_80240010_8FF680 = 0x80240010; // type:func rom:0x8FF680 -func_802401E0_8FF850 = 0x802401E0; // type:func rom:0x8FF850 -func_80240208_8FF878 = 0x80240208; // type:func rom:0x8FF878 +ManageEffects = 0x80240010; // type:func rom:0x8FF680 +DismissCurtains = 0x802401E0; // type:func rom:0x8FF850 +WaitForContinueInput = 0x80240208; // type:func rom:0x8FF878 kmr_22_make_vine_interpolation = 0x80240240; // type:func rom:0x8FF8B0 kmr_22_SetVineBonePos = 0x80240314; // type:func rom:0x8FF984 kmr_22_SetVineBoneRot = 0x80240418; // type:func rom:0x8FFA88 @@ -19914,12 +19914,12 @@ mim_12_InterpSpriteShadingColor = 0x8024025C; // type:func rom:0xBBB5DC mim_12_MoveNpcAlongArc = 0x802404A8; // type:func rom:0xBBB828 obk_01_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xBBD1A0 obk_01_SetCamera0MoveFlag1 = 0x8024001C; // type:func rom:0xBBD1BC -func_80240038_BBD1D8 = 0x80240038; // type:func rom:0xBBD1D8 -func_8024007C_BBD21C = 0x8024007C; // type:func rom:0xBBD21C -func_80240098_BBD238 = 0x80240098; // type:func rom:0xBBD238 -func_802406AC_BBD84C = 0x802406AC; // type:func rom:0xBBD84C -func_80240730_BBD8D0 = 0x80240730; // type:func rom:0xBBD8D0 -func_80240790_BBD930 = 0x80240790; // type:func rom:0xBBD930 +obk_01_SetCameraVFOV = 0x80240038; // type:func rom:0xBBD1D8 +obk_01_CheckForAPress = 0x8024007C; // type:func rom:0xBBD21C +obk_01_UpdateChandelier = 0x80240098; // type:func rom:0xBBD238 +obk_01_ChandelierTryCancel = 0x802406AC; // type:func rom:0xBBD84C +obk_01_ChandelierTryRelease = 0x80240730; // type:func rom:0xBBD8D0 +obk_01_SetPortraitItemAlpha = 0x80240790; // type:func rom:0xBBD930 obk_01_StashVars = 0x802407E0; // type:func rom:0xBBD980 obk_01_GetItemName = 0x80240894; // type:func rom:0xBBDA34 obk_01_GetNpcCollisionHeight = 0x802408F8; // type:func rom:0xBBDA98 @@ -19931,18 +19931,18 @@ obk_01_LetterDelivery_Init = 0x80240C4C; // type:func rom:0xBBDDEC obk_01_LetterDelivery_CalcLetterPos = 0x80240D3C; // type:func rom:0xBBDEDC obk_01_LetterDelivery_SaveNpcAnim = 0x80240EC8; // type:func rom:0xBBE068 obk_01_LetterDelivery_RestoreNpcAnim = 0x80240F0C; // type:func rom:0xBBE0AC -func_80240F38_BBE0D8 = 0x80240F38; // type:func rom:0xBBE0D8 -func_80241094_BBE234 = 0x80241094; // type:func rom:0xBBE234 -D_80241C58_BBEDF8 = 0x80241C58; // type:data rom:0xBBEDF8 +obk_01_UpdateTrafficBooMotion = 0x80240F38; // type:func rom:0xBBE0D8 +obk_01_UpdateTrafficBooAlpha = 0x80241094; // type:func rom:0xBBE234 +ChandelierModels = 0x80241C58; // type:data rom:0xBBEDF8 obk_01_varStash = 0x802440F0; // type:data rom:0xBC1290 obk_01_ItemChoice_HasSelectedItem = 0x80244154; // type:data rom:0xBC12F4 obk_01_ItemChoice_SelectedItemID = 0x80244158; // type:data rom:0xBC12F8 D_80244A54_BC1BF4 = 0x80244A54; // type:data rom:0xBC1BF4 -func_80240000_BC2A90 = 0x80240000; // type:func rom:0xBC2A90 -obk_02_UnkAngleFunc004 = 0x8024000C; // type:func rom:0xBC2A9C -func_80240194_BC2C24 = 0x80240194; // type:func rom:0xBC2C24 -func_80240240_BC2CD0 = 0x80240240; // type:func rom:0xBC2CD0 -D_80240CBC_BC374C = 0x80240CBC; // type:data rom:0xBC374C +obk_02_TrafficBooInit = 0x80240000; // type:func rom:0xBC2A90 +obk_02_UpdateTrafficBooMotion = 0x8024000C; // type:func rom:0xBC2A9C +obk_02_UpdateTrafficBooAlpha = 0x80240194; // type:func rom:0xBC2C24 +obk_02_GetPendulumAngle = 0x80240240; // type:func rom:0xBC2CD0 +obk_02_TrafficBooAlphas = 0x80240CBC; // type:data rom:0xBC374C obk_03_SetEntityPosition = 0x80240000; // type:func rom:0xBC4280 obk_03_GetEntityPosition = 0x802400C4; // type:func rom:0xBC4344 obk_03_StashVars = 0x80240170; // type:func rom:0xBC43F0 @@ -19956,40 +19956,40 @@ obk_03_LetterDelivery_Init = 0x802405DC; // type:func rom:0xBC485C obk_03_LetterDelivery_CalcLetterPos = 0x802406CC; // type:func rom:0xBC494C obk_03_LetterDelivery_SaveNpcAnim = 0x80240858; // type:func rom:0xBC4AD8 obk_03_LetterDelivery_RestoreNpcAnim = 0x8024089C; // type:func rom:0xBC4B1C -func_802408D0_BC4B50 = 0x802408D0; // type:func rom:0xBC4B50 +obk_03_UpdateRockingChair = 0x802408D0; // type:func rom:0xBC4B50 obk_03_varStash = 0x80242ECC; // type:data rom:0xBC714C obk_03_ItemChoice_HasSelectedItem = 0x80242F30; // type:data rom:0xBC71B0 obk_03_ItemChoice_SelectedItemID = 0x80242F34; // type:data rom:0xBC71B4 -D_80243BD0_BC7E50 = 0x80243BD0; // type:data rom:0xBC7E50 -D_80243BD8_BC7E58 = 0x80243BD8; // type:data rom:0xBC7E58 -func_80240000_BC7E60 = 0x80240000; // type:func rom:0xBC7E60 -func_80240050_BC7EB0 = 0x80240050; // type:func rom:0xBC7EB0 -func_802400D0_BC7F30 = 0x802400D0; // type:func rom:0xBC7F30 -func_80240198_BC7FF8 = 0x80240198; // type:func rom:0xBC7FF8 -func_8024022C_BC808C = 0x8024022C; // type:func rom:0xBC808C -func_802402A0_BC8100 = 0x802402A0; // type:func rom:0xBC8100 -func_802402F4_BC8154 = 0x802402F4; // type:func rom:0xBC8154 -func_802405B4_BC8414 = 0x802405B4; // type:func rom:0xBC8414 +obk_03_D_80243BD0_BC7E50 = 0x80243BD0; // type:data rom:0xBC7E50 +obk_03_D_80243BD8_BC7E58 = 0x80243BD8; // type:data rom:0xBC7E58 +obk_04_SetItemAlpha = 0x80240000; // type:func rom:0xBC7E60 +obk_04_func_80240050_BC7EB0 = 0x80240050; // type:func rom:0xBC7EB0 +obk_04_func_802400D0_BC7F30 = 0x802400D0; // type:func rom:0xBC7F30 +obk_04_func_80240198_BC7FF8 = 0x80240198; // type:func rom:0xBC7FF8 +obk_04_func_8024022C_BC808C = 0x8024022C; // type:func rom:0xBC808C +obk_04_func_802402A0_BC8100 = 0x802402A0; // type:func rom:0xBC8100 +obk_04_func_802402F4_BC8154 = 0x802402F4; // type:func rom:0xBC8154 +obk_04_func_802405B4_BC8414 = 0x802405B4; // type:func rom:0xBC8414 func_80240624_BC8484 = 0x80240624; // type:func rom:0xBC8484 -func_80240910_BC8770 = 0x80240910; // type:func rom:0xBC8770 +obk_04_AwaitPlayerEnterHole = 0x80240910; // type:func rom:0xBC8770 obk_04_StashVars = 0x80240940; // type:func rom:0xBC87A0 obk_04_GetItemName = 0x802409F4; // type:func rom:0xBC8854 -func_80240A58_BC88B8 = 0x80240A58; // type:func rom:0xBC88B8 -func_80240C10_BC8A70 = 0x80240C10; // type:func rom:0xBC8A70 -func_80240CA0_BC8B00 = 0x80240CA0; // type:func rom:0xBC8B00 -func_80240D00_BC8B60 = 0x80240D00; // type:func rom:0xBC8B60 -func_80240D14_BC8B74 = 0x80240D14; // type:func rom:0xBC8B74 -func_80240E58_BC8CB8 = 0x80240E58; // type:func rom:0xBC8CB8 +obk_04_func_80240A58_BC88B8 = 0x80240A58; // type:func rom:0xBC88B8 +obk_04_GetItemJumpDest = 0x80240C10; // type:func rom:0xBC8A70 +obk_04_GetKeepAwayCarrierPos = 0x80240CA0; // type:func rom:0xBC8B00 +obk_04_UpgradeBootsToSuper = 0x80240D00; // type:func rom:0xBC8B60 +obk_04_GetPlayerPosOutsideKeepAwayRing = 0x80240D14; // type:func rom:0xBC8B74 +obk_04_WaitForFirstCarrier = 0x80240E58; // type:func rom:0xBC8CB8 obk_04_varStash = 0x80243A10; // type:data rom:0xBCB870 obk_05_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xBCD060 obk_05_SetCamera0MoveFlag1 = 0x8024001C; // type:func rom:0xBCD07C obk_05_RetroJar_AwaitPlayerEntry = 0x80240038; // type:func rom:0xBCD098 -obk_05_RockingChair_UpdatePhysics = 0x80240050; // type:func rom:0xBCD0B0 -func_80240770_BCD7D0 = 0x80240770; // type:func rom:0xBCD7D0 -func_802407A0_BCD800 = 0x802407A0; // type:func rom:0xBCD800 -func_802407AC_BCD80C = 0x802407AC; // type:func rom:0xBCD80C -func_80240934_BCD994 = 0x80240934; // type:func rom:0xBCD994 -D_8024100C_BCE06C = 0x8024100C; // type:data rom:0xBCE06C +obk_05_UpdateRockingChair = 0x80240050; // type:func rom:0xBCD0B0 +obk_05_AwaitPlayerEnterHole = 0x80240770; // type:func rom:0xBCD7D0 +obk_05_TrafficBooInit = 0x802407A0; // type:func rom:0xBCD800 +obk_05_func_802407AC_BCD80C = 0x802407AC; // type:func rom:0xBCD80C +obk_05_func_80240934_BCD994 = 0x80240934; // type:func rom:0xBCD994 +obk_05_TrafficBooAlphas = 0x8024100C; // type:data rom:0xBCE06C obk_07_StashVars = 0x80240000; // type:func rom:0xBCEBF0 obk_07_GetItemName = 0x802400B4; // type:func rom:0xBCECA4 obk_07_SomeItemEntityFunc = 0x80240118; // type:func rom:0xBCED08 @@ -19997,33 +19997,33 @@ obk_07_IsItemBadge = 0x80240268; // type:func rom:0xBCEE58 func_802402C0_BCEEB0 = 0x802402C0; // type:func rom:0xBCEEB0 obk_07_UnkAngleFunc004 = 0x802402CC; // type:func rom:0xBCEEBC func_80240454_BCF044 = 0x80240454; // type:func rom:0xBCF044 -func_80240500_BCF0F0 = 0x80240500; // type:func rom:0xBCF0F0 +CreatePhonographData = 0x80240500; // type:func rom:0xBCF0F0 func_80240540_BCF130 = 0x80240540; // type:func rom:0xBCF130 func_80240564_BCF154 = 0x80240564; // type:func rom:0xBCF154 -func_80240A10_BCF600 = 0x80240A10; // type:func rom:0xBCF600 -func_80240A6C_BCF65C = 0x80240A6C; // type:func rom:0xBCF65C +obk_07_func_80240A10_BCF600 = 0x80240A10; // type:func rom:0xBCF600 +obk_07_worker_update_phonograph_hud = 0x80240A6C; // type:func rom:0xBCF65C func_80240EF8_BCFAE8 = 0x80240EF8; // type:func rom:0xBCFAE8 -func_802410C0_BCFCB0 = 0x802410C0; // type:func rom:0xBCFCB0 -func_80241130_BCFD20 = 0x80241130; // type:func rom:0xBCFD20 -func_80241168_BCFD58 = 0x80241168; // type:func rom:0xBCFD58 -func_8024130C_BCFEFC = 0x8024130C; // type:func rom:0xBCFEFC -func_80241358_BCFF48 = 0x80241358; // type:func rom:0xBCFF48 -func_802413D0_BCFFC0 = 0x802413D0; // type:func rom:0xBCFFC0 -func_8024143C_BD002C = 0x8024143C; // type:func rom:0xBD002C -func_8024146C_BD005C = 0x8024146C; // type:func rom:0xBD005C -func_802414B4_BD00A4 = 0x802414B4; // type:func rom:0xBD00A4 -func_80241518_BD0108 = 0x80241518; // type:func rom:0xBD0108 -func_8024157C_BD016C = 0x8024157C; // type:func rom:0xBD016C -func_802415B8_BD01A8 = 0x802415B8; // type:func rom:0xBD01A8 -func_802415F4_BD01E4 = 0x802415F4; // type:func rom:0xBD01E4 +obk_07_worker_draw_phonograph_hud = 0x802410C0; // type:func rom:0xBCFCB0 +GetSelectedRecordIndex = 0x80241130; // type:func rom:0xBCFD20 +CreatePhonographHudData = 0x80241168; // type:func rom:0xBCFD58 +obk_07_PlayRecordSong = 0x8024130C; // type:func rom:0xBCFEFC +SavePhonographUpdateScriptIDs = 0x80241358; // type:func rom:0xBCFF48 +DestroyPhonographHudData = 0x802413D0; // type:func rom:0xBCFFC0 +GetPhonographScaleDivisor = 0x8024143C; // type:func rom:0xBD002C +SetPhonographScale = 0x8024146C; // type:func rom:0xBD005C +SetCrankRotation = 0x802414B4; // type:func rom:0xBD00A4 +SetRecordRotation = 0x80241518; // type:func rom:0xBD0108 +GetPhonographScale = 0x8024157C; // type:func rom:0xBD016C +GetCrankRotation = 0x802415B8; // type:func rom:0xBD01A8 +GetRecordRotation = 0x802415F4; // type:func rom:0xBD01E4 func_80241630_BD0220 = 0x80241630; // type:func rom:0xBD0220 -func_80241674_BD0264 = 0x80241674; // type:func rom:0xBD0264 -func_802416F8_BD02E8 = 0x802416F8; // type:func rom:0xBD02E8 +CheckScaleNearUnity = 0x80241674; // type:func rom:0xBD0264 +CheckAngleNearZero = 0x802416F8; // type:func rom:0xBD02E8 obk_07_80241788_BD0378 = 0x80241788; // type:func rom:0xBD0378 func_80241790_BD0380 = 0x80241790; // type:func rom:0xBD0380 -func_80241898_BD0488 = 0x80241898; // type:func rom:0xBD0488 -func_802418E0_BD04D0 = 0x802418E0; // type:func rom:0xBD04D0 -func_80241B50_BD0740 = 0x80241B50; // type:func rom:0xBD0740 +InitPhonographHud = 0x80241898; // type:func rom:0xBD0488 +UpdateGuardBooPos = 0x802418E0; // type:func rom:0xBD04D0 +InitGuardBooAlpha = 0x80241B50; // type:func rom:0xBD0740 obk_07_varStash = 0x80241FB0; // type:data rom:0xBD0BA0 D_8024292C_BD151C = 0x8024292C; // type:data rom:0xBD151C D_80243090_BD1C80 = 0x80243090; // type:data rom:0xBD1C80 @@ -20038,7 +20038,7 @@ obk_08_KnockDownPlayerD = 0x8024055C; // type:func rom:0xBD3DCC obk_08_KnockDownPlayerE = 0x8024061C; // type:func rom:0xBD3E8C obk_08_KnockDownPlayerF = 0x802406DC; // type:func rom:0xBD3F4C obk_08_KnockDownPlayerG = 0x8024079C; // type:func rom:0xBD400C -obk_08_func_80240808_BD4078 = 0x80240808; // type:func rom:0xBD4078 +obk_08_DamagePlayer1HP = 0x80240808; // type:func rom:0xBD4078 func_80240840_BD40B0 = 0x80240840; // type:func rom:0xBD40B0 func_80240870_BD40E0 = 0x80240870; // type:func rom:0xBD40E0 func_802408A0_BD4110 = 0x802408A0; // type:func rom:0xBD4110 @@ -20054,13 +20054,13 @@ func_8024116C_BD49DC = 0x8024116C; // type:func rom:0xBD49DC func_80241220_BD4A90 = 0x80241220; // type:func rom:0xBD4A90 func_802412BC_BD4B2C = 0x802412BC; // type:func rom:0xBD4B2C func_80241300_BD4B70 = 0x80241300; // type:func rom:0xBD4B70 -func_80241658_BD4EC8 = 0x80241658; // type:func rom:0xBD4EC8 +GetPlayerPosOutsideKeepAwayRing = 0x80241658; // type:func rom:0xBD4EC8 D_80244FEC_BD885C = 0x80244FEC; // type:data rom:0xBD885C obk_09_ChangeNpcToPartner = 0x80240000; // type:func rom:0xBDA7B0 -func_80240190_BDA940 = 0x80240190; // type:func rom:0xBDA940 -func_80240248_BDA9F8 = 0x80240248; // type:func rom:0xBDA9F8 +ImprisonedCardSetup = 0x80240190; // type:func rom:0xBDA940 +ImprisonedCardUpdate = 0x80240248; // type:func rom:0xBDA9F8 obk_09_LoadPartyImage = 0x80240350; // type:func rom:0xBDAB00 -func_802403F0_BDABA0 = 0x802403F0; // type:func rom:0xBDABA0 +SetInvitationLetterScale = 0x802403F0; // type:func rom:0xBDABA0 D_802429E8_BDD198 = 0x802429E8; // type:data rom:0xBDD198 arn_02_CleftAI_CanSeePlayer = 0x80240000; // type:func rom:0xBDD1B0 arn_02_CleftAI_HidingInit = 0x80240160; // type:func rom:0xBDD310 @@ -24599,7 +24599,7 @@ omo_04_ShyGuyWanderAI_17 = 0x80241A70; // type:func rom:0xDAEE70 omo_04_ShyGuyWanderAI_Main = 0x80241AD0; // type:func rom:0xDAEED0 omo_04_SetCamera0Flag1000 = 0x80241E04; // type:func rom:0xDAF204 omo_04_UnsetCamera0Flag1000 = 0x80241E20; // type:func rom:0xDAF220 -omo_04_UnkNpcPosFunc = 0x80241E40; // type:func rom:0xDAF240 +omo_04_GetKammyBroomEmitterPos = 0x80241E40; // type:func rom:0xDAF240 omo_04_varStash = 0x80242630; // type:data rom:0xDAFA30 omo_04_FlyingAI_JumpVels = 0x80242EF0; // type:data rom:0xDB02F0 D_80244CB0_DB20B0 = 0x80244CB0; // type:data rom:0xDB20B0 @@ -24703,7 +24703,7 @@ omo_07_SomeItemEntityFunc = 0x80243038; // type:func rom:0xDC02E8 omo_07_IsItemBadge = 0x80243188; // type:func rom:0xDC0438 omo_07_UnsetCamera0MoveFlag1 = 0x802431DC; // type:func rom:0xDC048C omo_07_SetCamera0MoveFlag1 = 0x802431F8; // type:func rom:0xDC04A8 -omo_07_UnkNpcPosFunc = 0x80243220; // type:func rom:0xDC04D0 +omo_07_GetKammyBroomEmitterPos = 0x80243220; // type:func rom:0xDC04D0 omo_07_FlyingAI_JumpVels = 0x80243A14; // type:data rom:0xDC0CC4 omo_07_varStash = 0x80245E00; // type:data rom:0xDC30B0 D_80246BD0_DC3E80 = 0x80246BD0; // type:data rom:0xDC3E80 @@ -24778,7 +24778,7 @@ omo_09_GetEncounterEnemyIsOwner = 0x80243580; // type:func rom:0xDD0250 dup_omo_09_SetNpcB5_3 = 0x802435B8; // type:func rom:0xDD0288 omo_09_SetCamera0Flag1000 = 0x802435CC; // type:func rom:0xDD029C omo_09_UnsetCamera0Flag1000 = 0x802435E8; // type:func rom:0xDD02B8 -omo_09_UnkNpcPosFunc = 0x80243610; // type:func rom:0xDD02E0 +omo_09_GetKammyBroomEmitterPos = 0x80243610; // type:func rom:0xDD02E0 D_80243A80_DD0750 = 0x80243A80; // type:data rom:0xDD0750 D_80243A90_DD0760 = 0x80243A90; // type:data rom:0xDD0760 D_802451AC_DD1E7C = 0x802451AC; // type:data rom:0xDD1E7C @@ -26380,8 +26380,8 @@ D_80247DF0 = 0x80247DF0; // type:data D_80247E68 = 0x80247E68; // type:data kzn_19_VineRenderState = 0x80248380; // type:data dead_kzn_19_D_80248388 = 0x80248388; // type:data -D_802483C0 = 0x802483C0; // type:data -D_802483C4 = 0x802483C4; // type:data +kmr_22_ChapterEffect = 0x802483C0; // type:data +kmr_22_ChapterEffectTime = 0x802483C4; // type:data kmr_22_VineRenderState = 0x802483D0; // type:data iwa_10_D_80248480 = 0x80248480; // type:data dead_kzn_19_LetterDelivery_SavedNpcAnim = 0x8024854C; // type:data diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index a21f4ad438..d8fae10712 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -101,6 +101,9 @@ kmr_02_Quizmo_StageEffect = 0x80257F48; kmr_02_Quizmo_AudienceEffect = 0x80257F4C; kmr_02_Quizmo_VannaTEffect = 0x80257F50; +// broken map symbols +hos_06_D_80246430 = 0x80246430; + // os stuff osTvType = 0x80000300; osRomBase = 0x80000308;