From ce4ab34def6da88558dbeab0474617b3de6c565b Mon Sep 17 00:00:00 2001 From: HailSanta <53960937+HailSanta@users.noreply.github.com> Date: Sat, 14 Oct 2023 15:43:12 -0400 Subject: [PATCH] battle/actor flags and more (#1119) * battle documentation * mostly startup stuff * battle file names * minor reorg * actor rendering * few extras * file renames and camera unks * py fix * fio cleanup * sounds progress --------- Co-authored-by: HailSanta --- include/common_structs.h | 286 ++- include/effects.h | 27 +- include/entity.h | 2 + include/enums.h | 962 ++++---- include/functions.h | 66 +- include/macros.h | 2 + include/npc.h | 10 +- include/script_api/battle.h | 14 +- include/script_api/common.h | 2 +- include/variables.h | 12 +- src/111f0_len_860.c | 121 +- src/17D6A0.c | 1983 ---------------- src/190A10.c | 33 - src/5B320.c | 28 +- src/77480.c | 33 +- src/7B440.c | 96 +- src/7E9D0.c | 8 +- src/7bb60_len_41b0.c | 12 +- src/7fd10_len_b40.c | 8 +- src/80850_len_3060.c | 43 +- src/{B4580.c => animator.c} | 332 +-- src/audio.h | 1 - src/audio/sfx.c | 110 +- src/background_gfx.c | 18 +- src/{16c8e0.c => battle/16C8E0.c} | 230 +- src/{ => battle}/181810.c | 91 +- src/battle/190A10.c | 33 + src/{ => battle}/190B20.c | 950 ++++---- src/{ => battle}/1A5830.c | 52 +- src/{ => battle}/actor_api.c | 166 +- src/{182B30.c => battle/actor_rendering.c} | 2001 +++++++++-------- src/battle/actors.c | 213 ++ src/battle/area/arn/actor/tubba_blubba.c | 18 +- src/battle/area/arn/actor/tubbas_heart.c | 4 +- src/battle/area/dgb/actor/tubba_blubba.c | 18 +- src/battle/area/dig/actor/tubba_blubba.c | 2 +- src/battle/area/dig/script/dig_01.c | 2 +- src/battle/area/dig/script/dig_02.c | 2 +- src/battle/area/dig/script/dig_03.c | 2 +- src/battle/area/dig/script/dig_04.c | 4 +- src/battle/area/flo2/actor/huff_n_puff.c | 8 +- src/battle/area/flo2/actor/monty_mole_boss.c | 4 +- src/battle/area/flo2/actor/spike.c | 2 +- src/battle/area/flo2/actor/tuff_puff.c | 4 +- src/battle/area/hos/actor/goombario_tutor.c | 10 +- src/battle/area/hos/actor/magikoopa.c | 72 +- .../area/isk_part_2/actor/chain_chomp.c | 18 +- src/battle/area/isk_part_2/actor/tutankoopa.c | 28 +- src/battle/area/iwa/actor/buzzar.c | 8 +- src/battle/area/kgr/actor/fuzzipede.c | 14 +- src/battle/area/kkj/actor/kammy_koopa.c | 4 +- .../area/kmr_part_2/actor/blue_goomba_1.c | 2 +- .../area/kmr_part_2/actor/blue_goomba_2.c | 2 +- .../area/kmr_part_2/actor/goomba_king.c | 8 +- .../area/kmr_part_2/actor/goomnut_tree.c | 4 +- .../area/kmr_part_2/actor/red_goomba_1.c | 2 +- .../area/kmr_part_2/actor/red_goomba_2.c | 2 +- .../area/kmr_part_3/actor/egg_jr_troopa.c | 2 +- .../area/kmr_part_3/actor/final_jr_troopa.c | 12 +- src/battle/area/kmr_part_3/actor/jr_troopa.c | 2 +- .../area/kmr_part_3/actor/mage_jr_troopa.c | 4 +- .../area/kmr_part_3/actor/para_jr_troopa.c | 4 +- .../kmr_part_3/actor/spiked_para_jr_troopa.c | 4 +- .../kmr_part_3/actor/tutorial_paragoomba.c | 10 +- .../kmr_part_3/actor/tutorial_spiked_goomba.c | 2 +- src/battle/area/kpa2/actor/final_bowser_1.c | 4 +- src/battle/area/kpa2/actor/final_bowser_2.c | 4 +- src/battle/area/kpa2/actor/hallway_bowser.c | 2 +- src/battle/area/kpa2/actor/intro_bowser.c | 2 +- src/battle/area/kpa2/actor/unused_bowser.c | 2 +- src/battle/area/kpa4/actor/bombshell_bill.c | 4 +- .../area/kpa4/actor/bombshell_blaster.c | 4 +- src/battle/area/kzn2/actor/lava_bud.c | 4 +- src/battle/area/kzn2/actor/lava_piranha.c | 22 +- src/battle/area/kzn2/actor/petit_piranha.c | 2 +- .../area/kzn2/actor/petit_piranha_bomb.c | 2 +- src/battle/area/mac/actor/chan.c | 2 +- src/battle/area/mac/actor/lee.c | 6 +- src/battle/area/mac/actor/lee_bombette.inc.c | 2 +- src/battle/area/mac/actor/lee_bow.inc.c | 2 +- src/battle/area/mac/actor/lee_goombario.inc.c | 6 +- src/battle/area/mac/actor/lee_kooper.inc.c | 2 +- .../area/mac/actor/lee_lakilester.inc.c | 2 +- src/battle/area/mac/actor/lee_parakarry.inc.c | 2 +- src/battle/area/mac/actor/lee_sushie.inc.c | 2 +- src/battle/area/mac/actor/lee_watt.inc.c | 4 +- src/battle/area/mac/actor/master1.c | 4 +- src/battle/area/mac/actor/master2.c | 4 +- src/battle/area/mac/actor/master3.c | 4 +- src/battle/area/nok/actor/kent_c_koopa.c | 26 +- src/battle/area/omo2/actor/general_guy.c | 4 +- src/battle/area/omo2/actor/light_bulb.c | 4 +- src/battle/area/omo2/actor/toy_tank.c | 6 +- src/battle/area/omo2_1/actor/shy_squad.c | 42 +- src/battle/area/omo2_2/actor/stilt_guy.c | 28 +- src/battle/area/omo2_3/actor/shy_stack.c | 32 +- src/battle/area/omo2_4/actor/signal_guy.c | 2 +- .../area/omo2_5/actor/shy_squad_redux.c | 34 +- src/battle/area/omo2_6/actor/shy_squad_stub.c | 2 +- .../area/omo3/actor/big_lantern_ghost.c | 4 +- src/battle/area/pra2/actor/crystal_bit.c | 6 +- src/battle/area/pra2/actor/crystal_king.c | 12 +- src/battle/area/sam2/actor/monstar.c | 6 +- src/battle/area/tik2/actor/blooper.c | 2 +- src/battle/area/tik2/actor/blooper_baby.c | 6 +- src/battle/area/tik2/actor/electro_blooper.c | 4 +- src/battle/area/tik2/actor/super_blooper.c | 4 +- .../trd_part_2/actor/common_koopa_bros.inc.c | 2 +- .../area/trd_part_2/actor/fake_bowser.c | 24 +- src/battle/area/trd_part_3/actor/eldstar.c | 6 +- src/battle/battle.c | 12 +- src/{16F740.c => battle/btl_states_actions.c} | 660 +++--- src/{415D90.c => battle/btl_states_menus.c} | 905 ++++---- src/{battle_cam.c => battle/camera.c} | 4 +- src/battle/common/actor/albino_dino.inc.c | 2 +- src/battle/common/actor/amazy_dayzee.inc.c | 2 +- src/battle/common/actor/anti_guy.inc.c | 2 +- src/battle/common/actor/bandit.inc.c | 2 +- src/battle/common/actor/bill_blaster.inc.c | 4 +- src/battle/common/actor/bob_omb.inc.c | 6 +- src/battle/common/actor/bony_beetle.inc.c | 2 +- src/battle/common/actor/bullet_bill.inc.c | 4 +- src/battle/common/actor/buzzy_beetle.inc.c | 2 +- src/battle/common/actor/bzzap.inc.c | 2 +- src/battle/common/actor/cleft.inc.c | 2 +- src/battle/common/actor/clubba.inc.c | 2 +- src/battle/common/actor/crazee_dayzee.inc.c | 2 +- src/battle/common/actor/dark_koopa.inc.c | 2 +- src/battle/common/actor/dark_paratroopa.inc.c | 8 +- src/battle/common/actor/dry_bones.inc.c | 28 +- src/battle/common/actor/duplighost.inc.c | 8 +- .../actor/duplighost/ghost_bombette.inc.c | 2 +- .../common/actor/duplighost/ghost_bow.inc.c | 2 +- .../actor/duplighost/ghost_goombario.inc.c | 12 +- .../actor/duplighost/ghost_kooper.inc.c | 2 +- .../actor/duplighost/ghost_lakilester.inc.c | 2 +- .../actor/duplighost/ghost_parakarry.inc.c | 2 +- .../actor/duplighost/ghost_sushie.inc.c | 2 +- .../common/actor/duplighost/ghost_watt.inc.c | 4 +- src/battle/common/actor/ember.inc.c | 6 +- src/battle/common/actor/forest_fuzzy.inc.c | 10 +- src/battle/common/actor/frost_piranha.inc.c | 2 +- src/battle/common/actor/fuzzy.inc.c | 2 +- src/battle/common/actor/gloomba.inc.c | 2 +- src/battle/common/actor/goomba.inc.c | 2 +- src/battle/common/actor/gray_magikoopa.inc.c | 14 +- src/battle/common/actor/green_magikoopa.inc.c | 44 +- src/battle/common/actor/groove_guy.inc.c | 10 +- src/battle/common/actor/gulpit.inc.c | 6 +- src/battle/common/actor/gulpit_rocks.inc.c | 2 +- src/battle/common/actor/hammer_bro.inc.c | 2 +- src/battle/common/actor/hurt_plant.inc.c | 2 +- src/battle/common/actor/hyper_cleft.inc.c | 2 +- src/battle/common/actor/hyper_goomba.inc.c | 2 +- .../common/actor/hyper_paragoomba.inc.c | 10 +- src/battle/common/actor/jungle_fuzzy.inc.c | 12 +- src/battle/common/actor/koopa_troopa.inc.c | 2 +- src/battle/common/actor/koopatrol.inc.c | 14 +- src/battle/common/actor/lakitu.inc.c | 10 +- src/battle/common/actor/lava_bubble.inc.c | 2 +- src/battle/common/actor/m_bush.inc.c | 2 +- src/battle/common/actor/magikoopa.inc.c | 72 +- src/battle/common/actor/medi_guy.inc.c | 6 +- src/battle/common/actor/monty_mole.inc.c | 4 +- src/battle/common/actor/paragloomba.inc.c | 10 +- src/battle/common/actor/paragoomba.inc.c | 10 +- src/battle/common/actor/paratroopa.inc.c | 8 +- src/battle/common/actor/piranha_plant.inc.c | 2 +- src/battle/common/actor/pokey.inc.c | 40 +- src/battle/common/actor/pokey_mummy.inc.c | 30 +- src/battle/common/actor/putrid_piranha.inc.c | 2 +- src/battle/common/actor/pyro_guy.inc.c | 2 +- src/battle/common/actor/red_magikoopa.inc.c | 14 +- src/battle/common/actor/ruff_puff.inc.c | 2 +- src/battle/common/actor/shy_guy_base.inc.c | 2 +- src/battle/common/actor/sky_guy.inc.c | 16 +- src/battle/common/actor/slot_machine.inc.c | 6 +- src/battle/common/actor/spear_guy.inc.c | 38 +- src/battle/common/actor/spike_top.inc.c | 2 +- src/battle/common/actor/spiked_gloomba.inc.c | 2 +- src/battle/common/actor/spiked_goomba.inc.c | 2 +- src/battle/common/actor/spiny.inc.c | 8 +- src/battle/common/actor/spy_guy.inc.c | 2 +- src/battle/common/actor/stone_chomp.inc.c | 18 +- src/battle/common/actor/swooper.inc.c | 2 +- src/battle/common/actor/swoopula.inc.c | 10 +- src/battle/common/actor/whacka.inc.c | 6 +- src/battle/common/actor/white_clubba.inc.c | 2 +- src/battle/common/actor/white_magikoopa.inc.c | 34 +- .../common/actor/yellow_magikoopa.inc.c | 14 +- src/battle/common/move/JumpSupport.inc.c | 31 +- src/battle/common/move/StarPowerSupport.inc.c | 2 +- src/battle/common/stage/lib/DripVolumes.inc.c | 2 +- src/{17FEB0.c => battle/dmg_item.c} | 30 +- src/{1AC760.c => battle/dmg_partner.c} | 120 +- src/{19FAF0.c => battle/dmg_player.c} | 216 +- src/battle/entity_model_icons.c | 102 + src/{18C790.c => battle/level_up.c} | 16 +- src/battle/move/hammer/attack.c | 40 +- src/battle/move/hammer/auto_smash.c | 14 +- src/battle/move/hammer/d_down_pound.c | 20 +- src/battle/move/hammer/hammer_charge_0.c | 16 +- src/battle/move/hammer/hammer_charge_1.c | 16 +- src/battle/move/hammer/hammer_charge_2.c | 16 +- src/battle/move/hammer/hammer_throw.c | 20 +- src/battle/move/hammer/mega_quake.c | 18 +- src/battle/move/hammer/mega_smash.c | 4 +- src/battle/move/hammer/power_quake.c | 46 +- src/battle/move/hammer/power_smash.c | 4 +- src/battle/move/hammer/quake_hammer.c | 46 +- src/battle/move/hammer/shell_crack.c | 4 +- src/battle/move/hammer/shrink_smash.c | 14 +- src/battle/move/hammer/spin_smash.c | 12 +- src/battle/move/hammer/super_smash.c | 4 +- src/battle/move/item/dizzy_dial.c | 4 +- src/battle/move/item/egg_missile.c | 2 +- src/battle/move/item/fire_flower.c | 28 +- src/battle/move/item/fright_jar.c | 2 +- src/battle/move/item/insecticide_herb.c | 2 +- src/battle/move/item/pow_block.c | 4 +- src/battle/move/item/shooting_star.c | 4 +- src/battle/move/item/sleepy_sheep.c | 4 +- src/battle/move/item/snowman_doll.c | 12 +- src/battle/move/item/stop_watch.c | 28 +- src/battle/move/item/thunder_bolt.c | 2 +- src/battle/move/item/thunder_rage.c | 4 +- src/battle/move/jump/attack.c | 22 +- src/battle/move/jump/auto_jump.c | 6 +- src/battle/move/jump/auto_multibounce.c | 18 +- src/battle/move/jump/d_down_jump.c | 8 +- src/battle/move/jump/demo_power_bounce.c | 12 +- src/battle/move/jump/dizzy_stomp.c | 6 +- src/battle/move/jump/earthquake_jump.c | 12 +- src/battle/move/jump/mega_jump.c | 34 +- src/battle/move/jump/multibounce.c | 36 +- src/battle/move/jump/power_bounce.c | 12 +- src/battle/move/jump/power_jump.c | 8 +- src/battle/move/jump/shrink_stomp.c | 24 +- src/battle/move/jump/sleep_stomp.c | 24 +- src/battle/move/jump/super_jump.c | 8 +- src/battle/move/star_power/chill_out.c | 12 +- src/battle/move/star_power/lullaby.c | 2 +- src/battle/move/star_power/peach_beam.c | 2 +- src/battle/move/star_power/star_beam.c | 2 +- src/battle/move/star_power/star_storm.c | 4 +- src/battle/move/star_power/time_out.c | 2 +- src/battle/move/star_power/up_and_away.c | 4 +- src/battle/partner/bombette.c | 192 +- src/battle/partner/bow.c | 46 +- src/battle/partner/goombario.c | 121 +- src/battle/partner/goompa.c | 14 +- src/battle/partner/kooper.c | 286 +-- src/battle/partner/lakilester.c | 86 +- src/battle/partner/parakarry.c | 26 +- src/battle/partner/sushie.c | 28 +- src/battle/partner/twink.c | 14 +- src/battle/partner/watt.c | 56 +- src/battle/partner_dma.c | 39 + src/{18F340.c => battle/player_events.c} | 75 +- src/battle/popup_messages.c | 1641 ++++++++++++++ .../{btl_evt_library.c => standard_events.c} | 44 +- src/battle/use_items.c | 6 +- src/{8800.c => cam_main.c} | 34 +- src/{camera.c => cam_math.c} | 258 ++- src/cam_mode_0.c | 28 + src/cam_mode_1.c | 148 ++ src/{9d10_len_1080.c => cam_mode_2.c} | 171 +- src/cam_mode_5.c | 103 + src/{ad90_len_2880.c => cam_mode_6.c} | 1 + src/cam_mode_unused.c | 72 + src/{B0E0.c => cam_mode_zone_interp.c} | 228 +- src/common/ActorJumpToPos.inc.c | 4 +- src/draw_img_util.c | 488 ++++ src/effects/aura.c | 89 +- src/effects/partner_buff.c | 6 +- src/effects/water_block.c | 230 +- src/entity.c | 20 +- src/entity/Signpost.c | 2 +- src/entity/Switch.c | 4 +- src/entity/default/Padlock.c | 8 +- src/entity/jan_iwa/ArrowSign.c | 2 +- src/entity/jan_iwa/Plants1.c | 10 +- src/entity/jan_iwa/Plants2.c | 4 +- src/evt/audio_api.c | 262 +++ src/evt/cam_api.c | 6 +- src/evt/evt.c | 2 +- src/evt/f8f60_len_1560.c | 2 + src/evt/{fa4c0_len_3bf0.c => item_api.c} | 262 --- src/evt/msg_api.c | 4 +- src/evt/npc_api.c | 4 +- src/evt/script_list.c | 64 +- src/filemenu/filemenu_common.c | 24 +- src/filemenu/filemenu_yesno.c | 15 +- src/fio.c | 189 +- src/fio.h | 8 +- src/game_modes.c | 38 +- src/hud_element.c | 2 +- src/i_spy.c | 2 +- src/imgfx.c | 6 +- src/intro_logos.c | 40 - src/{C50A0.c => item_entity.c} | 497 +--- src/item_table.yaml | 184 +- src/main_loop.c | 38 +- src/move_table.yaml | 586 ++--- src/msg.c | 16 +- src/npc.c | 931 ++++---- src/npc_collision.c | 58 +- src/pause/pause_items.c | 4 +- src/pause/pause_main.c | 2 +- src/{cd180_len_38f0.c => screen_overlays.c} | 4 +- src/{CEE40.c => screen_render_util.c} | 2 + src/sprite.c | 4 +- src/startup_screen_fading.c | 45 + src/state_battle.c | 105 +- src/state_demo.c | 28 +- src/state_file_select.c | 18 +- src/state_intro.c | 197 +- src/state_logos.c | 208 +- src/state_pause.c | 206 +- src/state_startup.c | 28 +- src/state_title_screen.c | 308 +-- src/status_icons.c | 24 +- src/{dba20_len_350.c => vars_access.c} | 0 src/world/action/idle.c | 49 +- src/world/action/misc.c | 10 +- src/world/action/walk.c | 180 +- src/world/area_arn/arn_05/arn_05_3_npc.c | 14 +- src/world/area_arn/arn_07/arn_07_4_entity.c | 2 +- src/world/area_dgb/dgb_00/dgb_00_3_npc.c | 12 +- src/world/area_dgb/dgb_01/dgb_01_4_entity.c | 2 +- src/world/area_dgb/dgb_01/dgb_01_5_npc.c | 2 +- src/world/area_dgb/dgb_03/dgb_03_4_entity.c | 2 +- src/world/area_dgb/dgb_15/dgb_15_4_entity.c | 2 +- src/world/area_dro/dro_01/npc_shop_owner.c | 4 +- src/world/area_dro/dro_02/dro_02_5_npc.c | 2 +- .../area_end/end_01/end_01_7_peach_float.c | 22 +- .../area_flo/flo_00/flo_00_5_beanstalk.c | 6 +- src/world/area_flo/flo_03/flo_03_3_npc.c | 12 +- src/world/area_flo/flo_07/flo_07_1_music.c | 2 +- src/world/area_flo/flo_07/flo_07_3_npc.c | 6 +- src/world/area_flo/flo_10/flo_10_1_music.c | 2 +- src/world/area_flo/flo_10/flo_10_4_fountain.c | 2 +- src/world/area_flo/flo_10/flo_10_5_npc.c | 2 +- src/world/area_flo/flo_14/flo_14_3_bubbles.c | 8 +- src/world/area_flo/flo_15/flo_15_3_npc.c | 4 +- src/world/area_flo/flo_15/flo_15_5_stairs.c | 2 +- src/world/area_flo/flo_18/flo_18_3_machine.c | 10 +- src/world/area_flo/flo_18/flo_18_4_npc.c | 6 +- .../area_flo/flo_19/flo_19_5_beanstalk.c | 4 +- src/world/area_flo/flo_21/flo_21_4_npc.c | 2 +- src/world/area_flo/flo_24/flo_24_1_music.c | 2 +- src/world/area_gv/gv_01/gv_01_1_main.c | 12 +- src/world/area_hos/common/Narrator.inc.c | 2 +- src/world/area_hos/hos_00/hos_00_6_scenes.c | 4 +- src/world/area_hos/hos_01/hos_01_6_star_way.c | 4 +- src/world/area_hos/hos_04/hos_04_6_intro.c | 10 +- src/world/area_hos/hos_04/hos_04_7_starship.c | 2 +- src/world/area_hos/hos_05/hos_05_5_intro.c | 34 +- .../area_hos/hos_05/hos_05_8_star_ship.c | 4 +- src/world/area_hos/hos_10/hos_10_5_intro.c | 10 +- src/world/area_hos/hos_20/hos_20_2_starship.c | 24 +- src/world/area_isk/isk_02/isk_02_2_lock.c | 4 +- .../area_isk/isk_04/isk_04_3_obstructions.c | 4 +- src/world/area_isk/isk_05/isk_05_3_npc.c | 6 +- src/world/area_isk/isk_07/isk_07_5_lock.c | 8 +- src/world/area_isk/isk_11/isk_11_5_puzzle.c | 20 +- src/world/area_isk/isk_11/isk_11_6_lock.c | 4 +- src/world/area_iwa/iwa_00/iwa_00_1_main.c | 4 +- src/world/area_iwa/iwa_00/iwa_00_4_slide.c | 4 +- src/world/area_iwa/iwa_01/iwa_01_1_main.c | 4 +- src/world/area_iwa/iwa_01/iwa_01_5_slide.c | 8 +- src/world/area_iwa/iwa_03/iwa_03_4_slide.c | 4 +- src/world/area_iwa/iwa_04/iwa_04_4_npc.c | 2 +- src/world/area_iwa/iwa_10/iwa_10_1_music.c | 4 +- src/world/area_iwa/iwa_10/iwa_10_2_main.c | 2 +- .../area_iwa/iwa_10/iwa_10_6_parakarry.c | 2 +- src/world/area_jan/common/MoveBushTemplates.h | 4 +- src/world/area_jan/jan_00/jan_00_2_npc.c | 2 +- src/world/area_jan/jan_01/jan_01_3_npc.c | 14 +- src/world/area_jan/jan_02/jan_02_3_npc.c | 4 +- src/world/area_jan/jan_03/jan_03_4_npc.c | 12 +- src/world/area_jan/jan_04/jan_04_4_npc.c | 4 +- src/world/area_jan/jan_04/jan_04_8_treasure.c | 4 +- src/world/area_jan/jan_07/jan_07_3_npc.c | 10 +- src/world/area_jan/jan_08/jan_08_3_bushes.c | 2 +- src/world/area_jan/jan_13/jan_13_2_puzzle.c | 4 +- src/world/area_jan/jan_15/jan_15_1_main.c | 2 +- src/world/area_jan/jan_16/jan_16_2_main.c | 2 +- src/world/area_jan/jan_16/jan_16_3_npc.c | 24 +- src/world/area_jan/jan_22/jan_22_1_music.c | 2 +- src/world/area_jan/jan_22/jan_22_2_main.c | 6 +- src/world/area_jan/jan_22/jan_22_3_npc.c | 52 +- src/world/area_jan/jan_22/jan_22_6_bushes.c | 2 +- src/world/area_jan/jan_23/jan_23_3_npc.c | 4 +- src/world/area_kkj/kkj_03/kkj_03_4_scenes.c | 4 +- src/world/area_kkj/kkj_10/kkj_10_2_entity.c | 2 +- .../area_kkj/kkj_10/kkj_10_3_npcs_early.c | 2 +- .../area_kkj/kkj_10/kkj_10_4_npcs_later.c | 2 +- src/world/area_kkj/kkj_11/kkj_11_2_entity.c | 2 +- .../area_kkj/kkj_11/kkj_11_5_npcs_early.c | 4 +- .../area_kkj/kkj_11/kkj_11_6_npcs_later.c | 2 +- src/world/area_kkj/kkj_12/kkj_12_2_npc.c | 2 +- .../area_kkj/kkj_13/kkj_13_3_npcs_finale.c | 2 +- .../area_kkj/kkj_13/kkj_13_5_intro_scenes.c | 2 +- src/world/area_kkj/kkj_14/kkj_14_8_chapter0.c | 6 +- src/world/area_kkj/kkj_14/kkj_14_9_chapter1.c | 2 +- src/world/area_kkj/kkj_15/kkj_15_4_chapter0.c | 16 +- src/world/area_kkj/kkj_15/kkj_15_7_chapter3.c | 6 +- .../area_kkj/kkj_16/kkj_16_2_npcs_early.c | 2 +- .../area_kkj/kkj_16/kkj_16_3_npcs_later.c | 2 +- src/world/area_kkj/kkj_16/kkj_16_4_stealth.c | 2 +- .../area_kkj/kkj_23/kkj_23_4_npcs_peach.c | 2 +- src/world/area_kkj/kkj_23/kkj_23_5_scene.c | 2 +- .../area_kkj/kkj_25/kkj_25_2_npc_initial.c | 6 +- src/world/area_kkj/kkj_25/kkj_25_5_arena.c | 14 +- .../area_kkj/kkj_25/kkj_25_7_kammy_defeated.c | 2 +- .../kkj_25/kkj_25_8_bowser_defeated.c | 12 +- src/world/area_kkj/kkj_29/kkj_29_3_quiz.c | 8 +- src/world/area_kmr/kmr_00/kmr_00_3_revival.c | 2 +- src/world/area_kmr/kmr_02/kmr_02_3_npc.c | 10 +- src/world/area_kmr/kmr_03/kmr_03_3_npc.c | 2 +- src/world/area_kmr/kmr_03/kmr_03_4_entity.c | 4 +- .../area_kmr/kmr_03/kmr_03_6_fall_down.c | 6 +- src/world/area_kmr/kmr_20/kmr_20_10_npc.c | 10 +- .../area_kmr/kmr_20/kmr_20_12_npc_epilogue.c | 4 +- src/world/area_kmr/kmr_20/kmr_20_5_entity.c | 4 +- src/world/area_kpa/kpa_08/kpa_08_3_entity.c | 12 +- src/world/area_kpa/kpa_09/kpa_09_3_entity.c | 12 +- src/world/area_kpa/kpa_113/kpa_113_3_entity.c | 2 +- src/world/area_kpa/kpa_134/kpa_134_3_chains.c | 4 +- src/world/area_kpa/kpa_134/kpa_134_6_entity.c | 2 +- src/world/area_kpa/kpa_14/kpa_14_3_entity.c | 2 +- src/world/area_kpa/kpa_16/kpa_16_4_npc.c | 6 +- src/world/area_kpa/kpa_52/kpa_52_2_entity.c | 2 +- src/world/area_kpa/kpa_53/kpa_53_3_npc.c | 2 +- src/world/area_kpa/kpa_60/kpa_60_2_entity.c | 2 +- src/world/area_kpa/kpa_60/kpa_60_4_scenes.c | 4 +- src/world/area_kpa/kpa_62/kpa_62_2_entity.c | 2 +- src/world/area_kpa/kpa_63/kpa_63_4_scenes.c | 4 +- src/world/area_kpa/kpa_82/kpa_82_3_npc.c | 4 +- src/world/area_kpa/kpa_83/kpa_83_3_npc.c | 4 +- src/world/area_kpa/kpa_91/kpa_91_4_entity.c | 2 +- src/world/area_kpa/kpa_95/kpa_95_2_entity.c | 2 +- src/world/area_kzn/kzn_03/kzn_03_3_entity.c | 16 +- src/world/area_kzn/kzn_09/kzn_09_4_npc.c | 2 +- src/world/area_kzn/kzn_18/kzn_18_2_npc.c | 8 +- src/world/area_kzn/kzn_19/kzn_19_1_music.c | 2 +- src/world/area_kzn/kzn_19/kzn_19_4_npc.c | 2 +- src/world/area_kzn/kzn_20/kzn_20_1_music.c | 2 +- src/world/area_kzn/kzn_20/kzn_20_3_npc.c | 4 +- src/world/area_kzn/kzn_22/kzn_22_1_music.c | 2 +- src/world/area_kzn/kzn_23/kzn_23_3_npc.c | 4 +- src/world/area_mac/mac_01/mac_01_9_npc.c | 2 +- .../area_mac/mac_01/npc/read_fortune.inc.c | 2 +- src/world/area_mac/mac_02/mac_02_5_entity.c | 2 +- src/world/area_mac/mac_02/npc/bootler.inc.c | 6 +- src/world/area_mac/mac_04/mac_04.h | 4 +- src/world/area_mac/mac_04/mac_04_3_rooms.c | 4 +- src/world/area_mac/mac_04/mac_04_6_npc.c | 4 +- src/world/area_mac/mac_04/mac_04_8_entity.c | 6 +- .../area_mac/mac_04/npc_toybox_shyguy.inc.c | 54 +- src/world/area_mac/mac_05/mac_05_4_npc.c | 4 +- src/world/area_mac/machi/machi_5_npc.c | 2 +- src/world/area_mgm/mgm_02/mgm_02_2_npc.c | 28 +- src/world/area_nok/nok_01/npcs_crisis.inc.c | 2 +- src/world/area_nok/nok_04/nok_04_4_npc.c | 2 +- src/world/area_nok/nok_12/nok_12_4_bridge.c | 8 +- src/world/area_nok/nok_14/nok_14_4_bridge.c | 8 +- .../area_obk/obk_01/obk_01_3_chandelier.c | 6 +- src/world/area_obk/obk_05/obk_05_2_main.c | 8 +- src/world/area_obk/obk_09/obk_09_4_npc.c | 2 +- src/world/area_omo/common/ToyTrain.inc.c | 2 +- src/world/area_omo/omo_02/omo_02_3_entity.c | 10 +- src/world/area_omo/omo_03/omo_03_4_entity.c | 4 +- src/world/area_omo/omo_03/omo_03_6_train.c | 6 +- src/world/area_omo/omo_04/omo_04_4_entity.c | 8 +- src/world/area_omo/omo_04/omo_04_5_npc.c | 8 +- src/world/area_omo/omo_04/omo_04_6_scenes.c | 2 +- src/world/area_omo/omo_06/omo_06_4_train.c | 4 +- src/world/area_omo/omo_07/omo_07_4_npc.c | 8 +- src/world/area_omo/omo_07/omo_07_5_entity.c | 8 +- src/world/area_omo/omo_07/omo_07_6_scenes.c | 2 +- src/world/area_omo/omo_08/omo_08_3_boxes.c | 36 +- src/world/area_omo/omo_08/omo_08_4_train.c | 4 +- src/world/area_omo/omo_09/omo_09.h | 4 +- .../area_omo/omo_09/omo_09_4_slot_machine.c | 6 +- src/world/area_omo/omo_09/omo_09_7_npc.c | 8 +- src/world/area_omo/omo_09/omo_09_8_scenes.c | 2 +- src/world/area_omo/omo_10/omo_10_4_train.c | 4 +- src/world/area_omo/omo_11/omo_11_3_gizmos.c | 2 +- src/world/area_omo/omo_12/omo_12_3_npc.c | 10 +- src/world/area_omo/omo_13/omo_13_4_npc.c | 2 +- src/world/area_osr/osr_03/osr_03_4_starship.c | 2 +- src/world/area_pra/pra_02/pra_02_4_entity.c | 8 +- src/world/area_pra/pra_19/pra_19_3_npc.c | 6 +- src/world/area_pra/pra_34/pra_34_2_main.c | 4 +- src/world/area_sam/sam_01/sam_01_5_scenes.c | 2 +- .../area_sam/sam_07/sam_07_4_frozen_pit.c | 6 +- src/world/area_sam/sam_08/sam_08_5_scenes.c | 16 +- src/world/area_sam/sam_11/sam_11_3_rooms.c | 2 +- src/world/area_sam/sam_11/sam_11_4_entity.c | 8 +- src/world/area_tik/tik_01/tik_01_2_main.c | 2 +- src/world/area_tik/tik_02/tik_02_2_main.c | 6 +- src/world/area_tik/tik_03/tik_03_2_main.c | 4 +- .../area_tik/tik_04/tik_04_4_platforms.c | 4 +- src/world/area_tik/tik_05/tik_05_2_main.c | 4 +- src/world/area_tik/tik_06/tik_06_2_main.c | 8 +- src/world/area_tik/tik_08/tik_08_2_main.c | 4 +- src/world/area_tik/tik_09/tik_09_2_main.c | 12 +- src/world/area_tik/tik_10/tik_10_2_main.c | 2 +- src/world/area_tik/tik_18/tik_18_2_main.c | 2 +- src/world/area_tik/tik_19/tik_19_2_main.c | 6 +- src/world/area_tik/tik_20/tik_20_2_main.c | 2 +- src/world/area_tik/tik_23/tik_23_2_main.c | 2 +- src/world/area_tik/tik_24/tik_24_2_main.c | 2 +- src/world/area_trd/trd_00/trd_00_3_npc.c | 4 +- src/world/area_trd/trd_01/trd_01_1_main.c | 6 +- src/world/area_trd/trd_01/trd_01_2_entity.c | 2 +- src/world/area_trd/trd_02/trd_02_2_entity.c | 2 +- src/world/area_trd/trd_03/trd_03_3_npc.c | 8 +- src/world/area_trd/trd_04/trd_04_2_entity.c | 4 +- src/world/area_trd/trd_05/trd_05_3_trap.c | 8 +- src/world/area_trd/trd_05/trd_05_4_npc.c | 6 +- src/world/area_trd/trd_06/trd_06_2_falling.c | 4 +- .../area_trd/trd_06/trd_06_3_npc_prisoners.c | 2 +- ...inc.c => DisableCameraFollowPlayerY.inc.c} | 2 +- ...inc.c => DisableCameraLeadingPlayer.inc.c} | 4 +- ....inc.c => EnableCameraFollowPlayerY.inc.c} | 2 +- ....inc.c => EnableCameraLeadingPlayer.inc.c} | 4 +- src/world/common/enemy/ai/SpinyAI.inc.c | 2 +- .../common/todo/StarSpiritEffectFunc.inc.c | 4 +- src/world/common/todo/UnkFunc62.inc.c | 18 +- src/world/common/todo/UnkMoveFunc1.inc.c | 30 - src/world/common/todo/UpdateLogShadow.inc.c | 2 +- .../dead/area_flo/flo_00/flo_00_5_beanstalk.c | 6 +- src/world/dead/area_flo/flo_03/flo_03_3_npc.c | 12 +- .../dead/area_flo/flo_07/flo_07_1_music.c | 2 +- src/world/dead/area_flo/flo_07/flo_07_3_npc.c | 6 +- .../dead/area_flo/flo_10/flo_10_1_music.c | 2 +- .../dead/area_flo/flo_10/flo_10_4_fountain.c | 2 +- src/world/dead/area_flo/flo_10/flo_10_5_npc.c | 2 +- .../dead/area_flo/flo_14/flo_14_3_bubbles.c | 8 +- src/world/dead/area_flo/flo_15/flo_15_3_npc.c | 4 +- .../dead/area_flo/flo_15/flo_15_5_stairs.c | 2 +- .../dead/area_flo/flo_18/flo_18_3_machine.c | 10 +- src/world/dead/area_flo/flo_18/flo_18_4_npc.c | 6 +- .../dead/area_flo/flo_19/flo_19_5_beanstalk.c | 4 +- src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c | 8 +- .../dead/area_kzn/kzn_19/kzn_19_1_music.c | 2 +- src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c | 2 +- .../dead/area_kzn/kzn_20/kzn_20_1_music.c | 2 +- src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c | 4 +- .../dead/area_kzn/kzn_22/kzn_22_1_music.c | 2 +- src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c | 4 +- src/world/partner/lakilester.c | 2 +- src/world/partner/watt.c | 4 +- src/world/partners.c | 6 +- src/world/script_api/shops.c | 4 +- src/world/world.c | 10 +- tools/build/move_data.py | 7 +- tools/disasm_script.py | 2 +- ver/ique/asm/bss.s | 36 +- ver/ique/splat.yaml | 38 +- ver/ique/symbol_addrs.txt | 2 +- ver/jp/asm/main.bss.s | 36 +- ver/jp/splat.yaml | 25 +- ver/jp/symbol_addrs.txt | 10 +- ver/pal/asm/bss2.s | 18 +- .../filemenu_yesno_handle_input.s | 10 +- ver/pal/splat.yaml | 23 +- ver/pal/undefined_syms.txt | 24 +- ver/us/asm/bss.s | 36 +- ver/us/asm/bss2.s | 18 +- ver/us/splat.yaml | 107 +- ver/us/symbol_addrs.txt | 400 ++-- 575 files changed, 11900 insertions(+), 11469 deletions(-) delete mode 100644 src/17D6A0.c delete mode 100644 src/190A10.c rename src/{B4580.c => animator.c} (84%) rename src/{16c8e0.c => battle/16C8E0.c} (88%) rename src/{ => battle}/181810.c (87%) create mode 100644 src/battle/190A10.c rename src/{ => battle}/190B20.c (77%) rename src/{ => battle}/1A5830.c (98%) rename src/{ => battle}/actor_api.c (96%) rename src/{182B30.c => battle/actor_rendering.c} (62%) create mode 100644 src/battle/actors.c rename src/{16F740.c => battle/btl_states_actions.c} (90%) rename src/{415D90.c => battle/btl_states_menus.c} (89%) rename src/{battle_cam.c => battle/camera.c} (99%) rename src/{17FEB0.c => battle/dmg_item.c} (96%) rename src/{1AC760.c => battle/dmg_partner.c} (93%) rename src/{19FAF0.c => battle/dmg_player.c} (92%) create mode 100644 src/battle/entity_model_icons.c rename src/{18C790.c => battle/level_up.c} (99%) create mode 100644 src/battle/partner_dma.c rename src/{18F340.c => battle/player_events.c} (97%) create mode 100644 src/battle/popup_messages.c rename src/battle/{btl_evt_library.c => standard_events.c} (98%) rename src/{8800.c => cam_main.c} (94%) rename src/{camera.c => cam_math.c} (56%) create mode 100644 src/cam_mode_0.c create mode 100644 src/cam_mode_1.c rename src/{9d10_len_1080.c => cam_mode_2.c} (60%) create mode 100644 src/cam_mode_5.c rename src/{ad90_len_2880.c => cam_mode_6.c} (98%) create mode 100644 src/cam_mode_unused.c rename src/{B0E0.c => cam_mode_zone_interp.c} (83%) create mode 100644 src/draw_img_util.c create mode 100644 src/evt/audio_api.c rename src/evt/{fa4c0_len_3bf0.c => item_api.c} (67%) delete mode 100644 src/intro_logos.c rename src/{C50A0.c => item_entity.c} (87%) rename src/{cd180_len_38f0.c => screen_overlays.c} (99%) rename src/{CEE40.c => screen_render_util.c} (99%) create mode 100644 src/startup_screen_fading.c rename src/{dba20_len_350.c => vars_access.c} (100%) rename src/world/common/{todo/SetCamera0MoveFlag1.inc.c => DisableCameraFollowPlayerY.inc.c} (78%) rename src/world/common/{todo/SetCamera0Flag1000.inc.c => DisableCameraLeadingPlayer.inc.c} (58%) rename src/world/common/{todo/UnsetCamera0MoveFlag1.inc.c => EnableCameraFollowPlayerY.inc.c} (78%) rename src/world/common/{todo/UnsetCamera0Flag1000.inc.c => EnableCameraLeadingPlayer.inc.c} (58%) delete mode 100644 src/world/common/todo/UnkMoveFunc1.inc.c diff --git a/include/common_structs.h b/include/common_structs.h index 393153dbde..4cb6682c39 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -164,14 +164,16 @@ typedef struct HeapNode { /* 0x0C */ u32 capacity; } HeapNode; // size = 0x10 +#define NPC_BLUR_FRAMES 20 + /// Ring buffer of an NPC's position over the past 20 frames. typedef struct NpcMotionBlur { - /* 0x00 */ s8 unk_00; + /* 0x00 */ s8 unused; /* 0x01 */ s8 index; ///< Current blur ring buffer index /* 0x02 */ char unk_02[2]; // padding? - /* 0x04 */ f32 x[20]; - /* 0x54 */ f32 y[20]; - /* 0xA4 */ f32 z[20]; + /* 0x04 */ f32 posX[NPC_BLUR_FRAMES]; + /* 0x54 */ f32 posY[NPC_BLUR_FRAMES]; + /* 0xA4 */ f32 posZ[NPC_BLUR_FRAMES]; } NpcMotionBlur; // size = 0xF4 typedef struct NpcChompBlur { @@ -212,6 +214,8 @@ typedef struct NpcFollowData { /* 0x2A0 */ f32 walkRadius; } NpcFollowData; // size = 0x2A4 +#define MAX_NPC_DECORATIONS 2 + typedef struct Npc { /* 0x000 */ s32 flags; /* 0x004 */ void (*onUpdate)(struct Npc*); ///< Run before anything else for this NPC in update_npcs() @@ -270,32 +274,32 @@ typedef struct Npc { /* 0x0B0 */ AnimID* extraAnimList; /* 0x0B4 */ s8 palSwapType; // 0..4 inclusive /* 0x0B5 */ s8 palSwapPrevType; - /* 0x0B6 */ s8 dirtyPalettes; - /* 0x0B7 */ s8 palSwapState; + /* 0x0B6 */ s8 resetPalAdjust; + /* 0x0B7 */ s8 palAnimState; /* 0x0B8 */ char unk_B8[4]; - /* 0x0BC */ s16 palSwapTimer; - /* 0x0BE */ s16 palSwapLerpAlpha; - /* 0x0C0 */ s8 unk_C0; - /* 0x0C1 */ s8 paletteCount; + /* 0x0BC */ s16 nextPalTime; + /* 0x0BE */ s16 palBlendAlpha; + /* 0x0C0 */ s8 spriteColorVariations; + /* 0x0C1 */ s8 originalPalettesCount; /* 0x0C2 */ char unk_C2[2]; - /* 0x0C4 */ PAL_PTR* spritePaletteList; - /* 0x0C8 */ PAL_BIN localPaletteData[16][16]; - /* 0x2C8 */ PAL_PTR localPalettes[16]; - /* 0x308 */ s16 unk_308; - /* 0x30A */ s16 unk_30A; - /* 0x30C */ u16 unk_30C; - /* 0x30E */ s16 unk_30E; - /* 0x310 */ s16 unk_310; - /* 0x312 */ s16 unk_312; - /* 0x314 */ s16 unk_314; - /* 0x316 */ s16 unk_316; + /* 0x0C4 */ PAL_PTR* originalPalettesList; + /* 0x0C8 */ PAL_BIN copiedPalettes[16][SPR_PAL_SIZE]; + /* 0x2C8 */ PAL_PTR adjustedPalettes[16]; + /* 0x308 */ s16 blendPalA; + /* 0x30A */ s16 blendPalB; + /* 0x30C */ u16 palswapTimeHoldA; + /* 0x30E */ s16 palswapTimeAtoB; + /* 0x310 */ s16 palswapTimeHoldB; + /* 0x312 */ s16 palswapTimeBtoA; + /* 0x314 */ s16 blendPalC; + /* 0x316 */ s16 blendPalD; /* 0x318 */ f32 screenSpaceOffset2D[2]; /* 0x320 */ f32 verticalStretch; - /* 0x324 */ struct EffectInstance* decorations[2]; - /* 0x32C */ s8 decorationType[2]; - /* 0x32E */ s8 changedDecoration[2]; - /* 0x330 */ s8 decorationInitialised[2]; - /* 0x332 */ s16 decorationUnk[2]; + /* 0x324 */ struct EffectInstance* decorations[MAX_NPC_DECORATIONS]; + /* 0x32C */ s8 decorationType[MAX_NPC_DECORATIONS]; + /* 0x32E */ s8 changedDecoration[MAX_NPC_DECORATIONS]; + /* 0x330 */ s8 decorationInitialized[MAX_NPC_DECORATIONS]; + /* 0x332 */ s16 decorationGlowPhase[MAX_NPC_DECORATIONS]; /* 0x336 */ char unk_336[10]; } Npc; // size = 0x340 @@ -823,31 +827,31 @@ typedef struct Camera { /* 0x488 */ f32 linearInterp; /* 0x48C */ f32 linearInterpScale; /* 3.0? */ /* 0x490 */ f32 moveSpeed; - /* 0x494 */ f32 unk_494; - /* 0x498 */ f32 unk_498; - /* 0x49C */ f32 unk_49C; - /* 0x4A0 */ f32 savedTargetY; + /* 0x494 */ f32 yinterpGoal; + /* 0x498 */ f32 yinterpAlpha; + /* 0x49C */ f32 yinterpRate; // smaller is faster; not valid for values less than 1.0, unstable below 0.5 + /* 0x4A0 */ f32 yinterpCur; /* 0x4A4 */ Vec3f prevTargetPos; /* 0x4B0 */ Vec3f movePos; /* 0x4BC */ Vec3f prevPrevMovePos; /* 0x4C8 */ Vec3f prevMovePos; - /* 0x4D4 */ u16 prevPrevFollowFlags; - /* 0x4D6 */ u16 prevFollowFlags; + /* 0x4D4 */ u16 prevPrevFollowPlayer; + /* 0x4D6 */ u16 prevFollowPlayer; /* 0x4D8 */ CameraControlSettings controlSettings; /* 0x504 */ u16 followPlayer; /* 0x506 */ u16 panActive; /* 0x508 */ f32 panPhase; /* 0x50C */ f32 leadAmount; - /* 0x510 */ f32 unk_510; - /* 0x514 */ f32 unk_514; - /* 0x518 */ f32 unk_518; - /* 0x51C */ s32 unk_51C; + /* 0x510 */ f32 targetLeadAmount; + /* 0x514 */ f32 leadInterpAlpha; + /* 0x518 */ f32 accumulatedStickLead; + /* 0x51C */ s32 increasingLeadInterp; /* 0x520 */ f32 unk_520; - /* 0x524 */ f32 unk_524; - /* 0x528 */ f32 unk_528; + /* 0x524 */ f32 leadUnkX; + /* 0x528 */ f32 leadUnkZ; /* 0x52C */ s32 unk_52C; /* 0x530 */ s32 unk_530; - /* 0x534 */ CameraControlSettings* aabbForZoneBelow; + /* 0x534 */ CameraControlSettings* leadControlSettings; /* 0x538 */ char unk_538[0x18]; /* 0x550 */ f32 unk_550; /* 0x554 */ s16 unk_554; @@ -898,7 +902,7 @@ typedef struct BattleStatus { /* 0x092 */ s8 reflectFlags; /* 0x093 */ s8 unk_93; /* 0x094 */ s8 unk_94; - /* 0x095 */ s8 unk_95; + /* 0x095 */ s8 waitForState; /* 0x096 */ s8 hammerCharge; /* 0x097 */ s8 jumpCharge; /* 0x098 */ char unk_98; @@ -929,8 +933,8 @@ typedef struct BattleStatus { /* 0x0CC */ Vec3f camLookatObjPos; /* 0x0D8 */ struct Actor* playerActor; /* 0x0DC */ struct Actor* partnerActor; - /* 0x0E0 */ struct Actor* enemyActors[24]; - /* 0x140 */ s16 enemyIDs[24]; + /* 0x0E0 */ struct Actor* enemyActors[MAX_ENEMY_ACTORS]; + /* 0x140 */ s16 enemyIDs[MAX_ENEMY_ACTORS]; /* 0x170 */ s8 nextEnemyIndex; /* (during enemy turn) who should go next */ /* 0x171 */ s8 numEnemyActors; /* 0x172 */ s16 activeEnemyActorID; /* (during enemy turn) enemy currently using their move */ @@ -949,7 +953,7 @@ typedef struct BattleStatus { /* 0x194 */ u8 statusChance; /* 0x195 */ s8 statusDuration; /* 0x196 */ char unk_196; - /* 0x197 */ s8 targetHomeIndex; /* some sort of home index used for target list construction */ + /* 0x197 */ s8 sampleTargetHomeIndex; /* 0x198 */ s8 powerBounceCounter; /* 0x199 */ s8 wasStatusInflicted; /* during last attack */ /* 0x19A */ u8 curDamageSource; @@ -1405,24 +1409,24 @@ typedef struct GameStatus { /* 0x073 */ u8 contBitPattern; /* 0x074 */ s8 debugEnemyContact; /* 0x075 */ s8 debugQuizmo; - /* 0x076 */ s8 unk_76; - /* 0x077 */ char unk_77; - /* 0x078 */ s8 disableScripts; + /* 0x076 */ b8 debugUnused1; + /* 0x077 */ b8 debugUnused2; + /* 0x078 */ s8 debugScripts; /* 0x079 */ char unk_79; - /* 0x07A */ s8 musicEnabled; + /* 0x07A */ b8 musicEnabled; /* 0x07B */ char unk_7B; - /* 0x07C */ s8 unk_7C; - /* 0x07D */ s8 keepUsingPartnerOnMapChange; + /* 0x07C */ b8 healthBarsEnabled; + /* 0x07D */ b8 keepUsingPartnerOnMapChange; /* 0x07E */ u8 peachFlags; /* (1 = isPeach, 2 = isTransformed, 4 = hasUmbrella) */ /* 0x07F */ s8 peachDisguise; /* (1 = koopatrol, 2 = hammer bros, 3 = clubba) */ /* 0x080 */ u8 peachBakingIngredient; ///< @see enum PeachBakingItems - /* 0x081 */ s8 multiplayerEnabled; - /* 0x082 */ Vec2b unk_82; + /* 0x081 */ b8 multiplayerEnabled; + /* 0x082 */ Vec2b altViewportOffset; /* 0x084 */ s8 playerSpriteSet; /* 0x085 */ char unk_85; /* 0x086 */ s16 areaID; /* 0x088 */ s16 prevArea; - /* 0x08A */ s16 didAreaChange; + /* 0x08A */ b16 didAreaChange; /* 0x08C */ s16 mapID; /* 0x08E */ s16 entryID; /* 0x090 */ u16 unk_90; @@ -1430,20 +1434,20 @@ typedef struct GameStatus { /* 0x094 */ f32 exitTangent; /* 0x098 */ Vec3f playerPos; /* 0x0A4 */ f32 playerYaw; - /* 0x0A8 */ s8 creditsViewportMode; + /* 0x0A8 */ s8 introPart; /* 0x0A9 */ s8 unk_A9; // selected language? /* 0x0AA */ s8 demoBattleFlags; /* 0x0AB */ u8 soundOutputMode; - /* 0x0AC */ s8 introState; - /* 0x0AD */ s8 introCounter; - /* 0x0AE */ s8 bSkipIntro; - /* 0x0AF */ s8 unk_AF; - /* 0x0B0 */ s8 unk_B0; + /* 0x0AC */ s8 startupState; // used for various startup states like logos, title screen, intro, and demo + /* 0x0AD */ s8 logoTime; + /* 0x0AE */ b8 skipLogos; + /* 0x0AF */ s8 titleScreenTimer; + /* 0x0B0 */ s8 titleScreenDismissTime; /* 0x0B1 */ char unk_B1[0x5]; - /* 0x0B6 */ s16 bootAlpha; - /* 0x0B8 */ s16 bootBlue; - /* 0x0BA */ s16 bootGreen; - /* 0x0BC */ s16 bootRed; + /* 0x0B6 */ s16 screenColorA; + /* 0x0B8 */ s16 screenColorR; + /* 0x0BA */ s16 screenColorG; + /* 0x0BC */ s16 screenColorB; /* 0x0BE */ char unk_BE[94]; /* 0x11C */ Vec3f playerGroundTraceAngles; /* 0x128 */ Vec3f playerGroundTraceNormal; @@ -1518,13 +1522,13 @@ typedef struct RenderTask { typedef struct SelectableTarget { /* 0x00 */ s16 actorID; - /* 0x02 */ s16 partID; /* sometimes loaded as byte from 0x3 */ - /* 0x04 */ Vec3s posA; - /* 0x0A */ Vec3s posB; - /* 0x10 */ s8 unk_10; - /* 0x11 */ s8 homeCol; /* from xpos --> 0-3 */ - /* 0x12 */ s8 homeRow; /* from ypos --> 0-3 */ - /* 0x13 */ s8 layer; /* from zpos? --> 0-1 */ + /* 0x02 */ s16 partID; + /* 0x04 */ Vec3s truePos; // position where the cursor will be drawn + /* 0x0A */ Vec3s sortPos; // effective position used for sorting, includes priority-based x offsets + /* 0x10 */ s8 priorityOffset; + /* 0x11 */ s8 column; // from xpos --> 0-3 + /* 0x12 */ s8 row; // from ypos --> 0-3 + /* 0x13 */ s8 layer; // from zpos --> 0-1 } SelectableTarget; // size = 0x14 typedef struct ActorPartMovement { @@ -1639,19 +1643,55 @@ typedef struct CollisionStatus { /* 0x1C */ Vec3f bombetteExplosionPos; } CollisionStatus; // size = 0x28 -// seems to be a union differing for each decoration -typedef struct DecorationUnk { - /* 0x00 */ s16 unk00; - /* 0x02 */ s16 unk02; - /* 0x04 */ s16 unk04; - /* 0x06 */ s16 unk06; - /* 0x08 */ s16 unk08; - /* 0x0A */ s16 unk0A; - /* 0x0C */ s16 unk0C; - /* 0x0E */ s16 unk0E; -} DecorationUnk; // size = 0x10 +typedef struct DecorFireTrail { + /* 0x00 */ s16 scale; +} DecorFireTrail; + +typedef struct DecorGoldenFlames { + /* 0x00 */ s16 scaleX; + /* 0x02 */ s16 scaleY; + /* 0x04 */ s16 offsetX; +} DecorGoldenFlames; + +typedef struct DecorRedFlames { + /* 0x00 */ s16 scaleX; + /* 0x02 */ s16 scaleY; + /* 0x04 */ s16 alpha; + /* 0x06 */ s16 offsetZ; + /* 0x08 */ s16 unused1; + /* 0x0A */ s16 unused2; + /* 0x0C */ s16 unused3; +} DecorRedFlames; + +typedef struct DecorBowserAura { + /* 0x00 */ s16 scaleX; + /* 0x02 */ s16 scaleY; + /* 0x04 */ s16 alpha; + /* 0x06 */ s16 offsetZ; +} DecorBowserAura; + +typedef struct DecorDataSparkles { + /* 0x00 */ s16 spawnInterval; +} DecorDataSparkles; + +typedef struct DecorDataStars { + /* 0x00 */ s16 scalePct; + /* 0x02 */ s16 offsetY; +} DecorDataStars; + +// data for any type of decoration can be stored here +typedef union DecorationData { + s16 raw[8]; + DecorFireTrail fireTrail; + DecorRedFlames redFlames; + DecorGoldenFlames goldenFlames; + DecorBowserAura bowserAura; + DecorDataSparkles sparkles; + DecorDataStars stars; +} DecorationData; // size = 0x10 #define MAX_ACTOR_DECORATIONS 2 +#define ACTOR_BLUR_FRAMES 16 typedef struct DecorationTable { /* 0x000 */ PAL_BIN copiedPalettes[2][27][SPR_PAL_SIZE]; @@ -1674,35 +1714,35 @@ typedef struct DecorationTable { /* 0x74A */ s16 palswapTimeBtoA; /* 0x74C */ s16 palswapUnused1; // presumably palswapTimeHoldC for unimplemented triple cycling (A->B->C->A) /* 0x74E */ s16 palswapUnused2; // presumably palswapTimeCtoA for unimplemented triple cycling (A->B->C->A) - /* 0x750 */ s8 unk_750; - /* 0x751 */ s8 unk_751; - /* 0x752 */ s8 unk_752; + /* 0x750 */ s8 glowState; + /* 0x751 */ b8 glowStateChanged; + /* 0x752 */ s8 glowUnk1; /* 0x753 */ char pad753[5]; - /* 0x758 */ s16 unk758; - /* 0x75A */ s16 unk75A; - /* 0x75C */ s16 unk75C; + /* 0x758 */ s16 glowUnk2; + /* 0x75A */ s16 glowUnk3; + /* 0x75C */ s16 glowPhase; /* 0x75E */ char pad75E[6]; - /* 0x764 */ s8 unk_764; - /* 0x765 */ s8 unk_765; - /* 0x766 */ s8 unk_766; - /* 0x767 */ s8 unk_767; - /* 0x768 */ u8 unk_768; + /* 0x764 */ s8 flashState; + /* 0x765 */ s8 flashStateChanged; + /* 0x766 */ s8 flashMode; + /* 0x767 */ s8 flashFramesLeft; + /* 0x768 */ u8 flashEnabled; /* 0x769 */ char unk_769[3]; - /* 0x76C */ PAL_PTR unk_76C[16]; + /* 0x76C */ PAL_PTR flashPalettes[16]; /* 0x78C */ char unk_7AC[0x2C]; - /* 0x7D8 */ s8 unk_7D8; + /* 0x7D8 */ s8 blurUnused; /* 0x7D9 */ s8 blurBufferPos; /* 0x7DA */ s8 blurDrawCount; /* 0x7DB */ s8 blurEnableCount; - /* 0x7DC */ s16 yaw[16]; - /* 0x7FC */ s16 posX[16]; - /* 0x81C */ s16 posY[16]; - /* 0x83C */ s16 posZ[16]; - /* 0x85C */ s8 rotPivotOffsetX[16]; - /* 0x86C */ s8 rotPivotOffsetY[16]; - /* 0x87C */ u8 rotX[16]; - /* 0x88C */ u8 rotY[16]; - /* 0x89C */ u8 rotZ[16]; + /* 0x7DC */ s16 yaw[ACTOR_BLUR_FRAMES]; + /* 0x7FC */ s16 posX[ACTOR_BLUR_FRAMES]; + /* 0x81C */ s16 posY[ACTOR_BLUR_FRAMES]; + /* 0x83C */ s16 posZ[ACTOR_BLUR_FRAMES]; + /* 0x85C */ s8 rotPivotOffsetX[ACTOR_BLUR_FRAMES]; + /* 0x86C */ s8 rotPivotOffsetY[ACTOR_BLUR_FRAMES]; + /* 0x87C */ u8 rotX[ACTOR_BLUR_FRAMES]; + /* 0x88C */ u8 rotY[ACTOR_BLUR_FRAMES]; + /* 0x89C */ u8 rotZ[ACTOR_BLUR_FRAMES]; /* 0x8AC */ s8 blurDisableDelay; // infinite when zero /* 0x8AD */ char unk_8AD[3]; /* substruct for decorations? */ @@ -1712,7 +1752,7 @@ typedef struct DecorationTable { /* 0x8BC */ s8 state[MAX_ACTOR_DECORATIONS]; /* 0x8BE */ s16 stateResetTimer[MAX_ACTOR_DECORATIONS]; /* 0x8C2 */ char unk_8C0[4]; - /* 0x8C6 */ DecorationUnk unk_8C6[MAX_ACTOR_DECORATIONS]; + /* 0x8C6 */ DecorationData decorData[MAX_ACTOR_DECORATIONS]; } DecorationTable; // size = 0x8E8 typedef struct PlayerPathElement { @@ -1799,7 +1839,7 @@ typedef struct ActorState { // TODO: Make the first field of this an ActorMoveme /* 0x24 */ f32 unk_24; /* 0x28 */ f32 unk_28; /* 0x2C */ f32 unk_2C; - /* 0x30 */ Vec3f unk_30; + /* 0x30 */ Vec3f velStep; /* 0x3C */ f32 acceleration; /* 0x40 */ f32 speed; /* 0x44 */ f32 vel; @@ -1912,9 +1952,9 @@ typedef struct Actor { /* 0x224 */ s8 chillOutTurns; /* 0x225 */ char unk_225[3]; /* 0x228 */ struct EffectInstance* icePillarEffect; - /* 0x22C */ struct SelectableTarget targetData[24]; + /* 0x22C */ struct SelectableTarget targetData[MAX_ENEMY_ACTORS]; /* 0x40C */ s8 targetListLength; - /* 0x40D */ s8 targetIndexList[24]; /* into targetData */ + /* 0x40D */ s8 targetIndexList[MAX_ENEMY_ACTORS]; /* into targetData */ /* 0x425 */ s8 selectedTargetIndex; /* into target index list */ /* 0x426 */ s8 targetPartIndex; /* 0x427 */ char unk_427[1]; @@ -1981,7 +2021,7 @@ typedef struct PlayerStatus { /* 0x064 */ f32 overlapPushAmount; /* 0x068 */ f32 groundNormalPitch; /* 0x06C */ f32 maxJumpSpeed; - /* 0x070 */ f32 gravityIntegrator[4]; + /* 0x070 */ f32 gravityIntegrator[4]; // derivatives of y; 0 = velocity, 1 = accel, etc /* 0x080 */ f32 targetYaw; /* 0x084 */ f32 curYaw; /* 0x088 */ f32 overlapPushYaw; @@ -2026,25 +2066,23 @@ typedef struct PlayerStatus { /* 0x281 */ char unk_281[7]; } PlayerStatus; // size = 0x288 -typedef struct SaveDataHeader { - /* 0x0000 */ char magicString[16]; /* "Mario Story 006" string */ - /* 0x0010 */ s8 pad[0x20]; /* always zero */ - /* 0x0030 */ s32 crc1; - /* 0x0034 */ s32 crc2; - /* 0x0038 */ s32 saveSlot; - /* 0x003C */ u32 saveCount; - /* 0x0040 */ s8 ignored[0x40]; -} SaveDataHeader; +typedef struct SaveGlobals { + /* 0x00 */ char magicString[16]; /* "Mario Story 006" string */ + /* 0x10 */ s8 pad[32]; /* always zero */ + /* 0x30 */ s32 crc1; + /* 0x34 */ s32 crc2; + /* 0x38 */ s32 useMonoSound; + /* 0x3C */ u32 lastFileSelected; + /* 0x40 */ s8 reserved[64]; // unused +} SaveGlobals; // size = 0x80 typedef struct SaveMetadata { /* 0x00 */ s32 timePlayed; /* 0x04 */ u8 spiritsRescued; - /* 0x05 */ char unk_05[0x1]; + /* 0x05 */ char unk_05[1]; /* 0x06 */ s8 level; /* 0x07 */ unsigned char filename[8]; - /* 0x0F */ char unk_0F[0x1]; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; + /* 0x0F */ char unk_0F[9]; } SaveMetadata; // size = 0x18 typedef struct SaveData { @@ -2065,12 +2103,12 @@ typedef struct SaveData { /* 0x12B0 */ s32 areaFlags[8]; /* 0x12D0 */ s8 areaBytes[16]; /* 0x12E0 */ s8 debugEnemyContact; - /* 0x12E0 */ s8 unk_12E1; - /* 0x12E0 */ s8 unk_12E2; - /* 0x12E0 */ s8 musicEnabled; + /* 0x12E0 */ b8 debugUnused1; + /* 0x12E0 */ b8 debugUnused2; + /* 0x12E0 */ b8 musicEnabled; /* 0x12E4 */ char unk_12E4[0x2]; /* 0x12E6 */ Vec3s savePos; - /* 0x12EC */ SaveMetadata unk_12EC; + /* 0x12EC */ SaveMetadata metadata; /* 0x1304 */ char unk_1304[0x7C]; } SaveData; // size = 0x1380 diff --git a/include/effects.h b/include/effects.h index bd84b17590..9fcd2aa00c 100644 --- a/include/effects.h +++ b/include/effects.h @@ -992,6 +992,13 @@ typedef struct ShimmerWaveFXData { /* 0x68 */ f32 unk_68; } ShimmerWaveFXData; // size = 0x6C +enum AuraFXTypes { + FX_AURA_CAPTURE = 0, // star spirit being captured in the intro + FX_AURA_RED = 1, // used by Kooper's Fire Shell + FX_AURA_BLUE = 2, // used by Final Bowser + FX_AURA_GOLD = 3, // used by The Master (final form) +}; + typedef struct AuraFXData { /* 0x00 */ s32 type; /* 0x04 */ Vec3f posA; @@ -1533,18 +1540,20 @@ typedef struct SquirtFXData { /* 0x1D8 */ u8 unk_1D8[12]; } SquirtFXData; // size = 0x1E4 +enum WaterBlockFXTypes { + FX_WATER_BLOCK_CREATE = 0, + FX_WATER_BLOCK_DESTROY = 1, +}; + #define NUM_WATER_BLOCK_COMPONENTS 4 typedef struct WaterBlockFXData { - /* 0x00 */ s32 unk_00; + /* 0x00 */ s32 type; /* 0x04 */ Vec3f pos; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s32 unk_18; - /* 0x1C */ s32 unk_1C; - /* 0x20 */ s32 unk_20; - /* 0x24 */ s32 unk_24; - /* 0x28 */ s32 unk_28; + /* 0x10 */ s32 timeLeft; + /* 0x14 */ s32 lifetime; + /* 0x18 */ Color4i color; + /* 0x28 */ s32 alpha; /* 0x2C */ f32 unk_2C; /* 0x30 */ f32 unk_30; /* 0x34 */ f32 unk_34; @@ -2317,7 +2326,7 @@ typedef struct BuffData { typedef struct PartnerBuffFXData { /* 0x00 */ s16 useRandomValues; - /* 0x02 */ s16 unk_02; + /* 0x02 */ s16 visible; /* 0x04 */ s32 timeLeft; /* 0x08 */ s32 lifeTime; /* 0x0C */ BuffData unk_0C[3]; diff --git a/include/entity.h b/include/entity.h index 911ceee5a4..26e0e69e17 100644 --- a/include/entity.h +++ b/include/entity.h @@ -6,6 +6,8 @@ typedef s32 EntityScript[]; typedef s32 EntityModelScript[]; +extern s32 CreateEntityVarArgBuffer[4]; + enum { ENTITY_SCRIPT_OP_End, ENTITY_SCRIPT_OP_Jump, diff --git a/include/enums.h b/include/enums.h index 62576fa340..c3d48f9c73 100644 --- a/include/enums.h +++ b/include/enums.h @@ -155,10 +155,10 @@ enum StoryProgress { STORY_CH5_GOT_JADE_RAVEN = 17, STORY_CH5_MOVED_RAVEN_STATUE = 18, STORY_CH5_DEFEATED_PIRANHAS_MINIBOSS = 19, - STORY_CH5_REACHED_RAFAELS_TREE = 20, - STORY_CH5_RAFAEL_LEFT_NEST = 21, - STORY_CH5_RAFAEL_MOVED_ROOT = 22, - STORY_CH5_RAFAEL_WAITING_FOR_MARIO = 23, + STORY_CH5_REACHED_RAPHAELS_TREE = 20, + STORY_CH5_RAPHAEL_LEFT_NEST = 21, + STORY_CH5_RAPHAEL_MOVED_ROOT = 22, + STORY_CH5_RAPHAEL_WAITING_FOR_MARIO = 23, STORY_CH5_ZIP_LINE_READY = 24, STORY_CH5_ENTERED_MT_LAVA_LAVA = 25, STORY_CH5_KOLORADO_FELL_IN_LAVA = 26, @@ -571,18 +571,18 @@ enum SoundIDs { SOUND_OSR_SMOKE_RISING_1 = 0x00000036, SOUND_OSR_SMOKE_RISING_2 = 0x00000037, SOUND_OSR_SMOKE_RISING_3 = 0x00000038, - SOUND_LRAW_MAC_HARBOR_WATER = 0x00000039, // loops - SOUND_PRA_SHIFT_FLOORS_RUMBLE = 0x0000003F, // loops + SOUND_LRAW_MAC_HARBOR_WATER = 0x00000039, // #looping + SOUND_PRA_SHIFT_FLOORS_RUMBLE = 0x0000003F, // #looping SOUND_PRA_SHIFT_FLOORS_THUD = 0x00000040, SOUND_WHALE_JIGGLE = 0x00000041, SOUND_WHALE_FILL = 0x00000042, - SOUND_LRAW_WHALE_GEYSER = 0x00000043, // loops + SOUND_LRAW_WHALE_GEYSER = 0x00000043, // #looping SOUND_WHALE_EJECT = 0x00000044, SOUND_JR_TROOPA_SPLASH = 0x00000045, SOUND_LRAW_JR_TROOPA_SWIM = 0x00000046, SOUND_BOO_SPOOK = 0x00000047, SOUND_OBJECT_LAND = 0x00000048, - SOUND_UNUSED_WATER_RUNNING = 0x00000049, // loops + SOUND_UNUSED_WATER_RUNNING = 0x00000049, // #looping SOUND_LRAW_JAN_BEACH_WAVES = 0x0000004A, SOUND_LRAW_OSR_FOUNTAIN_INTACT = 0x0000004C, SOUND_LRAW_OSR_FOUNTAIN_BROKEN = 0x0000004D, @@ -591,7 +591,7 @@ enum SoundIDs { SOUND_LRAW_WINDMILL_EXT = 0x00000050, SOUND_OMO_FLIP_TRACK_THUD = 0x00000051, SOUND_LRAW_TROMP_ROLL = 0x00000052, - SOUND_ISK_DRAINING_SAND = 0x00000053, // loops + SOUND_ISK_DRAINING_SAND = 0x00000053, // #looping SOUND_ISK_FLIP_STAIRS = 0x00000054, SOUND_LENS_FLARE = 0x00000055, SOUND_LRAW_ISK_LOWER_STAIRS = 0x00000056, @@ -637,7 +637,7 @@ enum SoundIDs { SOUND_QUIZMO_VANISH = 0x0000008F, SOUND_LRAW_PUFF_PUFF_MACHINE = 0x00000091, SOUND_KKJ_USE_SNEAKY_PARASOL = 0x00000092, - SOUND_KKJ_ROTATING_WALL = 0x00000093, // loops + SOUND_KKJ_ROTATING_WALL = 0x00000093, // #looping SOUND_LRAW_DGB_COLLAPSE = 0x00000094, SOUND_DGB_COLLAPSE_1 = 0x00000095, SOUND_DGB_COLLAPSE_2 = 0x00000096, @@ -727,10 +727,10 @@ enum SoundIDs { SOUND_ACTOR_HURT = 0x0000010F, SOUND_HIT_RATTLE = 0x00000110, SOUND_HEART_BLOCK = 0x00000131, - SOUND_0132 = 0x00000132, // unused - SOUND_0133 = 0x00000133, // unused - SOUND_ASCENDING_CHIMES = 0x00000134, // unused - SOUND_DESCENDING_CHIMES = 0x00000135, // unused + SOUND_0132 = 0x00000132, // #unused + SOUND_0133 = 0x00000133, // #unused + SOUND_ASCENDING_CHIMES = 0x00000134, // #unused + SOUND_DESCENDING_CHIMES = 0x00000135, // #unused SOUND_STAR_CARD_APPEARS = 0x00000137, SOUND_RESCUE_STAR_SPIRIT = 0x00000138, SOUND_RECEIVE_STAR_POWER = 0x00000139, @@ -753,75 +753,76 @@ enum SoundIDs { SOUND_SEARCH_BUSH = 0x00000153, SOUND_PLAYER_CHARGE = 0x00000156, SOUND_BLOCK_SHATTER = 0x00000158, - SOUND_0159 = 0x00000159, // unused - SOUND_ACTOR_JUMPED_1 = 0x0000015A, // unused - SOUND_ACTOR_JUMPED_2 = 0x0000015B, // unused - SOUND_ACTOR_JUMPED_3 = 0x0000015C, // unused + SOUND_0159 = 0x00000159, // #unused + SOUND_ACTOR_JUMPED_1 = 0x0000015A, // #unused + SOUND_ACTOR_JUMPED_2 = 0x0000015B, // #unused + SOUND_ACTOR_JUMPED_3 = 0x0000015C, // #unused SOUND_PLAYER_RUN_IN_PLACE = 0x0000015D, SOUND_PLAYER_RUN_AWAY = 0x0000015E, SOUND_PLAYER_JUMP = 0x00000160, SOUND_PLAYER_LONG_FALL = 0x00000161, SOUND_TRIP = 0x00000162, SOUND_ENTER_PIPE = 0x00000163, - SOUND_LRAW_0164 = 0x00000164, // unused, no data + SOUND_LRAW_NOTHING_26 = 0x00000164, // #unused #nodata SOUND_SMACK_TREE = 0x00000165, SOUND_SHAKE_TREE_LEAVES = 0x00000166, - SOUND_SLIDE = 0x00000167, // loops + SOUND_SLIDE = 0x00000167, // #looping SOUND_LRAW_ZIPLINE_RIDE = 0x00000168, SOUND_DUST_OFF = 0x00000172, - SOUND_0173 = 0x00000173, - SOUND_0174 = 0x00000174, - SOUND_0175 = 0x00000175, - SOUND_0176 = 0x00000176, + SOUND_RUN_AWAY_BUILDUP = 0x00000173, + SOUND_RUN_AWAY = 0x00000174, + SOUND_PAPER_GLIDE_1 = 0x00000175, + SOUND_PAPER_GLIDE_2 = 0x00000176, SOUND_LUIGI_STEP_A = 0x00000179, SOUND_LUIGI_STEP_B = 0x0000017A, - SOUND_017B = 0x0000017B, - SOUND_017C = 0x0000017C, - SOUND_017D = 0x0000017D, - SOUND_017E = 0x0000017E, - SOUND_017F = 0x0000017F, - SOUND_0180 = 0x00000180, - SOUND_0181 = 0x00000181, - SOUND_0182 = 0x00000182, - SOUND_0183 = 0x00000183, + SOUND_ISPY = 0x0000017B, + SOUND_STARSHIP_ENGINE_LOOP = 0x0000017C, // #looping + SOUND_STARSHIP_TAKEOFF_LONG = 0x0000017D, + SOUND_STARSHIP_TAKEOFF_SHORT = 0x0000017E, + SOUND_STARSHIP_ARRIVE = 0x0000017F, + SOUND_STARSHIP_NEAR_FLYBY = 0x00000180, + SOUND_STARSHIP_ASCEND = 0x00000181, + SOUND_STARSHIP_FLY_AWAY = 0x00000182, + SOUND_STARSHIP_FLY_TOWARD = 0x00000183, + SOUND_SPRINKLE_MAGIC = 0x00000184, // #unused SOUND_LRAW_ZIPLINE_RETURN = 0x00000185, - SOUND_0186 = 0x00000186, - SOUND_0187 = 0x00000187, + SOUND_JAN_BASKET_ELEVATOR = 0x00000186, + SOUND_FLO_STAIRS_LOWERING = 0x00000187, // #rocky #scrape #rumble SOUND_GET_STAR_POWER_WAVE = 0x00000188, - SOUND_LRAW_0189 = 0x00000189, - SOUND_018A = 0x0000018A, - SOUND_018C = 0x0000018C, - SOUND_018D = 0x0000018D, - SOUND_018E = 0x0000018E, - SOUND_0190 = 0x00000190, - SOUND_0191 = 0x00000191, - SOUND_0193 = 0x00000193, - SOUND_LRAW_0194 = 0x00000194, - SOUND_LRAW_FLO_FILL_WATER_POOL = 0x00000197, - SOUND_LRAW_0198 = 0x00000198, - SOUND_LRAW_0199 = 0x00000199, - SOUND_LRAW_019A = 0x0000019A, - SOUND_019B = 0x0000019B, - SOUND_019C = 0x0000019C, - SOUND_019D = 0x0000019D, - SOUND_019E = 0x0000019E, - SOUND_019F = 0x0000019F, - SOUND_01A0 = 0x000001A0, - SOUND_01A1 = 0x000001A1, - SOUND_01A2 = 0x000001A2, - SOUND_01A3 = 0x000001A3, - SOUND_01A4 = 0x000001A4, - SOUND_01A5 = 0x000001A5, - SOUND_01A6 = 0x000001A6, - SOUND_01A7 = 0x000001A7, - SOUND_01A8 = 0x000001A8, - SOUND_01A9 = 0x000001A9, - SOUND_01AA = 0x000001AA, - SOUND_01AB = 0x000001AB, - SOUND_01AC = 0x000001AC, - SOUND_01AD = 0x000001AD, - SOUND_01AE = 0x000001AE, - SOUND_01AF = 0x000001AF, + SOUND_LRAW_JAN_CONSTRUCTION = 0x00000189, + SOUND_JAN_RAPHAEL_POUND = 0x0000018A, // #heavy #impact #thud + SOUND_JAN_ROOT_WOBBLE_1 = 0x0000018C, + SOUND_JAN_ROOT_WOBBLE_2 = 0x0000018D, + SOUND_JAN_ROOT_WOBBLE_3 = 0x0000018E, + SOUND_FLO_PUFF_PUFF_SMOKE_BURST = 0x00000190, // #explode + SOUND_JAN_BOULDER_TREMBLE = 0x00000191, // #rocky #knock #short #impact + SOUND_FLO_BLOW_BUBBLE = 0x00000193, + SOUND_LRAW_BUBBLE_DRIFT = 0x00000194, // #looping + SOUND_LRAW_FLO_FILL_WATER_POOL = 0x00000197, // #looping + SOUND_LRAW_FLO_WATER_FLOW_1 = 0x00000198, // #looping #gentle + SOUND_LRAW_FLO_WATER_FLOW_2 = 0x00000199, // #looping #fountain + SOUND_LRAW_FLO_RELEASE_FOUNTAIN = 0x0000019A, // #looping #fountain + SOUND_FLO_BEANSTALK_START_GROWING = 0x0000019B, + SOUND_FLO_RIDE_BEANSTALK_UP_LOOP = 0x0000019C, // #looping + SOUND_FLO_RIDE_BEANSTALK_DOWN_LOOP = 0x0000019D, // #looping + SOUND_FLO_MAGIKOOPA_FLY_AWAY = 0x0000019E, + SOUND_FLO_LAKITU_FLY_AWAY = 0x0000019F, + SOUND_FLO_PUFF_PUFF_EXPLODE = 0x000001A0, // #explode + SOUND_OMO_BOX_GLOW_1 = 0x000001A1, + SOUND_OMO_BOX_GLOW_2 = 0x000001A2, + SOUND_OMO_BOX_GLOW_3 = 0x000001A3, + SOUND_OMO_BOX_GLOW_4 = 0x000001A4, + SOUND_OMO_BOX_CHIME_1 = 0x000001A5, + SOUND_OMO_BOX_CHIME_2 = 0x000001A6, + SOUND_OMO_BOX_CHIME_3 = 0x000001A7, + SOUND_OMO_BOX_CHIME_4 = 0x000001A8, + SOUND_OMO_BOX_DONE = 0x000001A9, + SOUND_OMO_TOYBOX_LID = 0x000001AA, + SOUND_OMO_SECRET_DOOR_OPEN = 0x000001AB, + SOUND_OMO_SECRET_DOOR_CLOSE = 0x000001AC, + SOUND_FLYING_PYROCLAST_1 = 0x000001AD, + SOUND_FLYING_PYROCLAST_2 = 0x000001AE, + SOUND_JAN_CHEST_IMPACT = 0x000001AF, SOUND_LRAW_NOK_WATER = 0x000001B1, SOUND_LRAW_TRD_WATER_EXT = 0x000001B2, SOUND_LRAW_SBK_OASIS_WATER = 0x000001B3, @@ -894,7 +895,7 @@ enum SoundIDs { SOUND_CRYSTAL_BALL_WAVE = 0x00000208, SOUND_MERLON_GATHER = 0x00000209, SOUND_MERLON_STRIKE = 0x0000020A, - SOUND_020B = 0x0000020B, // unused + SOUND_LOWER_PITCH_MAGIC = 0x0000020B, // #unused SOUND_RAVEN_FALL_A = 0x0000020C, SOUND_RAVEN_FALL_B = 0x0000020D, SOUND_RAVEN_FALL_C = 0x0000020E, @@ -912,31 +913,32 @@ enum SoundIDs { SOUND_MENU_ERROR = 0x0000021D, SOUND_LRAW_KPA_CHAIN_DRIVE = 0x00000221, SOUND_KPA_DUMP_LAVA = 0x00000222, - SOUND_0223 = 0x00000223, - SOUND_0225 = 0x00000225, - SOUND_0226 = 0x00000226, - SOUND_0227 = 0x00000227, - SOUND_0228 = 0x00000228, - SOUND_KPA_PULL_CHAIN = 0x00000229, - SOUND_LRAW_KPA_FILL_WATER = 0x0000022A, - SOUND_LRAW_KPA_DRAIN_WATER = 0x0000022B, // sounds like a flush - SOUND_LRAW_022C = 0x0000022C, - SOUND_LRAW_022D = 0x0000022D, - SOUND_FINALE_EXPLOSION_A = 0x0000022E, - SOUND_FINALE_EXPLOSION_B = 0x0000022F, - SOUND_0230 = 0x00000230, - SOUND_0231 = 0x00000231, - SOUND_0232 = 0x00000232, //unused? flute + SOUND_KPA_BOWSER_POWER_UP = 0x00000223, + SOUND_KPA_BOWSER_POWER_DOWN = 0x00000224, // #unused + SOUND_KPA_QUIZ_DOORS_OPEN = 0x00000225, // #stony #scraping + SOUND_KPA_QUIZ_DOORS_CLOSE = 0x00000226, // #stony #scraping + SOUND_KPA_RAISE_STONE_PLATFORM = 0x00000227, // #stony #scraping #rumble + SOUND_KPA_LOWER_STONE_PLATFORM = 0x00000228, // #stony #scraping #rumble + SOUND_KPA_PULL_CHAIN = 0x00000229, // #metallic #rattle + SOUND_LRAW_KPA_FILL_WATER = 0x0000022A, // #looping #flush #flowing #water + SOUND_LRAW_KPA_DRAIN_WATER = 0x0000022B, // #looping #flush #flowing #water + SOUND_LRAW_KPA_ARENA_TURN_ON = 0x0000022C, // #electric #humming #machine + SOUND_LRAW_KPA_ARENA_ACTIVE = 0x0000022D, // #electric #humming #machine + SOUND_KPA_EXPLOSION_A = 0x0000022E, // #explosion + SOUND_KPA_EXPLOSION_B = 0x0000022F, // #explosion + SOUND_KPA_EXPLOSION_CLUSTER = 0x00000230, // #explosion + SOUND_DAMAGE_STARS = 0x00000231, // also used when blocking + SOUND_COLLECT_1UP = 0x00000232, // #unused SOUND_TIMING_BAR_TICK = 0x00000233, SOUND_TIMING_BAR_GO = 0x00000234, SOUND_JUMP_COMBO_1 = 0x00000235, SOUND_JUMP_COMBO_2 = 0x00000236, SOUND_JUMP_COMBO_3 = 0x00000237, SOUND_JUMP_COMBO_4 = 0x00000238, - SOUND_JUMP_COMBO_5 = 0x00000239, // unused - SOUND_JUMP_COMBO_6 = 0x0000023A, // unused - SOUND_JUMP_COMBO_7 = 0x0000023B, // unused, rings a bit longer than the others - SOUND_JUMP_COMBO_8 = 0x0000023C, // unused + SOUND_JUMP_COMBO_5 = 0x00000239, // #unused + SOUND_JUMP_COMBO_6 = 0x0000023A, // #unused + SOUND_JUMP_COMBO_7 = 0x0000023B, // #unused rings a bit longer than the others + SOUND_JUMP_COMBO_8 = 0x0000023C, // #unused SOUND_LRAW_BOWSER_PROPELLER = 0x0000023D, SOUND_BEGIN_WISH = 0x00000241, SOUND_REFRESH = 0x00000242, @@ -952,22 +954,23 @@ enum SoundIDs { SOUND_SHOOTING_STAR_FALL_B = 0x0000025A, SOUND_STAR_BOUNCE_A = 0x0000025C, SOUND_STAR_BOUNCE_B = 0x0000025D, - SOUND_0261 = 0x00000261, - SOUND_0262 = 0x00000262, - SOUND_0263 = 0x00000263, - SOUND_0265 = 0x00000265, - SOUND_0266 = 0x00000266, - SOUND_0267 = 0x00000267, - SOUND_0269 = 0x00000269, - SOUND_026A = 0x0000026A, - SOUND_026B = 0x0000026B, - SOUND_026C = 0x0000026C, - SOUND_LRAW_0271 = 0x00000271, - SOUND_LRAW_0273 = 0x00000273, - SOUND_LRAW_0274 = 0x00000274, - SOUND_LRAW_0275 = 0x00000275, - SOUND_LRAW_0276 = 0x00000276, - SOUND_0281 = 0x00000281, + SOUND_ISK_PLACE_IN_SOCKET = 0x00000261, // #stony #thud + SOUND_EMOTE_IDEA = 0x00000262, + SOUND_EMOTE_QUESTION = 0x00000263, + SOUND_ISK_DOOR_OPEN = 0x00000265, + SOUND_ISK_DOOR_CLOSE = 0x00000266, + SOUND_ISK_DOOR_SLAM = 0x00000267, // #stony #thud #heavy + SOUND_USE_KEY = 0x00000269, // #metallic #rattle + SOUND_LOCK_DROP = 0x0000026A, // #metallic #hollow #thud + SOUND_LARGE_GATE_OPEN = 0x0000026B, // #metallic #blowing + SOUND_LARGE_GATE_CLOSE = 0x0000026C, // #metallic #thud + SOUND_METAL_CRASH = 0x00000270, // #unused #metallic #thud + SOUND_LRAW_TIK_WATER = 0x00000271, // #water + SOUND_LRAW_WATER_FLOWING_1 = 0x00000273, // #water #flowing + SOUND_LRAW_WATER_FLOWING_2 = 0x00000274, // #water #flowing + SOUND_LRAW_WATER_FLOWING_3 = 0x00000275, // #water #flowing + SOUND_LRAW_WATER_FLOWING_4 = 0x00000276, // #water #flowing + SOUND_GOOMBARIO_HEADBONK = 0x00000281, // #descending #falling SOUND_TATTLE_WINDOW_OPEN = 0x00000282, SOUND_0283 = 0x00000283, SOUND_0284 = 0x00000284, @@ -1077,8 +1080,8 @@ enum SoundIDs { SOUND_SHY_GUY_SCREAMS3 = 0x0000030E, SOUND_TOY_TANK_MOVE1 = 0x0000030F, SOUND_TOY_TANK_MOVE2 = 0x00000310, - SOUND_AIM_SHELL_SHOT = 0x00000311, // loops - SOUND_AIM_SPINY_FLIP = 0x00000312, // loops + SOUND_AIM_SHELL_SHOT = 0x00000311, // #looping + SOUND_AIM_SPINY_FLIP = 0x00000312, // #looping SOUND_TUBBA_GULP = 0x00000315, SOUND_FIRE_BAR_0_B = 0x00000316, SOUND_FIRE_BAR_1_B = 0x00000317, @@ -1133,7 +1136,7 @@ enum SoundIDs { SOUND_0356 = 0x00000356, SOUND_0357 = 0x00000357, SOUND_0358 = 0x00000358, - SOUND_EMBER_FLY = 0x00000359, // loops + SOUND_EMBER_FLY = 0x00000359, // #looping SOUND_035B = 0x0000035B, SOUND_CHARGE_LIGHTNING = 0x0000035C, SOUND_035D = 0x0000035D, @@ -1184,10 +1187,10 @@ enum SoundIDs { SOUND_038D = 0x0000038D, SOUND_038E = 0x0000038E, SOUND_0390 = 0x00000390, - SOUND_LRAW_0391 = 0x00000391, + SOUND_LRAW_SPINNING_FLOWER = 0x00000391, SOUND_0392 = 0x00000392, SOUND_MUNCHLESIA_SPIT = 0x00000393, - SOUND_OVEN_TIMER_TICKING = 0x00000394, // loops + SOUND_OVEN_TIMER_TICKING = 0x00000394, // #looping SOUND_GENERAL_WHISTLE = 0x00000395, SOUND_0396 = 0x00000396, SOUND_0397 = 0x00000397, @@ -1200,8 +1203,8 @@ enum SoundIDs { SOUND_LRAW_SAM_STAIRS_RISE = 0x0000039E, SOUND_SAM_STAIRS_FINAL_THUD = 0x0000039F, SOUND_MIM_MUSHROOM_GLOW = 0x000003A0, - SOUND_UNUSED_TAPPING_LOOP = 0x000003A1, // loops - SOUND_SHY_GUY_FLEE_LOOP = 0x000003A2, // loops + SOUND_UNUSED_TAPPING_LOOP = 0x000003A1, // #looping + SOUND_SHY_GUY_FLEE_LOOP = 0x000003A2, // #looping SOUND_LANTERN_GHOST_REVEAL_MORE_1 = 0x000003A3, SOUND_LANTERN_GHOST_REVEAL_MORE_2 = 0x000003A4, SOUND_LANTERN_GHOST_REVEAL_MORE_3 = 0x000003A5, @@ -1212,7 +1215,7 @@ enum SoundIDs { SOUND_LANTERN_GHOST_DARKEN_4 = 0x000003AA, SOUND_PIRANHA_BREATH = 0x000003AB, SOUND_GOOMBA_BROS_STEP = 0x000003AC, - SOUND_LRAW_03AD = 0x000003AD, + SOUND_LRAW_FIGHTING = 0x000003AD, SOUND_03AE = 0x000003AE, SOUND_03AF = 0x000003AF, SOUND_03B0 = 0x000003B0, @@ -1225,7 +1228,7 @@ enum SoundIDs { SOUND_SHY_GUY_STEP_B = 0x000003B7, SOUND_03B9 = 0x000003B9, SOUND_03BB = 0x000003BB, - SOUND_LRAW_03BC = 0x000003BC, + SOUND_LRAW_RUMBLE = 0x000003BC, SOUND_03BD = 0x000003BD, SOUND_03BE = 0x000003BE, SOUND_03C0 = 0x000003C0, @@ -1330,8 +1333,8 @@ enum SoundIDs { SOUND_WHALE_CLOSE_MOUTH = 0x00002037, SOUND_TUBBA_SNORE_INHALE = 0x00002038, SOUND_TUBBA_SNORE_EXHALE = 0x00002039, - SOUND_FINALE_BRIDGE_COLLAPSE_A = 0x0000203A, - SOUND_FINALE_BRIDGE_COLLAPSE_B = 0x0000203B, + SOUND_KPA_BRIDGE_COLLAPSE_A = 0x0000203A, + SOUND_KPA_BRIDGE_COLLAPSE_B = 0x0000203B, SOUND_203C = 0x0000203C, SOUND_203D = 0x0000203D, SOUND_203E = 0x0000203E, @@ -1416,10 +1419,10 @@ enum SoundIDs { SOUND_MUNCHLESIA_SUCTION = 0x0000209B, SOUND_JAN_LOG_LAND = 0x0000209D, SOUND_JAN_LOG_SPLIT = 0x0000209E, - SOUND_209F = 0x0000209F, - SOUND_20A0 = 0x000020A0, - SOUND_20A1 = 0x000020A1, - SOUND_20A2 = 0x000020A2, + SOUND_SEPARATE_BUSHES = 0x0000209F, + SOUND_LARGE_NPC_IMPACT = 0x000020A0, + SOUND_STARSHIP_BOOST = 0x000020A1, + SOUND_IWA_SLIDE_GATE = 0x000020A2, SOUND_CREAKY_WINDOW_OPEN = 0x000020A3, SOUND_CREAKY_WINDOW_CLOSE = 0x000020A4, SOUND_20A5 = 0x000020A5, @@ -1554,18 +1557,18 @@ enum SoundIDs { SOUND_LOOP_TRD_FLOWING_WATER = 0x80000006, SOUND_LOOP_TRD_RAISE_STAIRS = 0x80000007, SOUND_LOOP_CHEERING = 0x80000008, - SOUND_LOOP_09 = 0x80000009, - SOUND_LOOP_0A = 0x8000000A, // unused - SOUND_LOOP_0B = 0x8000000B, - SOUND_LOOP_0C = 0x8000000C, - SOUND_LOOP_0D = 0x8000000D, - SOUND_LOOP_0E = 0x8000000E, + SOUND_LOOP_IWA10_FLOW1 = 0x80000009, + SOUND_LOOP_IWA_UNUSED_FLOW3 = 0x8000000A, // #unused + SOUND_LOOP_IWA00_FLOW3 = 0x8000000B, + SOUND_LOOP_IWA00_FLOW2 = 0x8000000C, + SOUND_LOOP_IWA01_FLOW1 = 0x8000000D, + SOUND_LOOP_IWA01_FLOW2 = 0x8000000E, SOUND_LOOP_OBK_LOWER_CHAIN = 0x8000000F, SOUND_LOOP_MOVE_STATUE = 0x80000010, SOUND_LOOP_SENTINEL_ALARM = 0x80000011, - SOUND_LOOP_QUIZ_TICKING = 0x80000012, // unused - SOUND_LOOP_AUDIENCE_MURMUR = 0x80000013, // unused - SOUND_LOOP_TOYBOX_TRAIN_GEAR = 0x80000014, // unused + SOUND_LOOP_QUIZ_TICKING = 0x80000012, // #unused + SOUND_LOOP_AUDIENCE_MURMUR = 0x80000013, // #unused + SOUND_LOOP_TOYBOX_TRAIN_GEAR = 0x80000014, // #unused SOUND_LOOP_OMO_SLOT_MACHINE = 0x80000015, SOUND_LOOP_OMO_ROTATING_WHEEL = 0x80000016, SOUND_LOOP_JAN_BEACH_WAVES = 0x80000017, @@ -1575,61 +1578,61 @@ enum SoundIDs { SOUND_LOOP_TROMP_ROLL = 0x8000001B, SOUND_LOOP_JAN_SMALL_GEYSER = 0x8000001C, SOUND_LOOP_JAN_LARGE_GEYSER = 0x8000001D, - SOUND_LOOP_1E = 0x8000001E, - SOUND_LOOP_1F = 0x8000001F, // unused, no data - SOUND_LOOP_20 = 0x80000020, // unused, no data - SOUND_LOOP_21 = 0x80000021, - SOUND_LOOP_22 = 0x80000022, - SOUND_LOOP_23 = 0x80000023, - SOUND_LOOP_24 = 0x80000024, + SOUND_LOOP_JAN_CONSTRUCTION = 0x8000001E, + SOUND_LOOP_NOTHING_1F = 0x8000001F, // #unused #nodata + SOUND_LOOP_NOTHING_20 = 0x80000020, // #unused #nodata + SOUND_LOOP_FLO_WATER_FLOW_1 = 0x80000021, + SOUND_LOOP_FLO_WATER_FLOW_2 = 0x80000022, + SOUND_LOOP_BUBBLE_DRIFT = 0x80000023, + SOUND_LOOP_FLO_RELEASE_FOUNTAIN = 0x80000024, SOUND_LOOP_PUFF_PUFF_MACHINE = 0x80000025, - SOUND_LOOP_26 = 0x80000026, // unused - SOUND_LOOP_27 = 0x80000027, - SOUND_LOOP_28 = 0x80000028, - SOUND_LOOP_29 = 0x80000029, - SOUND_LOOP_2A = 0x8000002A, - SOUND_LOOP_2B = 0x8000002B, - SOUND_LOOP_2C = 0x8000002C, - SOUND_LOOP_2D = 0x8000002D, - SOUND_LOOP_2E = 0x8000002E, - SOUND_LOOP_2F = 0x8000002F, - SOUND_LOOP_30 = 0x80000030, - SOUND_LOOP_31 = 0x80000031, - SOUND_LOOP_32 = 0x80000032, - SOUND_LOOP_33 = 0x80000033, - SOUND_LOOP_34 = 0x80000034, - SOUND_LOOP_35 = 0x80000035, - SOUND_LOOP_36 = 0x80000036, - SOUND_LOOP_37 = 0x80000037, - SOUND_LOOP_38 = 0x80000038, - SOUND_LOOP_39 = 0x80000039, - SOUND_LOOP_3A = 0x8000003A, // unused - SOUND_LOOP_3B = 0x8000003B, // unused - SOUND_LOOP_3C = 0x8000003C, // unused - SOUND_LOOP_3D = 0x8000003D, // unused - SOUND_LOOP_3E = 0x8000003E, // unused - SOUND_LOOP_3F = 0x8000003F, // unused - SOUND_LOOP_SAM_STAIRS_RISE = 0x80000040, + SOUND_LOOP_NOTHING_26 = 0x80000026, // #unused #nodata + SOUND_LOOP_TIK01_WATER = 0x80000027, + SOUND_LOOP_TIK02_WATER = 0x80000028, + SOUND_LOOP_TIK02_FLOW2 = 0x80000029, + SOUND_LOOP_TIK02_FLOW3 = 0x8000002A, + SOUND_LOOP_TIK03_WATER = 0x8000002B, + SOUND_LOOP_TIK03_FLOW1 = 0x8000002C, + SOUND_LOOP_TIK05_WATER = 0x8000002D, + SOUND_LOOP_TIK05_FLOW1 = 0x8000002E, + SOUND_LOOP_TIK06_WATER = 0x8000002F, + SOUND_LOOP_TIK06_FLOW2 = 0x80000030, + SOUND_LOOP_TIK06_FLOW3 = 0x80000031, + SOUND_LOOP_TIK06_FLOW4 = 0x80000032, + SOUND_LOOP_TIK08_WATER = 0x80000033, + SOUND_LOOP_TIK08_FLOW1 = 0x80000034, + SOUND_LOOP_TIK09_WATER = 0x80000035, + SOUND_LOOP_TIK09_FLOW2 = 0x80000036, + SOUND_LOOP_TIK09_FLOW4 = 0x80000037, + SOUND_LOOP_TIK09_FLOW3 = 0x80000038, + SOUND_LOOP_TIK10_WATER = 0x80000039, + SOUND_LOOP_TIK_UNUSED1_WATER = 0x8000003A, // #unused + SOUND_LOOP_TIK_UNUSED2_WATER = 0x8000003B, // #unused + SOUND_LOOP_TIK_UNUSED3_WATER = 0x8000003C, // #unused + SOUND_LOOP_TIK_UNUSED3_FLOW4 = 0x8000003D, // #unused + SOUND_LOOP_TIK_UNUSED3_FLOW3 = 0x8000003E, // #unused + SOUND_LOOP_TIK_UNUSED3_FLOW2 = 0x8000003F, // #unused + SOUND_LOOP_SAM_STAIRS_RISE = 0x80000040, SOUND_LOOP_CHARGE_BAR = 0x80000041, SOUND_LOOP_CRYSTAL_BALL_GLOW = 0x80000042, - SOUND_LOOP_43 = 0x80000043, - SOUND_LOOP_44 = 0x80000044, - SOUND_LOOP_45 = 0x80000045, - SOUND_LOOP_46 = 0x80000046, - SOUND_LOOP_47 = 0x80000047, - SOUND_LOOP_48 = 0x80000048, - SOUND_LOOP_49 = 0x80000049, + SOUND_LOOP_TIK18_WATER = 0x80000043, + SOUND_LOOP_TIK19_WATER = 0x80000044, + SOUND_LOOP_TIK19_FLOW3 = 0x80000045, + SOUND_LOOP_TIK19_FLOW4 = 0x80000046, + SOUND_LOOP_TIK20_WATER = 0x80000047, + SOUND_LOOP_TIK23_WATER = 0x80000048, + SOUND_LOOP_TIK24_WATER = 0x80000049, SOUND_LOOP_WINDMILL_EXT = 0x8000004A, SOUND_LOOP_WINDMILL_GEARS = 0x8000004B, SOUND_LOOP_SHY_GUY_CROWD_1 = 0x8000004C, SOUND_LOOP_SHY_GUY_CROWD_2 = 0x8000004D, - SOUND_LOOP_FLIGHT = 0x8000004E, // unused + SOUND_LOOP_FLIGHT = 0x8000004E, // #unused SOUND_LOOP_WHALE_GEYSER = 0x8000004F, SOUND_LOOP_FLO_FILL_WATER_POOL = 0x80000050, SOUND_LOOP_KPA_CHAIN_DRIVE = 0x80000051, SOUND_LOOP_KPA_FILL_WATER = 0x80000052, SOUND_LOOP_KPA_DRAIN_WATER = 0x80000053, - SOUND_LOOP_KPA_FLIP_BRIDGE_PANEL = 0x80000054, // unused + SOUND_LOOP_KPA_FLIP_BRIDGE_PANEL = 0x80000054, // #unused SOUND_LOOP_JR_TROOPA_SWIM = 0x80000055, SOUND_LOOP_KKJ_RUMBLING = 0x80000056, SOUND_LOOP_OSR_RUMBLING = 0x80000057, @@ -1651,11 +1654,11 @@ enum SoundIDs { SOUND_LOOP_STAR_ORB_RISING = 0x80000067, SOUND_LOOP_USE_STAR_BEAM = 0x80000068, SOUND_LOOP_USE_PEACH_BEAM = 0x80000069, - SOUND_LOOP_6A = 0x8000006A, - SOUND_LOOP_6B = 0x8000006B, - SOUND_LOOP_6C = 0x8000006C, - SOUND_LOOP_6D = 0x8000006D, // unused - SOUND_LOOP_6E = 0x8000006E, // unused + SOUND_LOOP_SPINNING_FLOWER = 0x8000006A, // doesn't loop + SOUND_LOOP_RUMBLE = 0x8000006B, + SOUND_LOOP_FIGHTING = 0x8000006C, + SOUND_LOOP_KPA_ARENA_TURN_ON = 0x8000006D, // unused + SOUND_LOOP_KPA_ARENA_ACTIVE = 0x8000006E, // unused // exit doors SOUND_DOOR_OPEN = 0x90000000, SOUND_DOOR_CLOSE = 0x90000001, @@ -1828,36 +1831,38 @@ enum ItemTypeFlags { ITEM_TYPE_FLAG_ENTITY_FULLSIZE = 0x1000, }; +// both items and moves use these flags to determine what type of targets are eligible +// they are used during the construction of target lists and during the select target battle state enum TargetFlags { - TARGET_FLAG_ENEMY = 0x00000001, - TARGET_FLAG_2 = 0x00000002, - TARGET_FLAG_4 = 0x00000004, - TARGET_FLAG_PLAYER = 0x00000008, - TARGET_FLAG_10 = 0x00000010, - TARGET_FLAG_20 = 0x00000020, - TARGET_FLAG_40 = 0x00000040, - TARGET_FLAG_80 = 0x00000080, - TARGET_FLAG_100 = 0x00000100, - TARGET_FLAG_400 = 0x00000400, - TARGET_FLAG_800 = 0x00000800, - TARGET_FLAG_1000 = 0x00001000, - TARGET_FLAG_2000 = 0x00002000, - TARGET_FLAG_4000 = 0x00004000, - TARGET_FLAG_8000 = 0x00008000, - TARGET_FLAG_10000 = 0x00010000, - TARGET_FLAG_20000 = 0x00020000, - TARGET_FLAG_40000 = 0x00040000, - TARGET_FLAG_100000 = 0x00100000, - TARGET_FLAG_200000 = 0x00200000, - TARGET_FLAG_400000 = 0x00400000, - TARGET_FLAG_800000 = 0x00800000, - TARGET_FLAG_OVERRIDE = 0x80000000, // skip choosing a target + TARGET_FLAG_SELECT_ONE = 0x00000001, // player selects a single target + TARGET_FLAG_2 = 0x00000002, + TARGET_FLAG_GROUND = 0x00000004, // only allow targets on the ground (row = 0) + TARGET_FLAG_PLAYER = 0x00000008, // allow the player as a target, prevents enemies from being targets + TARGET_FLAG_NOT_HIGH = 0x00000010, // only allow targets in the first two rows (no moves use this) + TARGET_FLAG_NOT_FLYING = 0x00000020, // reject targets which have ACTOR_FLAG_FLYING + TARGET_FLAG_NOT_GROUND = 0x00000040, // reject targets on the ground (row = 0) + TARGET_FLAG_80 = 0x00000080, // jump, headbonk, belly flop (not read) + TARGET_FLAG_PARTNER = 0x00000100, // allow the partner as a target, prevents enemies from being targets + TARGET_FLAG_AIRLIFT = 0x00000400, // special case for air lift, only rejects targets on the ceiling + TARGET_FLAG_JUMP_LIKE = 0x00000800, // jump, headbonk, belly flop, ... and jump charge + TARGET_FLAG_SMASH_LIKE = 0x00001000, // smash moves + TARGET_FLAG_NOT_BEHIND = 0x00002000, // hammer, bombette body slam, kooper shell toss + TARGET_FLAG_NOT_BELOW = 0x00004000, // reject all targets below other targets + TARGET_FLAG_PRIMARY_ONLY = 0x00008000, // rejects all targets without ACTOR_PART_FLAG_PRIMARY_TARGET + TARGET_FLAG_ALLOW_TARGET_ONLY = 0x00010000, // allow targets which have ACTOR_FLAG_TARGET_ONLY + TARGET_FLAG_TATTLE = 0x00020000, // special case for tattle, only rejects targets with ACTOR_FLAG_NO_TATTLE + TARGET_FLAG_NO_CEILING = 0x00040000, // rejects targets on the ceiling (those with ACTOR_FLAG_UPSIDE_DOWN) + TARGET_FLAG_DIR_RIGHT = 0x00100000, // directional filter used with CountTargets (bugged, unused) + TARGET_FLAG_DIR_LEFT = 0x00200000, // directional filter used with CountTargets (bugged, unused) + TARGET_FLAG_DIR_BELOW = 0x00400000, // directional filter used with CountTargets (bugged, unused) + TARGET_FLAG_DIR_ABOVE = 0x00800000, // directional filter used with CountTargets (bugged, unused) + TARGET_FLAG_OVERRIDE = 0x80000000, // skip choosing a target }; enum ActorPartTargetFlags { - ACTOR_PART_TARGET_FLAG_1 = 0x01, - ACTOR_PART_TARGET_FLAG_2 = 0x02, - ACTOR_PART_TARGET_FLAG_4 = 0x04, + ACTOR_PART_TARGET_NO_JUMP = 0x01, // prevent any jump attacks from targeting + ACTOR_PART_TARGET_NO_SMASH = 0x02, // prevent any smash attacks from targeting + ACTOR_PART_TARGET_NO_DAMAGE = 0x04, // exempts from damage or status infliction }; enum AmbientSounds { @@ -1907,6 +1912,14 @@ enum NpcDecorationIDs { NPC_DECORATION_CHARGED = 0x00000006, }; +enum NpcPaletteAdjustments { + NPC_PAL_ADJUST_NONE = 0, + NPC_PAL_ADJUST_WATT_IDLE = 1, + NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS = 2, + NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS = 3, + NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES = 4, +}; + enum SpeechFlags { SPEECH_FLAG_10 = 0x010, SPEECH_FLAG_HAS_OFFSET = 0x100, @@ -2000,6 +2013,9 @@ enum Iters { ITER_NEXT = 0, ITER_PREV = 1, ITER_LAST = 10, + // return values + ITER_HAS_MORE = 0, + ITER_NO_MORE = -1, }; enum ActorSoundIDs { @@ -2012,18 +2028,18 @@ enum ActorSoundIDs { }; enum ActorDecorationIDs { - ACTOR_DECORATION_NONE = 0x00000000, - ACTOR_DECORATION_GOLDEN_FLAMES = 0x00000001, - ACTOR_DECORATION_SWEAT = 0x00000002, - ACTOR_DECORATION_SEEING_STARS = 0x00000003, - ACTOR_DECORATION_RED_FLAMES = 0x00000004, - ACTOR_DECORATION_GREY_SMOKE_TRAIL = 0x00000005, - ACTOR_DECORATION_FIRE_SMOKE_TRAIL = 0x00000006, - ACTOR_DECORATION_WHIRLWIND = 0x00000007, - ACTOR_DECORATION_STEAM_EMITTER = 0x00000008, - ACTOR_DECORATION_9 = 0x00000009, - ACTOR_DECORATION_A = 0x0000000A, - ACTOR_DECORATION_RADIAL_STAR_EMITTER = 0x0000000B, + ACTOR_DECORATION_NONE = 0x00000000, + ACTOR_DECORATION_GOLDEN_FLAMES = 0x00000001, + ACTOR_DECORATION_SWEAT = 0x00000002, + ACTOR_DECORATION_SEEING_STARS = 0x00000003, + ACTOR_DECORATION_RED_FLAMES = 0x00000004, + ACTOR_DECORATION_GREY_SMOKE_TRAIL = 0x00000005, + ACTOR_DECORATION_FIRE_SMOKE_TRAIL = 0x00000006, + ACTOR_DECORATION_WHIRLWIND = 0x00000007, + ACTOR_DECORATION_STEAM_EMITTER = 0x00000008, + ACTOR_DECORATION_SPARKLES = 0x00000009, + ACTOR_DECORATION_BOWSER_AURA = 0x0000000A, + ACTOR_DECORATION_RADIAL_STAR_EMITTER = 0x0000000B, }; enum Phases { @@ -2209,27 +2225,38 @@ enum StatusKeys { STATUS_TURN_MOD_STOP = 0x00000029, }; -enum PaletteShifts { - PAL_ADJUST_NONE = 0, - PAL_ADJUST_SLEEP = 3, - PAL_ADJUST_STATIC = 4, - PAL_ADJUST_FEAR = 5, // darker - PAL_ADJUST_POISON = 6, - PAL_ADJUST_PARALYZE = 7, - PAL_ADJUST_BERSERK = 8, - PAL_ADJUST_WATT_IDLE = 9, - PAL_ADJUST_WATT_ATTACK = 10, - PAL_ADJUST_PLAYER_DEBUFF = 12, - PAL_ADJUST_PLAYER_POISON = 13, - PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS = 14, - PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS = 15, - PAL_ADJUST_BLEND_PALSETS = 16, +enum ActorPaletteAdjustments { + ACTOR_PAL_ADJUST_NONE = 0, + ACTOR_PAL_ADJUST_SLEEP = 3, + ACTOR_PAL_ADJUST_STATIC = 4, + ACTOR_PAL_ADJUST_FEAR = 5, // darker + ACTOR_PAL_ADJUST_POISON = 6, + ACTOR_PAL_ADJUST_PARALYZE = 7, + ACTOR_PAL_ADJUST_BERSERK = 8, + ACTOR_PAL_ADJUST_WATT_IDLE = 9, + ACTOR_PAL_ADJUST_WATT_ATTACK = 10, + ACTOR_PAL_ADJUST_PLAYER_DEBUFF = 12, + ACTOR_PAL_ADJUST_PLAYER_POISON = 13, + ACTOR_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS = 14, + ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS = 15, + ACTOR_PAL_ADJUST_BLEND_PALSETS = 16, }; -// func_80266EE8 -enum { - UNK_PAL_EFFECT_0 = 0, - UNK_PAL_EFFECT_11 = 11, +enum GlowPaletteModes { + GLOW_PAL_OFF = 0, + GLOW_PAL_ON = 11, +}; + +enum ActorPartFlashState { + FLASH_MODE_LIGHT = 0, + FLASH_MODE_MEDIUM = 1, + FLASH_MODE_HEAVY = 2, + FLASH_MODE_DISPOSE = 3, +}; + +enum FlashPaletteModes { + FLASH_PAL_OFF = 0, + FLASH_PAL_ON = -1, }; enum DoorSwing { @@ -2360,8 +2387,8 @@ typedef enum ScreenOverlayType { OVERLAY_WORLD_DARKNESS = 11, OVERLAY_BLUR = 12, OVERLAY_BATTLE_DARKNESS = 13, - OVERLAY_UNUSED_1 = 14, - OVERLAY_UNUSED_2 = 15, + OVERLAY_INTRO_1 = 14, + OVERLAY_INTRO_2 = 15, } ScreenOverlayType; enum DoorSounds { @@ -2494,6 +2521,15 @@ enum NpcIDs { NPC_BTL_SPIRIT = 100, }; +enum ShadowType { + SHADOW_VARYING_CIRCLE = 0, + SHADOW_VARYING_SQUARE = 1, + SHADOW_FIXED_CIRCLE = 2, + SHADOW_FIXED_SQUARE = 3, + SHADOW_VARYING_ALT_CIRCLE = 4, // unused? + SHADOW_FIXED_ALT_CIRCLE = 5, // unused? +}; + enum EntityTypes { ENTITY_TYPE_SHADOW = 0x01, ENTITY_TYPE_2 = 0x02, @@ -2575,7 +2611,7 @@ enum EntityFlags { ENTITY_FLAG_HAS_SHADOW = 0x00000100, ENTITY_FLAG_FIXED_SHADOW_SIZE = 0x00000200, ENTITY_FLAG_400 = 0x00000400, - ENTITY_FLAG_SQUARE_SHADOW = 0x00000800, + ENTITY_FLAG_CIRCULAR_SHADOW = 0x00000800, ENTITY_FLAG_SHOWS_INSPECT_PROMPT = 0x00001000, ENTITY_FLAG_ALWAYS_FACE_CAMERA = 0x00002000, ENTITY_FLAG_4000 = 0x00004000, @@ -2856,7 +2892,7 @@ enum EventSupressFlags { SUPPRESS_EVENT_SPIKY_FRONT = 0x4, SUPPRESS_EVENT_SHOCK_CONTACT = 0x8, SUPPRESS_EVENT_BURN_CONTACT = 0x10, - SUPPRESS_EVENT_FLAG_80 = 0x80, // supresses events associated with ACTOR_EVENT_FLAG_200000 used by pokeys and spinies + SUPPRESS_EVENT_ALT_SPIKY = 0x80, SUPPRESS_EVENT_FLAG_200 = 0x200, // unused? SUPPRESS_EVENT_ALL = 0xFFFF, SUPPRESS_EVENT_FLAG_10000 = 0x10000, // usage is a bug? @@ -3010,7 +3046,7 @@ enum PlayerStatusFlags { /* Mario just interacted with something (usually cleared on the same frame) */ PS_FLAG_INTERACTED = 0x08000000, /* Makes Mario face forwards, used when talking to NPCs, or when on Lakilester */ - PS_FLAG_FACE_FORWARDS = 0x10000000, + PS_FLAG_FACE_FORWARD = 0x10000000, /* Freezes physics and animations - is usually reset at the start of a frame so often does nothing */ PS_FLAG_TIME_STOPPED = 0x20000000, /* Indicates that Mario needs his sprite redrawn */ @@ -3042,7 +3078,6 @@ enum PlayerStatusAnimFlags { /* Began an encounter by spinning into an enemy with the Dizzy Attack badge on */ PA_FLAG_DIZZY_ATTACK_ENCOUNTER = 0x00020000, PA_FLAG_INTERRUPT_SPIN = 0x00040000, - PA_FLAG_80000 = 0x00080000, /* When Mario is in a transition to a new map, either through a loading zone or pipe */ PA_FLAG_CHANGING_MAP = 0x00100000, /* Occurs after PA_FLAG_FORCE_USE_PARTNER. Some partners - namely Bow and Lakilester, unset this immediately. @@ -3052,9 +3087,6 @@ enum PlayerStatusAnimFlags { PA_FLAG_ABORT_PUSHING_BLOCK = 0x00800000, /* Changes how Mario is rendered. Seems to be intended to make Mario's depth render properly when using Bow behind a switch (two translucent objects on top of eachother), but it doesn't actually work. */ PA_FLAG_MAP_HAS_SWITCH = 0x01000000, - PA_FLAG_2000000 = 0x02000000, - PA_FLAG_4000000 = 0x04000000, - PA_FLAG_8000000 = 0x08000000, /* Usually, if Mario falls for too long, he eventually gets reset to his last safe position. This prevents that. Used by some scripts. */ PA_FLAG_NO_OOB_RESPAWN = 0x10000000, /* This allows dismounting from Lakilester, even if in a precarious situation (like over spikes, lava, or water). */ @@ -3250,110 +3282,75 @@ enum RenderTaskFlags { RENDER_TASK_FLAG_20 = 0x20, }; +// same as ActorPartFlags, kept separate for clarity enum ActorFlags { - ACTOR_FLAG_DISABLED = 0x00000001, ///< Disables the actor. - ACTOR_FLAG_2 = 0x00000002, - ACTOR_FLAG_NO_SHADOW = 0x00000004, ///< Hide shadow. - ACTOR_FLAG_8 = 0x00000008, - ACTOR_FLAG_10 = 0x00000010, - ACTOR_FLAG_20 = 0x00000020, - ACTOR_FLAG_40 = 0x00000040, - ACTOR_FLAG_80 = 0x00000080, - ACTOR_FLAG_100 = 0x00000100, - ACTOR_FLAG_FLYING = 0x00000200, ///< Quake Hammer can't hit. - ACTOR_FLAG_FLIPPED = 0x00000400, ///< Actor has been flipped over. - ACTOR_FLAG_UPSIDE_DOWN = 0x00000800, ///< HP bar offset below actor (e.g. Swooper when upside-down). - ACTOR_FLAG_TYPE_CHANGED = 0x00001000, ///< Indicates actors type has changed, triggers recheck for if HP bar should be shown based on tattle status. - ACTOR_FLAG_2000 = 0x00002000, - ACTOR_FLAG_TARGET_ONLY = 0x00004000, ///< Battle ends even if undefeated. No turn. - ACTOR_FLAG_HALF_HEIGHT = 0x00008000, - ACTOR_FLAG_10000 = 0x00010000, - ACTOR_FLAG_20000 = 0x00020000, - ACTOR_FLAG_NO_HEALTH_BAR = 0x00040000, // Health bar is not shown for this actor type - ACTOR_FLAG_HEALTH_BAR_HIDDEN = 0x00080000, // Health bar is temporarily hidden - ACTOR_FLAG_100000 = 0x00100000, - ACTOR_FLAG_NO_ATTACK = 0x00200000, ///< Skip attack turn. - ACTOR_FLAG_NO_DMG_APPLY = 0x00400000, ///< Damage is not applied to actor HP. - ACTOR_FLAG_800000 = 0x00800000, - ACTOR_FLAG_1000000 = 0x01000000, // Enraged? Only used for Super Blooper. - ACTOR_FLAG_NO_DMG_POPUP = 0x02000000, ///< Hide damage popup. - ACTOR_FLAG_4000000 = 0x04000000, - ACTOR_FLAG_8000000 = 0x08000000, - ACTOR_FLAG_BLUR_ENABLED = 0x10000000, - ACTOR_FLAG_20000000 = 0x20000000, - ACTOR_FLAG_40000000 = 0x40000000, - ACTOR_FLAG_80000000 = 0x80000000, + ACTOR_FLAG_INVISIBLE = 0x00000001, ///< Actor is not rendered. + ACTOR_FLAG_NO_SHADOW = 0x00000004, ///< Hide shadow. + ACTOR_FLAG_LOW_PRIORITY_TARGET = 0x00000010, // only usable with ACTOR_FLAG_TARGET_ONLY, treats the target's sort position as off-stage to the right + ACTOR_FLAG_MINOR_TARGET = 0x00000040, // ignored by moves using TARGET_FLAG_PRIMARY_ONLY (unused) + ACTOR_FLAG_NO_TATTLE = 0x00000080, + ACTOR_FLAG_FLYING = 0x00000200, ///< Quake Hammer can't hit. + ACTOR_FLAG_FLIPPED = 0x00000400, ///< Actor has been flipped over. + ACTOR_FLAG_UPSIDE_DOWN = 0x00000800, ///< HP bar offset below actor (e.g. Swooper when upside-down). + ACTOR_FLAG_TYPE_CHANGED = 0x00001000, ///< Indicates actors type has changed, triggers recheck for if HP bar should be shown based on tattle status. + ACTOR_FLAG_DAMAGE_IMMUNE = 0x00002000, // prevents hits from items, chill out, and up & away + ACTOR_FLAG_TARGET_ONLY = 0x00004000, ///< Battle ends even if undefeated. No turn. + ACTOR_FLAG_HALF_HEIGHT = 0x00008000, + ACTOR_FLAG_SKIP_TURN = 0x00010000, + ACTOR_FLAG_NO_HEALTH_BAR = 0x00040000, // Health bar is not shown for this actor type + ACTOR_FLAG_HEALTH_BAR_HIDDEN = 0x00080000, // Health bar is temporarily hidden + ACTOR_FLAG_NO_ATTACK = 0x00200000, ///< Skip attack turn. + ACTOR_FLAG_NO_DMG_APPLY = 0x00400000, ///< Damage is not applied to actor HP. + ACTOR_FLAG_NO_DMG_POPUP = 0x02000000, ///< Hide damage popup. + ACTOR_FLAG_USING_IDLE_ANIM = 0x04000000, + ACTOR_FLAG_SHOW_STATUS_ICONS = 0x08000000, + ACTOR_FLAG_BLUR_ENABLED = 0x10000000, + ACTOR_FLAG_NO_INACTIVE_ANIM = 0x20000000, // only used for player Actor }; +// same as ActorFlags, kept separate for clarity enum ActorPartFlags { ACTOR_PART_FLAG_INVISIBLE = 0x00000001, - ACTOR_PART_FLAG_2 = 0x00000002, - ACTOR_PART_FLAG_4 = 0x00000004, - ACTOR_PART_FLAG_8 = 0x00000008, - ACTOR_PART_FLAG_10 = 0x00000010, - ACTOR_PART_FLAG_20 = 0x00000020, - ACTOR_PART_FLAG_40 = 0x00000040, - ACTOR_PART_FLAG_80 = 0x00000080, + ACTOR_PART_FLAG_NO_DECORATIONS = 0x00000002, + ACTOR_PART_FLAG_NO_SHADOW = 0x00000004, + ACTOR_PART_FLAG_DEFAULT_TARGET = 0x00000008, // Part will be the default selected target for player. + ACTOR_PART_FLAG_IGNORE_BELOW_CHECK = 0x00000020, // ignore below check while targeting + ACTOR_PART_FLAG_MINOR_TARGET = 0x00000040, // ignored by moves using TARGET_FLAG_PRIMARY_ONLY (unused) + ACTOR_PART_FLAG_NO_TATTLE = 0x00000080, ACTOR_PART_FLAG_TRANSPARENT = 0x00000100, - ACTOR_PART_FLAG_200 = 0x00000200, - ACTOR_PART_FLAG_400 = 0x00000400, - ACTOR_PART_FLAG_800 = 0x00000800, - ACTOR_PART_FLAG_1000 = 0x00001000, - ACTOR_PART_FLAG_2000 = 0x00002000, ///< electrified Plays extra hurt SFX? - ACTOR_PART_FLAG_4000 = 0x00004000, - ACTOR_PART_FLAG_8000 = 0x00008000, - ACTOR_PART_FLAG_10000 = 0x00010000, + ACTOR_PART_FLAG_DAMAGE_IMMUNE = 0x00002000, ///< electrified Plays extra hurt SFX? + ACTOR_PART_FLAG_TARGET_ONLY = 0x00004000, // Has no effect on ActorPart. Use the ACTOR_FLAG on Actor instead. ACTOR_PART_FLAG_NO_TARGET = 0x00020000, ///< Cannot be targeted. - ACTOR_PART_FLAG_40000 = 0x00040000, - ACTOR_PART_FLAG_80000 = 0x00080000, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION = 0x00100000, - ACTOR_PART_FLAG_200000 = 0x00200000, - ACTOR_PART_FLAG_400000 = 0x00400000, - ACTOR_PART_FLAG_MULTI_TARGET = 0x00800000, ///< Can be targeted with multi-target attacks (e.g. Star Storm). + ACTOR_PART_FLAG_PRIMARY_TARGET = 0x00800000, // Multi-target attacks will target this part of an Actor with multiple parts. ACTOR_PART_FLAG_HAS_PAL_EFFECT = 0x01000000, - ACTOR_PART_FLAG_2000000 = 0x02000000, - ACTOR_PART_FLAG_4000000 = 0x04000000, - ACTOR_PART_FLAG_8000000 = 0x08000000, - ACTOR_PART_FLAG_10000000 = 0x10000000, - ACTOR_PART_FLAG_20000000 = 0x20000000, - ACTOR_PART_FLAG_40000000 = 0x40000000, - ACTOR_PART_FLAG_80000000 = 0x80000000, + ACTOR_PART_FLAG_NO_STATUS_ANIMS = 0x20000000, // Do not update idle animation based on Actor status + ACTOR_PART_FLAG_SKIP_SHOCK_EFFECT = 0x40000000, // Do not apply a shock effect to this ActorPart when its Actor is shocked + ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC = 0x80000000, // Do not allocate ActorPartMovement for this ActorPart }; enum ActorEventFlags { ACTOR_EVENT_FLAGS_NONE = 0x00000000, - ACTOR_EVENT_FLAG_1 = 0x00000001, ACTOR_EVENT_FLAG_FIREY = 0x00000002, ///< Player takes burn damage upon contact. - ACTOR_EVENT_FLAG_4 = 0x00000004, ACTOR_EVENT_FLAG_ICY = 0x00000008, ///< No known effect, but is used. ACTOR_EVENT_FLAG_SPIKY_TOP = 0x00000010, ///< Player takes spike damage from jump attacks. ACTOR_EVENT_FLAG_ILLUSORY = 0x00000020, ///< Player attacks pass through and miss. - ACTOR_EVENT_FLAG_40 = 0x00000040, ACTOR_EVENT_FLAG_ELECTRIFIED = 0x00000080, ///< Player takes shock damage upon contact. - ACTOR_EVENT_FLAG_100 = 0x00000100, + ACTOR_EVENT_FLAG_MONSTAR = 0x00000100, ///< Set by Monstar, but has no effect ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION = 0x00000200, ///< Blast and fire attacks trigger an explosion. ACTOR_EVENT_FLAG_FIRE_EXPLODE = 0x00000400, ///< Fire attacks trigger an explosion, used only by bullet/bombshell bills. - ACTOR_EVENT_FLAG_800 = 0x00000800, + ACTOR_EVENT_FLAG_BURIED = 0x00000800, ///< Actor can only by hit by quake-element attacks. ACTOR_EVENT_FLAG_FLIPABLE = 0x00001000, ///< Actor can be flipped; triggered by jump and quake attacks. - ACTOR_EVENT_FLAG_2000 = 0x00002000, + ACTOR_EVENT_FLAG_EXTREME_DEFENSE = 0x00002000, ///< Actor has 127 extra defense during damage calculation, unaffected by IGNORE_DEFENSE. ACTOR_EVENT_FLAG_GROUNDABLE = 0x00004000, ///< Actor can be knocked down from flight; triggered by jump attacks. - ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT = 0x00008000, + ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT = 0x00008000, ///< Attacks that contact will trigger an explosion. ACTOR_EVENT_FLAG_SPIKY_FRONT = 0x00010000, ///< Player takes spike damage from hammer attacks. - ACTOR_EVENT_FLAG_20000 = 0x00020000, ACTOR_EVENT_FLAG_ENCHANTED = 0x00040000, ///< Actor glows and listens for the Star Beam event. ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED = 0x00080000, ///< Actor glows and listens for Star Beam and Peach Beam events. ACTOR_EVENT_FLAG_POWER_BOUNCE = 0x00100000, ///< Actor listens for Power Bounce events. - ACTOR_EVENT_FLAG_200000 = 0x00200000, + ACTOR_EVENT_FLAG_ALT_SPIKY = 0x00200000, ///< Additional spiky quality associated with Pokeys and Spinies ACTOR_EVENT_FLAG_ATTACK_CHARGED = 0x00400000, ///< Actor has charged an attack that can be removed with Star Beam. ACTOR_EVENT_FLAG_RIDING_BROOMSTICK = 0x00800000, ///< Actor is on Magikoopa Broomstick, effect seems to be redundant. - ACTOR_EVENT_FLAG_1000000 = 0x01000000, - ACTOR_EVENT_FLAG_2000000 = 0x02000000, - ACTOR_EVENT_FLAG_4000000 = 0x04000000, - ACTOR_EVENT_FLAG_8000000 = 0x08000000, - ACTOR_EVENT_FLAG_10000000 = 0x10000000, - ACTOR_EVENT_FLAG_20000000 = 0x20000000, - ACTOR_EVENT_FLAG_40000000 = 0x40000000, - ACTOR_EVENT_FLAG_80000000 = 0x80000000, }; enum PartnerWishAnims { @@ -3508,36 +3505,19 @@ enum DemoFlags { DEMO_BTL_FLAG_40 = 0x40, }; +enum IntroParts { + INTRO_PART_0 = 0, + INTRO_PART_1 = 1, + INTRO_PART_5 = 5, + INTRO_PART_100 = 100, + INTRO_PART_NONE = -1, +}; + enum MapLoadType { LOAD_FROM_MAP = 0, LOAD_FROM_FILE_SELECT = 1, }; -enum IntroStates { - INTRO_STATE_0 = 0x00000000, - INTRO_STATE_1 = 0x00000001, - INTRO_STATE_2 = 0x00000002, - INTRO_STATE_3 = 0x00000003, - INTRO_STATE_4 = 0x00000004, - INTRO_STATE_5 = 0x00000005, - INTRO_STATE_6 = 0x00000006, - INTRO_STATE_7 = 0x00000007, - INTRO_STATE_8 = 0x00000008, - INTRO_STATE_9 = 0x00000009, - INTRO_STATE_A = 0x0000000A, - INTRO_STATE_B = 0x0000000B, - INTRO_STATE_C = 0x0000000C, - INTRO_STATE_D = 0x0000000D, - INTRO_STATE_E = 0x0000000E, - INTRO_STATE_F = 0x0000000F, - INTRO_STATE_10 = 0x00000010, - INTRO_STATE_11 = 0x00000011, - INTRO_STATE_12 = 0x00000012, - INTRO_STATE_13 = 0x00000013, - INTRO_STATE_14 = 0x00000014, - INTRO_STATE_15 = 0x00000015, -}; - enum BattleStatusFlags1 { BS_FLAGS1_ACTORS_VISIBLE = 0x00000001, BS_FLAGS1_MENU_OPEN = 0x00000002, @@ -3574,23 +3554,21 @@ enum BattleStatusFlags1 { }; enum BattleStatusFlags2 { - BS_FLAGS2_1 = 0x00000001, - BS_FLAGS2_2 = 0x00000002, - BS_FLAGS2_4 = 0x00000004, + BS_FLAGS2_AWARDING_STAR_POINTS = 0x00000001, // star points move to the center of the screen + BS_FLAGS2_PLAYER_TURN_USED = 0x00000002, // set after player has used their action for this turn + BS_FLAGS2_PARTNER_TURN_USED = 0x00000004, // set after partner has used their action for this turn BS_FLAGS2_8 = 0x00000008, BS_FLAGS2_10 = 0x00000010, BS_FLAGS2_CANT_FLEE = 0x00000020, BS_FLAGS2_PEACH_BATTLE = 0x00000040, - BS_FLAGS2_80 = 0x00000080, - BS_FLAGS2_100 = 0x00000100, // dont decrement turbo charge on begin player turn - BS_FLAGS2_200 = 0x00000200, + BS_FLAGS2_STORED_TURBO_CHARGE_TURN = 0x00000100, // prevents turbo charge turns from decrementing on begin player turn + BS_FLAGS2_DOING_JUMP_TUTORIAL = 0x00000200, BS_FLAGS2_400 = 0x00000400, - BS_FLAGS2_800 = 0x00000800, BS_FLAGS2_NO_TARGET_AVAILABLE = 0x00001000, - BS_FLAGS2_4000 = 0x00004000, + BS_FLAGS2_IGNORE_DARKNESS = 0x00004000, BS_FLAGS2_10000 = 0x00010000, - BS_FLAGS2_100000 = 0x00100000, - BS_FLAGS2_1000000 = 0x01000000, // possible IS_FIRST_STRIKE + BS_FLAGS2_NO_PLAYER_PAL_ADJUST = 0x00100000, + BS_FLAGS2_IS_FIRST_STRIKE = 0x01000000, BS_FLAGS2_DONT_STOP_MUSIC = 0x02000000, // don't stop playing the current song when the battle ends BS_FLAGS2_HAS_DRAINED_HP = 0x04000000, BS_FLAGS2_HAS_RUSH = 0x08000000, @@ -3971,8 +3949,8 @@ enum BattlePartnerMenuSubstates { BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_4 = 5, BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_5 = 6, BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_6 = 7, - BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_7 = 8, - BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_8 = 9, + BTL_SUBSTATE_PARTNER_MENU_MAIN_SHOW_CANT_SWAP = 8, + BTL_SUBSTATE_PARTNER_MENU_MAIN_AWAIT_CANT_SWAP = 9, // Abilities BTL_SUBSTATE_PARTNER_MENU_ABILITIES_1 = 10, BTL_SUBSTATE_PARTNER_MENU_ABILITIES_2 = 11, @@ -4030,91 +4008,102 @@ enum BattlePartnerMenuSubstates { }; enum BattleMessages { - BTL_MSG_MERLEE_ATK_UP = 0x00, - BTL_MSG_MERLEE_DEF_UP = 0x01, - BTL_MSG_MERLEE_EXP_UP = 0x02, - BTL_MSG_MERLEE_DONE = 0x03, - BTL_MSG_CHARGE_HAMMER = 0x04, - BTL_MSG_CHARGE_HAMMER_MORE = 0x05, - BTL_MSG_CHARGE_JUMP = 0x06, - BTL_MSG_CHARGE_JUMP_MORE = 0x07, - BTL_MSG_CANT_CHARGE = 0x08, - BTL_MSG_ENEMY_MISSED = 0x09, - BTL_MSG_PLAYER_DAZED = 0x0A, - BTL_MSG_PLAYER_ASLEEP = 0x0B, - BTL_MSG_PLAYER_FROZEN = 0x0C, - BTL_MSG_PLAYER_POISONED = 0x0D, - BTL_MSG_PLAYER_SHRUNK = 0x0E, - BTL_MSG_PLAYER_PARALYZED = 0x0F, - BTL_MSG_PLAYER_CHARGED = 0x10, - BTL_MSG_PLAYER_TRANSPARENT = 0x11, - BTL_MSG_ENEMY_DAZED = 0x12, - BTL_MSG_ENEMY_ASLEEP = 0x13, - BTL_MSG_ENEMY_FROZEN = 0x14, - BTL_MSG_ENEMY_POISONED = 0x15, - BTL_MSG_ENEMY_SHRUNK = 0x16, - BTL_MSG_ENEMY_PARALYZED = 0x17, - BTL_MSG_ENEMY_ELECTRIFIED = 0x18, - BTL_MSG_ENEMY_CANT_MOVE = 0x19, - BTL_MSG_STAR_POWER_RECHARGED = 0x1A, - BTL_MSG_STAR_POWER_MAXED = 0x1B, - BTL_MSG_STAR_POWER_FILLED = 0x1C, - BTL_MSG_ATTACK_UP = 0x1D, - BTL_MSG_DEFENCE_UP = 0x1E, - BTL_MSG_HEAL_ONE = 0x1F, - BTL_MSG_HEAL_ALL = 0x20, - BTL_MSG_ENEMY_TRANSPARENT = 0x21, - BTL_MSG_ENEMY_CHARGED = 0x22, - BTL_MSG_PARTNER_INJURED = 0x23, - BTL_MSG_CHARGE_GOOMBARIO = 0x24, - BTL_MSG_CHARGE_GOOMBARIO_MORE = 0x25, - BTL_MSG_WATER_BLOCK_BEGIN = 0x26, - BTL_MSG_WATER_BLOCK_END = 0x27, - BTL_MSG_CLOUD_NINE_BEGIN = 0x28, - BTL_MSG_CLOUD_NINE_END = 0x29, - BTL_MSG_TURBO_CHARGE_BEGIN = 0x2A, - BTL_MSG_TURBO_CHARGE_END = 0x2B, - BTL_MSG_CHILL_OUT_BEGIN = 0x2C, - BTL_MSG_UNUSED_CLOUD_NINE = 0x2D, - BTL_MSG_ACTION_TIP_00 = 0x2E, - BTL_MSG_ACTION_TIP_01 = 0x2F, - BTL_MSG_ACTION_TIP_02 = 0x30, - BTL_MSG_ACTION_TIP_03 = 0x31, - BTL_MSG_ACTION_TIP_04 = 0x32, - BTL_MSG_ACTION_TIP_05 = 0x33, - BTL_MSG_ACTION_TIP_06 = 0x34, - BTL_MSG_ACTION_TIP_07 = 0x35, - BTL_MSG_ACTION_TIP_08 = 0x36, - BTL_MSG_ACTION_TIP_09 = 0x37, - BTL_MSG_ACTION_TIP_0A = 0x38, - BTL_MSG_ACTION_TIP_0B = 0x39, - BTL_MSG_ACTION_TIP_0C = 0x3A, - BTL_MSG_ACTION_TIP_0D = 0x3B, - BTL_MSG_ACTION_TIP_0E = 0x3C, - BTL_MSG_ACTION_TIP_0F = 0x3D, - BTL_MSG_ACTION_TIP_10 = 0x3E, - BTL_MSG_ACTION_TIP_11 = 0x3F, - BTL_MSG_ACTION_TIP_12 = 0x40, - BTL_MSG_ACTION_TIP_13 = 0x41, - BTL_MSG_ACTION_TIP_14 = 0x42, - BTL_MSG_NO_JUMP_TARGET = 0x43, - BTL_MSG_NO_HAMMER_TARGET = 0x44, - BTL_MSG_NO_ITEM_TARGET = 0x45, - BTL_MSG_46 = 0x46, - BTL_MSG_47 = 0x47, - BTL_MSG_CANT_SELECT_NOW = 0x48, - BTL_MSG_HAMMER_DISABLED_1 = 0x49, - BTL_MSG_HAMMER_DISABLED_2 = 0x4A, - BTL_MSG_HAMMER_DISABLED_3 = 0x4B, - BTL_MSG_JUMP_DISABLED_1 = 0x4C, - BTL_MSG_JUMP_DISABLED_2 = 0x4D, - BTL_MSG_JUMP_DISABLED_3 = 0x4E, - BTL_MSG_ITEMS_DISABLED = 0x4F, - BTL_MSG_CANT_SWITCH = 0x50, - BTL_MSG_CANT_MOVE = 0x51, - BTL_MSG_CANT_SWITCH_UNUSED = 0x52, - BTL_MSG_CANT_MOVE_UNUSED = 0x53, - BTL_MSG_CANT_SELECT_NOW_ALT = 0x54, + BTL_MSG_MERLEE_ATK_UP = 0x00, + BTL_MSG_MERLEE_DEF_UP = 0x01, + BTL_MSG_MERLEE_EXP_UP = 0x02, + BTL_MSG_MERLEE_DONE = 0x03, + BTL_MSG_CHARGE_HAMMER = 0x04, + BTL_MSG_CHARGE_HAMMER_MORE = 0x05, + BTL_MSG_CHARGE_JUMP = 0x06, + BTL_MSG_CHARGE_JUMP_MORE = 0x07, + BTL_MSG_CANT_CHARGE = 0x08, + BTL_MSG_ENEMY_MISSED = 0x09, + BTL_MSG_PLAYER_DAZED = 0x0A, + BTL_MSG_PLAYER_ASLEEP = 0x0B, + BTL_MSG_PLAYER_FROZEN = 0x0C, + BTL_MSG_PLAYER_POISONED = 0x0D, + BTL_MSG_PLAYER_SHRUNK = 0x0E, + BTL_MSG_PLAYER_PARALYZED = 0x0F, + BTL_MSG_PLAYER_CHARGED = 0x10, + BTL_MSG_PLAYER_TRANSPARENT = 0x11, + BTL_MSG_ENEMY_DAZED = 0x12, + BTL_MSG_ENEMY_ASLEEP = 0x13, + BTL_MSG_ENEMY_FROZEN = 0x14, + BTL_MSG_ENEMY_POISONED = 0x15, + BTL_MSG_ENEMY_SHRUNK = 0x16, + BTL_MSG_ENEMY_PARALYZED = 0x17, + BTL_MSG_ENEMY_ELECTRIFIED = 0x18, + BTL_MSG_ENEMY_CANT_MOVE = 0x19, + BTL_MSG_STAR_POWER_RECHARGED = 0x1A, + BTL_MSG_STAR_POWER_MAXED = 0x1B, + BTL_MSG_STAR_POWER_FILLED = 0x1C, + BTL_MSG_ATTACK_UP = 0x1D, + BTL_MSG_DEFENCE_UP = 0x1E, + BTL_MSG_HEAL_ONE = 0x1F, + BTL_MSG_HEAL_ALL = 0x20, + BTL_MSG_ENEMY_TRANSPARENT = 0x21, + BTL_MSG_ENEMY_CHARGED = 0x22, + BTL_MSG_PARTNER_INJURED = 0x23, + BTL_MSG_CHARGE_GOOMBARIO = 0x24, + BTL_MSG_CHARGE_GOOMBARIO_MORE = 0x25, + BTL_MSG_WATER_BLOCK_BEGIN = 0x26, + BTL_MSG_WATER_BLOCK_END = 0x27, + BTL_MSG_CLOUD_NINE_BEGIN = 0x28, + BTL_MSG_CLOUD_NINE_END = 0x29, + BTL_MSG_TURBO_CHARGE_BEGIN = 0x2A, + BTL_MSG_TURBO_CHARGE_END = 0x2B, + BTL_MSG_CHILL_OUT_BEGIN = 0x2C, + BTL_MSG_UNUSED_CLOUD_NINE = 0x2D, + BTL_MSG_FIRST_ACTION_TIP = 0x2E, + BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING = 0x2E, // jump moves, Sky Dive + BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED = 0x2F, // hammer moves, Belly Flop, Shell Toss + BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE = 0x30, // Headbonk and Multibonk + BTL_MSG_ACTION_TIP_MASH_BUTTON = 0x31, // Dizzy Shell, Power Shock, Air Lift, Bombette's moves + BTL_MSG_ACTION_TIP_MASH_LEFT = 0x32, // Fire Shell, Air Raid, Spiny Surge, Bow's moves + BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM = 0x33, // Shell Shot + BTL_MSG_ACTION_TIP_UNUSED_1 = 0x34, // unused + BTL_MSG_ACTION_TIP_UNUSED_2 = 0x35, // unused + BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN = 0x36, // Tidal Wave + BTL_MSG_ACTION_TIP_NOT_USED_1 = 0x37, // unused, special message + BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING = 0x38, // Turbo Charge, Water Block, Cloud Nine + BTL_MSG_ACTION_TIP_NOT_USED_2 = 0x39, // unused, special message + BTL_MSG_ACTION_TIP_MASH_BOTH = 0x3A, // Mega Shock and Hurricane + BTL_MSG_ACTION_TIP_UNUSED_3 = 0x3B, // unused + BTL_MSG_ACTION_TIP_HOLD_THEN_TAP = 0x3C, // Squirt + BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE = 0x3D, // Body Slam and Electro Dash + BTL_MSG_ACTION_TIP_MOVE_TO_AIM = 0x3E, // Spiny Flip + BTL_MSG_ACTION_TIP_UNUSED_4 = 0x3F, // unused + BTL_MSG_ACTION_TIP_BREAK_FREE = 0x40, // unused + BTL_MSG_ACTION_TIP_REDUCE_DAMAGE = 0x41, // unused + BTL_MSG_ACTION_TIP_NOT_USED_3 = 0x42, // Earthquake Jump + BTL_MSG_LAST_ACTION_TIP = 0x42, + BTL_MSG_NO_JUMP_TARGET = 0x43, + BTL_MSG_NO_HAMMER_TARGET = 0x44, + BTL_MSG_NO_ITEM_TARGET = 0x45, + BTL_MSG_46 = 0x46, + BTL_MSG_47 = 0x47, + BTL_MSG_CANT_SELECT_NOW = 0x48, + BTL_MSG_HAMMER_DISABLED_1 = 0x49, + BTL_MSG_HAMMER_DISABLED_2 = 0x4A, + BTL_MSG_HAMMER_DISABLED_3 = 0x4B, + BTL_MSG_JUMP_DISABLED_1 = 0x4C, + BTL_MSG_JUMP_DISABLED_2 = 0x4D, + BTL_MSG_JUMP_DISABLED_3 = 0x4E, + BTL_MSG_ITEMS_DISABLED = 0x4F, + BTL_MSG_CANT_SWITCH = 0x50, + BTL_MSG_CANT_MOVE = 0x51, + BTL_MSG_CANT_SWITCH_UNUSED = 0x52, + BTL_MSG_CANT_MOVE_UNUSED = 0x53, + BTL_MSG_CANT_SELECT_NOW_ALT = 0x54, +}; + +// states after INIT are different for each type of battle message +enum BattleMessageStates { + BTL_MSG_STATE_INIT = 0, + BTL_MSG_STATE_1 = 1, + BTL_MSG_STATE_2 = 2, + BTL_MSG_STATE_3 = 3, + BTL_MSG_STATE_4 = 4, }; // BattleMenuState @@ -4200,6 +4189,21 @@ enum BattleMenuDisableFlags { BTL_MENU_ENABLED_PARTNER_FOCUS = 1 << BTL_MENU_TYPE_PARTNER_FOCUS, }; +enum BattleRumbleModes { + BTL_RUMBLE_STOP = 0, + BTL_RUMBLE_LONG = 1, + BTL_RUMBLE_HIT_MIN = 2, + BTL_RUMBLE_HIT_LIGHT = 3, + BTL_RUMBLE_HIT_HEAVY = 4, + BTL_RUMBLE_HIT_EXTREME = 5, + BTL_RUMBLE_HIT_MAX = 6, + BTL_RUMBLE_PLAYER_MIN = 7, + BTL_RUMBLE_PLAYER_LIGHT = 8, + BTL_RUMBLE_PLAYER_HEAVY = 9, + BTL_RUMBLE_PLAYER_EXTREME = 10, + BTL_RUMBLE_PLAYER_MAX = 11, +}; + enum DebugEnemyContactModes { DEBUG_CONTACT_NONE = 0, // contact with enemies behaves normally DEBUG_CONTACT_CANT_TOUCH = 1, // enemies pass through the player and cannot start battles @@ -4208,6 +4212,12 @@ enum DebugEnemyContactModes { DEBUG_CONTACT_AUTO_FLEE = 4, // the player flees during BATTLE_STATE_BEGIN_TURN }; +enum DebugScriptstModes { + DEBUG_SCRIPTS_NONE = 0, + DEBUG_SCRIPTS_NO_UPDATE = 1, + DEBUG_SCRIPTS_BLOCK_FUNC_DONE = 2, +}; + enum DebuffTypes { DEBUFF_TYPE_SLEEP = 0x00001000, DEBUFF_TYPE_STATIC = 0x00002000, @@ -4224,7 +4234,7 @@ enum DebuffTypes { enum GlobalOverrides { GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD = 0x00000002, - GLOBAL_OVERRIDES_8 = 0x00000008, + GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME = 0x00000008, GLOBAL_OVERRIDES_10 = 0x00000010, GLOBAL_OVERRIDES_ENABLE_TRANSITION_STENCIL = 0x00000020, GLOBAL_OVERRIDES_40 = 0x00000040, @@ -4599,38 +4609,15 @@ enum CollisionChannels { }; enum CameraFlags { - CAMERA_FLAG_1 = 0x00000001, + CAMERA_FLAG_INITIALIZED = 0x00000001, CAMERA_FLAG_DISABLED = 0x00000002, CAMERA_FLAG_LEAD_PLAYER = 0x00000004, CAMERA_FLAG_SHAKING = 0x00000008, CAMERA_FLAG_ORTHO = 0x00000010, - CAMERA_FLAG_20 = 0x00000020, - CAMERA_FLAG_40 = 0x00000040, - CAMERA_FLAG_80 = 0x00000080, - CAMERA_FLAG_100 = 0x00000100, + CAMERA_FLAG_NO_DRAW = 0x00000080, CAMERA_FLAG_RENDER_ENTITIES = 0x00000200, CAMERA_FLAG_RENDER_MODELS = 0x00000400, - CAMERA_FLAG_800 = 0x00000800, - CAMERA_FLAG_1000 = 0x00001000, - CAMERA_FLAG_2000 = 0x00002000, - CAMERA_FLAG_4000 = 0x00004000, - CAMERA_FLAG_8000 = 0x00008000, - CAMERA_FLAG_10000 = 0x00010000, - CAMERA_FLAG_20000 = 0x00020000, - CAMERA_FLAG_40000 = 0x00040000, - CAMERA_FLAG_80000 = 0x00080000, - CAMERA_FLAG_100000 = 0x00100000, - CAMERA_FLAG_200000 = 0x00200000, - CAMERA_FLAG_400000 = 0x00400000, - CAMERA_FLAG_800000 = 0x00800000, - CAMERA_FLAG_1000000 = 0x01000000, - CAMERA_FLAG_2000000 = 0x02000000, - CAMERA_FLAG_4000000 = 0x04000000, - CAMERA_FLAG_8000000 = 0x08000000, - CAMERA_FLAG_10000000 = 0x10000000, - CAMERA_FLAG_20000000 = 0x20000000, - CAMERA_FLAG_40000000 = 0x40000000, - CAMERA_FLAG_80000000 = 0x80000000, + CAMERA_FLAG_SUPRESS_LEADING = 0x00001000, }; enum CameraMoveFlags { @@ -4775,31 +4762,6 @@ enum BattleCamYModes { BTL_CAM_MODEY_1 = 1, }; -enum MoveActionTips { - MOVE_ACTION_TIP_NONE = -1, - MOVE_ACTION_TIP_0 = 0, - MOVE_ACTION_TIP_1 = 1, - MOVE_ACTION_TIP_2 = 2, - MOVE_ACTION_TIP_3 = 3, - MOVE_ACTION_TIP_4 = 4, - MOVE_ACTION_TIP_5 = 5, - MOVE_ACTION_TIP_6 = 6, - MOVE_ACTION_TIP_7 = 7, - MOVE_ACTION_TIP_8 = 8, - MOVE_ACTION_TIP_9 = 9, - MOVE_ACTION_TIP_10 = 10, - MOVE_ACTION_TIP_11 = 11, - MOVE_ACTION_TIP_12 = 12, - MOVE_ACTION_TIP_13 = 13, - MOVE_ACTION_TIP_14 = 14, - MOVE_ACTION_TIP_15 = 15, - MOVE_ACTION_TIP_16 = 16, - MOVE_ACTION_TIP_17 = 17, - MOVE_ACTION_TIP_18 = 18, - MOVE_ACTION_TIP_19 = 19, - MOVE_ACTION_TIP_20 = 20 -}; - enum ModelAnimatorFlags { MODEL_ANIMATOR_FLAG_CAM_0 = 0x00000001, MODEL_ANIMATOR_FLAG_CAM_1 = 0x00000002, @@ -5789,7 +5751,7 @@ enum MsgStateFlags { MSG_STATE_FLAG_10 = 0x000010, MSG_STATE_FLAG_20 = 0x000020, MSG_STATE_FLAG_40 = 0x000040, - MSG_STATE_FLAG_80 = 0x000080, + MSG_STATE_FLAG_SPEAKING = 0x000080, // determines animation of speaker (talk vs idle) MSG_STATE_FLAG_PRINT_QUICKLY = 0x000100, MSG_STATE_FLAG_400 = 0x000400, MSG_STATE_FLAG_800 = 0x000800, @@ -5829,12 +5791,12 @@ enum MsgWindowStates { }; enum BackgroundFlags { - BACKGROUND_FLAG_TEXTURE = 0x01, - BACKGROUND_FLAG_FOG = 0x02, - BACKGROUND_RENDER_STATE_1 = 0x10, - BACKGROUND_RENDER_STATE_2 = 0x20, - BACKGROUND_RENDER_STATE_3 = 0x30, - BACKGROUND_RENDER_STATE_MASK = 0xF0, + BACKGROUND_FLAG_TEXTURE = 0x01, + BACKGROUND_FLAG_FOG = 0x02, + BACKGROUND_RENDER_STATE_BEGIN_PAUSED = 0x10, + BACKGROUND_RENDER_STATE_FILTER_PAUSED = 0x20, + BACKGROUND_RENDER_STATE_SHOW_PAUSED = 0x30, + BACKGROUND_RENDER_STATE_MASK = 0xF0, }; enum FogModes { diff --git a/include/functions.h b/include/functions.h index 8171596f79..3f65633514 100644 --- a/include/functions.h +++ b/include/functions.h @@ -54,9 +54,9 @@ s32 is_picking_up_item(void); f32 integrate_gravity(void); void gravity_use_fall_parms(void); f32 get_clamped_angle_diff(f32, f32); -s32 intro_logos_fade_in(s16 subtractAlpha); -s32 intro_logos_fade_out(s16 addAlpha); -void intro_logos_update_fade(void); +b32 startup_fade_screen_in(s16 subtractAlpha); +b32 startup_fade_screen_out(s16 addAlpha); +void startup_fade_screen_update(void); u32 get_entity_type(s32 arg0); Entity* get_entity_by_index(s32 index); @@ -216,7 +216,6 @@ void set_time_freeze_mode(s32); s32 get_map_IDs_by_name(const char* mapName, s16* areaID, s16* mapID); -void get_dpad_input_radial(f32* angle, f32* magnitude); void transform_point(Matrix4f mtx, f32 inX, f32 inY, f32 inZ, f32 inS, f32* outX, f32* outY, f32* outZ, f32* outW); void try_player_footstep_sounds(s32 arg0); void phys_update_interact_collider(void); @@ -267,7 +266,7 @@ f32 atan2(f32 startX, f32 startZ, f32 endX, f32 endZ); f32 clamp_angle(f32 theta); s32 sign(s32 value); -s32 game_scripts_disabled(void); +b32 check_player_action_debug(void); s32 battle_heap_create(void); @@ -280,8 +279,8 @@ s32 test_ray_entities(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f3 void mem_clear(void* data, s32 numBytes); -void intro_logos_set_fade_color(s16 color); -void intro_logos_set_fade_alpha(s16 alpha); +void startup_set_fade_screen_color(s16 color); +void startup_set_fade_screen_alpha(s16 alpha); f32 get_xz_dist_to_player(f32, f32); void func_800E06C0(s32); @@ -373,7 +372,7 @@ void btl_draw_upgrade_windows(s32); void btl_state_draw_celebration(void); void btl_bonk_cleanup(void); -void func_80263E08(Actor*, ActorPart*, AnimID); +void set_actor_anim_by_ref(Actor*, ActorPart*, AnimID); void update_action_ratings(void); void update_health_bars(void); s32 btl_cam_is_moving_done(void); @@ -381,7 +380,7 @@ void btl_popup_messages_update(void); void btl_popup_messages_draw_world_geometry(void); void func_80255FD8(void); -void func_80266EE8(Actor* actor, s32 arg1); +void set_actor_pal_effect(Actor* actor, s32 arg1); void btl_set_popup_duration(s32 duration); void switch_to_partner(s32 arg0); @@ -443,8 +442,8 @@ void set_npc_shadow_scale(Shadow* shadow, f32 height, f32 npcRadius); void set_npc_animation(Npc* npc, u32 animID); void set_peach_shadow_scale(Shadow* shadow, f32 scale); s32 is_block_on_ground(Entity* block); -void set_animation(s32 actorID, s32 partID, AnimID animID); -void set_animation_rate(s32 actorID, s32 partID, f32 rate); +void set_actor_anim(s32 actorID, s32 partID, AnimID animID); +void set_actor_anim_rate(s32 actorID, s32 partID, f32 rate); void set_model_group_visibility(u16, s32, s32); void init_enter_world_shared(void); s16 update_enter_map_screen_overlay(s16* progress); @@ -503,8 +502,8 @@ void disable_player_shadow(void); void move_player(s32 duration, f32 heading, f32 speed); s32 enable_player_input(void); s32 enable_player_static_collisions(void); -s32 check_input_jump(void); -s32 check_input_hammer(void); +b32 check_input_jump(void); +b32 check_input_hammer(void); Npc* resolve_npc(Evt* script, s32 npcIdOrPtr); void enable_npc_blur(Npc* npc); @@ -541,8 +540,8 @@ void basic_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* void basic_hidden_window_update(s32 windowIndex, s32* flags, s32* posX, s32* posY, s32* posZ, f32* scaleX, f32* scaleY, f32* rotX, f32* rotY, f32* rotZ, s32* darkening, s32* opacity); -void player_create_target_list(Actor* actor); -void enemy_create_target_list(Actor* actor); +void create_current_pos_target_list(Actor* actor); +void create_home_target_list(Actor* actor); void set_actor_yaw(s32 actorID, s32 yaw); void set_part_yaw(s32 actorID, s32 partID, s32 value); @@ -796,9 +795,9 @@ void basic_ai_loiter_init(Evt* script, MobileAISettings* aiSettings, EnemyDetect void PatrolAI_LoiterInit(Evt* script, MobileAISettings* aiSettings, EnemyDetectVolume* territory); s32 func_80263230(Actor*, Actor*); -void func_80266EA8(ActorPart*, s32); +void set_part_pal_effect(ActorPart*, s32); void func_80266E40(Actor*); -void func_80267018(Actor* actor, s32 arg1); +void set_actor_flash_mode(Actor* actor, s32 arg1); void remove_player_buffs(s32); s32 is_actor_health_bar_visible(Actor*); @@ -960,22 +959,23 @@ void disable_actor_blur(Actor*); void reset_actor_blur(Actor*); void enable_actor_blur(Actor*); void apply_shock_effect(Actor*); -void func_8025C8A0(s32, ActorPart*, s32 yaw, s32 arg3); -void func_8025CD28(s32, ActorPart*, s32 yaw, s32 arg3); +void part_glow_off(s32, ActorPart*, s32 yaw, b32 arg3); +void part_flash_off(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection); +void part_flash_on(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection); void _add_part_decoration(ActorPart*); void _remove_part_decoration(ActorPart* part, s32 decorationIndex); -void func_8025D158(ActorPart*, s32); -void func_8025D290(ActorPart*, s32); -void func_8025D3C4(ActorPart*, s32); -void func_8025D4A0(ActorPart*, s32); -void func_8025D620(ActorPart*, s32); -void func_8025D6FC(ActorPart*, s32); -void func_8025D810(ActorPart*, s32); -void func_8025D8EC(ActorPart*, s32); -void func_8025DA60(ActorPart*, s32); -void func_8025DBC8(ActorPart*, s32); -void func_8025DD40(ActorPart*, s32); -void func_8025DE88(ActorPart*, s32); +void remove_part_decor_none(ActorPart*, s32); +void remove_part_decor_golden_flames(ActorPart*, s32); +void remove_part_decor_sweat(ActorPart*, s32); +void remove_part_decor_seeing_stars(ActorPart*, s32); +void remove_part_decor_red_flames(ActorPart*, s32); +void remove_part_decor_smoky_trail(ActorPart*, s32); +void remove_part_decor_fiery_trail(ActorPart*, s32); +void remove_part_decor_whirlwind(ActorPart*, s32); +void remove_part_decor_steam(ActorPart*, s32); +void remove_part_decor_sparkles(ActorPart*, s32); +void remove_part_decor_bowser_aura(ActorPart*, s32); +void remove_part_decor_radiating_stars(ActorPart*, s32); void status_bar_ignore_changes(void); void imgfx_release_instance(u32); @@ -1035,7 +1035,7 @@ void func_80266970(Actor*); void show_actor_health_bar(Actor*); void hide_actor_health_bar(Actor*); void clear_part_pal_adjustment(ActorPart*); -void func_800E24F8(void); +void calculate_camera_yinterp_rate(void); void load_tattle_flags(s32); s32 use_consumable(s32 invSlot); void remove_consumable(void); @@ -1069,7 +1069,7 @@ void clear_sprite_shading_data(void); void clear_character_set(void); void clear_trigger_data(void); void clear_script_list(void); -void clear_entity_data(s32); +void clear_entity_data(b32); void clear_effect_data(void); void clear_saved_variables(void); diff --git a/include/macros.h b/include/macros.h index 22c7c2e120..46a7d68f3e 100644 --- a/include/macros.h +++ b/include/macros.h @@ -85,6 +85,7 @@ #define MAX_MAPVARS 16 #define MAX_MAPFLAGS 3 +#define MAX_ENEMY_ACTORS 24 #define MAX_ANIMATED_MODELS 16 #define MAX_ANIMATED_MESHES 16 @@ -142,6 +143,7 @@ #define SPR_PAL_SIZE 16 +#define BATTLE_ID_BIT 0x800 #define BATTLE_NPC_ID_BIT 0x800 #define BATTLE_ENTITY_ID_BIT 0x800 diff --git a/include/npc.h b/include/npc.h index d881890a13..1f006d4010 100644 --- a/include/npc.h +++ b/include/npc.h @@ -504,7 +504,7 @@ void npc_set_palswap_mode_A(Npc* npc, s32 arg1); void npc_set_palswap_mode_B(Npc* npc, s32 arg1); -void func_8003B420(Npc* npc); +void npc_revert_palswap_mode(Npc* npc); void npc_set_palswap_1(Npc* npc, s32 palIndexA, s32 palIndexB, s32 timeHoldA, s32 timeAB); @@ -512,15 +512,15 @@ void npc_set_palswap_2(Npc* npc, s32 timeHoldB, s32 timeBA, s32 palIndexC, s32 p void npc_draw_with_palswap(Npc* npc, s32 arg1, Matrix4f mtx); -void npc_draw_palswap_mode_0(Npc* npc, s32 arg1, Matrix4f mtx); +void npc_render_without_adjusted_palettes(Npc* npc, s32 arg1, Matrix4f mtx); -s32 npc_draw_palswap_mode_1(Npc*, s32, Matrix4f mtx); +s32 npc_render_with_watt_idle_palettes(Npc*, s32, Matrix4f mtx); u16 npc_blend_palette_colors(u16 colorA, u16 colorB, s32 lerpAlpha); -s32 npc_draw_palswap_mode_2(Npc*, s32, s32, Matrix4f mtx); +s32 npc_render_with_single_pal_blending(Npc*, s32, s32, Matrix4f mtx); -s32 npc_draw_palswap_mode_4(Npc*, s32, Matrix4f mtx); +s32 npc_render_with_double_pal_blending(Npc*, s32, Matrix4f mtx); void npc_set_decoration(Npc* npc, s32 idx, s32 decorationType); diff --git a/include/script_api/battle.h b/include/script_api/battle.h index 89995a4856..b6d778927b 100644 --- a/include/script_api/battle.h +++ b/include/script_api/battle.h @@ -50,8 +50,8 @@ ApiStatus MultiplyVec3ByActorScale(Evt* script, s32 isInitialCall); ApiStatus ApplyShrinkFromOwner(Evt* script, s32 isInitialCall); ApiStatus StartRumble(Evt* script, s32 isInitialCall); ApiStatus HasMerleeCastsLeft(Evt* script, s32 isInitialCall); -ApiStatus FXRecoverHP(Evt* script, s32 isInitialCall); -ApiStatus FXRecoverFP(Evt* script, s32 isInitialCall); +ApiStatus SpawnRecoverHeartFX(Evt* script, s32 isInitialCall); +ApiStatus SpawnRecoverFlowerFX(Evt* script, s32 isInitialCall); ApiStatus IncrementPlayerHP(Evt* script, s32 isInitialCall); ApiStatus IncrementPlayerFP(Evt* script, s32 isInitialCall); ApiStatus StartRumbleWithParams(Evt* script, s32 isInitialCall); @@ -67,7 +67,7 @@ ApiStatus SetIdleGoalToHome(Evt* script, s32 isInitialCall); ApiStatus SetGoalToIndex(Evt* script, s32 isInitialCall); ApiStatus GetIndexFromPos(Evt* script, s32 isInitialCall); ApiStatus GetIndexFromHome(Evt* script, s32 isInitialCall); -ApiStatus CountPlayerTargets(Evt* script, s32 isInitialCall); +ApiStatus CountTargets(Evt* script, s32 isInitialCall); ApiStatus ForceHomePos(Evt* script, s32 isInitialCall); ApiStatus SetHomePos(Evt* script, s32 isInitialCall); ApiStatus SetGoalToTarget(Evt* script, s32 isInitialCall); @@ -154,8 +154,8 @@ ApiStatus CheckButtonPress(Evt* script, s32 isInitialCall); ApiStatus CheckButtonHeld(Evt* script, s32 isInitialCall); ApiStatus CheckButtonDown(Evt* script, s32 isInitialCall); ApiStatus GetBattleState(Evt* script, s32 isInitialCall); -ApiStatus PlayerCreateTargetList(Evt* script, s32 isInitialCall); -ApiStatus EnemyCreateTargetList(Evt* script, s32 isInitialCall); +ApiStatus CreateCurrentPosTargetList(Evt* script, s32 isInitialCall); +ApiStatus CreateHomeTargetList(Evt* script, s32 isInitialCall); ApiStatus InitTargetIterator(Evt* script, s32 isInitialCall); ApiStatus SetOwnerTarget(Evt* script, s32 isInitialCall); ApiStatus ChooseNextTarget(Evt* script, s32 isInitialCall); @@ -206,7 +206,7 @@ ApiStatus EnablePlayerBlur(Evt* script, s32 isInitialCall); ApiStatus func_80274A18(Evt* script, s32 isInitialCall); ApiStatus func_802752AC(Evt* script, s32 isInitialCall); ApiStatus func_80275F00(Evt* script, s32 isInitialCall); -ApiStatus DidActionSucceed(Evt* script, s32 isInitialCall); +ApiStatus GetPlayerActionSuccess(Evt* script, s32 isInitialCall); ApiStatus BindTakeTurn(Evt* script, s32 isInitialCall); ApiStatus PauseTakeTurn(Evt* script, s32 isInitialCall); ApiStatus ResumeTakeTurn(Evt* script, s32 isInitialCall); @@ -296,7 +296,7 @@ ApiStatus func_8024ECF8(Evt* script, s32 isInitialCall); ApiStatus UseBattleCamPresetImmediately(Evt* script, s32 isInitialCall); ApiStatus UseBattleCamPresetWait(Evt* script, s32 isInitialCall); ApiStatus HideHealthBar(Evt* script, s32 isInitialCall); -ApiStatus GetActionCommandResult(Evt* script, s32 isInitialCall); +ApiStatus GetPartnerActionSuccess(Evt* script, s32 isInitialCall); ApiStatus CreateNpc(Evt* script, s32 isInitialCall); ApiStatus EnableBattleStatusBar(Evt* script, s32 isInitialCall); ApiStatus PlayerYieldTurn(Evt* script, s32 isInitialCall); diff --git a/include/script_api/common.h b/include/script_api/common.h index 833bdafc8f..89871728ee 100644 --- a/include/script_api/common.h +++ b/include/script_api/common.h @@ -91,7 +91,7 @@ ApiStatus SetRenderMode(Evt* script, s32 isInitialCall); ApiStatus PlaySoundAtModel(Evt* script, s32 isInitialCall); ApiStatus PlaySoundAtCollider(Evt* script, s32 isInitialCall); ApiStatus SetCamEnabled(Evt* script, s32 isInitialCall); -ApiStatus SetCamFlag80(Evt* script, s32 isInitialCall); +ApiStatus SetCamNoDraw(Evt* script, s32 isInitialCall); ApiStatus SetCamPerspective(Evt* script, s32 isInitialCall); ApiStatus SetCamViewport(Evt* script, s32 isInitialCall); ApiStatus func_802CABE8(Evt* script, s32 isInitialCall); diff --git a/include/variables.h b/include/variables.h index 7d2feff753..0b6aa8dc69 100644 --- a/include/variables.h +++ b/include/variables.h @@ -41,8 +41,6 @@ extern HiddenPanelsData gCurrentHiddenPanels; extern BackgroundHeader gBackgroundImage; -extern s32 CreateEntityVarArgBuffer[4]; - extern f32 D_800F7B74; extern CollisionData gZoneCollisionData; @@ -84,13 +82,13 @@ extern Entity* TweesterTouchingPlayer; extern s32 PrevPlayerDirection; extern s32 PeachDisguiseNpcIndex; -extern s32 D_8010C980; +extern s32 PlayerRunStateTime; extern s32 PrevPlayerCamRelativeYaw; extern s32 D_800F7B44; -extern f32 D_8010C938; -extern f32 D_8010C990; +extern f32 PlayerNormalYaw; +extern f32 PlayerNormalPitch; extern s32 NpcHitQueryColliderID; -extern Vec3s btl_actorHomePositions[]; +extern Vec3s StandardActorHomePositions[]; extern SaveData gCurrentSaveFile; @@ -98,7 +96,7 @@ extern s32 gEncounterSubState; extern s32 timeFreezeMode; extern s32 D_8009A678; -extern u8 D_800779B0; +extern u8 IntroMessageIdx; extern s32 PartnerIDFromMenuIndex[12]; // partner IDs // Scripts diff --git a/src/111f0_len_860.c b/src/111f0_len_860.c index e94988920a..dbe80037c0 100644 --- a/src/111f0_len_860.c +++ b/src/111f0_len_860.c @@ -12,6 +12,12 @@ void set_map_change_fade_rate(s16 fadeRate) { gMapTransitionFadeRate = fadeRate; } +enum EnterWorldStates { + ENTER_WORLD_LOAD_MAP = 0, + ENTER_WORLD_AWAIT_MAIN = 1, + ENTER_WORLD_FADE_IN = 2, +}; + void state_init_enter_demo(void) { gLoadedFromFileSelect = FALSE; init_enter_world_shared(); @@ -24,14 +30,14 @@ void state_init_enter_world(void) { } void init_enter_world_shared(void) { - gMapTransitionState = 0; + gMapTransitionState = ENTER_WORLD_LOAD_MAP; gMapTransitionStateTime = 4; gGameStatusPtr->exitTangent = 0.0f; gMapTransitionAlpha = 255; nuContRmbForceStopEnd(); update_exit_map_screen_overlay(&gMapTransitionAlpha); - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; evt_set_variable(NULL, GB_Unused_EVT_01, gGameStatusPtr->unk_A9); timeFreezeMode = 0; @@ -39,30 +45,31 @@ void init_enter_world_shared(void) { void state_step_enter_world(void) { switch (gMapTransitionState) { - case 0: - if (gMapTransitionStateTime == 0) { - gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->disableScripts = FALSE; - - if (!gLoadedFromFileSelect) { - load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, LOAD_FROM_MAP); - } else { - load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, LOAD_FROM_FILE_SELECT); - } - - gGameStatusPtr->prevArea = gGameStatusPtr->areaID; - set_time_freeze_mode(TIME_FREEZE_NORMAL); - if (gGameStatusPtr->demoState == DEMO_STATE_NONE) { - disable_player_input(); - } - update_cameras(); - gMapTransitionStateTime = 2; - gMapTransitionState++; - } else { + case ENTER_WORLD_LOAD_MAP: + if (gMapTransitionStateTime != 0) { gMapTransitionStateTime--; + break; } + + gGameStatusPtr->isBattle = FALSE; + gGameStatusPtr->debugScripts = DEBUG_SCRIPTS_NONE; + + if (!gLoadedFromFileSelect) { + load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, LOAD_FROM_MAP); + } else { + load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, LOAD_FROM_FILE_SELECT); + } + + gGameStatusPtr->prevArea = gGameStatusPtr->areaID; + set_time_freeze_mode(TIME_FREEZE_NORMAL); + if (gGameStatusPtr->demoState == DEMO_STATE_NONE) { + disable_player_input(); + } + update_cameras(); + gMapTransitionStateTime = 2; + gMapTransitionState++; break; - case 1: + case ENTER_WORLD_AWAIT_MAIN: update_encounters(); update_npcs(); update_player(); @@ -70,12 +77,14 @@ void state_step_enter_world(void) { if (gMapTransitionStateTime != 0) { gMapTransitionStateTime--; - } else if (!does_script_exist(gGameStatusPtr->mainScriptID)) { - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + break; + } + if (!does_script_exist(gGameStatusPtr->mainScriptID)) { + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; gMapTransitionState++; } break; - case 2: + case ENTER_WORLD_FADE_IN: update_npcs(); update_player(); update_effects(); @@ -93,15 +102,24 @@ void state_step_enter_world(void) { } void state_drawUI_enter_world(void) { - if (gGameStatusPtr->introState == INTRO_STATE_2) { + // startupState is being used as a timer here + if (gGameStatusPtr->startupState == 2) { draw_status_ui(); } } +enum ChangeMapStates { + CHANGE_MAP_INIT = 0, + CHANGE_MAP_DELAY = 1, + CHANGE_MAP_LOAD_MAP = 2, + CHANGE_MAP_AWAIT_MAIN = 3, + CHANGE_MAP_FADE_IN = 4, +}; + void state_init_change_map(void) { - gMapTransitionAlpha = 0x00; + gMapTransitionAlpha = 0; gMapTransitionFadeRate = 20; - gMapTransitionState = 0; + gMapTransitionState = CHANGE_MAP_INIT; if (gGameStatusPtr->prevArea != gGameStatusPtr->areaID) { gGameStatusPtr->didAreaChange = TRUE; @@ -113,7 +131,7 @@ void state_init_change_map(void) { void state_step_change_map(void) { switch (gMapTransitionState) { - case 0: + case CHANGE_MAP_INIT: update_npcs(); update_player(); update_effects(); @@ -123,13 +141,13 @@ void state_step_change_map(void) { gMapTransitionState++; } break; - case 1: - gOverrideFlags |= GLOBAL_OVERRIDES_8; + case CHANGE_MAP_DELAY: + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; nuContRmbForceStop(); gMapTransitionStateTime = 4; gMapTransitionState++; break; - case 2: + case CHANGE_MAP_LOAD_MAP: if (gGameStatusPtr->demoState != DEMO_STATE_NONE) { set_game_mode(GAME_MODE_DEMO); } @@ -138,8 +156,8 @@ void state_step_change_map(void) { gMapTransitionStateTime--; } else { gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->disableScripts = FALSE; - load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, 0); + gGameStatusPtr->debugScripts = DEBUG_SCRIPTS_NONE; + load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, LOAD_FROM_MAP); set_time_freeze_mode(TIME_FREEZE_NORMAL); nuContRmbForceStopEnd(); if (gGameStatusPtr->demoState == DEMO_STATE_NONE) { @@ -150,7 +168,7 @@ void state_step_change_map(void) { gMapTransitionState++; } break; - case 3: + case CHANGE_MAP_AWAIT_MAIN: update_encounters(); update_npcs(); update_player(); @@ -159,11 +177,11 @@ void state_step_change_map(void) { if (gMapTransitionStateTime != 0) { gMapTransitionStateTime--; } else if (!does_script_exist(gGameStatusPtr->mainScriptID)) { - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; gMapTransitionState++; } break; - case 4: + case CHANGE_MAP_FADE_IN: update_npcs(); update_player(); update_effects(); @@ -181,47 +199,54 @@ void state_step_change_map(void) { } void state_drawUI_change_map(void) { - if (gMapTransitionState == 4 || gMapTransitionState == 0) { + if (gMapTransitionState == CHANGE_MAP_FADE_IN || gMapTransitionState == CHANGE_MAP_INIT) { draw_status_ui(); } } +enum GameOverStates { + GAME_OVER_INIT = 1, + GAME_OVER_LOAD_MAP = 2, + GAME_OVER_AWAIT_MAIN = 3, + GAME_OVER_FADE_IN = 4, +}; + void state_init_game_over(void) { gMapTransitionAlpha = 255; gMapTransitionFadeRate = 20; - gMapTransitionState = 0x01; + gMapTransitionState = GAME_OVER_INIT; gPlayerStatus.flags |= PS_FLAG_NO_STATIC_COLLISION; } void state_step_game_over(void) { switch (gMapTransitionState) { - case 1: - gOverrideFlags |= GLOBAL_OVERRIDES_8; + case GAME_OVER_INIT: + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; nuContRmbForceStop(); gMapTransitionStateTime = 4; gMapTransitionState++; break; - case 2: + case GAME_OVER_LOAD_MAP: if (gMapTransitionStateTime != 0) { gMapTransitionStateTime--; } else { gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->disableScripts = FALSE; - load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, 0); + gGameStatusPtr->debugScripts = DEBUG_SCRIPTS_NONE; + load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, LOAD_FROM_MAP); nuContRmbForceStopEnd(); gMapTransitionState++; } break; - case 3: + case GAME_OVER_AWAIT_MAIN: update_encounters(); update_npcs(); if (!does_script_exist(gGameStatusPtr->mainScriptID)) { - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; gMapTransitionState++; break; } return; - case 4: + case GAME_OVER_FADE_IN: gMapTransitionAlpha -= gMapTransitionFadeRate; if (gMapTransitionAlpha < 0) { gMapTransitionAlpha = 0; diff --git a/src/17D6A0.c b/src/17D6A0.c deleted file mode 100644 index 326f275bf4..0000000000 --- a/src/17D6A0.c +++ /dev/null @@ -1,1983 +0,0 @@ -#include "common.h" -#include "effects.h" -#include "message_ids.h" -#include "battle/battle.h" -#include "hud_element.h" -#include "entity.h" -#include "ld_addrs.h" -#include "battle/action_cmd.h" -#include "sprite/player.h" - -extern IMG_BIN ui_battle_menu_spirits_png[]; -extern PAL_BIN ui_battle_menu_spirits_pal[]; -extern IMG_BIN ui_battle_solid_star_png[]; -extern PAL_BIN ui_battle_solid_star_pal[]; - -extern ActorBlueprint battle_partner_goombario; -extern ActorBlueprint battle_partner_kooper; -extern ActorBlueprint battle_partner_bombette; -extern ActorBlueprint battle_partner_parakarry; -extern ActorBlueprint battle_partner_goompa; -extern ActorBlueprint battle_partner_watt; -extern ActorBlueprint battle_partner_sushie; -extern ActorBlueprint battle_partner_lakilester; -extern ActorBlueprint battle_partner_bow; -extern ActorBlueprint battle_partner_twink; - -PlayerCelebrationAnimOptions D_80280FC0 = { - 10, 90, - { - 50, ANIM_MarioB1_JumpForJoy, - 50, ANIM_Mario1_Chuckle, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 50, ANIM_Mario1_DustOff, - 50, ANIM_Mario1_DustOff, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 50, ANIM_Mario1_ThumbsUp, - 50, ANIM_Mario1_ThumbsUp, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 50, ANIM_MarioB1_FingerWag, - 50, ANIM_MarioB1_FingerWag, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 80, ANIM_MarioB1_FingerWag, - 20, ANIM_MarioB1_JumpForJoy, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - } -}; - -#include "battle/actor_types.inc.c" - -u32 bMarioIdleAnims[] = { - STATUS_KEY_NORMAL, ANIM_Mario1_Walk, - STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, - STATUS_KEY_STONE, ANIM_MarioB3_Petrified, - STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, - STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, - STATUS_KEY_STOP, ANIM_Mario1_Still, - STATUS_KEY_HUSTLE, ANIM_Mario1_Run, - STATUS_KEY_BERSERK, ANIM_MarioB2_BerserkIdle, - STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, - STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, - STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, - STATUS_KEY_INACTIVE, ANIM_Mario1_Still, - STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, - STATUS_KEY_14, ANIM_MarioB2_Inert, - STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, - STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, - STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, - STATUS_KEY_THINKING, ANIM_Mario1_Thinking, - STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, - STATUS_END -}; - -s32 bMarioDefendAnims[] = { - STATUS_KEY_NORMAL, ANIM_Mario1_Crouch, - STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, - STATUS_KEY_STONE, ANIM_MarioB3_Petrified, - STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, - STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, - STATUS_KEY_STOP, ANIM_Mario1_Still, - STATUS_KEY_HUSTLE, ANIM_Mario1_Crouch, - STATUS_KEY_BERSERK, ANIM_Mario1_Crouch, - STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, - STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, - STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, - STATUS_KEY_INACTIVE, ANIM_Mario1_Still, - STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, - STATUS_KEY_14, ANIM_MarioB2_Inert, - STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, - STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, - STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, - STATUS_KEY_THINKING, ANIM_Mario1_Thinking, - STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, - STATUS_END -}; - -s32 bMarioHideAnims[] = { - STATUS_KEY_NORMAL, ANIM_Mario1_Crouch, - STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, - STATUS_KEY_STONE, ANIM_MarioB3_Petrified, - STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, - STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, - STATUS_KEY_STOP, ANIM_Mario1_Still, - STATUS_KEY_HUSTLE, ANIM_MarioW2_RideLaki, - STATUS_KEY_BERSERK, ANIM_MarioW2_RideLaki, - STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, - STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, - STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, - STATUS_KEY_INACTIVE, ANIM_Mario1_Crouch, - STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, - STATUS_KEY_14, ANIM_MarioB2_Inert, - STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, - STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, - STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, - STATUS_KEY_THINKING, ANIM_Mario1_Thinking, - STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, - STATUS_END -}; - -s32 bPeachIdleAnims[] = { - STATUS_KEY_NORMAL, ANIM_Peach1_Walk, - STATUS_KEY_INACTIVE, ANIM_Peach2_Inert, - STATUS_END -}; - -s32 bMarioDefenseTable[] = { - ELEMENT_NORMAL, 0, - ELEMENT_END -}; - -s32 bPlayerStatusTable[] = { - STATUS_KEY_NORMAL, 100, - STATUS_KEY_DEFAULT, 100, - STATUS_KEY_SLEEP, 100, - STATUS_KEY_POISON, 100, - STATUS_KEY_FROZEN, 100, - STATUS_KEY_DIZZY, 100, - STATUS_KEY_FEAR, 100, - STATUS_KEY_STATIC, 100, - STATUS_KEY_PARALYZE, 100, - STATUS_KEY_SHRINK, 100, - STATUS_KEY_STOP, 100, - STATUS_TURN_MOD_DEFAULT, 0, - STATUS_TURN_MOD_SLEEP, 0, - STATUS_TURN_MOD_POISON, 0, - STATUS_TURN_MOD_FROZEN, 0, - STATUS_TURN_MOD_DIZZY, 0, - STATUS_TURN_MOD_FEAR, 0, - STATUS_TURN_MOD_STATIC, 0, - STATUS_TURN_MOD_PARALYZE, 0, - STATUS_TURN_MOD_SHRINK, 0, - STATUS_TURN_MOD_STOP, 0, - STATUS_END -}; - -ActorBlueprint bPlayerActorBlueprint = { - .type = ACTOR_TYPE_PLAYER, - .maxHP = 99, - .statusTable = bPlayerStatusTable, - - .escapeChance = 0, - .airLiftChance = 0, - .hurricaneChance = 0, - .spookChance = 0, - .upAndAwayChance = 0, - .spinSmashReq = 4, - .powerBounceChance = 80, - - .size = { 33, 43 }, - .healthBarOffset = { 0, 0 }, - .statusIconOffset = { -10, 30 }, - .statusTextOffset = { 10, 30 }, -}; - -ActorPartBlueprint bMarioParts[] = { - { - .index = 1, - .posOffset = { 0, 0, 0 }, - .targetOffset = { 0, 32 }, - .opacity = 255, - .idleAnimations = bMarioIdleAnims, - .defenseTable = bMarioDefenseTable, - }, -}; - -Vec3s btl_actorHomePositions[] = { - [BTL_POS_GROUND_A] { 5, 0, -20 }, - [BTL_POS_GROUND_B] { 45, 0, -5 }, - [BTL_POS_GROUND_C] { 85, 0, 10 }, - [BTL_POS_GROUND_D] { 125, 0, 25 }, - [BTL_POS_AIR_A] { 10, 50, -20 }, - [BTL_POS_AIR_B] { 50, 45, -5 }, - [BTL_POS_AIR_C] { 90, 50, 10 }, - [BTL_POS_AIR_D] { 130, 55, 25 }, - [BTL_POS_HIGH_A] { 15, 85, -20 }, - [BTL_POS_HIGH_B] { 55, 80, -5 }, - [BTL_POS_HIGH_C] { 95, 85, 10 }, - [BTL_POS_HIGH_D] { 135, 90, 25 }, - [BTL_POS_TOP_A] { 15, 125, -20 }, - [BTL_POS_TOP_B] { 55, 120, -5 }, - [BTL_POS_TOP_C] { 95, 125, 10 }, - [BTL_POS_TOP_D] { 135, 130, 25 }, - [BTL_POS_CENTER] { 105, 0, 0 }, -}; - -// TODO: what is this, and look into warnings that are silenced via casts -s32* D_8028358C[] = { - (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, - (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, - (s32*)D_8028358C, (s32*)D_8028358C, 0 -}; - -s16 bMsgHeights[] = { 28, 40 }; // keyed by number of lines in the message (1 or 2) -s16 D_802835D4[] = { 0, -2 }; -s16 D_802835D8[] = { 0, -12 }; - -//TODO Vec3f[] -f32 D_802835DC[] = { - 0.0f, 4.5f, 0.0f, - 1.0f, 4.0f, 0.0f, - 2.0f, 3.0f, 0.0f, - 3.0f, 2.0f, 0.0f, - 3.5f, 1.0f, 0.0f, - 4.0f, 0.0f, 0.0f, - 4.5f, 0.0f, 0.0f, - 5.0f, 0.0f, 0.0f, - 4.5f, 0.0f, 0.0f, - 4.0f, 0.0f, 0.0f, - 3.5f, -1.0f, 0.0f, - 3.0f, -2.0f, 0.0f, - 2.0f, -3.0f, 0.0f, - 1.0f, -4.0f, 0.0f, - 0.0f, -4.5f, 0.0f, -}; - -Vec3f D_80283690[] = { - { 1.0f, 1.0f, 1.0f }, - { 0.8f, 0.8f, 0.8f }, - { 0.9f, 0.9f, 0.9f }, - { 1.1f, 1.1f, 1.1f }, - { 1.0f, 1.0f, 1.0f }, - { 0.8f, 0.8f, 0.8f }, - { 0.9f, 0.9f, 0.9f }, - { 1.1f, 1.1f, 1.1f }, - { 1.0f, 1.0f, 1.0f }, - { 0.8f, 0.8f, 0.8f }, - { 0.9f, 0.9f, 0.9f }, - { 1.1f, 1.1f, 1.1f }, - { 1.0f, 1.0f, 1.0f }, - { 0.8f, 0.8f, 0.8f }, - { 0.9f, 0.9f, 0.9f }, -}; - -extern EntityModelScript EMS_BonkIcon; -EntityModelScript* bBonkModelScripts[] = { - NULL, - &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, - &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, -}; - -s32 bMessages[] = { - [BTL_MSG_MERLEE_ATK_UP] MSG_Menus_Merlee_IncreaseAttack, - [BTL_MSG_MERLEE_DEF_UP] MSG_Menus_Merlee_DecreaseDamage, - [BTL_MSG_MERLEE_EXP_UP] MSG_Menus_Merlee_IncreaseStarPoints, - [BTL_MSG_MERLEE_DONE] MSG_Menus_Merlee_Exhausted, - [BTL_MSG_CHARGE_HAMMER] MSG_Menus_ChargeHammer, - [BTL_MSG_CHARGE_HAMMER_MORE] MSG_Menus_ChargeHammerMore, - [BTL_MSG_CHARGE_JUMP] MSG_Menus_ChargeJump, - [BTL_MSG_CHARGE_JUMP_MORE] MSG_Menus_ChargeJumpMore, - [BTL_MSG_CANT_CHARGE] MSG_Menus_ChargeMaxedOut, - [BTL_MSG_ENEMY_MISSED] MSG_Menus_EnemyMissed, - - // player status effects - [BTL_MSG_PLAYER_DAZED] MSG_Menus_PlayerDazed, - [BTL_MSG_PLAYER_ASLEEP] MSG_Menus_PlayerAsleep, - [BTL_MSG_PLAYER_FROZEN] MSG_Menus_PlayerFrozen, - [BTL_MSG_PLAYER_POISONED] MSG_Menus_PlayerPoisoned, - [BTL_MSG_PLAYER_SHRUNK] MSG_Menus_PlayerShrunk, - [BTL_MSG_PLAYER_PARALYZED] MSG_Menus_PlayerParalyzed, - [BTL_MSG_PLAYER_CHARGED] MSG_Menus_PlayerElectricCharge, - [BTL_MSG_PLAYER_TRANSPARENT] MSG_Menus_PlayerTransparent, - - // enemy status effects - [BTL_MSG_ENEMY_DAZED] MSG_Menus_EnemyDazed, - [BTL_MSG_ENEMY_ASLEEP] MSG_Menus_EnemyAsleep, - [BTL_MSG_ENEMY_FROZEN] MSG_Menus_EnemyFrozen, - [BTL_MSG_ENEMY_POISONED] MSG_Menus_EnemyPoisoned, - [BTL_MSG_ENEMY_SHRUNK] MSG_Menus_EnemyShrunk, - [BTL_MSG_ENEMY_PARALYZED] MSG_Menus_EnemyParalyzed, - [BTL_MSG_ENEMY_ELECTRIFIED] MSG_Menus_EnemyElectrified, - [BTL_MSG_ENEMY_CANT_MOVE] MSG_Menus_EnemyCantMove, - - [BTL_MSG_STAR_POWER_RECHARGED] MSG_Menus_StarEnergyRecharged, - [BTL_MSG_STAR_POWER_MAXED] MSG_Menus_StarEnergyMaxedOut, - [BTL_MSG_STAR_POWER_FILLED] MSG_Menus_StarEnergyFilled, - [BTL_MSG_ATTACK_UP] MSG_Menus_AttackUp, - [BTL_MSG_DEFENCE_UP] MSG_Menus_DefenseUp, - [BTL_MSG_HEAL_ONE] MSG_Menus_HealOne, - [BTL_MSG_HEAL_ALL] MSG_Menus_HealAll, - - [BTL_MSG_ENEMY_TRANSPARENT] MSG_Menus_EnemyTransparent, - [BTL_MSG_ENEMY_CHARGED] MSG_Menus_EnemyElectricCharge, - [BTL_MSG_PARTNER_INJURED] MSG_Menus_PartnerInjured, - [BTL_MSG_CHARGE_GOOMBARIO] MSG_Menus_ChargeGoombario, - [BTL_MSG_CHARGE_GOOMBARIO_MORE] MSG_Menus_ChargeGoombarioMore, - [BTL_MSG_WATER_BLOCK_BEGIN] MSG_Menus_WaterBlockBegin, - [BTL_MSG_WATER_BLOCK_END] MSG_Menus_WaterBlockEnd, - [BTL_MSG_CLOUD_NINE_BEGIN] MSG_Menus_CloudNineBegin, - [BTL_MSG_CLOUD_NINE_END] MSG_Menus_CloudNineEnd, - [BTL_MSG_TURBO_CHARGE_BEGIN] MSG_Menus_TurboChargeBegin, - [BTL_MSG_TURBO_CHARGE_END] MSG_Menus_TurboChargeEnd, - [BTL_MSG_CHILL_OUT_BEGIN] MSG_Menus_ChillOutBegin, - [BTL_MSG_UNUSED_CLOUD_NINE] MSG_Menus_CloudNineBegin, - - // move action command tips - [BTL_MSG_ACTION_TIP_00] MSG_Menus_MoveTip_PressBeforeLanding, - [BTL_MSG_ACTION_TIP_01] MSG_Menus_MoveTip_PushLeftWithTiming, - [BTL_MSG_ACTION_TIP_02] MSG_Menus_MoveTip_PressBeforeStriking, - [BTL_MSG_ACTION_TIP_03] MSG_Menus_MoveTip_PressRepeatedly, - [BTL_MSG_ACTION_TIP_04] MSG_Menus_MoveTip_PushLeftRepeatedly, - [BTL_MSG_ACTION_TIP_05] MSG_Menus_MoveTip_PushLeftToAim, - [BTL_MSG_ACTION_TIP_06] MSG_Menus_MoveTip_PressBeforeLanding, - [BTL_MSG_ACTION_TIP_07] MSG_Menus_MoveTip_PressBeforeLanding, - [BTL_MSG_ACTION_TIP_08] MSG_Menus_MoveTip_PressAsShown, - [BTL_MSG_ACTION_TIP_09] MSG_Menus_MoveTip_NOT_USED_1, - [BTL_MSG_ACTION_TIP_0A] MSG_Menus_MoveTip_PressAsLightsUp, - [BTL_MSG_ACTION_TIP_0B] MSG_Menus_MoveTip_NOT_USED_2, - [BTL_MSG_ACTION_TIP_0C] MSG_Menus_MoveTip_PressBothRepeatedly, - [BTL_MSG_ACTION_TIP_0D] MSG_Menus_MoveTip_PressBeforeLanding, - [BTL_MSG_ACTION_TIP_0E] MSG_Menus_MoveTip_HoldThenTap, - [BTL_MSG_ACTION_TIP_0F] MSG_Menus_MoveTip_HoldThenRelease, - [BTL_MSG_ACTION_TIP_10] MSG_Menus_MoveTip_MoveToAim, - [BTL_MSG_ACTION_TIP_11] MSG_Menus_MoveTip_PressBeforeLanding, - [BTL_MSG_ACTION_TIP_12] MSG_Menus_MoveTip_PressToRunAway, - [BTL_MSG_ACTION_TIP_13] MSG_Menus_MoveTip_PressToReduceDamage, - [BTL_MSG_ACTION_TIP_14] MSG_Menus_MoveTip_NOT_USED_3, - - // no targets available - [BTL_MSG_NO_JUMP_TARGET] MSG_Menus_Battle_NoTarget_Jump, - [BTL_MSG_NO_HAMMER_TARGET] MSG_Menus_Battle_NoTarget_Hammer, - [BTL_MSG_NO_ITEM_TARGET] MSG_Menus_Battle_NoTarget_Item, - [BTL_MSG_46] MSG_NONE, - [BTL_MSG_47] MSG_NONE, - - // errors and warnings - [BTL_MSG_CANT_SELECT_NOW] MSG_Menus_Battle_CantSelectNow, - [BTL_MSG_HAMMER_DISABLED_1] MSG_Menus_Battle_CantUseHammer, - [BTL_MSG_HAMMER_DISABLED_2] MSG_Menus_Battle_CantUseHammer, - [BTL_MSG_HAMMER_DISABLED_3] MSG_Menus_Battle_CantUseHammer, - [BTL_MSG_JUMP_DISABLED_1] MSG_Menus_Battle_CantUseJump, - [BTL_MSG_JUMP_DISABLED_2] MSG_Menus_Battle_CantUseJump, - [BTL_MSG_JUMP_DISABLED_3] MSG_Menus_Battle_CantUseJump, - [BTL_MSG_ITEMS_DISABLED] MSG_Menus_Battle_CantUseItems, - [BTL_MSG_CANT_SWITCH] MSG_Menus_Battle_CantSwitch, - [BTL_MSG_CANT_MOVE] MSG_Menus_Battle_CantMove, - [BTL_MSG_CANT_SWITCH_UNUSED] MSG_Menus_Battle_CantSwitch, - [BTL_MSG_CANT_MOVE_UNUSED] MSG_Menus_Battle_CantMove, - [BTL_MSG_CANT_SELECT_NOW_ALT] MSG_Menus_Battle_CantSelectNow, -}; - -s32 bActorMessages[] = { - MSG_Menus_Party_Mario, - MSG_Menus_Party_Goombario, - MSG_Menus_Party_Kooper, - MSG_Menus_Party_Bombette, - MSG_Menus_Party_Parakarry, - MSG_Menus_Party_Goompa, - MSG_Menus_Party_Watt, - MSG_Menus_Party_Sushie, - MSG_Menus_Party_Lakilester, - MSG_Menus_Party_Bow, - MSG_Menus_Party_Goombaria, - MSG_Menus_Party_Twink, - MSG_Menus_Party_Peach -}; - -PopupMessage* bPopupMessage = NULL; - -s32 D_802838FC_padding = 0; - -//TODO split files - -#include "ui/battle/cursor_hand.png.inc.c" -#include "ui/battle/cursor_hand.pal.inc.c" - -Vtx BtlCursorModelVtx[] = { - {{{ -22, -6, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}}, - {{{ 9, -6, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}}, - {{{ 9, 25, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}}, - {{{ -22, 25, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}}, -}; - -Gfx BtlCursorModelGfx[] = { - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), - gsDPPipeSync(), - gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), - gsDPSetTexturePersp(G_TP_PERSP), - gsDPSetTextureDetail(G_TD_CLAMP), - gsDPSetTextureLOD(G_TL_TILE), - gsDPSetTextureLUT(G_TT_NONE), - gsDPSetTextureFilter(G_TF_AVERAGE), - gsDPSetTextureConvert(G_TC_FILT), - gsDPSetTextureLUT(G_TT_RGBA16), - gsDPLoadTLUT_pal16(0, ui_battle_cursor_hand_pal), - gsDPLoadTextureTile_4b(ui_battle_cursor_hand_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD), - gsSPClearGeometryMode(G_LIGHTING), - gsSPClearGeometryMode(G_SHADING_SMOOTH), - gsSPVertex(BtlCursorModelVtx, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsSPEndDisplayList(), -}; - -EntityModelScript EMS_CursorIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlCursorModelGfx, RENDER_MODE_ALPHATEST); - -Vtx BtlBonkModelVtx[] = { - {{{ -16, -16, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}}, - {{{ 15, -16, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}}, - {{{ 15, 15, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}}, - {{{ -16, 15, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}}, -}; - -Gfx BtlBonkModelGfx[] = { - gsDPPipeSync(), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), - gsDPSetCombineMode(PM_CC_01, PM_CC_02), - gsDPSetTexturePersp(G_TP_PERSP), - gsDPSetTextureDetail(G_TD_CLAMP), - gsDPSetTextureLOD(G_TL_TILE), - gsDPSetTextureLUT(G_TT_NONE), - gsDPSetTextureFilter(G_TF_AVERAGE), - gsDPSetTextureConvert(G_TC_FILT), - gsDPSetTextureLUT(G_TT_RGBA16), - gsDPLoadTLUT_pal16(0, ui_battle_menu_spirits_pal), - gsDPLoadTextureTile_4b(ui_battle_menu_spirits_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD), - gsSPClearGeometryMode(G_LIGHTING), - gsSPClearGeometryMode(G_SHADING_SMOOTH), - gsSPVertex(BtlBonkModelVtx, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - -EntityModelScript EMS_BonkIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlBonkModelGfx, RENDER_MODE_2D); - -Vtx BtlStarModelVtx[] = { - {{{ -16, -16, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}}, - {{{ 15, -16, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}}, - {{{ 15, 15, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}}, - {{{ -16, 15, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}}, -}; - -Gfx BtlStarModelGfx[] = { - gsDPPipeSync(), - gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), - gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), - gsDPSetTexturePersp(G_TP_PERSP), - gsDPSetTextureDetail(G_TD_CLAMP), - gsDPSetTextureLOD(G_TL_TILE), - gsDPSetTextureLUT(G_TT_NONE), - gsDPSetTextureFilter(G_TF_AVERAGE), - gsDPSetTextureConvert(G_TC_FILT), - gsDPSetTextureLUT(G_TT_RGBA16), - gsDPLoadTLUT_pal16(0, ui_battle_solid_star_pal), - gsDPLoadTextureTile_4b(ui_battle_solid_star_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD), - gsSPClearGeometryMode(G_LIGHTING), - gsSPClearGeometryMode(G_SHADING_SMOOTH), - gsSPVertex(BtlStarModelVtx, 4, 0), - gsSP1Triangle(0, 1, 2, 0), - gsSP1Triangle(0, 2, 3, 0), - gsDPPipeSync(), - gsSPEndDisplayList(), -}; - -EntityModelScript EMS_StarIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlStarModelGfx, RENDER_MODE_ALPHATEST); - -s32 D_80283F04_padding = 0; -s32 D_80283F08_padding = 0; -s32 D_80283F0C_padding = 0; - -#define BATTLE_PARTNER_ENTRY(name, Y) \ - { \ - (u32)battle_partner_##name##_ROM_START, \ - (u32)battle_partner_##name##_ROM_END, \ - battle_partner_##name##_VRAM, \ - &battle_partner_##name, \ - Y \ - } - -PartnerDMAData bPartnerDmaTable[] = { - {}, - BATTLE_PARTNER_ENTRY(goombario, 0), - BATTLE_PARTNER_ENTRY(kooper, 0), - BATTLE_PARTNER_ENTRY(bombette, 0), - BATTLE_PARTNER_ENTRY(parakarry, 30), - BATTLE_PARTNER_ENTRY(goompa, 0), - BATTLE_PARTNER_ENTRY(watt, 20), - BATTLE_PARTNER_ENTRY(sushie, 0), - BATTLE_PARTNER_ENTRY(lakilester, 10), - BATTLE_PARTNER_ENTRY(bow, 20), - {}, - BATTLE_PARTNER_ENTRY(twink, 30), -}; - -BSS PopupMessage popupMessages[32]; -BSS s16 D_8029F640; -BSS s16 D_8029F642; -BSS s16 D_8029F644; -BSS s16 D_8029F646; -BSS s16 D_8029F648; -BSS s16 D_8029F64A; -BSS s16 D_8029F64C; -BSS s16 D_8029F64E; -BSS s16 D_8029F650; - -extern HudScript HES_AimReticle; -extern HudScript HES_AimTarget; -extern HudScript HES_CDownButton; -extern HudScript HES_CLeftButton; -extern HudScript HES_CRightButton; -extern HudScript HES_CUpButton; -extern HudScript HES_Item_MenuBoots1; -extern HudScript HES_Item_MenuBoots2; -extern HudScript HES_Item_MenuBoots3; -extern HudScript HES_Item_MenuHammer1; -extern HudScript HES_Item_MenuHammer2; -extern HudScript HES_Item_MenuHammer3; -extern HudScript HES_Item_MenuItems; -extern HudScript HES_MashBButton2; -extern HudScript HES_MashCDownButton1; -extern HudScript HES_MashCLeftButton; -extern HudScript HES_MashCRightButton1; -extern HudScript HES_MashCUpButton; -extern HudScript HES_RotateStickCW; -extern HudScript HES_StickBackAndForth; -extern HudScript HES_StickTapLeft; -extern HudScript HES_StickTapRight; -extern HudScript HES_TimingBlink; - -void btl_bonk_update(void* data); -void btl_bonk_render(void* data); -void btl_bonk_setup_gfx(void* data); -void btl_update_message_popup(void* popup); -void btl_show_message_popup(void* popup); - -void btl_popup_messages_init(void) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { - PopupMessage* popup = &popupMessages[i]; - popup->active = FALSE; - popup->message = NULL; - } -} - -void btl_popup_messages_delete(void) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { - PopupMessage* popup = &popupMessages[i]; - if (popup->message != NULL) { - heap_free(popup->message); - popup->message = NULL; - } - popup->active = FALSE; - } -} - -void btl_popup_messages_update(void) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { - PopupMessage* popup = &popupMessages[i]; - if (popup->active && popup->updateFunc != NULL) { - popup->updateFunc(popup); - } - } -} - -void btl_popup_messages_draw_world_geometry(void) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { - PopupMessage* popup = &popupMessages[i]; - if (popup->active && popup->renderWorldFunc != NULL) { - popup->renderWorldFunc(popup); - } - } -} - -void btl_popup_messages_draw_ui(void) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { - PopupMessage* popup = &popupMessages[i]; - if (popup->active && popup->renderUIFunc != NULL) { - popup->renderUIFunc(popup); - } - } -} - -PopupMessage* btl_create_popup(void) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { - PopupMessage* popup = &popupMessages[i]; - if (!popup->active) { - popup->active = TRUE; - return popup; - } - } - - return NULL; -} - -void free_popup(PopupMessage* popup) { - if (popup->message != NULL) { - heap_free(popup->message); - popup->message = NULL; - } - popup->active = FALSE; -} - -void show_immune_bonk(f32 x, f32 y, f32 z, s32 numStars, s32 arg4, s32 arg5) { - BattleStatus* battleStatus = &gBattleStatus; - PopupMessage* popup; - Message* message; - EntityModelScript** modelScript; - f32 var_f20; - f32 baseScale; - f32* f1; - f32* f2; - f32* f3; - s32 arg5mod8; - s32 iMod8; - s32 sign; - s32 cond; - s32 one; - s32 two; - s32 i; - - baseScale = 1.0f; - cond = FALSE; - var_f20 = 1.0f; - if (numStars < 1) { - numStars = 1; - cond = TRUE; - baseScale = 0.4f; - var_f20 = 0.7f; - } - - if (battleStatus->flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) { - baseScale *= 2.0; - } - - popup = btl_create_popup(); - if (popup != NULL) { - sign = 1; - if (arg5 < 0) { - arg5 = -arg5; - sign = -1; - } - - while (TRUE) { - if (arg5 > 5) { - arg5 -= 5; - } else { - break; - } - } - - battleStatus->unk_90 = 0; - popup->updateFunc = btl_bonk_update; - popup->renderWorldFunc = btl_bonk_render; - popup->unk_00 = 0; - popup->renderUIFunc = NULL; - popup->messageIndex = 1; - popup->active |= 0x10; - message = popup->message = heap_malloc(numStars * sizeof(*popup->message)); - ASSERT (popup->message != NULL); - - for (i = 0; i < numStars; i++, message++) { - modelScript = &bBonkModelScripts[numStars]; - message->unk_00 = TRUE; - message->entityModelIndex = load_entity_model(*modelScript); - set_entity_model_flags(message->entityModelIndex, ENTITY_MODEL_FLAG_HIDDEN); - bind_entity_model_setupGfx(message->entityModelIndex, message, btl_bonk_setup_gfx); - message->pos.x = x; - message->pos.y = y; - message->pos.z = z; - arg5mod8 = arg5 % 8; - arg5++; - - one = 1; - two = 2; - - f1 = &D_802835DC[arg5mod8 * 3]; - f2 = &D_802835DC[arg5mod8 * 3 + one]; - f3 = &D_802835DC[arg5mod8 * 3 + two]; - message->vel.x = 2.0 * *f1 * sign * var_f20; - message->vel.y = 2.0 * *f2 * var_f20; - message->vel.z = 2.0 * *f3 * var_f20; - message->accel.x = *f1 * sign * var_f20; - message->accel.y = *f2 * var_f20; - message->accel.z = *f3 * var_f20; - - iMod8 = (i % 8); - message->scale = D_80283690[iMod8].x * baseScale; - message->rotZ = 0; - message->rotVelZ = sign * 107; - message->rotY = clamp_angle(180.0f - gCameras[CAM_BATTLE].curYaw); - message->appearTime = 14; - message->unk_24 = arg4; - message->deleteTime = 240; - if (cond) { - message->deleteTime = 10; - } - message->unk_48 = 255.0f; - } - } -} - -void btl_bonk_update(void* data) { - PopupMessage* popup = data; - Message* message = popup->message; - s32 found = FALSE; - s32 i; - - for (i = 0; i < popup->messageIndex; i++, message++) { - if (message->unk_00) { - s32 modelIdx = message->entityModelIndex; - - found = TRUE; - if (message->unk_24 != 0) { - message->unk_24--; - if (message->unk_24 == 0) { - clear_entity_model_flags(modelIdx, MODEL_FLAG_20); - } - exec_entity_model_commandlist(modelIdx); - break; - } - - exec_entity_model_commandlist(modelIdx); - if (message->appearTime >= 0) { - message->pos.x += message->vel.x; - message->pos.y += message->vel.y; - message->pos.z += message->vel.z; - } - message->rotY = clamp_angle(180.0f - gCameras[CAM_BATTLE].curYaw); - message->rotZ += message->rotVelZ; - message->rotZ = clamp_angle(message->rotZ); - message->rotVelZ *= 0.8; - if (message->appearTime < 10) { - message->accel.x *= 0.5; - message->accel.y *= 0.5; - message->accel.z *= 0.5; - message->vel.x = message->accel.x; - message->vel.y = message->accel.y; - message->vel.z = message->accel.z; - } - - message->appearTime--; - if (message->appearTime < 0) { - message->deleteTime--; - if (message->deleteTime < 0) { - free_entity_model_by_index(modelIdx); - message->unk_00 = FALSE; - } - } - } - } - - if (!found) { - heap_free(popup->message); - popup->message = NULL; - free_popup(popup); - } -} - -void btl_bonk_render(void* data) { - PopupMessage* popup = data; - Message* message = popup->message; - Matrix4f sp18; - Matrix4f mtxRotX; - Matrix4f mtxRotY; - Matrix4f mtxRotZ; - Matrix4f sp118; - Matrix4f sp158; - Matrix4f sp198; - Matrix4f mtxScale; - Mtx sp218; - s32 i; - - for (i = 0; i < popup->messageIndex; i++, message++) { - if (message->unk_00) { - if (message->unk_24 != 0) { - break; - } else { - s32 modelIdx = message->entityModelIndex; - - guTranslateF(sp18, message->pos.x, message->pos.y, message->pos.z); - guRotateF(mtxRotX, 0.0f, 1.0f, 0.0f, 0.0f); - guRotateF(mtxRotY, message->rotY, 0.0f, 1.0f, 0.0f); - guRotateF(mtxRotZ, message->rotZ, 0.0f, 0.0f, 1.0f); - guScaleF(mtxScale, message->scale, message->scale, message->scale); - guMtxCatF(mtxRotZ, mtxRotX, sp158); - guMtxCatF(sp158, mtxRotY, sp118); - guMtxCatF(mtxScale, sp118, sp158); - guMtxCatF(sp158, sp18, sp198); - guMtxF2L(sp198, &sp218); - draw_entity_model_A(modelIdx, &sp218); - } - } - } -} - -void btl_bonk_setup_gfx(void* data) { - Message* message = data; - s32 alphaAmt = message->deleteTime; - - if (alphaAmt > 10) { - alphaAmt = 10; - } - gDPSetPrimColor(gMainGfxPos++, 0, 0, 0, 0, 0, (alphaAmt * 255) / 10); -} - -void btl_bonk_cleanup(void) { - s32 i; - - for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { - PopupMessage* popup = &popupMessages[i]; - - if (popup->active != 0 && (popup->active & 0x10)) { - Message* message = popup->message; - s32 j; - - for (j = 0; j < popup->messageIndex; j++, message++) { - if (message->unk_00) { - message->unk_24 = 0; - message->appearTime = 1; - message->deleteTime = 20; - } - } - } - } -} - -ApiStatus ShowImmuneBonk(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 x = evt_get_variable(script, *args++); - s32 y = evt_get_variable(script, *args++); - s32 z = evt_get_variable(script, *args++); - s32 arg4 = evt_get_variable(script, *args++); - s32 arg5 = evt_get_variable(script, *args++); - s32 arg6 = evt_get_variable(script, *args++); - - show_immune_bonk(x, y, z, arg4, arg5, arg6); - return ApiStatus_DONE2; -} - -ApiStatus ForceImmuneBonkCleanup(Evt* script, s32 isInitialCall) { - btl_bonk_cleanup(); - return ApiStatus_DONE2; -} - -// show a popup message bubble with a message selected from BattleMessages -void btl_show_battle_message(s32 messageIndex, s32 duration) { - PopupMessage* popup = btl_create_popup(); - - if (popup != NULL) { - popup->updateFunc = btl_update_message_popup; - popup->renderUIFunc = btl_show_message_popup; - popup->unk_00 = 0; - popup->renderWorldFunc = NULL; - popup->messageIndex = messageIndex; - popup->duration = duration; - popup->showMsgState = 0; - popup->needsInit = TRUE; - popup->message = NULL; - D_8029F640 = 0; - bPopupMessage = popup; - D_8029F64A = FALSE; - D_8029F64C = 0; - D_8029F64E = 0; - D_8029F650 = 0; - } -} - -// show a popup message bubble with a message selected from BattleMessages -void btl_show_variable_battle_message(s32 messageIndex, s32 duration, s32 varValue) { - PopupMessage* popup = btl_create_popup(); - - if (popup != NULL) { - popup->updateFunc = btl_update_message_popup; - popup->renderUIFunc = btl_show_message_popup; - popup->unk_00 = 0; - popup->renderWorldFunc = NULL; - popup->messageIndex = messageIndex; - popup->duration = duration; - popup->showMsgState = 0; - popup->needsInit = TRUE; - popup->message = NULL; - D_8029F640 = varValue; - bPopupMessage = popup; - D_8029F64A = FALSE; - D_8029F64C = 0; - D_8029F64E = 0; - D_8029F650 = 0; - } -} - -s32 btl_is_popup_displayed(void) { - return bPopupMessage != NULL; -} - -void btl_set_popup_duration(s32 duration) { - PopupMessage* popup = bPopupMessage; - - if (D_8029F64A && popup != NULL) { - popup->duration = duration; - } -} - -void func_8024FAE8(void) { - D_8029F64C = 1; -} - -void func_8024FAFC(void) { - D_8029F64C = 0; -} - -void close_action_command_instruction_popup(void) { - PopupMessage* popup = bPopupMessage; - - if (popup != NULL && popup->messageIndex < BTL_MSG_NO_JUMP_TARGET && popup->messageIndex >= BTL_MSG_ACTION_TIP_00) { - popup->duration = 0; - } -} - -void btl_update_message_popup(void* data) { - PopupMessage* popup = data; - BattleStatus* battleStatus = &gBattleStatus; - s32 shouldDisposeWindow = FALSE; - - s32 actionCommandMode; - - switch (popup->messageIndex) { - case BTL_MSG_MERLEE_ATK_UP: - case BTL_MSG_MERLEE_DEF_UP: - case BTL_MSG_MERLEE_EXP_UP: - case BTL_MSG_MERLEE_DONE: - case BTL_MSG_CHARGE_HAMMER: - case BTL_MSG_CHARGE_HAMMER_MORE: - case BTL_MSG_CHARGE_JUMP: - case BTL_MSG_CHARGE_JUMP_MORE: - case BTL_MSG_CANT_CHARGE: - case BTL_MSG_ENEMY_MISSED: - case BTL_MSG_PLAYER_DAZED: - case BTL_MSG_PLAYER_ASLEEP: - case BTL_MSG_PLAYER_FROZEN: - case BTL_MSG_PLAYER_POISONED: - case BTL_MSG_PLAYER_SHRUNK: - case BTL_MSG_PLAYER_PARALYZED: - case BTL_MSG_PLAYER_CHARGED: - case BTL_MSG_PLAYER_TRANSPARENT: - case BTL_MSG_ENEMY_DAZED: - case BTL_MSG_ENEMY_ASLEEP: - case BTL_MSG_ENEMY_FROZEN: - case BTL_MSG_ENEMY_POISONED: - case BTL_MSG_ENEMY_SHRUNK: - case BTL_MSG_ENEMY_PARALYZED: - case BTL_MSG_ENEMY_ELECTRIFIED: - case BTL_MSG_ENEMY_CANT_MOVE: - case BTL_MSG_STAR_POWER_RECHARGED: - case BTL_MSG_STAR_POWER_MAXED: - case BTL_MSG_STAR_POWER_FILLED: - case BTL_MSG_ATTACK_UP: - case BTL_MSG_DEFENCE_UP: - case BTL_MSG_HEAL_ONE: - case BTL_MSG_HEAL_ALL: - case BTL_MSG_ENEMY_TRANSPARENT: - case BTL_MSG_ENEMY_CHARGED: - case BTL_MSG_PARTNER_INJURED: - case BTL_MSG_CHARGE_GOOMBARIO: - case BTL_MSG_CHARGE_GOOMBARIO_MORE: - case BTL_MSG_WATER_BLOCK_BEGIN: - case BTL_MSG_WATER_BLOCK_END: - case BTL_MSG_CLOUD_NINE_BEGIN: - case BTL_MSG_CLOUD_NINE_END: - case BTL_MSG_TURBO_CHARGE_BEGIN: - case BTL_MSG_TURBO_CHARGE_END: - case BTL_MSG_CHILL_OUT_BEGIN: - case BTL_MSG_UNUSED_CLOUD_NINE: - case BTL_MSG_CANT_SWITCH: - case BTL_MSG_CANT_MOVE: - case BTL_MSG_CANT_SWITCH_UNUSED: - case BTL_MSG_CANT_MOVE_UNUSED: - case BTL_MSG_CANT_SELECT_NOW_ALT: - switch (popup->showMsgState) { - default: - break; - case 0: - popup->showMsgState = 1; - break; - case 1: - popup->showMsgState = 2; - break; - case 2: - if (battleStatus->curButtonsPressed & (BUTTON_A | BUTTON_B)) { - popup->duration = 0; - } - - if (popup->duration != 0) { - popup->duration--; - } else { - popup->showMsgState = 3; - } - break; - case 4: - shouldDisposeWindow = TRUE; - break; - case 3: - popup->showMsgState = 4; - break; - } - break; - // move action command tips - case BTL_MSG_ACTION_TIP_00: - case BTL_MSG_ACTION_TIP_01: - case BTL_MSG_ACTION_TIP_02: - case BTL_MSG_ACTION_TIP_03: - case BTL_MSG_ACTION_TIP_04: - case BTL_MSG_ACTION_TIP_05: - case BTL_MSG_ACTION_TIP_06: - case BTL_MSG_ACTION_TIP_07: - case BTL_MSG_ACTION_TIP_08: - case BTL_MSG_ACTION_TIP_09: - case BTL_MSG_ACTION_TIP_0A: - case BTL_MSG_ACTION_TIP_0B: - case BTL_MSG_ACTION_TIP_0C: - case BTL_MSG_ACTION_TIP_0D: - case BTL_MSG_ACTION_TIP_0E: - case BTL_MSG_ACTION_TIP_0F: - case BTL_MSG_ACTION_TIP_10: - case BTL_MSG_ACTION_TIP_11: - case BTL_MSG_ACTION_TIP_12: - case BTL_MSG_ACTION_TIP_13: - case BTL_MSG_ACTION_TIP_14: - actionCommandMode = battleStatus->actionCommandMode; - D_8029F64A = TRUE; - if (actionCommandMode == ACTION_COMMAND_MODE_NOT_LEARNED) { - D_8029F64A = FALSE; - shouldDisposeWindow = TRUE; - break; - } - - switch (popup->showMsgState) { - case 0: - gBattleStatus.flags1 |= BS_FLAGS1_4000; - gBattleStatus.flags1 &= ~BS_FLAGS1_10000; - switch (popup->messageIndex) { - case BTL_MSG_ACTION_TIP_04: - D_8029F642 = hud_element_create(&HES_StickNeutral); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_ACTION_TIP_01: - D_8029F642 = hud_element_create(&HES_StickNeutral); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_TimingReady); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - break; - case BTL_MSG_ACTION_TIP_05: - D_8029F642 = hud_element_create(&HES_StickNeutral); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_AimTarget); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - hud_element_create_transform_B(D_8029F644); - break; - case BTL_MSG_ACTION_TIP_06: - D_8029F642 = hud_element_create(&HES_CUpButton); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_CDownButton); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - - D_8029F646 = hud_element_create(&HES_CLeftButton); - hud_element_set_flags(D_8029F646, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F646, -100, -100); - - D_8029F648 = hud_element_create(&HES_CRightButton); - hud_element_set_flags(D_8029F648, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F648, -100, -100); - break; - case BTL_MSG_ACTION_TIP_07: - D_8029F642 = hud_element_create(&HES_StickNeutral); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_ACTION_TIP_08: - D_8029F642 = hud_element_create(&HES_AButton); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_BButton); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - - D_8029F646 = hud_element_create(&HES_CDownButton); - hud_element_set_flags(D_8029F646, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F646, -100, -100); - break; - case BTL_MSG_ACTION_TIP_09: - D_8029F642 = hud_element_create(&HES_StickNeutral); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_ACTION_TIP_0A: - D_8029F642 = hud_element_create(&HES_TimingReady); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_AButton); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - break; - case BTL_MSG_ACTION_TIP_0B: - D_8029F642 = hud_element_create(&HES_AButton); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - D_8029F644 = hud_element_create(&HES_BButton); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_ACTION_TIP_0C: - D_8029F642 = hud_element_create(&HES_AButton); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_BButton); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - break; - case BTL_MSG_ACTION_TIP_0F: - D_8029F642 = hud_element_create(&HES_TimingReady); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_AButtonDown); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - break; - case BTL_MSG_ACTION_TIP_10: - D_8029F642 = hud_element_create(&HES_StickNeutral); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - - D_8029F644 = hud_element_create(&HES_AimTarget); - hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F644, -100, -100); - hud_element_create_transform_B(D_8029F644); - - D_8029F646 = hud_element_create(&HES_AimReticle); - hud_element_set_flags(D_8029F646, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F646, -100, -100); - hud_element_create_transform_B(D_8029F646); - break; - case BTL_MSG_ACTION_TIP_12: - case BTL_MSG_ACTION_TIP_13: - D_8029F642 = hud_element_create(&HES_AButton); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - // fallthrough - case BTL_MSG_ACTION_TIP_00: - case BTL_MSG_ACTION_TIP_02: - case BTL_MSG_ACTION_TIP_03: - case BTL_MSG_ACTION_TIP_0D: - case BTL_MSG_ACTION_TIP_0E: - case BTL_MSG_ACTION_TIP_11: - case BTL_MSG_ACTION_TIP_14: - D_8029F642 = hud_element_create(&HES_AButton); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - } - popup->showMsgState = 1; - break; - case 1: - if (gBattleStatus.flags1 & BS_FLAGS1_10000) { - gBattleStatus.flags1 &= ~BS_FLAGS1_4000; - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); - popup->duration = 0; - popup->showMsgState = 2; - } else if (!(gBattleStatus.flags1 & BS_FLAGS1_4000) && (actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL)) { - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); - switch (popup->messageIndex) { - case BTL_MSG_ACTION_TIP_03: - hud_element_set_script(D_8029F642, &HES_MashAButton); - break; - case BTL_MSG_ACTION_TIP_04: - hud_element_set_script(D_8029F642, &HES_StickMashLeft); - break; - case BTL_MSG_ACTION_TIP_01: - hud_element_set_script(D_8029F642, &HES_StickTapLeft); - hud_element_set_script(D_8029F644, &HES_TimingBlink); - break; - case BTL_MSG_ACTION_TIP_05: - hud_element_set_script(D_8029F642, &HES_StickTapLeft); - hud_element_set_script(D_8029F644, &HES_AimTarget); - break; - case BTL_MSG_ACTION_TIP_06: - hud_element_set_script(D_8029F642, &HES_MashCUpButton); - hud_element_set_script(D_8029F644, &HES_MashCDownButton1); - hud_element_set_script(D_8029F646, &HES_MashCLeftButton); - hud_element_set_script(D_8029F648, &HES_MashCRightButton1); - break; - case BTL_MSG_ACTION_TIP_07: - hud_element_set_script(D_8029F642, &HES_StickBackAndForth); - break; - case BTL_MSG_ACTION_TIP_08: - hud_element_set_script(D_8029F642, &HES_PressAButton); - hud_element_set_script(D_8029F644, &HES_PressBButton); - hud_element_set_script(D_8029F646, &HES_PressCDownButton); - break; - case BTL_MSG_ACTION_TIP_09: - hud_element_set_script(D_8029F642, &HES_RotateStickCW); - break; - case BTL_MSG_ACTION_TIP_0A: - hud_element_set_script(D_8029F642, &HES_TimingBlink); - hud_element_set_script(D_8029F644, &HES_MashAButton); - break; - case BTL_MSG_ACTION_TIP_0B: - hud_element_set_script(D_8029F642, &HES_MashAButton); - hud_element_set_script(D_8029F644, &HES_MashBButton2); - break; - case BTL_MSG_ACTION_TIP_0C: - hud_element_set_script(D_8029F642, &HES_MashAButton); - hud_element_set_script(D_8029F644, &HES_MashBButton1); - break; - case BTL_MSG_ACTION_TIP_0D: - hud_element_set_script(D_8029F642, &HES_MashAButton); - break; - case BTL_MSG_ACTION_TIP_0F: - hud_element_set_script(D_8029F642, &HES_TimingBlink); - hud_element_set_script(D_8029F644, &HES_PressAButton); - break; - case BTL_MSG_ACTION_TIP_10: - hud_element_set_script(D_8029F642, &HES_StickTapRight); - break; - case BTL_MSG_ACTION_TIP_11: - hud_element_set_script(D_8029F642, &HES_MashAButton); - break; - case BTL_MSG_ACTION_TIP_12: - case BTL_MSG_ACTION_TIP_13: - hud_element_set_script(D_8029F642, &HES_PressAButton); - // fallthrough - case BTL_MSG_ACTION_TIP_00: - case BTL_MSG_ACTION_TIP_02: - case BTL_MSG_ACTION_TIP_0E: - case BTL_MSG_ACTION_TIP_14: - hud_element_set_script(D_8029F642, &HES_PressAButton); - break; - } - if (popup->duration != -1) { - popup->duration = 30; - } - popup->showMsgState = 2; - break; - } - break; - case 2: - if ((actionCommandMode != popup->showMsgState) || (gBattleStatus.flags1 & BS_FLAGS1_10000)) { - s16* duration; - - if (D_8029F64E < 192) { - if (D_8029F64C == 0) { - D_8029F64E += 10; - if (D_8029F64E > 192) { - D_8029F64E = 192; - } - } else { - break; - } - } - - gWindows[WINDOW_ID_BATTLE_POPUP].pos.y = D_8029F64E + D_8029F650; - - duration = &popup->duration; // TODO required to match - if (*duration != -1) { - if (popup->duration != 0) { - popup->duration--; - } else { - switch (popup->messageIndex) { - case BTL_MSG_ACTION_TIP_00: - case BTL_MSG_ACTION_TIP_02: - case BTL_MSG_ACTION_TIP_03: - case BTL_MSG_ACTION_TIP_04: - case BTL_MSG_ACTION_TIP_07: - case BTL_MSG_ACTION_TIP_09: - case BTL_MSG_ACTION_TIP_0D: - case BTL_MSG_ACTION_TIP_0E: - case BTL_MSG_ACTION_TIP_11: - case BTL_MSG_ACTION_TIP_12: - case BTL_MSG_ACTION_TIP_13: - case BTL_MSG_ACTION_TIP_14: - hud_element_free(D_8029F642); - break; - case BTL_MSG_ACTION_TIP_01: - case BTL_MSG_ACTION_TIP_05: - case BTL_MSG_ACTION_TIP_0A: - case BTL_MSG_ACTION_TIP_0B: - case BTL_MSG_ACTION_TIP_0C: - case BTL_MSG_ACTION_TIP_0F: - hud_element_free(D_8029F642); - hud_element_free(D_8029F644); - break; - case BTL_MSG_ACTION_TIP_08: - case BTL_MSG_ACTION_TIP_10: - hud_element_free(D_8029F642); - hud_element_free(D_8029F644); - hud_element_free(D_8029F646); - break; - case BTL_MSG_ACTION_TIP_06: - hud_element_free(D_8029F642); - hud_element_free(D_8029F644); - hud_element_free(D_8029F646); - hud_element_free(D_8029F648); - break; - } - D_8029F64A = FALSE; - shouldDisposeWindow = TRUE; - } - } - } - break; - } - break; - case BTL_MSG_NO_JUMP_TARGET: - case BTL_MSG_NO_HAMMER_TARGET: - case BTL_MSG_NO_ITEM_TARGET: - case BTL_MSG_46: - case BTL_MSG_47: - case BTL_MSG_CANT_SELECT_NOW: - switch (popup->showMsgState) { - default: - break; - case 0: - popup->showMsgState = 1; - break; - case 1: - popup->showMsgState = 2; - break; - case 2: - if (battleStatus->curButtonsPressed & (BUTTON_A | BUTTON_B)) { - popup->duration = 0; - } - - if (popup->duration != 0) { - popup->duration--; - } else { - popup->showMsgState = 3; - } - break; - case 3: - popup->showMsgState = 4; - break; - case 4: - shouldDisposeWindow = TRUE; - break; - } - break; - case BTL_MSG_HAMMER_DISABLED_1: - case BTL_MSG_HAMMER_DISABLED_2: - case BTL_MSG_HAMMER_DISABLED_3: - case BTL_MSG_JUMP_DISABLED_1: - case BTL_MSG_JUMP_DISABLED_2: - case BTL_MSG_JUMP_DISABLED_3: - case BTL_MSG_ITEMS_DISABLED: - switch (popup->showMsgState) { - case 0: - switch (popup->messageIndex) { - case BTL_MSG_HAMMER_DISABLED_1: - D_8029F642 = hud_element_create(&HES_Item_MenuHammer1); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_HAMMER_DISABLED_2: - D_8029F642 = hud_element_create(&HES_Item_MenuHammer2); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_HAMMER_DISABLED_3: - D_8029F642 = hud_element_create(&HES_Item_MenuHammer3); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_JUMP_DISABLED_1: - D_8029F642 = hud_element_create(&HES_Item_MenuBoots1); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_JUMP_DISABLED_2: - D_8029F642 = hud_element_create(&HES_Item_MenuBoots2); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_JUMP_DISABLED_3: - D_8029F642 = hud_element_create(&HES_Item_MenuBoots3); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - case BTL_MSG_ITEMS_DISABLED: - D_8029F642 = hud_element_create(&HES_Item_MenuItems); - hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80); - hud_element_set_render_pos(D_8029F642, -100, -100); - break; - } - popup->showMsgState = 1; - break; - case 1: - if (popup->duration != 0) { - popup->duration--; - break; - } - shouldDisposeWindow = TRUE; - hud_element_free(D_8029F642); - break; - } - break; - } - if (shouldDisposeWindow) { - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); - bPopupMessage = NULL; - free_popup(popup); - } -} - -void func_80250818(void* data, s32 x, s32 y) { - PopupMessage* popup = data; - s32 messageID; - s32 msgLinesIdx; - s32 opacity; - - x += 15; - y += 6; - - switch (popup->messageIndex) { - case BTL_MSG_MERLEE_ATK_UP: - case BTL_MSG_MERLEE_DEF_UP: - case BTL_MSG_MERLEE_EXP_UP: - case BTL_MSG_MERLEE_DONE: - case BTL_MSG_CANT_CHARGE: - case BTL_MSG_ENEMY_MISSED: - case BTL_MSG_PLAYER_DAZED: - case BTL_MSG_PLAYER_ASLEEP: - case BTL_MSG_PLAYER_FROZEN: - case BTL_MSG_PLAYER_POISONED: - case BTL_MSG_PLAYER_SHRUNK: - case BTL_MSG_PLAYER_PARALYZED: - case BTL_MSG_PLAYER_CHARGED: - case BTL_MSG_PLAYER_TRANSPARENT: - case BTL_MSG_ENEMY_DAZED: - case BTL_MSG_ENEMY_ASLEEP: - case BTL_MSG_ENEMY_FROZEN: - case BTL_MSG_ENEMY_POISONED: - case BTL_MSG_ENEMY_SHRUNK: - case BTL_MSG_ENEMY_PARALYZED: - case BTL_MSG_ENEMY_ELECTRIFIED: - case BTL_MSG_ENEMY_CANT_MOVE: - case BTL_MSG_STAR_POWER_RECHARGED: - case BTL_MSG_STAR_POWER_MAXED: - case BTL_MSG_STAR_POWER_FILLED: - case BTL_MSG_PARTNER_INJURED: - case BTL_MSG_CHARGE_GOOMBARIO: - case BTL_MSG_CHARGE_GOOMBARIO_MORE: - case BTL_MSG_WATER_BLOCK_BEGIN: - case BTL_MSG_WATER_BLOCK_END: - case BTL_MSG_CLOUD_NINE_BEGIN: - case BTL_MSG_CLOUD_NINE_END: - case BTL_MSG_TURBO_CHARGE_BEGIN: - case BTL_MSG_TURBO_CHARGE_END: - case BTL_MSG_CHILL_OUT_BEGIN: - case BTL_MSG_UNUSED_CLOUD_NINE: - case BTL_MSG_NO_JUMP_TARGET: - case BTL_MSG_NO_HAMMER_TARGET: - case BTL_MSG_NO_ITEM_TARGET: - case BTL_MSG_46: - case BTL_MSG_47: - case BTL_MSG_CANT_SELECT_NOW: - case BTL_MSG_CANT_SWITCH: - case BTL_MSG_CANT_SWITCH_UNUSED: - case BTL_MSG_CANT_MOVE_UNUSED: - case BTL_MSG_CANT_SELECT_NOW_ALT: - messageID = bMessages[popup->messageIndex]; - msgLinesIdx = get_msg_lines(messageID) - 1; - draw_msg(messageID, x, y + D_802835D4[msgLinesIdx], 255, MSG_PAL_0F, 0); - break; - case BTL_MSG_CHARGE_HAMMER: - case BTL_MSG_CHARGE_HAMMER_MORE: - case BTL_MSG_CHARGE_JUMP: - case BTL_MSG_CHARGE_JUMP_MORE: - case BTL_MSG_ATTACK_UP: - case BTL_MSG_DEFENCE_UP: - case BTL_MSG_HEAL_ONE: - case BTL_MSG_HEAL_ALL: - case BTL_MSG_ENEMY_TRANSPARENT: - case BTL_MSG_ENEMY_CHARGED: - messageID = bMessages[popup->messageIndex]; - msgLinesIdx = get_msg_lines(messageID) - 1; - y += D_802835D4[msgLinesIdx]; - set_message_value(D_8029F640, 0); - draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0); - break; - case BTL_MSG_CANT_MOVE: - messageID = bMessages[popup->messageIndex]; - msgLinesIdx = get_msg_lines(messageID) - 1; - y += D_802835D4[msgLinesIdx]; - set_message_msg(bActorMessages[D_8029F640], 0); - draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0); - break; - case BTL_MSG_HAMMER_DISABLED_1: - case BTL_MSG_HAMMER_DISABLED_2: - case BTL_MSG_HAMMER_DISABLED_3: - case BTL_MSG_JUMP_DISABLED_1: - case BTL_MSG_JUMP_DISABLED_2: - case BTL_MSG_JUMP_DISABLED_3: - case BTL_MSG_ITEMS_DISABLED: - messageID = bMessages[popup->messageIndex]; - draw_msg(messageID, x + 0x1D, y + 6, 255, MSG_PAL_0F, 0); - hud_element_set_render_pos(D_8029F642, x + 13, y + 14); - hud_element_draw_clipped(D_8029F642); - break; - case BTL_MSG_ACTION_TIP_00: - case BTL_MSG_ACTION_TIP_01: - case BTL_MSG_ACTION_TIP_02: - case BTL_MSG_ACTION_TIP_03: - case BTL_MSG_ACTION_TIP_04: - case BTL_MSG_ACTION_TIP_05: - case BTL_MSG_ACTION_TIP_06: - case BTL_MSG_ACTION_TIP_07: - case BTL_MSG_ACTION_TIP_08: - case BTL_MSG_ACTION_TIP_09: - case BTL_MSG_ACTION_TIP_0A: - case BTL_MSG_ACTION_TIP_0B: - case BTL_MSG_ACTION_TIP_0C: - case BTL_MSG_ACTION_TIP_0D: - case BTL_MSG_ACTION_TIP_0E: - case BTL_MSG_ACTION_TIP_0F: - case BTL_MSG_ACTION_TIP_10: - case BTL_MSG_ACTION_TIP_11: - case BTL_MSG_ACTION_TIP_12: - case BTL_MSG_ACTION_TIP_13: - case BTL_MSG_ACTION_TIP_14: - opacity = 255; - if (popup->showMsgState < 2) { - opacity = 160; - } - if (popup->messageIndex == BTL_MSG_ACTION_TIP_0D) { - opacity = 255; - } - - x -= 11; - y -= 6; - messageID = bMessages[popup->messageIndex]; - msgLinesIdx = get_msg_lines(messageID) - 1; - y += D_802835D4[msgLinesIdx]; - draw_msg(messageID, x + 11, y + 6, opacity, MSG_PAL_0F, 0); - - switch (popup->messageIndex) { - case BTL_MSG_ACTION_TIP_00: - hud_element_set_render_pos(D_8029F642, x + 65, y + 14); - hud_element_set_scale(D_8029F642, 0.5f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - break; - case BTL_MSG_ACTION_TIP_01: - hud_element_set_render_pos(D_8029F642, x + 55, y + 14); - hud_element_set_scale(D_8029F642, 0.6f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - - hud_element_set_render_pos(D_8029F644, x + 73, y + 31); - hud_element_set_alpha(D_8029F644, opacity); - hud_element_draw_clipped(D_8029F644); - break; - case BTL_MSG_ACTION_TIP_02: - hud_element_set_render_pos(D_8029F642, x + 64, y + 14); - hud_element_set_scale(D_8029F642, 0.5f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - break; - case BTL_MSG_ACTION_TIP_03: - hud_element_set_render_pos(D_8029F642, x + 67, y + 14); - hud_element_set_scale(D_8029F642, 0.5f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - break; - case BTL_MSG_ACTION_TIP_04: - hud_element_set_render_pos(D_8029F642, x + 56, y + 14); - hud_element_set_scale(D_8029F642, 0.6f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - break; - case BTL_MSG_ACTION_TIP_05: - hud_element_set_render_pos(D_8029F642, x + 65, y + 13); - hud_element_set_scale(D_8029F642, 0.6f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - - hud_element_set_render_pos(D_8029F644, x + 146, y + 32); - hud_element_set_scale(D_8029F644, 0.8f); - hud_element_set_alpha(D_8029F644, opacity); - func_80144218(D_8029F644); - break; - case BTL_MSG_ACTION_TIP_08: - hud_element_set_render_pos(D_8029F642, x + 86, y + 13); - hud_element_set_scale(D_8029F642, 0.5f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - - hud_element_set_render_pos(D_8029F644, x + 64, y + 13); - hud_element_set_scale(D_8029F644, 0.5f); - hud_element_set_alpha(D_8029F644, opacity); - hud_element_draw_clipped(D_8029F644); - - hud_element_set_render_pos(D_8029F646, x + 108, y + 13); - hud_element_set_scale(D_8029F646, 0.5f); - hud_element_set_alpha(D_8029F646, opacity); - hud_element_draw_clipped(D_8029F646); - break; - case BTL_MSG_ACTION_TIP_0A: - hud_element_set_render_pos(D_8029F642, x + 105, y + 13); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - - hud_element_set_render_pos(D_8029F644, x + 65, y + 14); - hud_element_set_scale(D_8029F644, 0.5f); - hud_element_set_alpha(D_8029F644, opacity); - hud_element_draw_clipped(D_8029F644); - break; - case BTL_MSG_ACTION_TIP_0C: - hud_element_set_render_pos(D_8029F642, x + 63, y + 14); - hud_element_set_scale(D_8029F642, 0.5f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - - hud_element_set_render_pos(D_8029F644, x + 84, y + 14); - hud_element_set_scale(D_8029F644, 0.5f); - hud_element_set_alpha(D_8029F644, opacity); - hud_element_draw_clipped(D_8029F644); - break; - case BTL_MSG_ACTION_TIP_0E: - hud_element_set_render_pos(D_8029F642, x + 124, y + 14); - hud_element_set_scale(D_8029F642, 0.5f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - break; - case BTL_MSG_ACTION_TIP_0F: - hud_element_set_render_pos(D_8029F642, x + 56, y + 31); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - - hud_element_set_render_pos(D_8029F644, x + 53, y + 14); - hud_element_set_scale(D_8029F644, 0.5f); - hud_element_set_alpha(D_8029F644, opacity); - hud_element_draw_clipped(D_8029F644); - break; - case BTL_MSG_ACTION_TIP_10: - hud_element_set_render_pos(D_8029F642, x + 107, y + 13); - hud_element_set_scale(D_8029F642, 0.6f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - - hud_element_set_render_pos(D_8029F644, x + 210, y + 15); - hud_element_set_scale(D_8029F644, 0.8f); - hud_element_set_alpha(D_8029F644, opacity); - func_80144218(D_8029F644); - - hud_element_set_render_pos(D_8029F646, x + 56, y + 15); - hud_element_set_scale(D_8029F646, 0.8f); - hud_element_set_alpha(D_8029F646, opacity); - func_80144218(D_8029F646); - break; - case BTL_MSG_ACTION_TIP_12: - case BTL_MSG_ACTION_TIP_13: - hud_element_set_render_pos(D_8029F642, x + 64, y + 13); - hud_element_set_scale(D_8029F642, 0.5f); - hud_element_set_alpha(D_8029F642, opacity); - hud_element_draw_clipped(D_8029F642); - break; - } - break; - } -} - -void btl_show_message_popup(void* data) { - PopupMessage* popup = data; - s32 numLines; - s32 posX; - s32 posY = 80; - s32 width; - s32 msgWidth; - s32 height; - - switch (popup->messageIndex) { - case BTL_MSG_MERLEE_ATK_UP: - case BTL_MSG_MERLEE_DEF_UP: - case BTL_MSG_MERLEE_EXP_UP: - case BTL_MSG_MERLEE_DONE: - case BTL_MSG_CANT_CHARGE: - case BTL_MSG_ENEMY_MISSED: - case BTL_MSG_PLAYER_DAZED: - case BTL_MSG_PLAYER_ASLEEP: - case BTL_MSG_PLAYER_FROZEN: - case BTL_MSG_PLAYER_POISONED: - case BTL_MSG_PLAYER_SHRUNK: - case BTL_MSG_PLAYER_PARALYZED: - case BTL_MSG_PLAYER_CHARGED: - case BTL_MSG_PLAYER_TRANSPARENT: - case BTL_MSG_ENEMY_DAZED: - case BTL_MSG_ENEMY_ASLEEP: - case BTL_MSG_ENEMY_FROZEN: - case BTL_MSG_ENEMY_POISONED: - case BTL_MSG_ENEMY_SHRUNK: - case BTL_MSG_ENEMY_PARALYZED: - case BTL_MSG_ENEMY_ELECTRIFIED: - case BTL_MSG_ENEMY_CANT_MOVE: - case BTL_MSG_STAR_POWER_RECHARGED: - case BTL_MSG_STAR_POWER_MAXED: - case BTL_MSG_STAR_POWER_FILLED: - case BTL_MSG_PARTNER_INJURED: - case BTL_MSG_CHARGE_GOOMBARIO: - case BTL_MSG_CHARGE_GOOMBARIO_MORE: - case BTL_MSG_WATER_BLOCK_BEGIN: - case BTL_MSG_WATER_BLOCK_END: - case BTL_MSG_CLOUD_NINE_BEGIN: - case BTL_MSG_CLOUD_NINE_END: - case BTL_MSG_TURBO_CHARGE_BEGIN: - case BTL_MSG_TURBO_CHARGE_END: - case BTL_MSG_CHILL_OUT_BEGIN: - case BTL_MSG_UNUSED_CLOUD_NINE: - case BTL_MSG_NO_JUMP_TARGET: - case BTL_MSG_NO_HAMMER_TARGET: - case BTL_MSG_NO_ITEM_TARGET: - case BTL_MSG_46: - case BTL_MSG_47: - case BTL_MSG_CANT_SELECT_NOW: - case BTL_MSG_CANT_SWITCH: - case BTL_MSG_CANT_SWITCH_UNUSED: - case BTL_MSG_CANT_MOVE_UNUSED: - case BTL_MSG_CANT_SELECT_NOW_ALT: - if (popup->needsInit) { - s32 messageID; - - popup->needsInit = FALSE; - messageID = bMessages[popup->messageIndex]; - msgWidth = get_msg_width(messageID, 0) + 30; - posX = 160 - (msgWidth / 2); - width = msgWidth; - numLines = get_msg_lines(messageID) - 1; - height = bMsgHeights[numLines]; - set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); - } - break; - case BTL_MSG_HAMMER_DISABLED_1: - case BTL_MSG_HAMMER_DISABLED_2: - case BTL_MSG_HAMMER_DISABLED_3: - case BTL_MSG_JUMP_DISABLED_1: - case BTL_MSG_JUMP_DISABLED_2: - case BTL_MSG_JUMP_DISABLED_3: - case BTL_MSG_ITEMS_DISABLED: - if (popup->needsInit) { - popup->needsInit = FALSE; - msgWidth = get_msg_width(bMessages[popup->messageIndex], 0) + 55; - posX = 160 - (msgWidth / 2); - width = msgWidth; - height = 40; - set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); - } - break; - case BTL_MSG_CHARGE_HAMMER: - case BTL_MSG_CHARGE_HAMMER_MORE: - case BTL_MSG_CHARGE_JUMP: - case BTL_MSG_CHARGE_JUMP_MORE: - case BTL_MSG_ATTACK_UP: - case BTL_MSG_DEFENCE_UP: - case BTL_MSG_HEAL_ONE: - case BTL_MSG_HEAL_ALL: - case BTL_MSG_ENEMY_TRANSPARENT: - case BTL_MSG_ENEMY_CHARGED: - if (popup->needsInit) { - s32 messageID; - - popup->needsInit = FALSE; - messageID = bMessages[popup->messageIndex]; - set_message_value(D_8029F640, 0); - msgWidth = get_msg_width(messageID, 0) + 31; - posX = 160 - (msgWidth / 2); - width = msgWidth; - numLines = get_msg_lines(messageID) - 1; - height = bMsgHeights[numLines]; - set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); - } - break; - case BTL_MSG_CANT_MOVE: - if (popup->needsInit) { - s32 messageID; - - popup->needsInit = FALSE; - messageID = bMessages[popup->messageIndex]; - set_message_msg(bActorMessages[D_8029F640], 0); - msgWidth = get_msg_width(messageID, 0) + 31; - posX = 160 - (msgWidth / 2); - width = msgWidth; - numLines = get_msg_lines(messageID) - 1; - height = bMsgHeights[numLines]; - set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1); - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); - } - break; - case BTL_MSG_ACTION_TIP_00: - case BTL_MSG_ACTION_TIP_01: - case BTL_MSG_ACTION_TIP_02: - case BTL_MSG_ACTION_TIP_03: - case BTL_MSG_ACTION_TIP_04: - case BTL_MSG_ACTION_TIP_05: - case BTL_MSG_ACTION_TIP_06: - case BTL_MSG_ACTION_TIP_07: - case BTL_MSG_ACTION_TIP_08: - case BTL_MSG_ACTION_TIP_09: - case BTL_MSG_ACTION_TIP_0A: - case BTL_MSG_ACTION_TIP_0B: - case BTL_MSG_ACTION_TIP_0C: - case BTL_MSG_ACTION_TIP_0D: - case BTL_MSG_ACTION_TIP_0E: - case BTL_MSG_ACTION_TIP_0F: - case BTL_MSG_ACTION_TIP_10: - case BTL_MSG_ACTION_TIP_11: - case BTL_MSG_ACTION_TIP_12: - case BTL_MSG_ACTION_TIP_13: - case BTL_MSG_ACTION_TIP_14: - if (popup->needsInit) { - s32 messageID; - - popup->needsInit = FALSE; - messageID = bMessages[popup->messageIndex]; - msgWidth = get_msg_width(messageID, 0) + 31; - posX = 160 - (msgWidth / 2); - posY = 192; - width = msgWidth; - numLines = get_msg_lines(messageID) - 1; - height = bMsgHeights[numLines]; - if (popup->messageIndex == BTL_MSG_ACTION_TIP_0D) { - posY = 120; - D_8029F64C = 1; - } - D_8029F64E = posY; - D_8029F650 = D_802835D8[numLines]; - - posY = D_8029F64E + D_8029F650; - set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1); - if (popup->messageIndex == BTL_MSG_ACTION_TIP_0D) { - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); - } else { - set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_DARKENED); - } - } - break; - } -} - -ApiStatus ShowMessageBox(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 messageIndex = evt_get_variable(script, *args++); - s32 duration = evt_get_variable(script, *args++); - - btl_show_battle_message(messageIndex, duration); - return ApiStatus_DONE2; -} - -ApiStatus ShowVariableMessageBox(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 messageIndex = evt_get_variable(script, *args++); - s32 duration = evt_get_variable(script, *args++); - s32 varValue = evt_get_variable(script, *args++); - - btl_show_variable_battle_message(messageIndex, duration, varValue); - return ApiStatus_DONE2; -} - -ApiStatus IsMessageBoxDisplayed(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 outVar = *args++; - - evt_set_variable(script, outVar, btl_is_popup_displayed()); - return ApiStatus_DONE2; -} - -ApiStatus WaitForMessageBoxDone(Evt* script, s32 isInitialCall) { - return !btl_is_popup_displayed() * ApiStatus_DONE2; -} - -ApiStatus ForceCloseMessageBox(Evt* script, s32 isInitialCall) { - if (bPopupMessage != NULL) { - bPopupMessage->duration = 0; - } - return ApiStatus_DONE2; -} - -ApiStatus SetMessageBoxDuration(Evt* script, s32 isInitialCall) { - btl_set_popup_duration(evt_get_variable(script, *script->ptrReadPos)); - return ApiStatus_DONE2; -} - -ApiStatus func_80251434(Evt* script, s32 isInitialCall) { - func_8024FAE8(); - return ApiStatus_DONE2; -} - -ApiStatus func_80251454(Evt* script, s32 isInitialCall) { - func_8024FAFC(); - return ApiStatus_DONE2; -} - -void apply_shock_effect(Actor* actor) { - ActorPart* part = actor->partsTable; - - while (part != NULL) { - if (!(part->flags & ACTOR_PART_FLAG_INVISIBLE) - && part->idleAnimations != NULL - && !(part->flags & ACTOR_PART_FLAG_40000000) - ) { - f32 x = part->curPos.x; - f32 y = part->curPos.y + (actor->size.y / 10); - f32 z = part->curPos.z; - s32 f1 = (part->size.x + (part->size.x / 4)) * actor->scalingFactor; - s32 f2 = (part->size.y - 2) * actor->scalingFactor; - - if (actor->flags & ACTOR_FLAG_HALF_HEIGHT) { - y -= actor->size.y / 2; - } - - fx_flashing_box_shockwave(0, x, y, z, f1, f2); - } - part = part->nextPart; - } -} diff --git a/src/190A10.c b/src/190A10.c deleted file mode 100644 index 05cad9b494..0000000000 --- a/src/190A10.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "common.h" - -extern s32 D_8010C968; -extern s32 D_8010C98C; - -s32 func_80262130(f32 inX, f32 inY, f32 inZ, f32 height, f32 radius) { - f32 x = inX; - f32 y = inY; - f32 z = inZ; - f32 hitDepth = height; - s32 ret = FALSE; - s32 phi_s0 = 0; - - if (npc_raycast_down_around(0, &x, &y, &z, &hitDepth, 90.0f, radius) && hitDepth <= height) { - s32 colliderFlagsA = get_collider_flags(D_8010C98C & 0xFF); - s32 colliderFlagsB = get_collider_flags(D_8010C968 & 0xFF); - - phi_s0 = colliderFlagsA & colliderFlagsB; - if (phi_s0 != (D_8010C98C & 0xFF)) { - phi_s0 = 0; - } - } - - if (phi_s0 == 1) { - ret = TRUE; - } - - return ret; -} - -s32 func_8026220C(f32 arg0, f32 arg1) { - return (arg1 > 100.0f) ? 28 : 0; -} diff --git a/src/5B320.c b/src/5B320.c index 6047611b59..fa15929ca9 100644 --- a/src/5B320.c +++ b/src/5B320.c @@ -331,73 +331,73 @@ s32 MenuIndexFromPartnerID[] = { PartnerPopupProperties gPartnerPopupProperties[] = { [PARTNER_NONE] { (s32) "なし", - 0x00000000, - 0x00000000, - 0x00000000, + 0, + MSG_NONE, + MSG_NONE, }, [PARTNER_GOOMBARIO] { MSG_Menus_Party_Goombario, - 0x00000002, + 2, MSG_PartnerDesc_Goombario_World, MSG_PartnerDesc_Goombario_Battle, }, [PARTNER_KOOPER] { MSG_Menus_Party_Kooper, - 0x00000003, + 3, MSG_PartnerDesc_Kooper_World, MSG_PartnerDesc_Kooper_Battle, }, [PARTNER_BOMBETTE] { MSG_Menus_Party_Bombette, - 0x00000004, + 4, MSG_PartnerDesc_Bombette_World, MSG_PartnerDesc_Bombette_Battle, }, [PARTNER_PARAKARRY] { MSG_Menus_Party_Parakarry, - 0x00000005, + 5, MSG_PartnerDesc_Parakarry_World, MSG_PartnerDesc_Parakarry_Battle, }, [PARTNER_GOOMPA] { MSG_Menus_Party_Goompa, - 0x00000001, + 1, MSG_PartnerDesc_Goompa_World, MSG_PartnerDesc_Goompa_Battle, }, [PARTNER_WATT] { MSG_Menus_Party_Watt, - 0x00000007, + 7, MSG_PartnerDesc_Watt_World, MSG_PartnerDesc_Watt_Battle, }, [PARTNER_SUSHIE] { MSG_Menus_Party_Sushie, - 0x00000008, + 8, MSG_PartnerDesc_Sushie_World, MSG_PartnerDesc_Sushie_Battle, }, [PARTNER_LAKILESTER] { MSG_Menus_Party_Lakilester, - 0x00000009, + 9, MSG_PartnerDesc_Lakilester_World, MSG_PartnerDesc_Lakilester_Battle, }, [PARTNER_BOW] { MSG_Menus_Party_Bow, - 0x00000006, + 6, MSG_PartnerDesc_Bow_World, MSG_PartnerDesc_Bow_Battle, }, [PARTNER_GOOMBARIA] { MSG_Menus_Party_Goombaria, - 0x00000001, + 1, MSG_PartnerDesc_Goombaria_World, MSG_PartnerDesc_Goombaria_Battle, }, [PARTNER_TWINK] { MSG_Menus_Party_Twink, - 0x00000001, + 1, MSG_PartnerDesc_Twink_World, MSG_PartnerDesc_Twink_Battle, } diff --git a/src/77480.c b/src/77480.c index 3bfdfbd6a6..24cab7e051 100644 --- a/src/77480.c +++ b/src/77480.c @@ -223,8 +223,8 @@ s32 player_raycast_down(f32* x, f32* y, f32* z, f32* length) { gGameStatusPtr->playerGroundTraceNormal.x = hitNx; gGameStatusPtr->playerGroundTraceNormal.y = hitNy; gGameStatusPtr->playerGroundTraceNormal.z = hitNz; - D_8010C938 = get_player_normal_yaw(); - D_8010C990 = get_player_normal_pitch(); + PlayerNormalYaw = get_player_normal_yaw(); + PlayerNormalPitch = get_player_normal_pitch(); gGameStatusPtr->playerGroundTraceAngles.x = atan2(0.0f, 0.0f, hitNz * 100.0, hitNy * 100.0); gGameStatusPtr->playerGroundTraceAngles.y = 0.0f; gGameStatusPtr->playerGroundTraceAngles.z = atan2(0.0f, 0.0f, hitNx * 100.0, hitNy * 100.0); @@ -600,6 +600,7 @@ s32 player_test_move_with_slipping(PlayerStatus* playerStatus, f32* x, f32* y, f return ret; } +// main function for player physics called from state step functions void update_player(void) { PlayerStatus* playerStatus = &gPlayerStatus; CollisionStatus* collisionStatus = &gCollisionStatus; @@ -640,7 +641,7 @@ void update_player(void) { if (playerStatus->flags & PS_FLAG_NO_STATIC_COLLISION) { phys_update_action_state(); - if (!game_scripts_disabled()) { + if (!check_player_action_debug()) { collision_main_lateral(); } } else if (playerStatus->actionState != ACTION_STATE_HIT_LAVA) { @@ -675,6 +676,7 @@ void update_player(void) { } update_player_shadow(); + check_for_interactables(); check_for_conversation_prompt(); check_for_pulse_stone(); @@ -777,7 +779,7 @@ void player_reset_data(void) { mem_clear(playerStatus, sizeof(PlayerStatus)); playerStatus->flags = PS_FLAG_HAS_REFLECTION; reset_player_status(); - playerStatus->shadowID = create_shadow_type(0, playerStatus->pos.x, playerStatus->pos.y, + playerStatus->shadowID = create_shadow_type(SHADOW_VARYING_CIRCLE, playerStatus->pos.x, playerStatus->pos.y, playerStatus->pos.z); func_800E6B68(); func_800E0B14(); @@ -840,8 +842,9 @@ s32 get_overriding_player_anim(s32 anim) { return -1; } } else if (playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS) { - if ((playerStatus->peachItemHeld != 0) - && (anim == ANIM_Peach2_RaiseArms || anim == ANIM_Peach2_Talk || anim == ANIM_Peach2_LowerArms)) { + if (playerStatus->peachItemHeld != PEACH_BAKING_NONE + && (anim == ANIM_Peach2_RaiseArms || anim == ANIM_Peach2_Talk || anim == ANIM_Peach2_LowerArms) + ) { anim = ANIM_Peach3_PresentCompleteCake; } } @@ -860,7 +863,7 @@ void suggest_player_anim_allow_backward(AnimID anim) { if (newAnim != -1) { playerStatus->anim = newAnim; playerStatus->animNotifyValue = 0; - playerStatus->flags &= ~PS_FLAG_FACE_FORWARDS; + playerStatus->flags &= ~PS_FLAG_FACE_FORWARD; } } @@ -869,7 +872,7 @@ void force_player_anim(AnimID anim) { playerStatus->anim = anim; playerStatus->animNotifyValue = 0; - playerStatus->flags &= ~PS_FLAG_FACE_FORWARDS; + playerStatus->flags &= ~PS_FLAG_FACE_FORWARD; } void suggest_player_anim_always_forward(AnimID anim) { @@ -879,7 +882,7 @@ void suggest_player_anim_always_forward(AnimID anim) { if (newAnim != -1) { playerStatus->anim = newAnim; playerStatus->animNotifyValue = 0; - playerStatus->flags |= PS_FLAG_FACE_FORWARDS; + playerStatus->flags |= PS_FLAG_FACE_FORWARD; } } @@ -980,10 +983,10 @@ void func_800E01DC(void) { } } -s32 game_scripts_disabled(void) { - s32 ret = FALSE; +b32 check_player_action_debug(void) { + b32 ret = FALSE; - if (gGameStatusPtr->disableScripts && (gGameStatusPtr->curButtons[0] & BUTTON_R)) { + if (gGameStatusPtr->debugScripts != DEBUG_SCRIPTS_NONE && (gGameStatusPtr->curButtons[0] & BUTTON_R)) { if (gPartnerStatus.partnerActionState == PARTNER_ACTION_NONE) { set_action_state(ACTION_STATE_IDLE); } @@ -1380,7 +1383,7 @@ void player_update_sprite(void) { if (playerStatus->actionState != ACTION_STATE_TORNADO_JUMP && !(playerStatus->flags & PS_FLAG_ROTATION_LOCKED)) { playerStatus->spriteFacingAngle = angle + D_800F7B48; trueAnim = playerStatus->anim; - if (!(playerStatus->flags & PS_FLAG_FACE_FORWARDS) + if (!(playerStatus->flags & PS_FLAG_FACE_FORWARD) && (sprIndex == SPR_Mario1 || sprIndex == SPR_MarioW1 || sprIndex == SPR_Peach1) && fabsf(get_clamped_angle_diff(cameraYaw, playerStatus->curYaw)) < 60.0f ) { @@ -1390,7 +1393,7 @@ void player_update_sprite(void) { playerStatus->curYaw = playerStatus->targetYaw; } else { trueAnim = playerStatus->anim; - if (!(playerStatus->flags & PS_FLAG_FACE_FORWARDS) + if (!(playerStatus->flags & PS_FLAG_FACE_FORWARD) && (sprIndex == SPR_Mario1 || sprIndex == SPR_MarioW1 || sprIndex == SPR_Peach1) && playerStatus->spriteFacingAngle < 350.0f && playerStatus->spriteFacingAngle > 190.0f ) { @@ -1459,7 +1462,7 @@ s32 get_player_back_anim(s32 anim) { } void render_player(void) { - if (!gGameStatusPtr->disableScripts) { + if (gGameStatusPtr->debugScripts == DEBUG_SCRIPTS_NONE) { render_player_model(); } } diff --git a/src/7B440.c b/src/7B440.c index 96d3f71636..3ac2f0f862 100644 --- a/src/7B440.c +++ b/src/7B440.c @@ -4,11 +4,11 @@ SHIFT_BSS s32 PeachDisguiseNpcIndex; SHIFT_BSS Entity* TweesterTouchingPartner; SHIFT_BSS Entity* TweesterTouchingPlayer; SHIFT_BSS s32 PrevPlayerDirection; -SHIFT_BSS s32 D_8010C980; -SHIFT_BSS f32 D_8010C938; -SHIFT_BSS f32 D_8010C990; +SHIFT_BSS s32 PlayerRunStateTime; +SHIFT_BSS f32 PlayerNormalYaw; +SHIFT_BSS f32 PlayerNormalPitch; SHIFT_BSS PlayerSpinState gPlayerSpinState; -SHIFT_BSS s32 D_8010C9A0; +SHIFT_BSS s32 PlayerYInterpUpdateDelay; void update_player_input(void) { PlayerStatus* playerStatus = &gPlayerStatus; @@ -59,11 +59,11 @@ void reset_player_status(void) { InteractNotificationCallback = NULL; D_8010C92C = 0; PrevPlayerDirection = 0; - D_8010C980 = 0; + PlayerRunStateTime = 0; PrevPlayerCamRelativeYaw = 0; D_800F7B44 = 0; - D_8010C938 = 0; - D_8010C990 = 0.0f; + PlayerNormalYaw = 0; + PlayerNormalPitch = 0.0f; playerStatus->availableDisguiseType = 1; playerStatus->renderMode = RENDER_MODE_ALPHATEST; @@ -86,7 +86,7 @@ void reset_player_status(void) { } else { playerStatus->colliderHeight = 37; playerStatus->colliderDiameter = 26; - gGameStatusPtr->peachBakingIngredient = 0; + gGameStatusPtr->peachBakingIngredient = PEACH_BAKING_NONE; } // TODO required to match @@ -131,35 +131,32 @@ void reset_player_status(void) { mem_clear(&gPlayerSpinState, sizeof(gPlayerSpinState)); } -void get_packed_buttons(s32* arg0) { +void get_packed_buttons(s32* out) { PlayerStatus* playerStatus = &gPlayerStatus; - *arg0 = (u16)playerStatus->curButtons | (playerStatus->pressedButtons << 16); + *out = (playerStatus->curButtons & 0xFFFF) | (playerStatus->pressedButtons << 16); } -void player_input_to_move_vector(f32* angle, f32* magnitude) { +void player_input_to_move_vector(f32* outAngle, f32* outMagnitude) { PlayerStatus* playerStatus = &gPlayerStatus; - f32 stickAxisX; - f32 stickAxisY; - f32 ang; - f32 mag; - f32 magMax = 70.0f; + f32 stickAxisX = playerStatus->stickAxis[0]; + f32 stickAxisY = -playerStatus->stickAxis[1]; + f32 maxRadius = 70.0f; + f32 magnitude; + f32 angle; - stickAxisX = playerStatus->stickAxis[0]; - stickAxisY = -playerStatus->stickAxis[1]; - - mag = dist2D(0.0f, 0.0f, stickAxisX, stickAxisY); - if (mag >= magMax) { - mag = magMax; + magnitude = dist2D(0.0f, 0.0f, stickAxisX, stickAxisY); + if (magnitude >= maxRadius) { + magnitude = maxRadius; } - ang = clamp_angle(atan2(0.0f, 0.0f, stickAxisX, stickAxisY) + gCameras[CAM_DEFAULT].curYaw); - if (mag == 0.0f) { - ang = playerStatus->targetYaw; + angle = clamp_angle(atan2(0.0f, 0.0f, stickAxisX, stickAxisY) + gCameras[CAM_DEFAULT].curYaw); + if (magnitude == 0.0f) { + angle = playerStatus->targetYaw; } - *angle = ang; - *magnitude = mag; + *outAngle = angle; + *outMagnitude = magnitude; } void game_input_to_move_vector(f32* outAngle, f32* outMagnitude) { @@ -184,45 +181,46 @@ void game_input_to_move_vector(f32* outAngle, f32* outMagnitude) { *outMagnitude = magnitude; } -void func_800E24F8(void) { +void calculate_camera_yinterp_rate(void) { Shadow* shadow = get_shadow_by_index(gPlayerStatus.shadowID); f32 x = shadow->rot.x + 180.0; f32 z = shadow->rot.z + 180.0; Camera* camera = &gCameras[CAM_DEFAULT]; - f32 temp; + f32 rate; if (x != 0.0f || z != 0.0f) { switch (gPlayerStatus.actionState) { case ACTION_STATE_JUMP: case ACTION_STATE_FALLING: - temp = 32.0f; - camera->unk_49C = temp; + rate = 32.0f; + camera->yinterpRate = rate; break; case ACTION_STATE_WALK: case ACTION_STATE_RUN: if (camera->targetScreenCoords.y < 130) { - camera->unk_49C = 3.0f; + camera->yinterpRate = 3.0f; break; } - temp = 3.0f; - if (D_8010C9A0++ > 10) { - D_8010C9A0 = 10; - camera->unk_49C -= 2.0f; - if (camera->unk_49C < temp) { - camera->unk_49C = temp; - } + rate = 3.0f; + if (PlayerYInterpUpdateDelay++ <= 10) { + return; + } + PlayerYInterpUpdateDelay = 10; + camera->yinterpRate -= 2.0f; + if (camera->yinterpRate < rate) { + camera->yinterpRate = rate; } break; case ACTION_STATE_SLIDING: - temp = 3.0f; - camera->unk_49C = temp; + rate = 3.0f; + camera->yinterpRate = rate; break; default: - temp = 3.0f; - D_8010C9A0 = 0; - camera->unk_49C -= 2.0f; - if (camera->unk_49C < temp) { - camera->unk_49C = temp; + rate = 3.0f; + PlayerYInterpUpdateDelay = 0; + camera->yinterpRate -= 2.0f; + if (camera->yinterpRate < rate) { + camera->yinterpRate = rate; } break; } @@ -232,13 +230,13 @@ void func_800E24F8(void) { case ACTION_STATE_RUN: case ACTION_STATE_JUMP: case ACTION_STATE_SLIDING: - temp = 7.2f; + rate = 7.2f; break; default: - temp = 24.0f; + rate = 24.0f; break; } - camera->unk_49C = temp; + camera->yinterpRate = rate; } } diff --git a/src/7E9D0.c b/src/7E9D0.c index 6aecfae54f..9e73a99e95 100644 --- a/src/7E9D0.c +++ b/src/7E9D0.c @@ -245,7 +245,7 @@ void phys_update_action_state(void) { LastMidairPlayerVelY = playerStatus->gravityIntegrator[0]; } - func_800E24F8(); + calculate_camera_yinterp_rate(); if (playerSpinState->stopSoundTimer != 0) { playerSpinState->stopSoundTimer--; if (playerSpinState->stopSoundTimer == 0) { @@ -289,7 +289,7 @@ void phys_update_action_state(void) { void phys_peach_update(void) { PlayerStatus* playerStatus = &gPlayerStatus; - func_800E24F8(); + calculate_camera_yinterp_rate(); do { if (!(playerStatus->flags & PS_FLAG_PAUSED) && check_conversation_trigger()) { @@ -448,7 +448,7 @@ void start_bounce_b(void) { playerStatus->flags |= PS_FLAG_SCRIPTED_FALL; } -s32 check_input_hammer(void) { +b32 check_input_hammer(void) { PlayerStatus* playerStatus = &gPlayerStatus; PlayerData* playerData = &gPlayerData; @@ -471,7 +471,7 @@ s32 check_input_hammer(void) { return FALSE; } -s32 check_input_jump(void) { +b32 check_input_jump(void) { PlayerStatus* playerStatus = &gPlayerStatus; CollisionStatus* collisionStatus = &gCollisionStatus; s32 surfaceType; diff --git a/src/7bb60_len_41b0.c b/src/7bb60_len_41b0.c index 130981c277..9e3997b88a 100644 --- a/src/7bb60_len_41b0.c +++ b/src/7bb60_len_41b0.c @@ -120,7 +120,7 @@ s32 collision_main_above(void) { return hitResult; } -void handle_switch_hit(void) { +void handle_jumping_land_on_switch(void) { PlayerStatus* playerStatus = &gPlayerStatus; s32 colliderID; f32 groundPosY; @@ -166,7 +166,7 @@ void handle_switch_hit(void) { } } -void func_800E2BB0(void) { +void handle_jumping_launch(void) { PlayerStatus* playerStatus = &gPlayerStatus; s32 cond = FALSE; @@ -205,10 +205,10 @@ void phys_update_jump(void) { if (playerStatus->timeInAir != 0) { switch (playerStatus->actionState) { case ACTION_STATE_LAUNCH: - func_800E2BB0(); + handle_jumping_launch(); return; case ACTION_STATE_LANDING_ON_SWITCH: - handle_switch_hit(); + handle_jumping_land_on_switch(); return; case ACTION_STATE_BOUNCE: integrate_gravity(); @@ -463,7 +463,7 @@ f32 integrate_gravity(void) { f32 player_fall_distance(void) { f32 velocity = integrate_gravity(); - if (game_scripts_disabled()) { + if (check_player_action_debug()) { velocity = 0.0f; } return velocity; @@ -908,7 +908,7 @@ void phys_main_collision_below(void) { playerStatus->groundAnglesXZ.y = hitDirZ; } - if (game_scripts_disabled()) { + if (check_player_action_debug()) { return; } diff --git a/src/7fd10_len_b40.c b/src/7fd10_len_b40.c index f8a8abaef3..69cb9211df 100644 --- a/src/7fd10_len_b40.c +++ b/src/7fd10_len_b40.c @@ -192,10 +192,10 @@ void check_input_open_menus(void) { playerData = &gPlayerData; popup = &D_8010C9C8; - if (gGameStatusPtr->disableScripts || - (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_IS_PEACH) || - evt_get_variable(NULL, GB_StoryProgress) == STORY_INTRO) - { + if (gGameStatusPtr->debugScripts != DEBUG_SCRIPTS_NONE + || (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_IS_PEACH) + || evt_get_variable(NULL, GB_StoryProgress) == STORY_INTRO + ) { return; } diff --git a/src/80850_len_3060.c b/src/80850_len_3060.c index d92730a484..a4c17c1a52 100644 --- a/src/80850_len_3060.c +++ b/src/80850_len_3060.c @@ -182,7 +182,8 @@ s32 find_item(s32 itemID) { ItemData* item = &gItemTable[itemID]; s32 i; - if ((item->typeFlags & ITEM_TYPE_FLAG_KEY) != 0) { + if (item->typeFlags & ITEM_TYPE_FLAG_KEY) { + // check key items for (i = 0; i < ARRAY_COUNT(playerData->keyItems); i++) { if (playerData->keyItems[i] == itemID) { break; @@ -194,19 +195,20 @@ s32 find_item(s32 itemID) { } return i; - } - - for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] == itemID) { - break; + } else { + // check consumable items + for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { + if (playerData->invItems[i] == itemID) { + break; + } } - } - if (i == ARRAY_COUNT(playerData->invItems)) { - return -1; - } + if (i == ARRAY_COUNT(playerData->invItems)) { + return -1; + } - return i; + return i; + } } /// Bubbles up player inventory items such that all ITEM_NONE values are at the bottom. @@ -216,13 +218,16 @@ void sort_items(void) { s32 i; for (i = ARRAY_COUNT(playerData->invItems) - 2; i >= 0; i--) { - if (playerData->invItems[i] != ITEM_NONE) { - for (j = ARRAY_COUNT(playerData->invItems) - 1; i < j; j--) { - if (playerData->invItems[j] == ITEM_NONE) { - playerData->invItems[j] = playerData->invItems[i]; - playerData->invItems[i] = ITEM_NONE; - break; - } + // leave ITEM_NONE at the end of the list alone + if (playerData->invItems[i] == ITEM_NONE) { + continue; + } + // swap any other ITEM_NONE to the end of the list + for (j = ARRAY_COUNT(playerData->invItems) - 1; i < j; j--) { + if (playerData->invItems[j] == ITEM_NONE) { + playerData->invItems[j] = playerData->invItems[i]; + playerData->invItems[i] = ITEM_NONE; + break; } } } @@ -560,7 +565,7 @@ void update_status_bar(void) { s32 spBars; s32 maxStarPower; - if (gGameStatusPtr->creditsViewportMode >= 0 + if (gGameStatusPtr->introPart >= INTRO_PART_0 || gGameStatusPtr->demoState != DEMO_STATE_NONE || (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_IS_PEACH) || evt_get_variable(NULL, GB_StoryProgress) >= STORY_EPILOGUE diff --git a/src/B4580.c b/src/animator.c similarity index 84% rename from src/B4580.c rename to src/animator.c index d6304ba5c6..ab0f94c9a5 100644 --- a/src/B4580.c +++ b/src/animator.c @@ -310,7 +310,7 @@ s32 create_model_animator(s16* animPos) { } if (gGameStatusPtr->isBattle) { - i |= 0x800; + i |= BATTLE_ID_BIT; } return i; } @@ -350,7 +350,7 @@ s32 create_mesh_animator(s16* animPos, s16* animBuffer) { } if (gGameStatusPtr->isBattle) { - i |= 0x800; + i |= BATTLE_ID_BIT; } return i; } @@ -428,114 +428,128 @@ AnimatorNode* add_anim_node(ModelAnimator* animator, s32 parentNodeID, AnimatorN } void update_model_animator(s32 animatorID) { - if (!gGameStatusPtr->isBattle || animatorID & 0x800) { - ModelAnimator* animator; + ModelAnimator* animator; + s32 temp; + s32 i; - animatorID &= ~0x800; - animator = (*gCurrentAnimMeshListPtr)[animatorID]; + if (gGameStatusPtr->isBattle && !(animatorID & BATTLE_ID_BIT)) { + return; + } - if (animator != NULL && animator->flags != 0) { - s32 temp = 0; + animatorID &= ~BATTLE_ID_BIT; + animator = (*gCurrentAnimMeshListPtr)[animatorID]; - if (!(animator->flags & MODEL_ANIMATOR_FLAG_FREEZE_ANIMATION)) { - animator->flags &= ~MODEL_ANIMATOR_FLAG_UPDATE_PENDING; - animator->nextUpdateTime -= animator->timeScale; - if (animator->nextUpdateTime <= 0.0f) { - if (!(animator->flags & MODEL_ANIMATOR_FLAG_MESH)) { - do { - temp = step_model_animator(animator); - } while (temp > 0); - } else { - animator->nextUpdateTime = 1.0f; - reload_mesh_animator_tree(animator); - do { - temp = step_mesh_animator(animator); - } while (temp > 0); - } - } + if (animator == NULL || animator->flags == 0) { + return; + } - if (temp != -1) { - s32 i; + if (animator->flags & MODEL_ANIMATOR_FLAG_FREEZE_ANIMATION) { + return; + } + + animator->flags &= ~MODEL_ANIMATOR_FLAG_UPDATE_PENDING; + animator->nextUpdateTime -= animator->timeScale; - animator_update_model_transforms(animator, NULL); + temp = 0; + if (animator->nextUpdateTime <= 0.0f) { + if (!(animator->flags & MODEL_ANIMATOR_FLAG_MESH)) { + do { + temp = step_model_animator(animator); + } while (temp > 0); + } else { + animator->nextUpdateTime = 1.0f; + reload_mesh_animator_tree(animator); + do { + temp = step_mesh_animator(animator); + } while (temp > 0); + } + } + if (temp == -1) { + return; + } - for (i = 0; i < ARRAY_COUNT(D_801533C0); i++) { - if (D_801533C0[i].ttl >= 0) { - D_801533C0[i].ttl--; - if (D_801533C0[i].ttl == 0) { - D_801533C0[i].ttl = -1; - general_heap_free(D_801533C0[i].addr); - } - } - } + animator_update_model_transforms(animator, NULL); - for (i = 0; i < ARRAY_COUNT(D_801536C0); i++) { - if (D_801536C0[i].ttl >= 0) { - D_801536C0[i].ttl--; - if (D_801536C0[i].ttl == 0) { - D_801536C0[i].ttl = -1; - general_heap_free(D_801536C0[i].addr); - } - } - } - } + for (i = 0; i < ARRAY_COUNT(D_801533C0); i++) { + if (D_801533C0[i].ttl >= 0) { + D_801533C0[i].ttl--; + if (D_801533C0[i].ttl == 0) { + D_801533C0[i].ttl = -1; + general_heap_free(D_801533C0[i].addr); + } + } + } + + for (i = 0; i < ARRAY_COUNT(D_801536C0); i++) { + if (D_801536C0[i].ttl >= 0) { + D_801536C0[i].ttl--; + if (D_801536C0[i].ttl == 0) { + D_801536C0[i].ttl = -1; + general_heap_free(D_801536C0[i].addr); } } } } void update_model_animator_with_transform(s32 animatorID, Mtx* mtx) { - if (!gGameStatusPtr->isBattle || animatorID & 0x800) { - ModelAnimator* animator; + ModelAnimator* animator; + s32 temp; + s32 i; - animatorID &= ~0x800; - animator = (*gCurrentAnimMeshListPtr)[animatorID]; + if (gGameStatusPtr->isBattle && !(animatorID & BATTLE_ID_BIT)) { + return; + } - if (animator != NULL && animator->flags != 0) { - s32 temp = 0; + animatorID &= ~BATTLE_ID_BIT; + animator = (*gCurrentAnimMeshListPtr)[animatorID]; - if (!(animator->flags & MODEL_ANIMATOR_FLAG_FREEZE_ANIMATION)) { - animator->flags &= ~MODEL_ANIMATOR_FLAG_UPDATE_PENDING; - animator->nextUpdateTime -= animator->timeScale; - if (animator->nextUpdateTime <= 0.0f) { - if (!(animator->flags & MODEL_ANIMATOR_FLAG_MESH)) { - do { - temp = step_model_animator(animator); - } while (temp > 0); - } else { - animator->nextUpdateTime = 1.0f; - reload_mesh_animator_tree(animator); - do { - temp = step_mesh_animator(animator); - } while (temp > 0); - } - } + if (animator == NULL || animator->flags == 0) { + return; + } - if (temp != -1) { - s32 i; + if (animator->flags & MODEL_ANIMATOR_FLAG_FREEZE_ANIMATION) { + return; + } - animator_update_model_transforms(animator, mtx); + animator->flags &= ~MODEL_ANIMATOR_FLAG_UPDATE_PENDING; + animator->nextUpdateTime -= animator->timeScale; - for (i = 0; i < ARRAY_COUNT(D_801533C0); i++) { - if (D_801533C0[i].ttl >= 0) { - D_801533C0[i].ttl--; - if (D_801533C0[i].ttl == 0) { - D_801533C0[i].ttl = -1; - general_heap_free(D_801533C0[i].addr); - } - } - } + temp = 0; + if (animator->nextUpdateTime <= 0.0f) { + if (!(animator->flags & MODEL_ANIMATOR_FLAG_MESH)) { + do { + temp = step_model_animator(animator); + } while (temp > 0); + } else { + animator->nextUpdateTime = 1.0f; + reload_mesh_animator_tree(animator); + do { + temp = step_mesh_animator(animator); + } while (temp > 0); + } + } + if (temp == -1) { + return; + } - for (i = 0; i < ARRAY_COUNT(D_801536C0); i++) { - if (D_801536C0[i].ttl >= 0) { - D_801536C0[i].ttl--; - if (D_801536C0[i].ttl == 0) { - D_801536C0[i].ttl = -1; - general_heap_free(D_801536C0[i].addr); - } - } - } - } + animator_update_model_transforms(animator, mtx); + + for (i = 0; i < ARRAY_COUNT(D_801533C0); i++) { + if (D_801533C0[i].ttl >= 0) { + D_801533C0[i].ttl--; + if (D_801533C0[i].ttl == 0) { + D_801533C0[i].ttl = -1; + general_heap_free(D_801533C0[i].addr); + } + } + } + + for (i = 0; i < ARRAY_COUNT(D_801536C0); i++) { + if (D_801536C0[i].ttl >= 0) { + D_801536C0[i].ttl--; + if (D_801536C0[i].ttl == 0) { + D_801536C0[i].ttl = -1; + general_heap_free(D_801536C0[i].addr); } } } @@ -697,49 +711,63 @@ void animator_node_update_model_transform(ModelAnimator* animator, f32 (*flipMtx } void render_animated_model(s32 animatorID, Mtx* rootTransform) { + ModelAnimator* animator; RenderTask rt; RenderTask* rtPtr = &rt; - if (!gGameStatusPtr->isBattle || animatorID & 0x800) { - ModelAnimator* animator; + if (gGameStatusPtr->isBattle && !(animatorID & BATTLE_ID_BIT)) { + return; + } + + animatorID &= ~BATTLE_ID_BIT; + animator = (*gCurrentAnimMeshListPtr)[animatorID]; - animatorID &= ~0x800; - animator = (*gCurrentAnimMeshListPtr)[animatorID]; - if (animator != NULL && animator->flags != 0 && !(animator->flags & MODEL_ANIMATOR_FLAG_UPDATE_PENDING) && - animator->flags & (1 << gCurrentCamID) && !(animator->flags & MODEL_ANIMATOR_FLAG_HIDDEN)) - { - animator->mtx = *rootTransform; - animator->baseAddr = NULL; - rtPtr->appendGfxArg = animator; - rtPtr->appendGfx = (void (*)(void*))appendGfx_animator; - rtPtr->dist = 0; - rtPtr->renderMode = animator->renderMode; - queue_render_task(rtPtr); - } + if (animator == NULL || animator->flags == 0) { + return; + } + + if (!(animator->flags & MODEL_ANIMATOR_FLAG_UPDATE_PENDING) + && animator->flags & (1 << gCurrentCamID) + && !(animator->flags & MODEL_ANIMATOR_FLAG_HIDDEN) + ) { + animator->mtx = *rootTransform; + animator->baseAddr = NULL; + rtPtr->appendGfxArg = animator; + rtPtr->appendGfx = (void (*)(void*))appendGfx_animator; + rtPtr->dist = 0; + rtPtr->renderMode = animator->renderMode; + queue_render_task(rtPtr); } } void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32 segment, void* baseAddr) { + ModelAnimator* animator; RenderTask rt; RenderTask* rtPtr = &rt; - if (!gGameStatusPtr->isBattle || animatorID & 0x800) { - ModelAnimator* animator; + if (gGameStatusPtr->isBattle && !(animatorID & BATTLE_ID_BIT)) { + return; + } - animatorID &= ~0x800; - animator = (*gCurrentAnimMeshListPtr)[animatorID]; - if (animator != NULL && animator->flags != 0 && !(animator->flags & MODEL_ANIMATOR_FLAG_UPDATE_PENDING) && - animator->flags & (1 << gCurrentCamID) && !(animator->flags & MODEL_ANIMATOR_FLAG_HIDDEN)) - { - animator->mtx = *rootTransform; - gAnimVtxSegment = segment; - animator->baseAddr = baseAddr; - rtPtr->appendGfxArg = animator; - rtPtr->appendGfx = (void (*)(void*))appendGfx_animator; - rtPtr->dist = 0; - rtPtr->renderMode = animator->renderMode; - queue_render_task(rtPtr); - } + animatorID &= ~BATTLE_ID_BIT; + animator = (*gCurrentAnimMeshListPtr)[animatorID]; + + if (animator == NULL || animator->flags == 0) { + return; + } + + if (!(animator->flags & MODEL_ANIMATOR_FLAG_UPDATE_PENDING) + && animator->flags & (1 << gCurrentCamID) + && !(animator->flags & MODEL_ANIMATOR_FLAG_HIDDEN) + ) { + animator->mtx = *rootTransform; + gAnimVtxSegment = segment; + animator->baseAddr = baseAddr; + rtPtr->appendGfxArg = animator; + rtPtr->appendGfx = (void (*)(void*))appendGfx_animator; + rtPtr->dist = 0; + rtPtr->renderMode = animator->renderMode; + queue_render_task(rtPtr); } } @@ -959,11 +987,11 @@ void set_animator_tree_to_node_map(ModelAnimator* animator, s32* nodeIDs, s32 co } ModelAnimator* get_animator_by_index(s32 animModelID) { - return (*gCurrentAnimMeshListPtr)[animModelID & ~0x800]; + return (*gCurrentAnimMeshListPtr)[animModelID & ~BATTLE_ID_BIT]; } ModelAnimator* set_animator_render_callback(s32 animModelID, void* callbackArg, void (*callbackFunc)(void*)) { - ModelAnimator* ret = (*gCurrentAnimMeshListPtr)[animModelID & ~0x800]; + ModelAnimator* ret = (*gCurrentAnimMeshListPtr)[animModelID & ~BATTLE_ID_BIT]; ret->fpRenderCallback = callbackFunc; ret->renderCallbackArg = callbackArg; @@ -1007,19 +1035,19 @@ void get_anim_model_fog_color(s32* r, s32* g, s32* b, s32* a) { } void set_animator_flags(s32 index, s32 bits) { - ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~0x800]; + ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~BATTLE_ID_BIT]; animator->flags |= bits; } void clear_animator_flags(s32 index, s32 bits) { - ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~0x800]; + ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~BATTLE_ID_BIT]; animator->flags &= ~bits; } void play_model_animation(s32 index, s16* animPos) { - ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~0x800]; + ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~BATTLE_ID_BIT]; if (animator->animationBuffer != NULL) { animPos = (s16*) (((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer); // TODO: array access? / cleanup @@ -1031,7 +1059,7 @@ void play_model_animation(s32 index, s16* animPos) { } void play_model_animation_starting_from(s32 index, s16* animPos, s32 framesToSkip) { - s32 indexMasked = index & ~0x800; + s32 indexMasked = index & ~BATTLE_ID_BIT; ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[indexMasked]; s32 i; @@ -1089,14 +1117,16 @@ void load_model_animator_node(StaticAnimatorNode* node, ModelAnimator* animator, } void load_model_animator_tree(s32 index, StaticAnimatorNode** tree) { - ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~0x800]; + ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~BATTLE_ID_BIT]; s32 nodeIDs[ARRAY_COUNT(animator->staticNodeIDs)]; - if (animator != NULL && animator->flags != 0) { - gAnimTreeRoot = tree; - load_model_animator_node(*tree, animator, 0, nodeIDs); - set_animator_tree_to_node_map(animator, nodeIDs, ARRAY_COUNT(animator->staticNodeIDs)); + if (animator == NULL || animator->flags == 0) { + return; } + + gAnimTreeRoot = tree; + load_model_animator_node(*tree, animator, 0, nodeIDs); + set_animator_tree_to_node_map(animator, nodeIDs, ARRAY_COUNT(animator->staticNodeIDs)); } void load_mesh_animator_node(StaticAnimatorNode* node, ModelAnimator* animator, s32 parentNodeID, s32* treeIndexToNodeIDs) { @@ -1114,29 +1144,31 @@ void load_mesh_animator_node(StaticAnimatorNode* node, ModelAnimator* animator, } void load_mesh_animator_tree(s32 index, StaticAnimatorNode** tree) { - s32 indexMasked = index & ~0x800; + s32 indexMasked = index & ~BATTLE_ID_BIT; ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[indexMasked]; s32 nodeIDs[ARRAY_COUNT(animator->staticNodeIDs)]; s32 i; - if (animator != NULL && animator->flags != 0) { - if ((*tree)->vertexStartOffset == 0) { - load_model_animator_tree(indexMasked, tree); - return; - } - - gAnimTreeRoot = tree; - animator->staticRoot = tree; - animator->treeIndexPos = 0; - animator->savedTreePos = 0; - - for (i = 0; i < ARRAY_COUNT(animator->staticNodes); i++) { - animator->staticNodes[i] = NULL; - } - - load_mesh_animator_node(*gAnimTreeRoot, animator, 0, nodeIDs); - animator->flags |= MODEL_ANIMATOR_FLAG_MESH; + if (animator == NULL || animator->flags == 0) { + return; } + + if ((*tree)->vertexStartOffset == 0) { + load_model_animator_tree(indexMasked, tree); + return; + } + + gAnimTreeRoot = tree; + animator->staticRoot = tree; + animator->treeIndexPos = 0; + animator->savedTreePos = 0; + + for (i = 0; i < ARRAY_COUNT(animator->staticNodes); i++) { + animator->staticNodes[i] = NULL; + } + + load_mesh_animator_node(*gAnimTreeRoot, animator, 0, nodeIDs); + animator->flags |= MODEL_ANIMATOR_FLAG_MESH; } void reload_mesh_animator_node(StaticAnimatorNode* node, ModelAnimator* animator, s32 parentNodeID, s32* treeIndexToNodeIDs) { diff --git a/src/audio.h b/src/audio.h index d32b02f514..9f1eea5503 100644 --- a/src/audio.h +++ b/src/audio.h @@ -61,7 +61,6 @@ typedef u8* WaveData; typedef u32 SegData; - typedef enum AuPriority { AU_PRIORITY_FREE = 0, AU_PRIORITY_BGM_PLAYER_MAIN = 1, diff --git a/src/audio/sfx.c b/src/audio/sfx.c index d2961c5713..43c10d3d36 100644 --- a/src/audio/sfx.c +++ b/src/audio/sfx.c @@ -19,12 +19,12 @@ s32 LoopingSounds[] = { [SOUND_LOOP_IDX(SOUND_LOOP_TRD_FLOWING_WATER)] SOUND_LRAW_TRD_FLOWING_WATER, [SOUND_LOOP_IDX(SOUND_LOOP_TRD_RAISE_STAIRS)] SOUND_LRAW_TRD_RAISE_STAIRS, [SOUND_LOOP_IDX(SOUND_LOOP_CHEERING)] SOUND_LRAW_CHEERING, - [SOUND_LOOP_IDX(SOUND_LOOP_09)] SOUND_LRAW_0273, - [SOUND_LOOP_IDX(SOUND_LOOP_0A)] SOUND_LRAW_0275, - [SOUND_LOOP_IDX(SOUND_LOOP_0B)] SOUND_LRAW_0275, - [SOUND_LOOP_IDX(SOUND_LOOP_0C)] SOUND_LRAW_0274, - [SOUND_LOOP_IDX(SOUND_LOOP_0D)] SOUND_LRAW_0273, - [SOUND_LOOP_IDX(SOUND_LOOP_0E)] SOUND_LRAW_0274, + [SOUND_LOOP_IDX(SOUND_LOOP_IWA10_FLOW1)] SOUND_LRAW_WATER_FLOWING_1, + [SOUND_LOOP_IDX(SOUND_LOOP_IWA_UNUSED_FLOW3)] SOUND_LRAW_WATER_FLOWING_3, + [SOUND_LOOP_IDX(SOUND_LOOP_IWA00_FLOW3)] SOUND_LRAW_WATER_FLOWING_3, + [SOUND_LOOP_IDX(SOUND_LOOP_IWA00_FLOW2)] SOUND_LRAW_WATER_FLOWING_2, + [SOUND_LOOP_IDX(SOUND_LOOP_IWA01_FLOW1)] SOUND_LRAW_WATER_FLOWING_1, + [SOUND_LOOP_IDX(SOUND_LOOP_IWA01_FLOW2)] SOUND_LRAW_WATER_FLOWING_2, [SOUND_LOOP_IDX(SOUND_LOOP_OBK_LOWER_CHAIN)] SOUND_LRAW_OBK_LOWER_CHAIN, [SOUND_LOOP_IDX(SOUND_LOOP_MOVE_STATUE)] SOUND_LRAW_MOVE_STATUE, [SOUND_LOOP_IDX(SOUND_LOOP_SENTINEL_ALARM)] SOUND_LRAW_SENTINEL_ALARM, @@ -40,50 +40,50 @@ s32 LoopingSounds[] = { [SOUND_LOOP_IDX(SOUND_LOOP_TROMP_ROLL)] SOUND_LRAW_TROMP_ROLL, [SOUND_LOOP_IDX(SOUND_LOOP_JAN_SMALL_GEYSER)] SOUND_LRAW_JAN_SMALL_GEYSER, [SOUND_LOOP_IDX(SOUND_LOOP_JAN_LARGE_GEYSER)] SOUND_LRAW_JAN_LARGE_GEYSER, - [SOUND_LOOP_IDX(SOUND_LOOP_1E)] SOUND_LRAW_0189, - [SOUND_LOOP_IDX(SOUND_LOOP_1F)] SOUND_NONE, - [SOUND_LOOP_IDX(SOUND_LOOP_20)] SOUND_NONE, - [SOUND_LOOP_IDX(SOUND_LOOP_21)] SOUND_LRAW_0198, - [SOUND_LOOP_IDX(SOUND_LOOP_22)] SOUND_LRAW_0199, - [SOUND_LOOP_IDX(SOUND_LOOP_23)] SOUND_LRAW_0194, - [SOUND_LOOP_IDX(SOUND_LOOP_24)] SOUND_LRAW_019A, + [SOUND_LOOP_IDX(SOUND_LOOP_JAN_CONSTRUCTION)] SOUND_LRAW_JAN_CONSTRUCTION, + [SOUND_LOOP_IDX(SOUND_LOOP_NOTHING_1F)] SOUND_NONE, + [SOUND_LOOP_IDX(SOUND_LOOP_NOTHING_20)] SOUND_NONE, + [SOUND_LOOP_IDX(SOUND_LOOP_FLO_WATER_FLOW_1)] SOUND_LRAW_FLO_WATER_FLOW_1, + [SOUND_LOOP_IDX(SOUND_LOOP_FLO_WATER_FLOW_2)] SOUND_LRAW_FLO_WATER_FLOW_2, + [SOUND_LOOP_IDX(SOUND_LOOP_BUBBLE_DRIFT)] SOUND_LRAW_BUBBLE_DRIFT, + [SOUND_LOOP_IDX(SOUND_LOOP_FLO_RELEASE_FOUNTAIN)] SOUND_LRAW_FLO_RELEASE_FOUNTAIN, [SOUND_LOOP_IDX(SOUND_LOOP_PUFF_PUFF_MACHINE)] SOUND_LRAW_PUFF_PUFF_MACHINE, - [SOUND_LOOP_IDX(SOUND_LOOP_26)] SOUND_LRAW_0164, - [SOUND_LOOP_IDX(SOUND_LOOP_27)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_28)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_29)] SOUND_LRAW_0274, - [SOUND_LOOP_IDX(SOUND_LOOP_2A)] SOUND_LRAW_0275, - [SOUND_LOOP_IDX(SOUND_LOOP_2B)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_2C)] SOUND_LRAW_0273, - [SOUND_LOOP_IDX(SOUND_LOOP_2D)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_2E)] SOUND_LRAW_0273, - [SOUND_LOOP_IDX(SOUND_LOOP_2F)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_30)] SOUND_LRAW_0274, - [SOUND_LOOP_IDX(SOUND_LOOP_31)] SOUND_LRAW_0275, - [SOUND_LOOP_IDX(SOUND_LOOP_32)] SOUND_LRAW_0276, - [SOUND_LOOP_IDX(SOUND_LOOP_33)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_34)] SOUND_LRAW_0273, - [SOUND_LOOP_IDX(SOUND_LOOP_35)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_36)] SOUND_LRAW_0274, - [SOUND_LOOP_IDX(SOUND_LOOP_37)] SOUND_LRAW_0276, - [SOUND_LOOP_IDX(SOUND_LOOP_38)] SOUND_LRAW_0275, - [SOUND_LOOP_IDX(SOUND_LOOP_39)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_3A)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_3B)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_3C)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_3D)] SOUND_LRAW_0276, - [SOUND_LOOP_IDX(SOUND_LOOP_3E)] SOUND_LRAW_0275, - [SOUND_LOOP_IDX(SOUND_LOOP_3F)] SOUND_LRAW_0274, + [SOUND_LOOP_IDX(SOUND_LOOP_NOTHING_26)] SOUND_LRAW_NOTHING_26, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK01_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK02_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK02_FLOW2)] SOUND_LRAW_WATER_FLOWING_2, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK02_FLOW3)] SOUND_LRAW_WATER_FLOWING_3, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK03_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK03_FLOW1)] SOUND_LRAW_WATER_FLOWING_1, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK05_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK05_FLOW1)] SOUND_LRAW_WATER_FLOWING_1, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK06_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK06_FLOW2)] SOUND_LRAW_WATER_FLOWING_2, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK06_FLOW3)] SOUND_LRAW_WATER_FLOWING_3, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK06_FLOW4)] SOUND_LRAW_WATER_FLOWING_4, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK08_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK08_FLOW1)] SOUND_LRAW_WATER_FLOWING_1, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK09_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK09_FLOW2)] SOUND_LRAW_WATER_FLOWING_2, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK09_FLOW4)] SOUND_LRAW_WATER_FLOWING_4, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK09_FLOW3)] SOUND_LRAW_WATER_FLOWING_3, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK10_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK_UNUSED1_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK_UNUSED2_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK_UNUSED3_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK_UNUSED3_FLOW4)] SOUND_LRAW_WATER_FLOWING_4, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK_UNUSED3_FLOW3)] SOUND_LRAW_WATER_FLOWING_3, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK_UNUSED3_FLOW2)] SOUND_LRAW_WATER_FLOWING_2, [SOUND_LOOP_IDX(SOUND_LOOP_SAM_STAIRS_RISE)] SOUND_LRAW_SAM_STAIRS_RISE, [SOUND_LOOP_IDX(SOUND_LOOP_CHARGE_BAR)] SOUND_LRAW_CHARGE_BAR, [SOUND_LOOP_IDX(SOUND_LOOP_CRYSTAL_BALL_GLOW)] SOUND_LRAW_CRYSTAL_BALL_GLOW, - [SOUND_LOOP_IDX(SOUND_LOOP_43)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_44)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_45)] SOUND_LRAW_0275, - [SOUND_LOOP_IDX(SOUND_LOOP_46)] SOUND_LRAW_0276, - [SOUND_LOOP_IDX(SOUND_LOOP_47)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_48)] SOUND_LRAW_0271, - [SOUND_LOOP_IDX(SOUND_LOOP_49)] SOUND_LRAW_0271, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK18_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK19_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK19_FLOW3)] SOUND_LRAW_WATER_FLOWING_3, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK19_FLOW4)] SOUND_LRAW_WATER_FLOWING_4, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK20_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK23_WATER)] SOUND_LRAW_TIK_WATER, + [SOUND_LOOP_IDX(SOUND_LOOP_TIK24_WATER)] SOUND_LRAW_TIK_WATER, [SOUND_LOOP_IDX(SOUND_LOOP_WINDMILL_EXT)] SOUND_LRAW_WINDMILL_EXT, [SOUND_LOOP_IDX(SOUND_LOOP_WINDMILL_GEARS)] SOUND_LRAW_WINDMILL_GEARS, [SOUND_LOOP_IDX(SOUND_LOOP_SHY_GUY_CROWD_1)] SOUND_LRAW_SHY_GUY_CROWD_1, @@ -116,11 +116,11 @@ s32 LoopingSounds[] = { [SOUND_LOOP_IDX(SOUND_LOOP_STAR_ORB_RISING)] SOUND_LRAW_STAR_ORB_RISING, [SOUND_LOOP_IDX(SOUND_LOOP_USE_STAR_BEAM)] SOUND_LRAW_USE_STAR_BEAM, [SOUND_LOOP_IDX(SOUND_LOOP_USE_PEACH_BEAM)] SOUND_LRAW_USE_PEACH_BEAM, - [SOUND_LOOP_IDX(SOUND_LOOP_6A)] SOUND_LRAW_0391, - [SOUND_LOOP_IDX(SOUND_LOOP_6B)] SOUND_LRAW_03BC, - [SOUND_LOOP_IDX(SOUND_LOOP_6C)] SOUND_LRAW_03AD, - [SOUND_LOOP_IDX(SOUND_LOOP_6D)] SOUND_LRAW_022C, - [SOUND_LOOP_IDX(SOUND_LOOP_6E)] SOUND_LRAW_022D, + [SOUND_LOOP_IDX(SOUND_LOOP_SPINNING_FLOWER)] SOUND_LRAW_SPINNING_FLOWER, + [SOUND_LOOP_IDX(SOUND_LOOP_RUMBLE)] SOUND_LRAW_RUMBLE, + [SOUND_LOOP_IDX(SOUND_LOOP_FIGHTING)] SOUND_LRAW_FIGHTING, + [SOUND_LOOP_IDX(SOUND_LOOP_KPA_ARENA_TURN_ON)] SOUND_LRAW_KPA_ARENA_TURN_ON, + [SOUND_LOOP_IDX(SOUND_LOOP_KPA_ARENA_ACTIVE)] SOUND_LRAW_KPA_ARENA_ACTIVE, }; // all sound IDs for alternating sounds @@ -151,8 +151,8 @@ s32 FuzzyHopSounds[] = { SOUND_FUZZY_HOP_A, SOUND_FUZZY_HOP_B, SOUND_FUZZY_HOP_C s32 BulletBillExplodeSounds[] = { SOUND_BULLET_BILL_EXPLODE_A, SOUND_BULLET_BILL_EXPLODE_B }; s32 LuigiStepSounds[] = { SOUND_LUIGI_STEP_A, SOUND_LUIGI_STEP_B }; s32 TrainChugSounds[] = { SOUND_TRAIN_CHUG_A, SOUND_TRAIN_CHUG_B }; -s32 FinaleBridgeCollapseSounds[] = { SOUND_FINALE_BRIDGE_COLLAPSE_A, SOUND_FINALE_BRIDGE_COLLAPSE_B }; -s32 FinaleExplosionSounds[] = { SOUND_FINALE_EXPLOSION_A, SOUND_FINALE_EXPLOSION_B }; +s32 FinaleBridgeCollapseSounds[] = { SOUND_KPA_BRIDGE_COLLAPSE_A, SOUND_KPA_BRIDGE_COLLAPSE_B }; +s32 FinaleExplosionSounds[] = { SOUND_KPA_EXPLOSION_A, SOUND_KPA_EXPLOSION_B }; s32 CardShuffleSounds[] = { SOUND_SHUFFLE_CARD_A, SOUND_SHUFFLE_CARD_B }; s32 StarSpiritAppearSounds[] = { SOUND_STAR_SPIRIT_APPEAR_A, SOUND_STAR_SPIRIT_APPEAR_B }; s32 StarSpiritCastSounds[] = { SOUND_STAR_SPIRIT_CAST_A, SOUND_STAR_SPIRIT_CAST_B }; @@ -297,8 +297,8 @@ void sfx_compute_spatialized_sound_params_full(f32 x, f32 y, f32 z, s16* volume, } void sfx_reset_door_sounds(void) { - gCurrentDoorSounds = 0; - gCurrentRoomDoorSounds = 0; + gCurrentDoorSounds = DOOR_SOUNDS_BASIC; + gCurrentRoomDoorSounds = DOOR_SOUNDS_BASIC; } void sfx_clear_sounds(void) { diff --git a/src/background_gfx.c b/src/background_gfx.c index 71c178a157..6b507074c7 100644 --- a/src/background_gfx.c +++ b/src/background_gfx.c @@ -305,7 +305,7 @@ void func_80027BAC(s32 arg0, s32 arg1) { // * Draws the saved framebuffer to the current framebuffer while the pause screen is opened, fading it in over time. void gfx_draw_background(void) { Camera* camera; - s32 bgFlags; + s32 bgRenderState; s32 backgroundMinX; s32 backgroundMaxX; s32 backgroundMinY; @@ -317,10 +317,10 @@ void gfx_draw_background(void) { gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); camera = &gCameras[gCurrentCameraID]; - bgFlags = gGameStatusPtr->backgroundFlags & BACKGROUND_RENDER_STATE_MASK; + bgRenderState = gGameStatusPtr->backgroundFlags & BACKGROUND_RENDER_STATE_MASK; - switch (bgFlags) { - case BACKGROUND_RENDER_STATE_1: + switch (bgRenderState) { + case BACKGROUND_RENDER_STATE_BEGIN_PAUSED: // Save coverage to nunGfxCfb[1] using the VISCVG render mode gDPPipeSync(gMainGfxPos++); gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, nuGfxCfb[1]); @@ -333,16 +333,16 @@ void gfx_draw_background(void) { gDPPipeSync(gMainGfxPos++); gDPSetDepthSource(gMainGfxPos++, G_ZS_PIXEL); gGameStatusPtr->backgroundFlags &= ~BACKGROUND_RENDER_STATE_MASK; - gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_2; + gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_FILTER_PAUSED; break; - case BACKGROUND_RENDER_STATE_2: + case BACKGROUND_RENDER_STATE_FILTER_PAUSED: // Save the framebuffer into the depth buffer and run a filter on it based on the saved coverage values gfx_transfer_frame_to_depth(nuGfxCfb[0], nuGfxCfb[1], nuGfxZBuffer); // applies filters to the framebuffer gPauseBackgroundFade = 0; gGameStatusPtr->backgroundFlags &= ~BACKGROUND_RENDER_STATE_MASK; - gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_3; + gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_SHOW_PAUSED; // fallthrough - case BACKGROUND_RENDER_STATE_3: + case BACKGROUND_RENDER_STATE_SHOW_PAUSED: // Draw the saved framebuffer to the background, fading in at a rate of 16 opacity per frame until reaching 128 opacity gPauseBackgroundFade += 16; if (gPauseBackgroundFade > 128) { @@ -385,7 +385,7 @@ void gfx_draw_background(void) { break; default: // Draw the scene's background as normal - if (gOverrideFlags & GLOBAL_OVERRIDES_8) { + if (gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME) { gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr)); return; } diff --git a/src/16c8e0.c b/src/battle/16C8E0.c similarity index 88% rename from src/16c8e0.c rename to src/battle/16C8E0.c index e779b37759..5526862dab 100644 --- a/src/16c8e0.c +++ b/src/battle/16C8E0.c @@ -17,14 +17,14 @@ BSS s32 bSavedPartner; BSS s32 bSavedOverrideFlags; BSS s32 D_8029DA38; // unused? BSS s32 D_8029DA3C; // unused? -BSS s32 D_8029DA40; -BSS s32 D_8029DA44; -BSS s32 D_8029DA48; +BSS s32 StarPointsBasePosX; +BSS s32 StarPointsBasePosY; +BSS s32 StarPointsMoveInterpAmt; BSS s32 D_8029DA4C; -BSS Camera D_8029DA50[ARRAY_COUNT(gCameras)]; -BSS f32 D_8029EFB0; -BSS f32 D_8029EFB4; -BSS f32 D_8029EFB8; +BSS Camera SavedWorldCameras[ARRAY_COUNT(gCameras)]; +BSS f32 SavedWorldPlayerPosX; +BSS f32 SavedWorldPlayerPosY; +BSS f32 SavedWorldPlayerPosZ; BSS s32 D_8029EFBC; BSS s32 BtlStarPointTensHIDs[10]; BSS s32 BtlStarPointShinesHIDs[10]; @@ -48,7 +48,7 @@ HudScript* bHPDigitHudScripts[] = { NULL, NULL, NULL, }; -s32 BattleScreenFadeAmt = 0xFF; +s32 BattleScreenFadeAmt = 255; EvtScript BtlPutPartnerAway = { EVT_CALL(DispatchEvent, ACTOR_PARTNER, EVENT_PUT_PARTNER_AWAY) @@ -103,7 +103,7 @@ extern HudScript HES_StatusSPShine; void btl_render_actors(void); void tattle_cam_pre_render(Camera*); -void func_8023FF84(Camera*); +void tattle_cam_post_render(Camera*); void btl_draw_enemy_health_bars(void); void btl_update_starpoints_display(void); @@ -172,7 +172,7 @@ void initialize_battle(void) { battleStatus->inputBufferPos = 0; battleStatus->holdInputBufferPos = 0; - battleStatus->unk_95 = 0; + battleStatus->waitForState = BATTLE_STATE_0; for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { battleStatus->enemyActors[i] = NULL; @@ -223,7 +223,7 @@ void initialize_battle(void) { } tattleCam->fpDoPreRender = tattle_cam_pre_render; - tattleCam->fpDoPostRender = func_8023FF84; + tattleCam->fpDoPostRender = tattle_cam_post_render; if (playerData->battlesCount < 9999) { playerData->battlesCount++; @@ -254,7 +254,7 @@ void btl_update(void) { s32 cond; if (battleStatus->inputBitmask != -1) { - if ((battleStatus->flags1 & BS_FLAGS1_PARTNER_ACTING) && gGameStatusPtr->multiplayerEnabled != 0) { + if ((battleStatus->flags1 & BS_FLAGS1_PARTNER_ACTING) && gGameStatusPtr->multiplayerEnabled) { s32 inputBitmask = battleStatus->inputBitmask; battleStatus->curButtonsDown = gGameStatusPtr->curButtons[1] & inputBitmask; @@ -289,7 +289,7 @@ void btl_update(void) { } cond = TRUE; - if (battleStatus->unk_95 == 0 || battleStatus->unk_95 != gBattleState) { + if (battleStatus->waitForState == BATTLE_STATE_0 || battleStatus->waitForState != gBattleState) { switch (gBattleState) { case BATTLE_STATE_NEGATIVE_1: case BATTLE_STATE_0: @@ -470,8 +470,8 @@ void btl_update(void) { set_screen_overlay_params_front(OVERLAY_SCREEN_COLOR, D_802809F6); set_screen_overlay_color(SCREEN_LAYER_FRONT, 208, 208, 208); - intro_logos_set_fade_alpha(255); - intro_logos_set_fade_color(224); + startup_set_fade_screen_alpha(255); + startup_set_fade_screen_color(224); } } } @@ -633,7 +633,7 @@ void btl_render_actors(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; - if (actor != NULL && !(actor->flags & ACTOR_FLAG_DISABLED)) { + if (actor != NULL && !(actor->flags & ACTOR_FLAG_INVISIBLE)) { renderTaskPtr->appendGfxArg = (void*)i; renderTaskPtr->appendGfx = appendGfx_enemy_actor; renderTaskPtr->dist = actor->curPos.z; @@ -659,7 +659,7 @@ void btl_render_actors(void) { } actor = battleStatus->partnerActor; - if (actor != NULL && !(actor->flags & ACTOR_FLAG_DISABLED)) { + if (actor != NULL && !(actor->flags & ACTOR_FLAG_INVISIBLE)) { renderTaskPtr->appendGfxArg = NULL; renderTaskPtr->appendGfx = appendGfx_partner_actor; renderTaskPtr->dist = actor->curPos.z; @@ -684,7 +684,7 @@ void btl_render_actors(void) { } actor = battleStatus->playerActor; - if (actor != NULL && !(actor->flags & ACTOR_FLAG_DISABLED)) { + if (actor != NULL && !(actor->flags & ACTOR_FLAG_INVISIBLE)) { renderTaskPtr->appendGfxArg = NULL; renderTaskPtr->appendGfx = appendGfx_player_actor; renderTaskPtr->dist = actor->curPos.z; @@ -712,8 +712,8 @@ void btl_render_actors(void) { } } -u16 blend_background_channel_COPY(u16 arg0, s32 arg1, s32 alpha) { - return arg0 + (arg1 - arg0) * alpha / 256; +u16 blend_tattle_background_channel(u16 a, s32 b, s32 alpha) { + return a + (b - a) * alpha / 256; } void tattle_cam_pre_render(Camera* camera) { @@ -745,9 +745,9 @@ void tattle_cam_pre_render(Camera* camera) { } else { for (i = 0; i < ARRAY_COUNT(gTattleBgPalette); i++) { u16 palColor = gGameStatusPtr->backgroundPalette[i]; - u16 blendedB = blend_background_channel_COPY(UNPACK_PAL_B(palColor), fogB >> 3, fogA); - u16 blendedG = blend_background_channel_COPY(UNPACK_PAL_G(palColor), fogG >> 3, fogA); - u16 blendedR = blend_background_channel_COPY(UNPACK_PAL_R(palColor), fogR >> 3, fogA); + u16 blendedB = blend_tattle_background_channel(UNPACK_PAL_B(palColor), fogB >> 3, fogA); + u16 blendedG = blend_tattle_background_channel(UNPACK_PAL_G(palColor), fogG >> 3, fogA); + u16 blendedR = blend_tattle_background_channel(UNPACK_PAL_R(palColor), fogR >> 3, fogA); gTattleBgPalette[i] = blendedB << 1 | blendedG << 6 | blendedR << 11 | 1; } } @@ -849,88 +849,90 @@ void tattle_cam_pre_render(Camera* camera) { gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); } -void func_8023FF84(Camera* camera) { +void tattle_cam_post_render(Camera* camera) { show_foreground_models_unchecked(); } void btl_draw_enemy_health_bars(void) { BattleStatus* battleStatus = &gBattleStatus; - if (gGameStatusPtr->unk_7C != 0) { - if (gBattleStatus.flags1 & BS_FLAGS1_ACTORS_VISIBLE) { - s32 i; + if (!gGameStatusPtr->healthBarsEnabled) { + return; + } - for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { - Actor* enemy = battleStatus->enemyActors[i]; + if (gBattleStatus.flags1 & BS_FLAGS1_ACTORS_VISIBLE) { + s32 i; - if (enemy != NULL) { - s32 currentHP; - s32 temp; - s32 ones; + for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { + Actor* enemy = battleStatus->enemyActors[i]; - currentHP = enemy->curHP; - temp = (currentHP * 25) / enemy->maxHP; + if (enemy != NULL) { + s32 currentHP; + s32 temp; + s32 ones; - if (temp < enemy->healthFraction) { - enemy->healthFraction -= 2; - if (enemy->healthFraction < temp) { - enemy->healthFraction = temp; - } - } + currentHP = enemy->curHP; + temp = (currentHP * 25) / enemy->maxHP; + if (temp < enemy->healthFraction) { + enemy->healthFraction -= 2; if (enemy->healthFraction < temp) { - enemy->healthFraction += 2; - if (enemy->healthFraction > temp) { - enemy->healthFraction = temp; - } + enemy->healthFraction = temp; } + } - if (!(enemy->flags & (ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_TARGET_ONLY)) - && ((gBattleStatus.flags1 & BS_FLAGS1_MENU_OPEN) || (enemy->flags & ACTOR_FLAG_HEALTH_BAR_HIDDEN)) - && is_actor_health_bar_visible(enemy) - ) { - f32 x = enemy->healthBarPos.x; - f32 y = enemy->healthBarPos.y; - f32 z = enemy->healthBarPos.z; + if (enemy->healthFraction < temp) { + enemy->healthFraction += 2; + if (enemy->healthFraction > temp) { + enemy->healthFraction = temp; + } + } - if (enemy->healthBarPos.y >= -500) { - s32 screenX, screenY, screenZ; - s32 id; + if (!(enemy->flags & (ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_TARGET_ONLY)) + && ((gBattleStatus.flags1 & BS_FLAGS1_MENU_OPEN) || (enemy->flags & ACTOR_FLAG_HEALTH_BAR_HIDDEN)) + && is_actor_health_bar_visible(enemy) + ) { + f32 x = enemy->healthBarPos.x; + f32 y = enemy->healthBarPos.y; + f32 z = enemy->healthBarPos.z; - get_screen_coords(1, x, y, z, &screenX, &screenY, &screenZ); - screenY += 16; + if (enemy->healthBarPos.y >= -500) { + s32 screenX, screenY, screenZ; + s32 id; + + get_screen_coords(CAM_BATTLE, x, y, z, &screenX, &screenY, &screenZ); + screenY += 16; + id = D_8029EFBC; + hud_element_set_render_depth(id, 10); + hud_element_set_script(id, &HES_HPBar); + hud_element_set_render_pos(id, screenX, screenY); + hud_element_draw_clipped(id); + + temp = currentHP / 10; + ones = currentHP % 10; + + // tens digit + if (temp > 0) { id = D_8029EFBC; hud_element_set_render_depth(id, 10); - hud_element_set_script(id, &HES_HPBar); - hud_element_set_render_pos(id, screenX, screenY); - hud_element_draw_clipped(id); - - temp = currentHP / 10; - ones = currentHP % 10; - - // tens digit - if (temp > 0) { - id = D_8029EFBC; - hud_element_set_render_depth(id, 10); - hud_element_set_script(id, bHPDigitHudScripts[temp]); - btl_draw_prim_quad(0, 0, 0, 0, screenX, screenY + 2, 8, 8); - hud_element_set_render_pos(id, screenX + 4, screenY + 6); - hud_element_draw_next(id); - } - - // ones digit - id = D_8029EFBC; - hud_element_set_render_depth(id, 10); - hud_element_set_script(id, bHPDigitHudScripts[ones]); - btl_draw_prim_quad(0, 0, 0, 0, screenX + 6, screenY + 2, 8, 8); - hud_element_set_render_pos(id, screenX + 10, screenY + 6); + hud_element_set_script(id, bHPDigitHudScripts[temp]); + btl_draw_prim_quad(0, 0, 0, 0, screenX, screenY + 2, 8, 8); + hud_element_set_render_pos(id, screenX + 4, screenY + 6); hud_element_draw_next(id); - - temp = enemy->healthFraction; - temp = 25 - temp; - btl_draw_prim_quad(168, 0, 0, 255, screenX + 11 - temp, screenY - 7, temp, 1); - btl_draw_prim_quad(255, 0, 0, 255, screenX + 11 - temp, screenY - 6, temp, 4); } + + // ones digit + id = D_8029EFBC; + hud_element_set_render_depth(id, 10); + hud_element_set_script(id, bHPDigitHudScripts[ones]); + btl_draw_prim_quad(0, 0, 0, 0, screenX + 6, screenY + 2, 8, 8); + hud_element_set_render_pos(id, screenX + 10, screenY + 6); + hud_element_draw_next(id); + + temp = enemy->healthFraction; + temp = 25 - temp; + btl_draw_prim_quad(168, 0, 0, 255, screenX + 11 - temp, screenY - 7, temp, 1); + btl_draw_prim_quad(255, 0, 0, 255, screenX + 11 - temp, screenY - 6, temp, 4); } } } @@ -946,17 +948,17 @@ void btl_update_starpoints_display(void) { s32 i; if (gBattleStatus.flags1 & BS_FLAGS1_ACTORS_VISIBLE) { - if (!(gBattleStatus.flags2 & BS_FLAGS2_1)) { - D_8029DA40 = 292; - D_8029DA44 = 196; - D_8029DA48 = 6; + if (!(gBattleStatus.flags2 & BS_FLAGS2_AWARDING_STAR_POINTS)) { + StarPointsBasePosX = 292; + StarPointsBasePosY = 196; + StarPointsMoveInterpAmt = 6; D_8029DA4C = battleStatus->totalStarPoints % 10; } else { - D_8029DA40 += (202 - D_8029DA40) / D_8029DA48; - D_8029DA44 += (120 - D_8029DA44) / D_8029DA48; - D_8029DA48--; - if (D_8029DA48 < 1) { - D_8029DA48 = 1; + StarPointsBasePosX += (202 - StarPointsBasePosX) / StarPointsMoveInterpAmt; + StarPointsBasePosY += (120 - StarPointsBasePosY) / StarPointsMoveInterpAmt; + StarPointsMoveInterpAmt--; + if (StarPointsMoveInterpAmt < 1) { + StarPointsMoveInterpAmt = 1; } } @@ -1006,8 +1008,8 @@ void btl_update_starpoints_display(void) { } } - posX = D_8029DA40; - posY = D_8029DA44; + posX = StarPointsBasePosX; + posY = StarPointsBasePosY; tens = battleStatus->totalStarPoints / 10; ones = battleStatus->totalStarPoints % 10; @@ -1035,9 +1037,9 @@ void btl_update_starpoints_display(void) { hud_element_set_flags(BtlStarPointShinesHIDs[i], HUD_ELEMENT_FLAG_DISABLED); } - posX = D_8029DA40; - posY = D_8029DA44 + (one * 14.0f); - if (gBattleStatus.flags2 & BS_FLAGS2_1) { + posX = StarPointsBasePosX; + posY = StarPointsBasePosY + (one * 14.0f); + if (gBattleStatus.flags2 & BS_FLAGS2_AWARDING_STAR_POINTS) { if (ones != 0) { draw_box(0, WINDOW_STYLE_4, posX - 100, posY - 5, 0, 110, 12, 120, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); @@ -1067,12 +1069,12 @@ void btl_save_world_cameras(void) { s32 i; for (i = 0; i < ARRAY_COUNT(gCameras); i++) { - D_8029DA50[i] = gCameras[i]; + SavedWorldCameras[i] = gCameras[i]; } - D_8029EFB0 = playerStatus->pos.x; - D_8029EFB4 = playerStatus->pos.y; - D_8029EFB8 = playerStatus->pos.z; + SavedWorldPlayerPosX = playerStatus->pos.x; + SavedWorldPlayerPosY = playerStatus->pos.y; + SavedWorldPlayerPosZ = playerStatus->pos.z; playerStatus->pos.x = NPC_DISPOSE_POS_X; playerStatus->pos.y = NPC_DISPOSE_POS_Y; playerStatus->pos.z = NPC_DISPOSE_POS_Z; @@ -1084,13 +1086,13 @@ void btl_restore_world_cameras(void) { s32 i; for (i = 0; i < ARRAY_COUNT(gCameras); i++) { - gCameras[i] = D_8029DA50[i]; + gCameras[i] = SavedWorldCameras[i]; } gCurrentCameraID = CAM_DEFAULT; - playerStatus->pos.x = D_8029EFB0; - playerStatus->pos.y = D_8029EFB4; - playerStatus->pos.z = D_8029EFB8; + playerStatus->pos.x = SavedWorldPlayerPosX; + playerStatus->pos.y = SavedWorldPlayerPosY; + playerStatus->pos.z = SavedWorldPlayerPosZ; if (bSavedOverrideFlags & GLOBAL_OVERRIDES_ENABLE_FLOOR_REFLECTION) { gOverrideFlags |= GLOBAL_OVERRIDES_ENABLE_FLOOR_REFLECTION; @@ -1122,12 +1124,12 @@ void btl_delete_actor(Actor* actor) { if (actor->takeTurnScript != NULL) { kill_script_by_ID(actor->takeTurnScriptID); } - func_80266EE8(actor, UNK_PAL_EFFECT_0); + set_actor_pal_effect(actor, GLOW_PAL_OFF); part = actor->partsTable; while (part != NULL) { - if (!(part->flags & ACTOR_PART_FLAG_4)) { + if (!(part->flags & ACTOR_PART_FLAG_NO_SHADOW)) { delete_shadow(part->shadowIndex); } @@ -1136,11 +1138,11 @@ void btl_delete_actor(Actor* actor) { ASSERT(spr_free_sprite(part->spriteInstanceID) == 0); - if (!(part->flags & ACTOR_PART_FLAG_80000000)) { + if (!(part->flags & ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC)) { heap_free(part->movement); } - if (!(part->flags & ACTOR_PART_FLAG_2)) { + if (!(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { heap_free(part->decorationTable); } } @@ -1171,7 +1173,7 @@ void btl_delete_actor(Actor* actor) { void btl_delete_player_actor(Actor* player) { ActorPart* partsTable; ActorPartMovement* movement; - DecorationTable* decorationTable; + DecorationTable* decorations; s32 i; for (i = 0; i < 2; i++) { @@ -1189,7 +1191,7 @@ void btl_delete_player_actor(Actor* player) { } partsTable = player->partsTable; - decorationTable = partsTable->decorationTable; + decorations = partsTable->decorationTable; movement = partsTable->movement; delete_shadow(player->shadow.id); @@ -1201,7 +1203,7 @@ void btl_delete_player_actor(Actor* player) { } heap_free(movement); - heap_free(decorationTable); + heap_free(decorations); heap_free(partsTable); heap_free(player); } diff --git a/src/181810.c b/src/battle/181810.c similarity index 87% rename from src/181810.c rename to src/battle/181810.c index 905c9c6892..c05a66b99d 100644 --- a/src/181810.c +++ b/src/battle/181810.c @@ -111,7 +111,7 @@ u8* ActorTypesLists[] = { NULL, }; -ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { +API_CALLABLE(ActorSpeak) { Bytecode* args = script->ptrReadPos; Actor* actor; ActorPart* part; @@ -158,7 +158,7 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 0; gOverrideFlags |= GLOBAL_OVERRIDES_10; if (gSpeakingActorTalkAnim >= 0) { - func_80263E08(actor, part, gSpeakingActorTalkAnim); + set_actor_anim_by_ref(actor, part, gSpeakingActorTalkAnim); } increment_status_bar_disabled(); } @@ -184,14 +184,14 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { return ApiStatus_DONE1; } - if (gSpeakingActorPrintCtx->stateFlags & MSG_STATE_FLAG_80) { // "is talking" flag + if (gSpeakingActorPrintCtx->stateFlags & MSG_STATE_FLAG_SPEAKING) { anim = gSpeakingActorTalkAnim; } else { anim = gSpeakingActorIdleAnim; } if (anim >= 0) { - func_80263E08(actor, part, anim); + set_actor_anim_by_ref(actor, part, anim); } if (gSpeakingActorPrintIsDone == TRUE) { @@ -203,36 +203,38 @@ ApiStatus ActorSpeak(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) { +API_CALLABLE(EndActorSpeech) { Bytecode* args = script->ptrReadPos; - s32 flags; + ActorPart* actorPart; + Actor* actor; s32 anim; f32 x, y, z; s32 screenX, screenY, screenZ; if (isInitialCall) { - s32 actor = evt_get_variable(script, *args++); + s32 actorID = evt_get_variable(script, *args++); s32 partID = evt_get_variable(script, *args++); - ActorPart* actorPart; - + gSpeakingActorTalkAnim = evt_get_variable(script, *args++); gSpeakingActorIdleAnim = evt_get_variable(script, *args++); - if (actor == ACTOR_SELF) { - actor = script->owner1.actorID; + if (actorID == ACTOR_SELF) { + actorID = script->owner1.actorID; } - actor = (s32) get_actor(actor); - actorPart = get_actor_part((Actor*)actor, partID); - gSpeakingActor = (Actor*) actor; + + actor = get_actor(actorID); + actorPart = get_actor_part(actor, partID); + gSpeakingActor = actor; gSpeakingActorPart = actorPart; + close_message(gSpeakingActorPrintCtx); script->functionTemp[0] = 0; increment_status_bar_disabled(); } if (script->functionTemp[0] == 0) { - Actor* actor = gSpeakingActor; - ActorPart* actorPart = gSpeakingActorPart; + actor = gSpeakingActor; + actorPart = gSpeakingActorPart; x = actor->curPos.x + actor->headOffset.x; if (!(gSpeakingActor->flags & ACTOR_FLAG_HALF_HEIGHT)) { @@ -244,20 +246,19 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) { get_screen_coords(CAM_BATTLE, x, y, z, &screenX, &screenY, &screenZ); msg_printer_set_origin_pos(gSpeakingActorPrintCtx, screenX, screenY); - flags = gSpeakingActorPrintCtx->stateFlags; - if (flags & 0x40) { + if (gSpeakingActorPrintCtx->stateFlags & MSG_STATE_FLAG_40) { decrement_status_bar_disabled(); return ApiStatus_DONE1; } - if (flags & 0x80) { + if (gSpeakingActorPrintCtx->stateFlags & MSG_STATE_FLAG_SPEAKING) { anim = gSpeakingActorTalkAnim; } else { anim = gSpeakingActorIdleAnim; } if (anim >= 0) { - func_80263E08(actor, actorPart, anim); + set_actor_anim_by_ref(actor, actorPart, anim); } if (gSpeakingActorPrintIsDone == TRUE) { @@ -270,7 +271,7 @@ ApiStatus EndActorSpeech(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus ShowBattleChoice(Evt* script, s32 isInitialCall) { +API_CALLABLE(ShowBattleChoice) { Bytecode* args = script->ptrReadPos; if (isInitialCall) { @@ -292,7 +293,7 @@ ApiStatus ShowBattleChoice(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus EnableBattleStatusBar(Evt* script, s32 isInitialCall) { +API_CALLABLE(EnableBattleStatusBar) { Bytecode* args = script->ptrReadPos; b32 shouldEnable = evt_get_variable(script, *args++); @@ -304,12 +305,12 @@ ApiStatus EnableBattleStatusBar(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus OverrideBattleDmaDest(Evt* script, s32 isInitialCall) { +API_CALLABLE(OverrideBattleDmaDest) { gBattleDmaDest = (u8*) evt_get_variable(script, *script->ptrReadPos); return ApiStatus_DONE2; } -ApiStatus LoadBattleDmaData(Evt* script, s32 isInitialCall) { +API_CALLABLE(LoadBattleDmaData) { s32 dmaIndex = evt_get_variable(script, *script->ptrReadPos); BattleArea* battleArea = &gBattleAreas[UNPACK_BTL_AREA(gCurrentBattleID)]; DmaTable* dmaEntry = &battleArea->dmaTable[dmaIndex]; @@ -319,15 +320,15 @@ ApiStatus LoadBattleDmaData(Evt* script, s32 isInitialCall) { } if (gBattleDmaDest == NULL) { - dma_copy(dmaEntry->start, dmaEntry->end, dmaEntry->dest); - } else { - dma_copy(dmaEntry->start, dmaEntry->end, gBattleDmaDest); + dma_copy(dmaEntry->start, dmaEntry->end, dmaEntry->dest); + } else { + dma_copy(dmaEntry->start, dmaEntry->end, gBattleDmaDest); } return ApiStatus_DONE2; } -ApiStatus EnableBattleFloorReflections(Evt* script, s32 isInitialCall) { +API_CALLABLE(EnableBattleFloorReflections) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; @@ -342,7 +343,7 @@ ApiStatus EnableBattleFloorReflections(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus SetDarknessMode(Evt* script, s32 isInitialCall) { +API_CALLABLE(SetDarknessMode) { BattleStatus* battleStatus = &gBattleStatus; Bytecode* args = script->ptrReadPos; s32 darknessMode = evt_get_variable(script, *args++); @@ -365,7 +366,7 @@ ApiStatus SetDarknessMode(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus GetDarknessStatus(Evt* script, s32 isInitialCall) { +API_CALLABLE(GetDarknessStatus) { Bytecode* args = script->ptrReadPos; s32 out1 = *args++; s32 out2 = *args++; @@ -373,7 +374,7 @@ ApiStatus GetDarknessStatus(Evt* script, s32 isInitialCall) { f32 amt; s32 isLight; - // While loop may not be necessary in the future + //TODO While loop may not be necessary in the future do { get_screen_overlay_params(SCREEN_LAYER_BACK, &type, &amt); } while (0); if (amt < 128.0f) { @@ -388,7 +389,7 @@ ApiStatus GetDarknessStatus(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus PlaySoundAtActor(Evt* script, s32 isInitialCall) { +API_CALLABLE(PlaySoundAtActor) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); Bytecode soundID = *args++; @@ -404,7 +405,7 @@ ApiStatus PlaySoundAtActor(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus PlaySoundAtPart(Evt* script, s32 isInitialCall) { +API_CALLABLE(PlaySoundAtPart) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); s32 partID = evt_get_variable(script, *args++); @@ -421,7 +422,7 @@ ApiStatus PlaySoundAtPart(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus PlayLoopingSoundAtActor(Evt* script, s32 isInitialCall) { +API_CALLABLE(PlayLoopingSoundAtActor) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); s32 idx = evt_get_variable(script, *args++); @@ -439,7 +440,7 @@ ApiStatus PlayLoopingSoundAtActor(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus StopLoopingSoundAtActor(Evt* script, s32 isInitialCall) { +API_CALLABLE(StopLoopingSoundAtActor) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); s32 idx = evt_get_variable(script, *args++); @@ -460,7 +461,7 @@ ApiStatus StopLoopingSoundAtActor(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus SetForegroundModelsVisibleUnchecked(Evt* script, s32 isInitialCall) { +API_CALLABLE(SetForegroundModelsVisibleUnchecked) { if (evt_get_variable(script, *script->ptrReadPos)) { show_foreground_models_unchecked(); } else { @@ -469,7 +470,7 @@ ApiStatus SetForegroundModelsVisibleUnchecked(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus SetForegroundModelsVisible(Evt* script, s32 isInitialCall) { +API_CALLABLE(SetForegroundModelsVisible) { if (evt_get_variable(script, *script->ptrReadPos)) { show_foreground_models(); } else { @@ -478,7 +479,7 @@ ApiStatus SetForegroundModelsVisible(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus MakeIgnoreResStatusField(Evt* script, s32 isInitialCall) { +API_CALLABLE(MakeIgnoreResStatusField) { Bytecode* args = script->ptrReadPos; Bytecode outVar = *args++; Bytecode typeFlag = *args++; // STATUS_FLAG_* @@ -488,7 +489,7 @@ ApiStatus MakeIgnoreResStatusField(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus MakeStatusField(Evt* script, s32 isInitialCall) { +API_CALLABLE(MakeStatusField) { Bytecode* args = script->ptrReadPos; s32 outVar = *args++; s32 typeFlag = *args++; // STATUS_FLAG_* @@ -601,14 +602,14 @@ void load_tattle_flags(s32 actorType) { battleStatus->tattleFlags[actorType / 8] |= gb; } -ApiStatus SetEnemiesFled(Evt* script, s32 isInitialCall) { +API_CALLABLE(SetEnemiesFled) { gCurrentEncounter.battleOutcome = OUTCOME_ENEMY_FLED; btl_set_state(BATTLE_STATE_END_BATTLE); return ApiStatus_DONE2; } -ApiStatus MultiplyByActorScale(Evt* script, s32 isInitialCall) { +API_CALLABLE(MultiplyByActorScale) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(script->owner1.actorID); @@ -616,7 +617,7 @@ ApiStatus MultiplyByActorScale(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus MultiplyVec2ByActorScale(Evt* script, s32 isInitialCall) { +API_CALLABLE(MultiplyVec2ByActorScale) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(script->owner1.actorID); @@ -626,7 +627,7 @@ ApiStatus MultiplyVec2ByActorScale(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus MultiplyVec3ByActorScale(Evt* script, s32 isInitialCall) { +API_CALLABLE(MultiplyVec3ByActorScale) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(script->owner1.actorID); @@ -637,7 +638,7 @@ ApiStatus MultiplyVec3ByActorScale(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus ApplyShrinkFromOwner(Evt* script, s32 isInitialCall) { +API_CALLABLE(ApplyShrinkFromOwner) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(script->owner1.actorID); s32 amt = evt_get_variable(script, *args); @@ -650,7 +651,7 @@ ApiStatus ApplyShrinkFromOwner(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus StartRumble(Evt* script, s32 isInitialCall) { +API_CALLABLE(StartRumble) { start_rumble_type(evt_get_variable(script, *script->ptrReadPos)); return ApiStatus_DONE2; } diff --git a/src/battle/190A10.c b/src/battle/190A10.c new file mode 100644 index 0000000000..37fc27f81b --- /dev/null +++ b/src/battle/190A10.c @@ -0,0 +1,33 @@ +#include "common.h" + +extern s32 NpcHitQueryBehindCollider; +extern s32 NpcHitQueryAheadCollider; + +s32 func_80262130(f32 inX, f32 inY, f32 inZ, f32 height, f32 radius) { + f32 x = inX; + f32 y = inY; + f32 z = inZ; + f32 hitDepth = height; + s32 ret = FALSE; + s32 combinedFlags = 0; + + if (npc_raycast_down_around(0, &x, &y, &z, &hitDepth, 90.0f, radius) && hitDepth <= height) { + s32 colliderAheadFlags = get_collider_flags(NpcHitQueryAheadCollider & 0xFF); + s32 colliderBehindFlags = get_collider_flags(NpcHitQueryBehindCollider & 0xFF); + + combinedFlags = colliderAheadFlags & colliderBehindFlags; + if (combinedFlags != (NpcHitQueryAheadCollider & 0xFF)) { + combinedFlags = 0; + } + } + + if (combinedFlags == 1) { + ret = TRUE; + } + + return ret; +} + +s32 func_8026220C(f32 arg0, f32 arg1) { + return (arg1 > 100.0f) ? 28 : 0; +} diff --git a/src/190B20.c b/src/battle/190B20.c similarity index 77% rename from src/190B20.c rename to src/battle/190B20.c index ed3e712c43..29c25d7c1c 100644 --- a/src/190B20.c +++ b/src/battle/190B20.c @@ -54,7 +54,7 @@ Gfx D_80293970[] = { gsSPEndDisplayList(), }; -s32 D_802939C0 = 0; +s32 bCurRumbleScript = 0; // from 17D6A0 extern s32 bMarioDefenseTable[]; @@ -66,13 +66,13 @@ extern PartnerDMAData bPartnerDmaTable[]; s32 get_npc_anim_for_status(AnimID*, s32); -void create_target_list(Actor* actor, s32 arg1) { +void create_target_list(Actor* actor, b32 targetHomePos) { s32 numTargets = 0; BattleStatus* battleStatus = &gBattleStatus; SelectableTarget* targetDataList = actor->targetData; Actor* playerActor = battleStatus->playerActor; Actor* partnerActor = battleStatus->partnerActor; - SelectableTarget* targetData; + SelectableTarget* target; SelectableTarget* otherTarget; Actor* targetActor; ActorPart* targetPart; @@ -83,58 +83,69 @@ void create_target_list(Actor* actor, s32 arg1) { f32 f2, f12, f14; u8 overlayType; f32 overlayZoom; - s32 sp18 = FALSE; - s32 col; - s32 row; - s32 skip; + s32 hiddenByDarkness = FALSE; + s32 sampleCol; + s32 sampleRow; + s32 removeTarget; + // a target has been manually selected if (battleStatus->curTargetListFlags & TARGET_FLAG_OVERRIDE) { actor->targetListLength = -1; return; } + // ------------------------------------------------------------------------ + // build a list of all possible targets from the appropriate actor classes + + // try adding the player if (battleStatus->curTargetListFlags & TARGET_FLAG_PLAYER) { targetDataList->actorID = ACTOR_PLAYER; targetDataList->partID = 1; - if (!arg1) { - targetDataList->posA.x = playerActor->curPos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; - targetDataList->posA.y = playerActor->curPos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; - targetDataList->posA.z = playerActor->curPos.z; + if (!targetHomePos) { + targetDataList->truePos.x = playerActor->curPos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; + targetDataList->truePos.y = playerActor->curPos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; + targetDataList->truePos.z = playerActor->curPos.z; } else { - targetDataList->posA.x = playerActor->homePos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; - targetDataList->posA.y = playerActor->homePos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; - targetDataList->posA.z = playerActor->homePos.z; + targetDataList->truePos.x = playerActor->homePos.x + playerActor->size.x * 0.3 * playerActor->scalingFactor; + targetDataList->truePos.y = playerActor->homePos.y + playerActor->size.y * 0.9 * playerActor->scalingFactor; + targetDataList->truePos.z = playerActor->homePos.z; } - targetDataList->unk_10 = -100; + targetDataList->priorityOffset = -100; numTargets++; targetDataList++; } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_100) && partnerActor != NULL) { - targetDataList->actorID = ACTOR_PARTNER; - targetDataList->partID = 1; - if (!arg1) { - targetDataList->posA.x = partnerActor->curPos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; - targetDataList->posA.y = partnerActor->curPos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; - targetDataList->posA.z = partnerActor->curPos.z; - } else { - targetDataList->posA.x = partnerActor->homePos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; - targetDataList->posA.y = partnerActor->homePos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; - targetDataList->posA.z = partnerActor->homePos.z; + // try adding the partner + if (battleStatus->curTargetListFlags & TARGET_FLAG_PARTNER) { + if (partnerActor != NULL) { + targetDataList->actorID = ACTOR_PARTNER; + targetDataList->partID = 1; + if (!targetHomePos) { + targetDataList->truePos.x = partnerActor->curPos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; + targetDataList->truePos.y = partnerActor->curPos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; + targetDataList->truePos.z = partnerActor->curPos.z; + } else { + targetDataList->truePos.x = partnerActor->homePos.x + partnerActor->size.x * 0.1 * partnerActor->scalingFactor; + targetDataList->truePos.y = partnerActor->homePos.y + partnerActor->size.y * 0.8 * partnerActor->scalingFactor; + targetDataList->truePos.z = partnerActor->homePos.z; + } + targetDataList->priorityOffset = -50; + numTargets++; + targetDataList++; } - targetDataList->unk_10 = -50; - numTargets++; - targetDataList++; } + // try adding enemies for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { targetActor = battleStatus->enemyActors[i]; if (targetActor == NULL) { continue; } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_100) || (battleStatus->curTargetListFlags & TARGET_FLAG_PLAYER)) { + if ((battleStatus->curTargetListFlags & TARGET_FLAG_PARTNER) || (battleStatus->curTargetListFlags & TARGET_FLAG_PLAYER)) { + // skip adding enemies if either player or partner targeting is set break; } + // check each part of the current enemy targetPart = targetActor->partsTable; numParts = targetActor->numParts; for (j = 0; j < numParts; targetPart = targetPart->nextPart, j++) { @@ -142,8 +153,8 @@ void create_target_list(Actor* actor, s32 arg1) { ActorPartBlueprint* partBlueprint = targetPart->staticData; if (!(targetPart->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) { - row = !arg1; // required to match - if (row) { + sampleRow = !targetHomePos; // required to match + if (sampleRow) { targetX = targetActor->curPos.x; targetY = targetActor->curPos.y; targetZ = targetActor->curPos.z; @@ -179,98 +190,118 @@ void create_target_list(Actor* actor, s32 arg1) { targetDataList->actorID = ACTOR_CLASS_ENEMY | i; targetDataList->partID = partBlueprint->index; - targetDataList->posA.x = targetX; - targetDataList->posA.y = targetY; - targetDataList->posA.z = targetZ; - targetDataList->unk_10 = 0; + targetDataList->truePos.x = targetX; + targetDataList->truePos.y = targetY; + targetDataList->truePos.z = targetZ; + targetDataList->priorityOffset = 0; - if ((targetActor->flags & ACTOR_FLAG_TARGET_ONLY) && !(targetActor->flags & ACTOR_FLAG_10)) { - targetDataList->unk_10 = 100; + if ((targetActor->flags & ACTOR_FLAG_TARGET_ONLY) && !(targetActor->flags & ACTOR_FLAG_LOW_PRIORITY_TARGET)) { + targetDataList->priorityOffset = 100; } - targetDataList->unk_10 += targetPart->targetPriorityOffset; - targetDataList->posB.x = f12 + targetDataList->unk_10 * 100; - targetDataList->posB.y = f2; - targetDataList->posB.z = f14; + targetDataList->priorityOffset += targetPart->targetPriorityOffset; + targetDataList->sortPos.x = f12 + targetDataList->priorityOffset * 100; + targetDataList->sortPos.y = f2; + targetDataList->sortPos.z = f14; - if (targetDataList->posB.y < 40) { - targetDataList->homeRow = 0; - } else if (targetDataList->posB.y < 85) { - targetDataList->homeRow = 1; - } else if (targetDataList->posB.y < 100) { - targetDataList->homeRow = 2; + // determine nearest target row + if (targetDataList->sortPos.y < 40) { + targetDataList->row = 0; + } else if (targetDataList->sortPos.y < 85) { + targetDataList->row = 1; + } else if (targetDataList->sortPos.y < 100) { + targetDataList->row = 2; } else { do { do { - targetDataList->homeRow = 3; + targetDataList->row = 3; } while (0); } while (0); } - if (targetDataList->posB.x < 25) { - targetDataList->homeCol = 0; - } else if (targetDataList->posB.x < 65) { - targetDataList->homeCol = 1; - } else if (targetDataList->posB.x < 105) { - targetDataList->homeCol = 2; + // determine nearest target column + if (targetDataList->sortPos.x < 25) { + targetDataList->column = 0; + } else if (targetDataList->sortPos.x < 65) { + targetDataList->column = 1; + } else if (targetDataList->sortPos.x < 105) { + targetDataList->column = 2; } else { do { - targetDataList->homeCol = 3; + targetDataList->column = 3; } while (0); } - if (targetDataList->posB.z < -30) { + // determine nearest target layer + if (targetDataList->sortPos.z < -30) { targetDataList->layer = 0; } else { targetDataList->layer = 1; } + numTargets++; targetDataList++; } } } + + // ------------------------------------------------------------------------ + // remove targets based on simple criteria (coarse pass) + do { actor->selectedTargetIndex = 0; } while (0); actor->targetListLength = numTargets; // @bug this should be % 4 - col = battleStatus->targetHomeIndex & 4; - row = battleStatus->targetHomeIndex / 4; + sampleCol = battleStatus->sampleTargetHomeIndex & 4; + sampleRow = battleStatus->sampleTargetHomeIndex / 4; targetDataList = actor->targetData; numTargets = actor->targetListLength; + // remove targets, first pass for (i = 0; i < numTargets; i++) { - targetData = &targetDataList[i]; - targetActor = get_actor(targetData->actorID); - targetPart = get_actor_part(targetActor, targetData->partID); - if (targetData->actorID == ACTOR_PLAYER || targetData->actorID == ACTOR_PARTNER) { + target = &targetDataList[i]; + targetActor = get_actor(target->actorID); + targetPart = get_actor_part(targetActor, target->partID); + + // always keep player and partner actors + if (target->actorID == ACTOR_PLAYER || target->actorID == ACTOR_PARTNER) { continue; } + + // sanity check condition -- function should never reach this point with this flag set if (battleStatus->curTargetListFlags & TARGET_FLAG_OVERRIDE) { - skip = TRUE; - goto END2; + removeTarget = TRUE; + goto FIRST_PASS_REMOVE; } - if (!(gBattleStatus.flags2 & BS_FLAGS2_4000) && battleStatus->darknessMode > 0) { + + // skip any target if the battle is dark + if (!(gBattleStatus.flags2 & BS_FLAGS2_IGNORE_DARKNESS) && battleStatus->darknessMode > 0) { get_screen_overlay_params(SCREEN_LAYER_BACK, &overlayType, &overlayZoom); if (overlayZoom >= 215.0f) { - skip = TRUE; - sp18 = 1; - goto END2; + removeTarget = TRUE; + hiddenByDarkness = TRUE; + goto FIRST_PASS_REMOVE; } } - if (battleStatus->curTargetListFlags & TARGET_FLAG_8000) { - if (!(targetPart->flags & ACTOR_PART_FLAG_MULTI_TARGET) || - (targetActor->flags & ACTOR_FLAG_40) || - (targetPart->flags & ACTOR_PART_FLAG_40)) - { - skip = TRUE; - goto END2; + + // skip targets not designated as the primary target for this actor + if (battleStatus->curTargetListFlags & TARGET_FLAG_PRIMARY_ONLY) { + if (!(targetPart->flags & ACTOR_PART_FLAG_PRIMARY_TARGET) + || targetActor->flags & ACTOR_FLAG_MINOR_TARGET + || targetPart->flags & ACTOR_PART_FLAG_MINOR_TARGET + ) { + removeTarget = TRUE; + goto FIRST_PASS_REMOVE; } } - skip = 0; -END2: - if (skip) { + + // target passed all checks, do not remove + removeTarget = FALSE; + + FIRST_PASS_REMOVE: + if (removeTarget) { for (j = i; j < numTargets - 1; j++) { actor->targetData[j] = actor->targetData[j + 1]; } @@ -279,152 +310,173 @@ END2: } } + // ------------------------------------------------------------------------ + // remove targets based on target flag criteria (fine pass) + for (i = 0; i < numTargets; i++) { - targetData = &targetDataList[i]; - targetActor = get_actor(targetData->actorID); - targetPart = get_actor_part(targetActor, targetData->partID); - if (targetData->actorID == ACTOR_PLAYER || targetData->actorID == ACTOR_PARTNER) { + target = &targetDataList[i]; + targetActor = get_actor(target->actorID); + targetPart = get_actor_part(targetActor, target->partID); + + // always keep player and partner actors + if (target->actorID == ACTOR_PLAYER || target->actorID == ACTOR_PARTNER) { continue; } do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_800) && (targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_1)) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_JUMP_LIKE) && (targetPart->targetFlags & ACTOR_PART_TARGET_NO_JUMP)) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_1000) && (targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_2)) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_SMASH_LIKE) && (targetPart->targetFlags & ACTOR_PART_TARGET_NO_SMASH)) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_20000) && ((targetActor->flags & ACTOR_FLAG_80) || (targetPart->flags & ACTOR_PART_FLAG_80))) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_TATTLE) && ((targetActor->flags & ACTOR_FLAG_NO_TATTLE) || (targetPart->flags & ACTOR_PART_FLAG_NO_TATTLE))) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); - if ((battleStatus->curTargetListFlags & TARGET_FLAG_400) && (targetActor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_AIRLIFT) && (targetActor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } - if (!(battleStatus->curTargetListFlags & TARGET_FLAG_10000) && (targetActor->flags & ACTOR_FLAG_TARGET_ONLY)) { - skip = TRUE; - goto END; + if (!(battleStatus->curTargetListFlags & TARGET_FLAG_ALLOW_TARGET_ONLY) && (targetActor->flags & ACTOR_FLAG_TARGET_ONLY)) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_40000) && (targetActor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_NO_CEILING) && (targetActor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_4) && targetData->homeRow != 0) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_GROUND) && target->row != 0) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_10) && targetData->homeRow >= 2) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_NOT_HIGH) && target->row >= 2) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_40) && targetData->homeRow <= 0) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_NOT_GROUND) && target->row <= 0) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_4000) && !(targetPart->flags & ACTOR_PART_FLAG_20)) { - s32 cond = FALSE; + + if ((battleStatus->curTargetListFlags & TARGET_FLAG_NOT_BELOW) + && !(targetPart->flags & ACTOR_PART_FLAG_IGNORE_BELOW_CHECK) + ) { + // search the target list for any targets below the current target (same column, higher row) + // skip the current target if any are found + s32 foundAbove = FALSE; + do { for (j = 0; j < numTargets; j++) { otherTarget = &targetDataList[j]; - if (targetData != otherTarget) { - if (targetData->layer == otherTarget->layer && - targetData->homeCol == otherTarget->homeCol && - targetData->homeRow < otherTarget->homeRow) { - cond = TRUE; + if (target != otherTarget) { + if (target->layer == otherTarget->layer + && target->column == otherTarget->column + && target->row < otherTarget->row + ) { + foundAbove = TRUE; break; } } } } while (0); - if (cond) { - skip = TRUE; - goto END; + + if (foundAbove) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } - if (battleStatus->curTargetListFlags & TARGET_FLAG_2000) { - s32 cond = FALSE; + if (battleStatus->curTargetListFlags & TARGET_FLAG_NOT_BEHIND) { + // search the target list for any targets in front of the current target (same row, lower column) + // skip the current target if any are found + s32 foundInFront = FALSE; + for (j = 0; j < numTargets; j++) { otherTarget = &targetDataList[j]; - if (targetData != otherTarget) { - if (targetData->layer == otherTarget->layer && - targetData->homeRow == otherTarget->homeRow && - targetData->homeCol > otherTarget->homeCol) { - cond = TRUE; + if (target != otherTarget) { + if (target->layer == otherTarget->layer + && target->row == otherTarget->row + && target->column > otherTarget->column + ) { + foundInFront = TRUE; break; } } } - if (cond) { - skip = TRUE; - goto END; + if (foundInFront) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } + do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_20) && (targetActor->flags & ACTOR_FLAG_FLYING)) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_NOT_FLYING) && (targetActor->flags & ACTOR_FLAG_FLYING)) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_100000) && targetData->homeRow == row + 1) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_RIGHT) && target->row == sampleRow + 1) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_200000) && targetData->homeRow == row - 1) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_LEFT) && target->row == sampleRow - 1) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_400000) && targetData->homeCol == col - 1) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_BELOW) && target->column == sampleCol - 1) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_800000) && targetData->homeCol == col + 1) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_ABOVE) && target->column == sampleCol + 1) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_100000) && targetData->homeRow < row) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_RIGHT) && target->row < sampleRow) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_200000) && targetData->homeRow > row) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_LEFT) && target->row > sampleRow) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_400000) && targetData->homeCol > col) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_BELOW) && target->column > sampleCol) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); do { - if ((battleStatus->curTargetListFlags & TARGET_FLAG_800000) && targetData->homeCol < col) { - skip = TRUE; - goto END; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_DIR_ABOVE) && target->column < sampleCol) { + removeTarget = TRUE; + goto SECOND_PASS_REMOVE; } } while (0); - skip = FALSE; -END: - if (skip) { + + // target passed all checks, do not remove + removeTarget = FALSE; + + SECOND_PASS_REMOVE: + if (removeTarget) { for (j = i; j < numTargets - 1; j++) { actor->targetData[j] = actor->targetData[j + 1]; } @@ -434,7 +486,7 @@ END: } actor->targetListLength = numTargets; - if (numTargets == 0 && sp18) { + if (numTargets == 0 && hiddenByDarkness) { gBattleStatus.flags2 |= BS_FLAGS2_NO_TARGET_AVAILABLE; } else { gBattleStatus.flags2 &= ~BS_FLAGS2_NO_TARGET_AVAILABLE; @@ -447,13 +499,15 @@ END: for (i = 0; i < numTargets; i++) { targetIndexList[i] = i; } + + // sort targets by priority for (i = 0; i < numTargets - 1; i++) { for (j = i + 1; j < numTargets; j++) { s32 index1 = targetIndexList[i]; s32 index2 = targetIndexList[j]; - targetData = &targetDataList[index1]; + target = &targetDataList[index1]; otherTarget = &targetDataList[index2]; - if (targetData->posA.x + targetData->unk_10 * 10 > otherTarget->posA.x + otherTarget->unk_10 * 10) { + if (target->truePos.x + target->priorityOffset * 10 > otherTarget->truePos.x + otherTarget->priorityOffset * 10) { targetIndexList[i] = targetIndexList[j]; targetIndexList[j] = index1; } @@ -463,90 +517,97 @@ END: void set_actor_pal_adjustment(Actor* actor, s32 palAdjust); -void player_create_target_list(Actor* actor) { - create_target_list(actor, 0); +void create_current_pos_target_list(Actor* actor) { + create_target_list(actor, FALSE); } -void enemy_create_target_list(Actor* actor) { - create_target_list(actor, 1); +void create_home_target_list(Actor* actor) { + create_target_list(actor, TRUE); } -s32 func_80263064(Actor* actor0, Actor* actor1, s32 unused) { - s32 ret = 0; - SelectableTarget* target = actor0->targetData; +s32 func_80263064(Actor* actor, Actor* targetActor, b32 unused) { + s32 count = 0; + SelectableTarget* target = actor->targetData; + ActorPartBlueprint* partData; s32 numParts; ActorPart* part; + f32 x, y, z; s32 i; - if (actor1 == NULL) { - return ret; + if (targetActor == NULL) { + return count; } - numParts = actor1->numParts; - part = actor1->partsTable; + numParts = targetActor->numParts; + part = targetActor->partsTable; for (i = 0; i < numParts; i++) { - if (!(part->flags & ACTOR_PART_FLAG_NO_TARGET)) { - if (!(part->flags & ACTOR_PART_FLAG_MULTI_TARGET)) { - continue; + if (part->flags & ACTOR_PART_FLAG_NO_TARGET) { + part = part->nextPart; + continue; + } + + if (!(part->flags & ACTOR_PART_FLAG_PRIMARY_TARGET)) { + // @bug part list position is not advanced, all further loop iterations will be stuck here + continue; + } + + partData = part->staticData; + + if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) { + x = targetActor->curPos.x; + y = targetActor->curPos.y; + z = targetActor->curPos.z; + + x += part->partOffset.x; + if (!(targetActor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { + y += part->partOffset.y; } else { - ActorPartBlueprint* bp = part->staticData; - f32 x, y, z; + y -= part->partOffset.y; + } + z += part->partOffset.z; - if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) { - x = actor1->curPos.x; - y = actor1->curPos.y; - z = actor1->curPos.z; + x += part->targetOffset.x; + if (!(targetActor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { + y += part->targetOffset.y; + } else { + y -= part->targetOffset.y; + } + } else { + x = part->absolutePos.x; + y = part->absolutePos.y; + z = part->absolutePos.z; - x += part->partOffset.x; - if (!(actor1->flags & ACTOR_FLAG_UPSIDE_DOWN)) { - y += part->partOffset.y; - } else { - y -= part->partOffset.y; - } - z += part->partOffset.z; - - x += part->targetOffset.x; - if (!(actor1->flags & ACTOR_FLAG_UPSIDE_DOWN)) { - y += part->targetOffset.y; - } else { - y -= part->targetOffset.y; - } - } else { - x = part->absolutePos.x; - y = part->absolutePos.y; - z = part->absolutePos.z; - - x += part->targetOffset.x; - if (!(actor1->flags & ACTOR_FLAG_UPSIDE_DOWN)) { - y += part->targetOffset.y; - } else { - y -= part->targetOffset.y; - } - } - - actor0->targetActorID = target->actorID = actor1->actorID; - actor0->targetPartIndex = target->partID = bp->index; - target->posA.x = x; - target->posA.y = y; - target->posA.z = z; - target->unk_10 = 0; - target++; - ret++; + x += part->targetOffset.x; + if (!(targetActor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { + y += part->targetOffset.y; + } else { + y -= part->targetOffset.y; } } + + actor->targetActorID = target->actorID = targetActor->actorID; + actor->targetPartIndex = target->partID = partData->index; + target->truePos.x = x; + target->truePos.y = y; + target->truePos.z = z; + target->priorityOffset = 0; + target++; + count++; + part = part->nextPart; } - actor0->targetListLength = ret; - return ret; + + actor->targetListLength = count; + return count; } -s32 func_80263230(Actor* arg0, Actor* arg1) { - return func_80263064(arg0, arg1, 0); +s32 func_80263230(Actor* actor, Actor* targetActor) { + return func_80263064(actor, targetActor, FALSE); } -void func_8026324C(Actor* arg0, Actor* arg1) { - func_80263064(arg0, arg1, 1); +s32 func_8026324C(Actor* actor, Actor* targetActor) { + return func_80263064(actor, targetActor, TRUE); } void func_80263268(void) { @@ -604,7 +665,7 @@ void func_80263300(void) { battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = playerData->invItems[i]; battleStatus->curTargetListFlags = itemData->targetFlags; - player_create_target_list(player); + create_current_pos_target_list(player); if (player->targetListLength != 0) { battleStatus->menuStatus[0]++; @@ -718,7 +779,7 @@ void btl_init_menu_boots(void) { battleStatus->moveCategory = BTL_MENU_TYPE_JUMP; battleStatus->moveArgument = playerData->bootsLevel; battleStatus->curTargetListFlags = move->flags; // Controls target filters - player_create_target_list(player); + create_current_pos_target_list(player); // If there are targets, enable the move if (player->targetListLength != 0) { @@ -812,7 +873,7 @@ void btl_init_menu_hammer(void) { battleStatus->moveCategory = BTL_MENU_TYPE_SMASH; battleStatus->moveArgument = playerData->hammerLevel; battleStatus->curTargetListFlags = move->flags; - player_create_target_list(player); + create_current_pos_target_list(player); // If there are targets, enable the move if (player->targetListLength != 0) { @@ -900,7 +961,7 @@ void btl_init_menu_partner(void) { battleStatus->moveCategory = BTL_MENU_TYPE_CHANGE_PARTNER; battleStatus->moveArgument = partner->actorBlueprint->level; battleStatus->curTargetListFlags = move->flags; - player_create_target_list(partner); + create_current_pos_target_list(partner); if (partner->targetListLength != 0){ hasAnyBadgeMoves = TRUE; @@ -993,10 +1054,10 @@ void reset_actor_turn_info(void) { } void func_80263CC4(s32 arg0) { - start_script(&D_80293820, 10, 0)->varTable[0] = arg0; + start_script(&D_80293820, EVT_PRIORITY_A, 0)->varTable[0] = arg0; } -void set_animation(s32 actorID, s32 partID, AnimID animID) { +void set_actor_anim(s32 actorID, s32 partID, AnimID animID) { if ((s32) animID >= 0) { Actor* actor = get_actor(actorID); ActorPart* part; @@ -1038,7 +1099,7 @@ void set_animation(s32 actorID, s32 partID, AnimID animID) { } } -void func_80263E08(Actor* actor, ActorPart* part, AnimID anim) { +void set_actor_anim_by_ref(Actor* actor, ActorPart* part, AnimID anim) { if ((s32) anim >= 0) { switch (actor->actorID & ACTOR_CLASS_MASK) { case ACTOR_CLASS_PLAYER: @@ -1059,7 +1120,7 @@ void func_80263E08(Actor* actor, ActorPart* part, AnimID anim) { } } -void set_animation_rate(s32 actorID, s32 partID, f32 rate) { +void set_actor_anim_rate(s32 actorID, s32 partID, f32 rate) { Actor* actor = get_actor(actorID); ActorPart* part; @@ -1203,7 +1264,7 @@ void load_player_actor(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* player; ActorPart* part; - DecorationTable* decorationTable; + DecorationTable* decorations; ActorPartMovement* partMovement; s32 i; s32 j; @@ -1370,38 +1431,38 @@ void load_player_actor(void) { if (part->idleAnimations != NULL) { s32 j; - part->decorationTable = heap_malloc(sizeof(*decorationTable)); - decorationTable = part->decorationTable; + part->decorationTable = heap_malloc(sizeof(*decorations)); + decorations = part->decorationTable; - ASSERT(decorationTable != NULL); + ASSERT(decorations != NULL); - decorationTable->paletteAdjustment = PAL_ADJUST_NONE; - decorationTable->unk_750 = 0; - decorationTable->unk_764 = 0; - decorationTable->unk_768 = 0; - decorationTable->unk_7D8 = 0; - decorationTable->blurBufferPos = 0; + decorations->paletteAdjustment = ACTOR_PAL_ADJUST_NONE; + decorations->glowState = GLOW_PAL_OFF; + decorations->flashState = 0; + decorations->flashEnabled = FLASH_PAL_OFF; + decorations->blurUnused = 0; + decorations->blurBufferPos = 0; - for (j = 0; j < ARRAY_COUNT(decorationTable->posX); j++) { - decorationTable->posX[j] = player->curPos.x; - decorationTable->posY[j] = player->curPos.y; - decorationTable->posZ[j] = player->curPos.z; + for (j = 0; j < ARRAY_COUNT(decorations->posX); j++) { + decorations->posX[j] = player->curPos.x; + decorations->posY[j] = player->curPos.y; + decorations->posZ[j] = player->curPos.z; } - decorationTable->blurDrawCount = 3; - decorationTable->blurEnableCount = 0; - decorationTable->blurDisableDelay = 0; + decorations->blurDrawCount = 3; + decorations->blurEnableCount = 0; + decorations->blurDisableDelay = 0; - for (j = 0; j < ARRAY_COUNT(decorationTable->effect); j++) { - decorationTable->effect[j] = NULL; - decorationTable->type[j] = 0; + for (j = 0; j < ARRAY_COUNT(decorations->effect); j++) { + decorations->effect[j] = NULL; + decorations->type[j] = 0; } } partMovement = part->movement = heap_malloc(sizeof(*partMovement)); ASSERT(partMovement != NULL); - player->shadow.id = create_shadow_type(0, player->curPos.x, player->curPos.y, player->curPos.z); + player->shadow.id = create_shadow_type(SHADOW_VARYING_CIRCLE, player->curPos.x, player->curPos.y, player->curPos.z); player->shadowScale = player->size.x / 24.0; player->hudElementDataIndex = create_status_icon_set(); player->disableEffect = fx_disable_x(0, -142.0f, 34.0f, 1.0f, 0); @@ -1550,7 +1611,7 @@ void load_partner_actor(void) { part->decorationTable = NULL; part->staticData = ActorPartBlueprint; - part->flags = ActorPartBlueprint->flags | ACTOR_PART_FLAG_4; + part->flags = ActorPartBlueprint->flags | ACTOR_PART_FLAG_NO_SHADOW; part->targetFlags = 0; part->partOffsetFloat.x = part->partOffset.x = ActorPartBlueprint->posOffset.x; @@ -1596,38 +1657,38 @@ void load_partner_actor(void) { part->actorTypeData2b[1] = bActorSoundTable[partnerActor->actorType].delay[1]; if (part->idleAnimations != NULL) { - DecorationTable* decorationTable; + DecorationTable* decorations; s32 j; - part->decorationTable = heap_malloc(sizeof(*decorationTable)); - decorationTable = part->decorationTable; + part->decorationTable = heap_malloc(sizeof(*decorations)); + decorations = part->decorationTable; - ASSERT(decorationTable != NULL); + ASSERT(decorations != NULL); - decorationTable->paletteAdjustment = PAL_ADJUST_NONE; - decorationTable->unk_750 = 0; - decorationTable->unk_764 = 0; - decorationTable->unk_768 = 0; - decorationTable->unk_7D8 = 0; - decorationTable->blurBufferPos = 0; + decorations->paletteAdjustment = ACTOR_PAL_ADJUST_NONE; + decorations->glowState = GLOW_PAL_OFF; + decorations->flashState = 0; + decorations->flashEnabled = FLASH_PAL_OFF; + decorations->blurUnused = 0; + decorations->blurBufferPos = 0; - for (j = 0; j < ARRAY_COUNT(decorationTable->posX); j++) { - decorationTable->posX[j] = partnerActor->curPos.x; - decorationTable->posY[j] = partnerActor->curPos.y; - decorationTable->posZ[j] = partnerActor->curPos.z; + for (j = 0; j < ARRAY_COUNT(decorations->posX); j++) { + decorations->posX[j] = partnerActor->curPos.x; + decorations->posY[j] = partnerActor->curPos.y; + decorations->posZ[j] = partnerActor->curPos.z; } - decorationTable->blurDrawCount = 3; - decorationTable->blurEnableCount = 0; - decorationTable->blurDisableDelay = 0; + decorations->blurDrawCount = 3; + decorations->blurEnableCount = 0; + decorations->blurDisableDelay = 0; - for (j = 0; j < ARRAY_COUNT(decorationTable->effect); j++) { - decorationTable->effect[j] = NULL; - decorationTable->type[j] = 0; + for (j = 0; j < ARRAY_COUNT(decorations->effect); j++) { + decorations->effect[j] = NULL; + decorations->type[j] = 0; } } - if (part->flags >= 0) { + if (!(part->flags & ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC)) { part->movement = heap_malloc(sizeof(*part->movement)); ASSERT(part->movement != NULL); } @@ -1655,7 +1716,7 @@ void load_partner_actor(void) { part->nextPart = NULL; } - partnerActor->shadow.id = create_shadow_type(0, partnerActor->curPos.x, partnerActor->curPos.y, partnerActor->curPos.z); + partnerActor->shadow.id = create_shadow_type(SHADOW_VARYING_CIRCLE, partnerActor->curPos.x, partnerActor->curPos.y, partnerActor->curPos.z); partnerActor->shadowScale = partnerActor->size.x / 24.0; partnerActor->hudElementDataIndex = create_status_icon_set(); partnerActor->disableEffect = fx_disable_x(0, -142.0f, 34.0f, 1.0f, 0); @@ -1676,13 +1737,13 @@ Actor* create_actor(Formation formation) { Evt* takeTurnScript; s32 partCount; f32 x, y, z; - DecorationTable* decorationTable; + DecorationTable* decorations; s32 i, j, k; if (formation->home.index >= EVT_LIMIT) { - x = btl_actorHomePositions[formation->home.index].x; - y = btl_actorHomePositions[formation->home.index].y; - z = btl_actorHomePositions[formation->home.index].z; + x = StandardActorHomePositions[formation->home.index].x; + y = StandardActorHomePositions[formation->home.index].y; + z = StandardActorHomePositions[formation->home.index].z; } else { x = formation->home.vec->x; y = formation->home.vec->y; @@ -1807,7 +1868,7 @@ Actor* create_actor(Formation formation) { part->decorationTable = NULL; part->staticData = actorPartBP; - part->flags = actorPartBP->flags | ACTOR_PART_FLAG_4; + part->flags = actorPartBP->flags | ACTOR_PART_FLAG_NO_SHADOW; part->targetFlags = 0; part->partOffsetFloat.x = part->partOffset.x = actorPartBP->posOffset.x; @@ -1861,42 +1922,42 @@ Actor* create_actor(Formation formation) { part->actorTypeData2b[0] = bActorSoundTable[actor->actorType].delay[0]; part->actorTypeData2b[1] = bActorSoundTable[actor->actorType].delay[1]; - if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - part->decorationTable = heap_malloc(sizeof(*decorationTable)); - decorationTable = part->decorationTable; - ASSERT(decorationTable != NULL); + if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + part->decorationTable = heap_malloc(sizeof(*decorations)); + decorations = part->decorationTable; + ASSERT(decorations != NULL); - decorationTable->paletteAdjustment = PAL_ADJUST_NONE; - decorationTable->unk_750 = 0; - decorationTable->unk_764 = 0; - decorationTable->unk_768 = 0; - decorationTable->unk_7D8 = 0; - decorationTable->blurBufferPos = 0; + decorations->paletteAdjustment = ACTOR_PAL_ADJUST_NONE; + decorations->glowState = GLOW_PAL_OFF; + decorations->flashState = 0; + decorations->flashEnabled = FLASH_PAL_OFF; + decorations->blurUnused = 0; + decorations->blurBufferPos = 0; - for (k = 0; k < ARRAY_COUNT(decorationTable->posX); k++) { - decorationTable->posX[k] = actor->curPos.x; - decorationTable->posY[k] = actor->curPos.y; - decorationTable->posZ[k] = actor->curPos.z; + for (k = 0; k < ARRAY_COUNT(decorations->posX); k++) { + decorations->posX[k] = actor->curPos.x; + decorations->posY[k] = actor->curPos.y; + decorations->posZ[k] = actor->curPos.z; } - decorationTable->blurDrawCount = 3; - decorationTable->blurEnableCount = 0; - decorationTable->blurDisableDelay = 0; + decorations->blurDrawCount = 3; + decorations->blurEnableCount = 0; + decorations->blurDisableDelay = 0; - for (k = 0; k < ARRAY_COUNT(decorationTable->effect); k++) { - decorationTable->effect[k] = NULL; - decorationTable->type[k] = 0; + for (k = 0; k < ARRAY_COUNT(decorations->effect); k++) { + decorations->effect[k] = NULL; + decorations->type[k] = 0; } } - if (part->flags >= 0) { + if (!(part->flags & ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC)) { part->movement = heap_malloc(sizeof(*part->movement)); ASSERT(part->movement != NULL); } if (actor->flags & ACTOR_FLAG_TARGET_ONLY) { - part->flags |= ACTOR_PART_FLAG_4000; + part->flags |= ACTOR_PART_FLAG_TARGET_ONLY; } part->animationRate = 1.0f; @@ -1927,7 +1988,7 @@ Actor* create_actor(Formation formation) { takeTurnScript = start_script(actor->takeTurnSource, EVT_PRIORITY_A, 0); actor->takeTurnScriptID = takeTurnScript->id; takeTurnScript->owner1.enemyID = actor->enemyIndex | ACTOR_CLASS_ENEMY; - actor->shadow.id = create_shadow_type(0, actor->curPos.x, actor->curPos.y, actor->curPos.z); + actor->shadow.id = create_shadow_type(SHADOW_VARYING_CIRCLE, actor->curPos.x, actor->curPos.y, actor->curPos.z); actor->shadowScale = actor->size.x / 24.0; actor->disableEffect = fx_disable_x(0, -142.0f, 34.0f, 1.0f, 0); actor->icePillarEffect = NULL; @@ -2115,22 +2176,22 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) { } return TRUE; case STATUS_KEY_SLEEP: - set_actor_pal_adjustment(target, PAL_ADJUST_SLEEP); + set_actor_pal_adjustment(target, ACTOR_PAL_ADJUST_SLEEP); create_status_debuff(target->hudElementDataIndex, STATUS_KEY_SLEEP); return TRUE; case STATUS_KEY_PARALYZE: - set_actor_pal_adjustment(target, PAL_ADJUST_PARALYZE); + set_actor_pal_adjustment(target, ACTOR_PAL_ADJUST_PARALYZE); create_status_debuff(target->hudElementDataIndex, STATUS_KEY_PARALYZE); return TRUE; case STATUS_KEY_DIZZY: create_status_debuff(target->hudElementDataIndex, STATUS_KEY_DIZZY); return TRUE; case STATUS_KEY_FEAR: - set_actor_pal_adjustment(target, PAL_ADJUST_FEAR); + set_actor_pal_adjustment(target, ACTOR_PAL_ADJUST_FEAR); create_status_debuff(target->hudElementDataIndex, STATUS_KEY_FEAR); return TRUE; case STATUS_KEY_POISON: - set_actor_pal_adjustment(target, PAL_ADJUST_POISON); + set_actor_pal_adjustment(target, ACTOR_PAL_ADJUST_POISON); create_status_debuff(target->hudElementDataIndex, STATUS_KEY_POISON); return TRUE; case STATUS_KEY_SHRINK: @@ -2151,7 +2212,7 @@ s32 inflict_status(Actor* target, s32 statusTypeKey, s32 duration) { target->staticDuration = 9; } target->statusAfflicted = STATUS_KEY_STATIC; - set_actor_pal_adjustment(target, PAL_ADJUST_STATIC); + set_actor_pal_adjustment(target, ACTOR_PAL_ADJUST_STATIC); create_status_static(target->hudElementDataIndex, STATUS_KEY_STATIC); } return TRUE; @@ -2211,16 +2272,16 @@ s32 inflict_partner_ko(Actor* target, s32 statusTypeKey, s32 duration) { } s32 get_defense(Actor* actor, s32* defenseTable, s32 elementFlags) { - s32 defense; + s32 elemDefense; s32 minDefense = 255; if (defenseTable != NULL) { #define CHECK_DEFENSE(element) \ if (elementFlags & DAMAGE_TYPE_##element) { \ - defense = lookup_defense(defenseTable, ELEMENT_##element); \ - if (defense < minDefense) { \ - minDefense = defense; \ + elemDefense = lookup_defense(defenseTable, ELEMENT_##element); \ + if (elemDefense < minDefense) { \ + minDefense = elemDefense; \ } \ } \ @@ -2241,9 +2302,9 @@ s32 get_defense(Actor* actor, s32* defenseTable, s32 elementFlags) { // If no element flags were set, fall back to normal defense. if (minDefense == 255) { - defense = lookup_defense(defenseTable, ELEMENT_NORMAL); - if (defense < 255) { - minDefense = defense; + elemDefense = lookup_defense(defenseTable, ELEMENT_NORMAL); + if (elemDefense < 255) { + minDefense = elemDefense; } } @@ -2525,7 +2586,6 @@ void update_health_bars(void) { } } -// TODO dumb label required to match, clean up s32 try_inflict_status(Actor* actor, s32 statusTypeKey, s32 statusKey) { BattleStatus* battleStatus = &gBattleStatus; s32 chance; @@ -2543,10 +2603,9 @@ s32 try_inflict_status(Actor* actor, s32 statusTypeKey, s32 statusKey) { if (!(battleStatus->curAttackStatus & STATUS_FLAG_RIGHT_ON)) { chance = lookup_status_chance(actor->statusTable, statusTypeKey); } else { - if (lookup_status_chance(actor->statusTable, statusTypeKey) != 0) { + chance = lookup_status_chance(actor->statusTable, statusTypeKey); + if (chance != 0) { chance = 100; - } else { - goto meow; } } @@ -2561,7 +2620,6 @@ s32 try_inflict_status(Actor* actor, s32 statusTypeKey, s32 statusKey) { duration = 3; } -meow: if (duration > 0) { if (battleStatus->curAttackStatus < 0) { duration = battleStatus->statusDuration; @@ -2595,13 +2653,13 @@ s32 inflict_status_set_duration(Actor* actor, s32 statusTypeKey, s32 statusDurat } void set_part_pal_adjustment(ActorPart* part, s32 palAdjust) { - if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - DecorationTable* decorationTable = part->decorationTable; + if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + DecorationTable* decorations = part->decorationTable; - if (decorationTable->paletteAdjustment != palAdjust) { - decorationTable->paletteAdjustment = palAdjust; - decorationTable->palAnimState = 0; - decorationTable->resetPalAdjust = TRUE; + if (decorations->paletteAdjustment != palAdjust) { + decorations->paletteAdjustment = palAdjust; + decorations->palAnimState = 0; + decorations->resetPalAdjust = TRUE; } } } @@ -2612,7 +2670,7 @@ void set_actor_pal_adjustment(Actor* actor, s32 palAdjust) { while (partIt != NULL) { if (!(partIt->flags & ACTOR_PART_FLAG_INVISIBLE) && (partIt->idleAnimations != NULL) - && !(partIt->flags & ACTOR_PART_FLAG_2) + && !(partIt->flags & ACTOR_PART_FLAG_NO_DECORATIONS) ) { set_part_pal_adjustment(partIt, palAdjust); } @@ -2621,141 +2679,139 @@ void set_actor_pal_adjustment(Actor* actor, s32 palAdjust) { } void clear_part_pal_adjustment(ActorPart* part) { - if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - part->decorationTable->paletteAdjustment = PAL_ADJUST_NONE; + if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + part->decorationTable->paletteAdjustment = ACTOR_PAL_ADJUST_NONE; } } // TODO: improve match void func_80266E40(Actor* actor) { - ActorPart* partIt = actor->partsTable; - s8 e = PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS; - s8 f = PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS; + ActorPart* part = actor->partsTable; + s8 e = ACTOR_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS; + s8 f = ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS; - while (partIt != NULL) { - DecorationTable* decorationTable = partIt->decorationTable; + while (part != NULL) { + DecorationTable* decorations = part->decorationTable; do { - if (!(partIt->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) && - (partIt->idleAnimations != NULL) && - !(partIt->flags & ACTOR_PART_FLAG_2)) + if (!(part->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) && + (part->idleAnimations != NULL) && + !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { - if (decorationTable->paletteAdjustment != e && decorationTable->paletteAdjustment != f) { - decorationTable->paletteAdjustment = PAL_ADJUST_NONE; + if (decorations->paletteAdjustment != e && decorations->paletteAdjustment != f) { + decorations->paletteAdjustment = ACTOR_PAL_ADJUST_NONE; } } } while (0); // required to match - partIt = partIt->nextPart; + part = part->nextPart; } } -void func_80266EA8(ActorPart* part, s32 arg1) { - if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - DecorationTable* decorationTable = part->decorationTable; +void set_part_pal_effect(ActorPart* part, s32 palEffect) { + if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + DecorationTable* decorations = part->decorationTable; - if (decorationTable->unk_750 != arg1) { - decorationTable->unk_750 = arg1; - decorationTable->unk_752 = 0; - decorationTable->unk_751 = 1; + if (decorations->glowState != palEffect) { + decorations->glowState = palEffect; + decorations->glowUnk1 = 0; + decorations->glowStateChanged = TRUE; } } } -void func_80266EE8(Actor* actor, s32 arg1) { - ActorPart* partIt = &actor->partsTable[0]; +void set_actor_pal_effect(Actor* actor, s32 palEffect) { + ActorPart* part; - while (partIt != NULL) { - if (!(partIt->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) && - (partIt->idleAnimations != NULL) && - !(partIt->flags & ACTOR_PART_FLAG_2)) - { - func_80266EA8(partIt, arg1); + for (part = actor->partsTable; part != NULL; part = part->nextPart) { + if (!(part->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) + && (part->idleAnimations != NULL) + && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS) + ) { + set_part_pal_effect(part, palEffect); } - partIt = partIt->nextPart; } } -void func_80266F60(ActorPart* part) { - if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - part->decorationTable->unk_750 = 0; +void clear_part_pal_effect(ActorPart* part) { + if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + part->decorationTable->glowState = GLOW_PAL_OFF; } } -void func_80266F8C(Actor* actor) { - ActorPart* actorPart = &actor->partsTable[0]; +void clear_actor_pal_effect(Actor* actor) { + ActorPart* part; - while (actorPart != NULL) { - DecorationTable* decorationTable = actorPart->decorationTable; + for (part = actor->partsTable; part != NULL; part = part->nextPart) { + DecorationTable* decorations = part->decorationTable; do { - if (!(actorPart->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) && - actorPart->idleAnimations != NULL && - !(actorPart->flags & ACTOR_PART_FLAG_2)) - { - decorationTable->unk_750 = 0; + if (!(part->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) + && part->idleAnimations != NULL + && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS) + ) { + decorations->glowState = GLOW_PAL_OFF; } } while (0); // required to match - actorPart = actorPart->nextPart; } } -void func_80266FD8(ActorPart* part, s32 arg1) { - if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - DecorationTable* decorationTable = part->decorationTable; +void set_part_flash_mode(ActorPart* part, s32 flashState) { + if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + DecorationTable* decorations = part->decorationTable; - if (decorationTable->unk_764 != arg1) { - decorationTable->unk_764 = arg1; - decorationTable->unk_766 = 0; - decorationTable->unk_765 = 1; + if (decorations->flashState != flashState) { + decorations->flashState = flashState; + decorations->flashMode = FLASH_MODE_LIGHT; + decorations->flashStateChanged = TRUE; } } } -void func_80267018(Actor* actor, s32 arg1) { - ActorPart* actorPart = &actor->partsTable[0]; +void set_actor_flash_mode(Actor* actor, s32 flashState) { + ActorPart* part; - while (actorPart != NULL) { - if (!(actorPart->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) && - actorPart->decorationTable != NULL && !(actorPart->flags & ACTOR_PART_FLAG_2) && - actorPart->idleAnimations != NULL) - { - func_80266FD8(actorPart, arg1); + for (part = actor->partsTable; part != NULL; part = part->nextPart) { + if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) + && part->decorationTable != NULL + && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS) + && part->idleAnimations != NULL + ) { + set_part_flash_mode(part, flashState); } - actorPart = actorPart->nextPart; } } -void func_8026709C(ActorPart* part) { - if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) { - part->decorationTable->unk_764 = 0; +void clear_part_flash_mode(ActorPart* part) { + if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + part->decorationTable->flashState = 0; } } -void func_802670C8(Actor* actor) { - ActorPart* partIt; +void clear_actor_flash_mode(Actor* actor) { + ActorPart* part; - for (partIt = actor->partsTable; partIt != NULL; partIt = partIt->nextPart) { - DecorationTable* decorationTable = partIt->decorationTable; + for (part = actor->partsTable; part != NULL; part = part->nextPart) { + DecorationTable* decorations = part->decorationTable; do { - if (!(partIt->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) && - (partIt->idleAnimations != NULL) && - !(partIt->flags & ACTOR_PART_FLAG_2)) + if (!(part->flags & (ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_INVISIBLE)) && + (part->idleAnimations != NULL) && + !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { - decorationTable->unk_764 = 0; + decorations->flashState = 0; } } while (0); // TODO make match better } } void add_part_decoration(ActorPart* part, s32 decorationIndex, s32 decorationType) { - if ((part->idleAnimations) && !(part->flags & ACTOR_PART_FLAG_2)) { - DecorationTable* decorationTable = part->decorationTable; + if ((part->idleAnimations) && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + DecorationTable* decorations = part->decorationTable; _remove_part_decoration(part, decorationIndex); - decorationTable->type[decorationIndex] = decorationType; - decorationTable->changed[decorationIndex] = TRUE; - decorationTable->state[decorationIndex] = 0; + decorations->type[decorationIndex] = decorationType; + decorations->changed[decorationIndex] = TRUE; + decorations->state[decorationIndex] = 0; _add_part_decoration(part); } } @@ -2765,7 +2821,7 @@ void add_actor_decoration(Actor* actor, s32 decorationIndex, s32 decorationType) for (part = actor->partsTable; part != NULL; part = part->nextPart) { if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) && part->idleAnimations - && !(part->flags & ACTOR_PART_FLAG_2) + && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS) ) { add_part_decoration(part, decorationIndex, decorationType); } @@ -2782,7 +2838,7 @@ void remove_actor_decoration(Actor* actor, s32 decorationIndex) { for (part = actor->partsTable; part != NULL; part = part->nextPart) { if (!(part->flags & (ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) && part->idleAnimations - && !(part->flags & ACTOR_PART_FLAG_2) + && !(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS) ) { remove_part_decoration(part, decorationIndex); } @@ -2812,21 +2868,21 @@ s32 player_team_is_ability_active(Actor* actor, s32 ability) { void create_part_shadow(s32 actorID, s32 partID) { ActorPart* part = get_actor_part(get_actor(actorID), partID); - part->flags &= ~ACTOR_PART_FLAG_4; - part->shadowIndex = create_shadow_type(0, part->curPos.x, part->curPos.y, part->curPos.z); + part->flags &= ~ACTOR_PART_FLAG_NO_SHADOW; + part->shadowIndex = create_shadow_type(SHADOW_VARYING_CIRCLE, part->curPos.x, part->curPos.y, part->curPos.z); part->shadowScale = part->size.x / 24.0; } void remove_part_shadow(s32 actorID, s32 partID) { ActorPart* part = get_actor_part(get_actor(actorID), partID); - part->flags |= ACTOR_PART_FLAG_4; + part->flags |= ACTOR_PART_FLAG_NO_SHADOW; delete_shadow(part->shadowIndex); } void create_part_shadow_by_ref(UNK_TYPE arg0, ActorPart* part) { - part->flags &= ~ACTOR_PART_FLAG_4; - part->shadowIndex = create_shadow_type(0, part->curPos.x, part->curPos.y, part->curPos.z); + part->flags &= ~ACTOR_PART_FLAG_NO_SHADOW; + part->shadowIndex = create_shadow_type(SHADOW_VARYING_CIRCLE, part->curPos.x, part->curPos.y, part->curPos.z); part->shadowScale = part->size.x / 24.0; } @@ -2868,10 +2924,10 @@ void remove_player_buffs(s32 buffs) { battleStatus->buffEffect->data.partnerBuff->unk_0C[FX_BUFF_DATA_WATER_BLOCK].turnsLeft = 0; battleStatus->waterBlockEffect->flags |= FX_INSTANCE_FLAG_DISMISS; - fx_water_block(1, player->curPos.x, player->curPos.y + 18.0f, player->curPos.z + 5.0f, 1.5f, 0xA); - fx_water_splash(0, player->curPos.x - 10.0f, player->curPos.y + 5.0f, player->curPos.z + 5.0f, 1.0f, 0x18); - fx_water_splash(0, player->curPos.x - 15.0f, player->curPos.y + 32.0f, player->curPos.z + 5.0f, 1.0f, 0x18); - fx_water_splash(1, player->curPos.x + 15.0f, player->curPos.y + 22.0f, player->curPos.z + 5.0f, 1.0f, 0x18); + fx_water_block(FX_WATER_BLOCK_DESTROY, player->curPos.x, player->curPos.y + 18.0f, player->curPos.z + 5.0f, 1.5f, 10); + fx_water_splash(0, player->curPos.x - 10.0f, player->curPos.y + 5.0f, player->curPos.z + 5.0f, 1.0f, 24); + fx_water_splash(0, player->curPos.x - 15.0f, player->curPos.y + 32.0f, player->curPos.z + 5.0f, 1.0f, 24); + fx_water_splash(1, player->curPos.x + 15.0f, player->curPos.y + 22.0f, player->curPos.z + 5.0f, 1.0f, 24); battleStatus->waterBlockEffect = NULL; sfx_play_sound(SOUND_DESTROY_WATER_BLOCK); @@ -3054,7 +3110,7 @@ void show_foreground_models(void) { #include "common/StartRumbleWithParams.inc.c" -EvtScript D_802939C4 = { +EvtScript EVS_BattleRumble_Long = { EVT_CALL(N(StartRumbleWithParams), 256, 30) EVT_CALL(N(StartRumbleWithParams), 200, 15) EVT_CALL(N(StartRumbleWithParams), 50, 15) @@ -3062,98 +3118,98 @@ EvtScript D_802939C4 = { EVT_END }; -EvtScript D_80293A10 = { +EvtScript EVS_BattleRumble_HitMin = { EVT_CALL(N(StartRumbleWithParams), 100, 20) EVT_RETURN EVT_END }; -EvtScript D_80293A34 = { +EvtScript EVS_BattleRumble_HitLight = { EVT_CALL(N(StartRumbleWithParams), 150, 20) EVT_RETURN EVT_END }; -EvtScript D_80293A58 = { +EvtScript EVS_BattleRumble_HitHeavy = { EVT_CALL(N(StartRumbleWithParams), 200, 30) EVT_RETURN EVT_END }; -EvtScript D_80293A7C = { +EvtScript EVS_BattleRumble_HitExtreme = { EVT_CALL(N(StartRumbleWithParams), 256, 40) EVT_RETURN EVT_END }; -EvtScript D_80293AA0 = { +EvtScript EVS_BattleRumble_HitMax = { EVT_CALL(N(StartRumbleWithParams), 256, 60) EVT_RETURN EVT_END }; -EvtScript D_80293AC4 = { +EvtScript EVS_BattleRumble_PlayerMin = { EVT_CALL(N(StartRumbleWithParams), 100, 20) EVT_RETURN EVT_END }; -EvtScript D_80293AE8 = { +EvtScript EVS_BattleRumble_PlayerLight = { EVT_CALL(N(StartRumbleWithParams), 150, 20) EVT_RETURN EVT_END }; -EvtScript D_80293B0C = { +EvtScript EVS_BattleRumble_PlayerHeavy = { EVT_CALL(N(StartRumbleWithParams), 200, 30) EVT_RETURN EVT_END }; -EvtScript D_80293B30 = { +EvtScript EVS_BattleRumble_PlayerExtreme = { EVT_CALL(N(StartRumbleWithParams), 256, 40) EVT_RETURN EVT_END }; -EvtScript D_80293B54 = { +EvtScript EVS_BattleRumble_PlayerMax = { EVT_CALL(N(StartRumbleWithParams), 256, 60) EVT_RETURN EVT_END }; -void start_rumble_type(u32 arg0) { - if (D_802939C0 != 0) { - kill_script_by_ID(D_802939C0); +void start_rumble_type(u32 type) { + if (bCurRumbleScript != 0) { + kill_script_by_ID(bCurRumbleScript); } - switch (arg0) { - case 0: + switch (type) { + case BTL_RUMBLE_STOP: break; - case 1: - D_802939C0 = start_script(&D_802939C4, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; + case BTL_RUMBLE_LONG: + bCurRumbleScript = start_script(&EVS_BattleRumble_Long, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; - case 2: - D_802939C0 = start_script(&D_80293A10, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; + case BTL_RUMBLE_HIT_MIN: + bCurRumbleScript = start_script(&EVS_BattleRumble_HitMin, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; - case 3: - D_802939C0 = start_script(&D_80293A34, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; + case BTL_RUMBLE_HIT_LIGHT: + bCurRumbleScript = start_script(&EVS_BattleRumble_HitLight, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; - case 4: - D_802939C0 = start_script(&D_80293A58, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; + case BTL_RUMBLE_HIT_HEAVY: + bCurRumbleScript = start_script(&EVS_BattleRumble_HitHeavy, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; - case 5: - D_802939C0 = start_script(&D_80293A7C, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; + case BTL_RUMBLE_HIT_EXTREME: + bCurRumbleScript = start_script(&EVS_BattleRumble_HitExtreme, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; - case 6: - D_802939C0 = start_script(&D_80293AA0, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; + case BTL_RUMBLE_HIT_MAX: + bCurRumbleScript = start_script(&EVS_BattleRumble_HitMax, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; - case 7: - case 8: - case 9: - case 10: - case 11: - D_802939C0 = start_script(&D_80293AC4, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; + case BTL_RUMBLE_PLAYER_MIN: + case BTL_RUMBLE_PLAYER_LIGHT: + case BTL_RUMBLE_PLAYER_HEAVY: + case BTL_RUMBLE_PLAYER_EXTREME: + case BTL_RUMBLE_PLAYER_MAX: + bCurRumbleScript = start_script(&EVS_BattleRumble_PlayerMin, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id; break; } } diff --git a/src/1A5830.c b/src/battle/1A5830.c similarity index 98% rename from src/1A5830.c rename to src/battle/1A5830.c index 8ab83691ba..044146b09f 100644 --- a/src/1A5830.c +++ b/src/battle/1A5830.c @@ -289,8 +289,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { } if (target->transparentStatus == STATUS_KEY_TRANSPARENT - || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 - && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE) + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_BURIED && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) ) { return HIT_RESULT_MISS; } @@ -347,10 +346,13 @@ HitResult calc_enemy_damage_target(Actor* attacker) { gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; } - // begin calulating damage + // ------------------------------------------------------------------------ + // damage calculation gBattleStatus.flags1 &= ~BS_FLAGS1_ATK_BLOCKED; + // determine target defense + defense = get_defense(target, targetPart->defenseTable, battleStatus->curAttackElement); if (!(battleStatus->curAttackElement & DAMAGE_TYPE_IGNORE_DEFENSE)) { @@ -371,6 +373,8 @@ HitResult calc_enemy_damage_target(Actor* attacker) { } } + // apply attacker damage modifiers + damage = battleStatus->curAttackDamage; switch (actorClass) { @@ -404,6 +408,8 @@ HitResult calc_enemy_damage_target(Actor* attacker) { target->hpChangeCounter = 0; damage -= defense; + // apply damage mitigation from defensive badges + isPlayer = actorClass == ACTOR_CLASS_PLAYER; if (isPlayer) { if (player_team_is_ability_active(target, ABILITY_FIRE_SHIELD)) { @@ -423,10 +429,15 @@ HitResult calc_enemy_damage_target(Actor* attacker) { } } + // apply damage mitigation from blocking + switch (actorClass) { case ACTOR_CLASS_PLAYER: // TODO figure out how to better write target->debuff >= STATUS_KEY_POISON - if ((target->debuff == 0 || target->debuff >= STATUS_KEY_POISON) && (target->stoneStatus == 0) && !(battleStatus->curAttackElement & DAMAGE_TYPE_UNBLOCKABLE)) { + if ((target->debuff == 0 || target->debuff >= STATUS_KEY_POISON) + && (target->stoneStatus == 0) + && !(battleStatus->curAttackElement & DAMAGE_TYPE_UNBLOCKABLE) + ) { s32 blocked; if (player_team_is_ability_active(target, ABILITY_BERSERKER)) { @@ -438,7 +449,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { if (blocked) { damage--; damage -= player_team_is_ability_active(target, ABILITY_DAMAGE_DODGE); - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); show_action_rating(ACTION_RATING_NICE, target, state->goalPos.x, state->goalPos.y, state->goalPos.z); gBattleStatus.flags1 |= BS_FLAGS1_ATK_BLOCKED; break; @@ -451,7 +462,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { if (target->koStatus == 0 && !(battleStatus->curAttackElement & DAMAGE_TYPE_UNBLOCKABLE)) { if (check_block_input(BUTTON_A)) { damage = 0; - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); show_action_rating(ACTION_RATING_NICE, target, state->goalPos.x, state->goalPos.y, state->goalPos.z); gBattleStatus.flags1 |= BS_FLAGS1_ATK_BLOCKED; break; @@ -487,7 +498,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { target->hpChangeCounter -= damage; battleStatus->lastAttackDamage = 0; hitResult = HIT_RESULT_HIT; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000) + if (!(targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) ) { if (!(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) { @@ -589,7 +600,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { && event != EVENT_SPIN_SMASH_DEATH && event != EVENT_EXPLODE_TRIGGER && !(gBattleStatus.flags1 & BS_FLAGS1_ATK_BLOCKED) - && !(gBattleStatus.flags2 & BS_FLAGS2_1000000) + && !(gBattleStatus.flags2 & BS_FLAGS2_IS_FIRST_STRIKE) && !(actorClass == ACTOR_PLAYER && is_ability_active(ABILITY_HEALTHY_HEALTHY) && (rand_int(100) < 50))) { if (battleStatus->curAttackStatus & STATUS_FLAG_SHRINK && try_inflict_status(target, STATUS_KEY_SHRINK, STATUS_TURN_MOD_SHRINK)) { @@ -715,7 +726,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { if (battleStatus->lastAttackDamage > 0) { u32 hitSound; - func_80267018(target, 1); + set_actor_flash_mode(target, 1); if (attacker->actorTypeData1[5] != SOUND_NONE) { sfx_play_sound_at_position(attacker->actorTypeData1[5], SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -732,7 +743,7 @@ HitResult calc_enemy_damage_target(Actor* attacker) { play_hit_sound(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, hitSound); } - if ((battleStatus->lastAttackDamage < 1 && !statusInflicted2 && !madeElectricContact) || targetPart->flags & ACTOR_PART_FLAG_2000) { + if ((battleStatus->lastAttackDamage < 1 && !statusInflicted2 && !madeElectricContact) || targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -857,22 +868,21 @@ s32 dispatch_damage_event_actor(Actor* actor, s32 damageAmount, s32 originalEven } if (!stopMotion) { - s32 oldTargetActorID = actor->targetActorID; + s32 savedTargetActorID = actor->targetActorID; if (func_80263230(actor, actor) != 0) { - show_next_damage_popup(actor->targetData[0].posA.x, actor->targetData[0].posA.y, actor->targetData[0].posA.z, battleStatus->lastAttackDamage, 0); - show_damage_fx(actor, actor->targetData[0].posA.x, actor->targetData[0].posA.y, actor->targetData[0].posA.z, battleStatus->lastAttackDamage); - actor->targetActorID = oldTargetActorID; - } else { - actor->targetActorID = oldTargetActorID; + show_next_damage_popup(actor->targetData[0].truePos.x, actor->targetData[0].truePos.y, actor->targetData[0].truePos.z, battleStatus->lastAttackDamage, 0); + show_damage_fx(actor, actor->targetData[0].truePos.x, actor->targetData[0].truePos.y, actor->targetData[0].truePos.z, battleStatus->lastAttackDamage); } + actor->targetActorID = savedTargetActorID; + } else { show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); show_damage_fx(actor, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } if (battleStatus->lastAttackDamage > 0) { - func_80267018(actor, 1); + set_actor_flash_mode(actor, 1); } actor->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; dispatch_event_actor(actor, dispatchEvent); @@ -1077,7 +1087,7 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { actorState->speed += (moveDist / actorState->moveTime); if (script->functionTemp[2] != 0) { - set_animation(actor->actorID, (s8) actor->state.jumpPartIndex, actor->state.animJumpRise); + set_actor_anim(actor->actorID, (s8) actor->state.jumpPartIndex, actor->state.animJumpRise); } if (!(script->functionTemp[3] & 2) && (actor->actorTypeData1[4] != 0)) { sfx_play_sound_at_position(actor->actorTypeData1[4], SOUND_SPACE_DEFAULT, actor->curPos.x, actor->curPos.y, actor->curPos.z); @@ -1092,7 +1102,7 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { actorState->vel -= actorState->acceleration; if ((script->functionTemp[2] != 0) && (actorState->vel < 0.0f)) { - set_animation(actor->actorID, (s8) actorState->jumpPartIndex, actorState->animJumpFall); + set_actor_anim(actor->actorID, (s8) actorState->jumpPartIndex, actorState->animJumpFall); } if (actorState->vel < 0.0f) { if (actorState->curPos.y < actorState->goalPos.y) { @@ -1117,7 +1127,7 @@ ApiStatus JumpToGoal(Evt* script, s32 isInitialCall) { actor->curPos.y = actorState->goalPos.y; actor->curPos.z = actorState->goalPos.z; if (script->functionTemp[2] != 0) { - set_animation(actor->actorID, (s8) actorState->jumpPartIndex, actorState->animJumpLand); + set_actor_anim(actor->actorID, (s8) actorState->jumpPartIndex, actorState->animJumpLand); } return ApiStatus_DONE1; } @@ -3347,7 +3357,7 @@ ApiStatus EnableActorGlow(Evt* script, s32 isInitialCall) { } it = it->nextPart; } - func_80266EE8(actor, UNK_PAL_EFFECT_0); + set_actor_pal_effect(actor, GLOW_PAL_OFF); } return ApiStatus_DONE2; diff --git a/src/actor_api.c b/src/battle/actor_api.c similarity index 96% rename from src/actor_api.c rename to src/battle/actor_api.c index 5ced870c5b..2726364fb8 100644 --- a/src/actor_api.c +++ b/src/battle/actor_api.c @@ -8,9 +8,9 @@ extern s8 ApplyingBuff; s32 count_targets(Actor* actor, s32 targetHomeIndex, s32 targetSelectionFlags) { BattleStatus* battleStatus = &gBattleStatus; - battleStatus->targetHomeIndex = targetHomeIndex; + battleStatus->sampleTargetHomeIndex = targetHomeIndex; battleStatus->curTargetListFlags = targetSelectionFlags; - player_create_target_list(actor); + create_current_pos_target_list(actor); return actor->targetListLength; } @@ -61,7 +61,7 @@ void set_goal_pos_to_part(ActorState* state, s32 actorID, s32 partID) { part = get_actor_part(actor, partID); if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) { state->goalPos.x = actor->curPos.x + (part->partOffset.x + part->targetOffset.x) * actor->scalingFactor; - if (!(actor->flags & ACTOR_PART_FLAG_800)) { + if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { state->goalPos.y = actor->curPos.y + (part->partOffset.y + part->targetOffset.y) * actor->scalingFactor; } else { state->goalPos.y = actor->curPos.y + (-part->partOffset.y - part->targetOffset.y) * actor->scalingFactor; @@ -69,7 +69,7 @@ void set_goal_pos_to_part(ActorState* state, s32 actorID, s32 partID) { state->goalPos.z = actor->curPos.z + part->partOffset.z + 10.0f; } else { state->goalPos.x = part->absolutePos.x + part->targetOffset.x; - if (!(actor->flags & ACTOR_PART_FLAG_800)) { + if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { state->goalPos.y = part->absolutePos.y + part->targetOffset.y * actor->scalingFactor; } else { state->goalPos.y = part->absolutePos.y - part->targetOffset.y * actor->scalingFactor; @@ -97,7 +97,7 @@ void set_part_goal_to_actor_part(ActorPartMovement* movement, s32 actorID, s32 p part = get_actor_part(actor, partID); if (!(part->flags & ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION)) { part->movement->goalPos.x = actor->curPos.x + (part->partOffset.x + part->targetOffset.x) * actor->scalingFactor; - if (!(actor->flags & ACTOR_PART_FLAG_800)) { + if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { part->movement->goalPos.y = actor->curPos.y + (part->partOffset.y + part->targetOffset.y) * actor->scalingFactor; } else { part->movement->goalPos.y = actor->curPos.y + (-part->partOffset.y - part->targetOffset.y) * actor->scalingFactor; @@ -105,7 +105,7 @@ void set_part_goal_to_actor_part(ActorPartMovement* movement, s32 actorID, s32 p part->movement->goalPos.z = actor->curPos.z + part->partOffset.z; } else { part->movement->goalPos.x = part->absolutePos.x + part->targetOffset.x; - if (!(actor->flags & ACTOR_PART_FLAG_800)) { + if (!(actor->flags & ACTOR_FLAG_UPSIDE_DOWN)) { part->movement->goalPos.y = part->absolutePos.y + part->targetOffset.y * actor->scalingFactor; } else { part->movement->goalPos.y = part->absolutePos.y - part->targetOffset.y * actor->scalingFactor; @@ -245,9 +245,9 @@ ApiStatus SetGoalToIndex(Evt* script, s32 isInitialCall) { } actor = get_actor(actorID); - actor->state.goalPos.x = btl_actorHomePositions[index].x; - actor->state.goalPos.y = btl_actorHomePositions[index].y; - actor->state.goalPos.z = btl_actorHomePositions[index].z; + actor->state.goalPos.x = StandardActorHomePositions[index].x; + actor->state.goalPos.y = StandardActorHomePositions[index].y; + actor->state.goalPos.z = StandardActorHomePositions[index].z; return ApiStatus_DONE2; } @@ -255,15 +255,17 @@ ApiStatus SetGoalToIndex(Evt* script, s32 isInitialCall) { ApiStatus GetIndexFromPos(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); - s32 a1 = *args++; + s32 outVar = *args++; Actor* actor; + s32 homeIdx; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } actor = get_actor(actorID); - evt_set_variable(script, a1, get_nearest_home_index(actor->curPos.x, actor->curPos.y, actor->curPos.z)); + homeIdx = get_nearest_home_index(actor->curPos.x, actor->curPos.y, actor->curPos.z); + evt_set_variable(script, outVar, homeIdx); return ApiStatus_DONE2; } @@ -273,31 +275,36 @@ ApiStatus GetIndexFromHome(Evt* script, s32 isInitialCall) { s32 actorID = evt_get_variable(script, *args++); s32 outVar = *args++; Actor* actor; + s32 homeIdx; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } actor = get_actor(actorID); - evt_set_variable(script, outVar, get_nearest_home_index(actor->homePos.x, actor->homePos.y, actor->homePos.z)); + homeIdx = get_nearest_home_index(actor->homePos.x, actor->homePos.y, actor->homePos.z); + evt_set_variable(script, outVar, homeIdx); return ApiStatus_DONE2; } -ApiStatus CountPlayerTargets(Evt* script, s32 isInitialCall) { +ApiStatus CountTargets(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); s32 targetSelectionFlags = *args++; s32 outVar = *args++; Actor* actor; + s32 homeIdx; + s32 numTargets; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } actor = get_actor(actorID); - evt_set_variable(script, outVar, count_targets(actor, get_nearest_home_index(actor->curPos.x, actor->curPos.y, - actor->curPos.z), targetSelectionFlags)); + homeIdx = get_nearest_home_index(actor->curPos.x, actor->curPos.y, actor->curPos.z); + numTargets = count_targets(actor, homeIdx, targetSelectionFlags); + evt_set_variable(script, outVar, numTargets); return ApiStatus_DONE2; } @@ -317,12 +324,9 @@ ApiStatus ForceHomePos(Evt* script, s32 isInitialCall) { z = evt_get_variable(script, *args++); actor = get_actor(actorID); - actor->homePos.x = x; - actor->curPos.x = x; - actor->homePos.y = y; - actor->curPos.y = y; - actor->homePos.z = z; - actor->curPos.z = z; + actor->curPos.x = actor->homePos.x = x; + actor->curPos.y = actor->homePos.y = y; + actor->curPos.z = actor->homePos.z = z; return ApiStatus_DONE2; } @@ -820,7 +824,7 @@ ApiStatus SetAnimation(Evt* script, s32 isInitialCall) { partID = evt_get_variable(script, *args++); animID = evt_get_variable(script, *args++); - set_animation(actorID, partID, animID); + set_actor_anim(actorID, partID, animID); return ApiStatus_DONE2; } @@ -860,7 +864,7 @@ ApiStatus SetAnimationRate(Evt* script, s32 isInitialCall) { partID = evt_get_variable(script, *args++); rate = evt_get_float_variable(script, *args++); - set_animation_rate(actorID, partID, rate); + set_actor_anim_rate(actorID, partID, rate); return ApiStatus_DONE2; } @@ -2282,31 +2286,35 @@ ApiStatus SetBattleState(Evt* script, s32 isInitialCall) { ApiStatus WaitForState(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; BattleStatus* battleStatus = &gBattleStatus; - s32 temp_v0; + s32 waitForState; if (isInitialCall) { - temp_v0 = evt_get_variable(script, *args++); - if (temp_v0 == 0) { - battleStatus->unk_95 = 0; + waitForState = evt_get_variable(script, *args++); + if (waitForState == BATTLE_STATE_0) { + battleStatus->waitForState = BATTLE_STATE_0; return ApiStatus_DONE2; } - battleStatus->unk_95 = temp_v0; + battleStatus->waitForState = waitForState; } - temp_v0 = battleStatus->unk_95; - if (temp_v0) { - return (gBattleState == temp_v0) * ApiStatus_DONE2; + waitForState = battleStatus->waitForState; + if (waitForState == BATTLE_STATE_0) { + return ApiStatus_DONE2; } - return ApiStatus_DONE2; + if (gBattleState == waitForState) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } } ApiStatus CancelEnemyTurn(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; BattleStatus* battleStatus = &gBattleStatus; - s32 temp_v0 = evt_get_variable(script, *args++); + s32 cancelMode = evt_get_variable(script, *args++); - switch (temp_v0) { + switch (cancelMode) { case 0: battleStatus->unk_94 = 1; break; @@ -2331,22 +2339,22 @@ ApiStatus func_8026E260(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus PlayerCreateTargetList(Evt* script, s32 isInitialCall) { +ApiStatus CreateCurrentPosTargetList(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(script->owner1.actorID); gBattleStatus.curTargetListFlags = *args; - player_create_target_list(actor); + create_current_pos_target_list(actor); return ApiStatus_DONE2; } -ApiStatus EnemyCreateTargetList(Evt* script, s32 isInitialCall) { +ApiStatus CreateHomeTargetList(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(script->owner1.actorID); gBattleStatus.curTargetListFlags = *args; - enemy_create_target_list(actor); + create_home_target_list(actor); return ApiStatus_DONE2; } @@ -2376,14 +2384,14 @@ ApiStatus SetOwnerTarget(Evt* script, s32 isInitialCall) { ApiStatus ChooseNextTarget(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; Actor* actor = get_actor(script->owner1.actorID); - s32 temp_v0 = evt_get_variable(script, *args++); + s32 mode = evt_get_variable(script, *args++); s32 temp = *args++; SelectableTarget* target; - s32 temp_v0_3; - s32 phi_v1; - s32 phi_a2; + s32 length; + s32 curIdx; + s32 retVal; - if (temp_v0 == -1) { + if (mode == ITER_FIRST) { actor->selectedTargetIndex = 0; target = &actor->targetData[actor->targetIndexList[0]]; actor->targetActorID = target->actorID; @@ -2391,7 +2399,7 @@ ApiStatus ChooseNextTarget(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - if (temp_v0 == 0xA) { + if (mode == ITER_LAST) { actor->selectedTargetIndex = actor->targetListLength - 1; target = &actor->targetData[actor->targetIndexList[actor->selectedTargetIndex]]; actor->targetActorID = target->actorID; @@ -2399,31 +2407,31 @@ ApiStatus ChooseNextTarget(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - phi_v1 = actor->selectedTargetIndex; - temp_v0_3 = actor->targetListLength; - phi_a2 = 0; + curIdx = actor->selectedTargetIndex; + length = actor->targetListLength; + retVal = ITER_HAS_MORE; - if (temp_v0 == 0) { - phi_v1++; + if (mode == ITER_NEXT) { + curIdx++; } else { - phi_v1--; + curIdx--; } - if (phi_v1 < 0) { - phi_v1 = temp_v0_3 - 1; - phi_a2 = -1; + if (curIdx < 0) { + curIdx = length - 1; + retVal = ITER_NO_MORE; } - if (phi_v1 >= temp_v0_3) { - phi_v1 = 0; - phi_a2 = -1; + if (curIdx >= length) { + curIdx = 0; + retVal = ITER_NO_MORE; } - actor->selectedTargetIndex = phi_v1; + actor->selectedTargetIndex = curIdx; target = &actor->targetData[actor->targetIndexList[actor->selectedTargetIndex]]; actor->targetActorID = target->actorID; actor->targetPartIndex = target->partID; - evt_set_variable(script, temp, phi_a2); + evt_set_variable(script, temp, retVal); return ApiStatus_DONE2; } @@ -2487,7 +2495,7 @@ s32 func_8026E558(Evt* script, s32 isInitialCall) { for (i = 0; i < actor->targetListLength; i++) { target = &actor->targetData[actor->targetIndexList[i]]; - if (target->homeCol == column && target->layer == layer && target->homeRow < row) { + if (target->column == column && target->layer == layer && target->row < row) { actor->targetActorID = target->actorID; actor->targetPartIndex = target->partID; outVal = 0; @@ -2498,7 +2506,7 @@ s32 func_8026E558(Evt* script, s32 isInitialCall) { for (i = 0; i < actor->targetListLength; i++) { target = &actor->targetData[actor->targetIndexList[i]]; - if (target->homeCol == column && target->layer == layer && target->homeRow < row) { + if (target->column == column && target->layer == layer && target->row < row) { actor->targetActorID = target->actorID; actor->targetPartIndex = target->partID; outVal = 0; @@ -2509,7 +2517,7 @@ s32 func_8026E558(Evt* script, s32 isInitialCall) { for (i = 0; i < actor->targetListLength; i++) { target = &actor->targetData[actor->targetIndexList[i]]; - if (target->homeCol == column && target->layer == layer && target->homeRow < row) { + if (target->column == column && target->layer == layer && target->row < row) { actor->targetActorID = target->actorID; actor->targetPartIndex = target->partID; outVal = 0; @@ -2611,19 +2619,19 @@ ApiStatus SetActorPaletteSwapTimes(Evt* script, s32 isInitialCall) { s32 partID = evt_get_variable(script, *args++); Actor* actor; ActorPart* actorPart; - DecorationTable* decorationTable; + DecorationTable* decorations; if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } actor = get_actor(actorID); actorPart = get_actor_part(actor, partID); - decorationTable = actorPart->decorationTable; + decorations = actorPart->decorationTable; - decorationTable->blendPalA = evt_get_variable(script, *args++); - decorationTable->blendPalB = evt_get_variable(script, *args++); - decorationTable->palswapTimeHoldA = evt_get_variable(script, *args++); - decorationTable->palswapTimeAtoB = evt_get_variable(script, *args++); + decorations->blendPalA = evt_get_variable(script, *args++); + decorations->blendPalB = evt_get_variable(script, *args++); + decorations->palswapTimeHoldA = evt_get_variable(script, *args++); + decorations->palswapTimeAtoB = evt_get_variable(script, *args++); return ApiStatus_DONE2; } @@ -2692,7 +2700,7 @@ ApiStatus func_8026EDE4(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); actorPart = get_actor_part(actor, partID); - func_80266EA8(actorPart, temp_s3); + set_part_pal_effect(actorPart, temp_s3); return ApiStatus_DONE2; } @@ -2738,7 +2746,7 @@ ApiStatus ModifyActorDecoration(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); s32 partID = evt_get_variable(script, *args++); - s32 temp_s4 = evt_get_variable(script, *args++); + s32 idx = evt_get_variable(script, *args++); ActorPart* actorPart; DecorationTable* decorationtable; Actor* actor; @@ -2750,10 +2758,10 @@ ApiStatus ModifyActorDecoration(Evt* script, s32 isInitialCall) { actorPart = get_actor_part(actor, partID); decorationtable = actorPart->decorationTable; - decorationtable->unk_8C6[temp_s4].unk00 = evt_get_variable(script, *args++); - decorationtable->unk_8C6[temp_s4].unk02 = evt_get_variable(script, *args++); - decorationtable->unk_8C6[temp_s4].unk04 = evt_get_variable(script, *args++); - decorationtable->unk_8C6[temp_s4].unk06 = evt_get_variable(script, *args++); + decorationtable->decorData[idx].raw[0] = evt_get_variable(script, *args++); + decorationtable->decorData[idx].raw[1] = evt_get_variable(script, *args++); + decorationtable->decorData[idx].raw[2] = evt_get_variable(script, *args++); + decorationtable->decorData[idx].raw[3] = evt_get_variable(script, *args++); return ApiStatus_DONE2; } @@ -2761,19 +2769,19 @@ ApiStatus UseIdleAnimation(Evt* script, s32 isInitialCall) { Actor* actor; s32* args = script->ptrReadPos; s32 actorID = evt_get_variable(script, *args++); - s32 temp_s0_3 = evt_get_variable(script, *args++); + s32 useIdle = evt_get_variable(script, *args++); if (actorID == ACTOR_SELF) { actorID = script->owner1.actorID; } actor = get_actor(actorID); - if (temp_s0_3 == 0) { - actor->flags &= ~ACTOR_FLAG_4000000; - actor->flags &= ~ACTOR_FLAG_8000000; + if (!useIdle) { + actor->flags &= ~ACTOR_FLAG_USING_IDLE_ANIM; + actor->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; func_80266E40(actor); } else { - actor->flags |= ACTOR_FLAG_4000000; + actor->flags |= ACTOR_FLAG_USING_IDLE_ANIM; } return ApiStatus_DONE2; @@ -2792,7 +2800,7 @@ ApiStatus func_8026F1A0(Evt* script, s32 isInitialCall) { actor = get_actor(actorID); if (temp_s0_3 == 0) { - actor->flags &= ~ACTOR_FLAG_8000000; + actor->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; func_80266E40(actor); } diff --git a/src/182B30.c b/src/battle/actor_rendering.c similarity index 62% rename from src/182B30.c rename to src/battle/actor_rendering.c index 81f6dbd347..98e55841b7 100644 --- a/src/182B30.c +++ b/src/battle/actor_rendering.c @@ -72,7 +72,7 @@ enum { // animated palettes for Watt // each pair gives { mode, duration } -u8 WattIdlePalettesAnim[] = { +u8 bWattIdlePalettesAnim[] = { WATT_BRIGHTEST, 2, WATT_DEFAULT, 52, WATT_BRIGHTEST, 4, @@ -101,13 +101,13 @@ u8 WattAttackPalettesAnim[] = { PAL_ANIM_END }; -s16 D_80284134[] = { -1, 15, 10, 7, 5, 3, 2, 1, 0, 0, 0, 0, 0, 0 }; +s16 SparkleSpawnIntervals[] = { -1, 15, 10, 7, 5, 3, 2, 1 }; void update_player_actor_shadow(void); void appendGfx_npc_actor(s32 isPartner, s32 actorIndex); void create_status_chill_out(s32 iconID); -void enable_status_2(s32 iconID); +void enable_status_static(s32 iconID); void enable_status_chill_out(s32 iconID); void enable_status_debuff(s16); void enable_status_transparent(s16); @@ -123,55 +123,56 @@ void set_status_icons_offset(s32 iconID, s32 offsetY, s32 arg2); void set_status_icons_properties(s32 iconID, f32 x, f32 y, f32 z, s32 arg, s32 arg2, s32 radius, s32 offsetY); void appendGfx_npc_actor_reflection(s32, Actor*); -void func_80259494(ActorPart*); -void func_8025950C(ActorPart*, s32, Matrix4f); -void func_802596C0(ActorPart*, s32, Matrix4f); -void func_802597B0(ActorPart*, s32, Matrix4f); -void func_8025995C(ActorPart*, s32, Matrix4f); -void func_8025C918(s32 arg0, ActorPart* part, s32 yaw, s32 arg3); -void func_8025CD40(s32 arg0, ActorPart* part, s32 yaw, s32 arg3); +void make_flash_palettes(ActorPart*); +void func_unkA_draw_npc(ActorPart*, s32, Matrix4f); +void func_unkB_draw_npc(ActorPart*, s32, Matrix4f); +void func_unkA_draw_player(ActorPart*, s32, Matrix4f); +void func_unkB_draw_player(ActorPart*, s32, Matrix4f); +void part_glow_on(b32 arg0, ActorPart* part, s32 yaw, b32 arg3); +void part_flash_on(b32 arg0, ActorPart* part, s32 yaw, b32 arg3); -void func_8025D150(ActorPart*, s32); -void func_8025D160(ActorPart*, s32); -void func_8025D2B0(ActorPart*, s32); -void func_8025D3CC(ActorPart*, s32); -void func_8025D4C8(ActorPart*, s32); -void func_8025D640(ActorPart*, s32); -void func_8025D71C(ActorPart*, s32); -void func_8025D830(ActorPart*, s32); -void func_8025D90C(ActorPart*, s32); -void func_8025DA68(ActorPart*, s32); -void func_8025DBD0(ActorPart*, s32); -void func_8025DD60(ActorPart*, s32); +void add_part_decor_none(ActorPart*, s32); +void add_part_decor_golden_flames(ActorPart*, s32); +void add_part_decor_sweat(ActorPart*, s32); +void add_part_decor_seeing_stars(ActorPart*, s32); +void add_part_decor_red_flames(ActorPart*, s32); +void add_part_decor_smoky_trail(ActorPart*, s32); +void add_part_decor_fiery_trail(ActorPart*, s32); +void add_part_decor_whirlwind(ActorPart*, s32); +void add_part_decor_steam(ActorPart*, s32); +void add_part_decor_sparkles(ActorPart*, s32); +void add_part_decor_bowser_aura(ActorPart*, s32); +void add_part_decor_radiating_stars(ActorPart*, s32); -void render_without_adjusted_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_sleep_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_static_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_fear_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_poison_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_paralyze_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_berserk_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_watt_idle_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_watt_attack_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -void render_with_player_debuff_palettes(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation, s32 isPoison); -void render_with_pal_blending(s32 arg0, ActorPart* part, s32 yaw, s32 arg3, Matrix4f mtx, s32 skipAnimation); -void render_with_palset_blending(s32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); -s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, s32); -s32 func_8025CCC8(s32 arg0, ActorPart* part, s32 yaw, s32); +void render_without_adjusted_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_sleep_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_static_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_fear_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_poison_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_paralyze_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_berserk_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_watt_idle_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_watt_attack_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +void render_with_player_debuff_palettes(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation, s32 isPoison); +void render_with_pal_blending(b32 arg0, ActorPart* part, s32 yaw, s32 arg3, Matrix4f mtx, s32 skipAnimation); +void render_with_palset_blending(b32 arg0, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation); +s32 update_part_glow(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection); +s32 update_part_flash(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection); s32 get_player_anim_for_status(s32 animID); -void func_8026709C(ActorPart* part); +void clear_part_flash_mode(ActorPart* part); -s32 func_80254250(ActorPart* part) { +// thresholds slightly lower than in GetDamageIntensity +s32 get_flash_damage_intensity(ActorPart* part) { s32 ret; if (gBattleStatus.lastAttackDamage < 3) { - ret = 0; + ret = DAMAGE_INTENSITY_LIGHT; } else if (gBattleStatus.lastAttackDamage < 5) { - ret = 1; + ret = DAMAGE_INTENSITY_MEDIUM; } else if (gBattleStatus.lastAttackDamage < 9) { - ret = 2; + ret = DAMAGE_INTENSITY_HEAVY; } else { - ret = 3; + ret = DAMAGE_INTENSITY_EXTREME; } return ret; @@ -187,32 +188,32 @@ void mtx_mirror_y(Matrix4f mtx) { void enable_actor_blur(Actor* actor) { ActorPart* partsTable = actor->partsTable; - DecorationTable* decorationTable = partsTable->decorationTable; + DecorationTable* decorations = partsTable->decorationTable; s32 i, j; s32 numParts; - decorationTable->blurDisableDelay = 0; - decorationTable->blurEnableCount++; + decorations->blurDisableDelay = 0; + decorations->blurEnableCount++; actor->flags |= ACTOR_FLAG_BLUR_ENABLED; partsTable = actor->partsTable; numParts = actor->numParts; for (i = 0; i < numParts; i++) { - if (partsTable->idleAnimations != NULL && !(partsTable->flags & ACTOR_PART_FLAG_2)) { - decorationTable = partsTable->decorationTable; - decorationTable->unk_7D8 = 0; - decorationTable->blurBufferPos = 0; - for (j = 0; j < ARRAY_COUNT(decorationTable->posX); j++) { - decorationTable->posX[j] = partsTable->curPos.x; - decorationTable->posY[j] = partsTable->curPos.y; - decorationTable->posZ[j] = partsTable->curPos.z; - decorationTable->yaw[j] = actor->yaw; - decorationTable->rotPivotOffsetX[j] = (s32)(actor->rotPivotOffset.x * actor->scalingFactor); - decorationTable->rotPivotOffsetY[j] = (s32)(actor->rotPivotOffset.y * actor->scalingFactor); + if (partsTable->idleAnimations != NULL && !(partsTable->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + decorations = partsTable->decorationTable; + decorations->blurUnused = 0; + decorations->blurBufferPos = 0; + for (j = 0; j < ARRAY_COUNT(decorations->posX); j++) { + decorations->posX[j] = partsTable->curPos.x; + decorations->posY[j] = partsTable->curPos.y; + decorations->posZ[j] = partsTable->curPos.z; + decorations->yaw[j] = actor->yaw; + decorations->rotPivotOffsetX[j] = (s32)(actor->rotPivotOffset.x * actor->scalingFactor); + decorations->rotPivotOffsetY[j] = (s32)(actor->rotPivotOffset.y * actor->scalingFactor); - decorationTable->rotX[j] = clamp_angle(actor->rot.x) * 0.5f; - decorationTable->rotY[j] = clamp_angle(actor->rot.y) * 0.5f; - decorationTable->rotZ[j] = clamp_angle(actor->rot.z) * 0.5f; + decorations->rotX[j] = clamp_angle(actor->rot.x) * 0.5f; + decorations->rotY[j] = clamp_angle(actor->rot.y) * 0.5f; + decorations->rotZ[j] = clamp_angle(actor->rot.z) * 0.5f; } } partsTable = partsTable->nextPart; @@ -222,13 +223,13 @@ void enable_actor_blur(Actor* actor) { void disable_actor_blur(Actor* actor) { ActorPart* actorPart = actor->partsTable; - if ((actorPart->idleAnimations != NULL) && !(actorPart->flags & ACTOR_PART_FLAG_2)) { - DecorationTable* decorationTable = actorPart->decorationTable; + if ((actorPart->idleAnimations != NULL) && !(actorPart->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + DecorationTable* decorations = actorPart->decorationTable; - if (decorationTable->blurEnableCount != 0) { - decorationTable->blurEnableCount--; - if (decorationTable->blurEnableCount == 0) { - decorationTable->blurDisableDelay = 20; + if (decorations->blurEnableCount != 0) { + decorations->blurEnableCount--; + if (decorations->blurEnableCount == 0) { + decorations->blurDisableDelay = 20; } } } @@ -237,14 +238,14 @@ void disable_actor_blur(Actor* actor) { void reset_actor_blur(Actor* actor) { ActorPart* actorPart = actor->partsTable; - if ((actorPart->idleAnimations != NULL) && !(actorPart->flags & ACTOR_PART_FLAG_2)) { - DecorationTable* decorationTable = actorPart->decorationTable; + if ((actorPart->idleAnimations != NULL) && !(actorPart->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + DecorationTable* decorations = actorPart->decorationTable; - if (decorationTable->blurEnableCount != 0) { - decorationTable->blurEnableCount--; - if (decorationTable->blurEnableCount == 0) { + if (decorations->blurEnableCount != 0) { + decorations->blurEnableCount--; + if (decorations->blurEnableCount == 0) { actor->flags &= ~ACTOR_FLAG_BLUR_ENABLED; - decorationTable->blurDisableDelay = 1; + decorations->blurDisableDelay = 1; } } } @@ -253,11 +254,11 @@ void reset_actor_blur(Actor* actor) { void force_disable_actor_blur(Actor* actor) { ActorPart* actorPart = actor->partsTable; - if (actorPart->idleAnimations != NULL && !(actorPart->flags & ACTOR_PART_FLAG_2)) { - DecorationTable* decorationTable = actorPart->decorationTable; + if (actorPart->idleAnimations != NULL && !(actorPart->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + DecorationTable* decorations = actorPart->decorationTable; - decorationTable->blurEnableCount = 0; - decorationTable->blurDisableDelay = 20; + decorations->blurEnableCount = 0; + decorations->blurDisableDelay = 20; } } @@ -280,38 +281,38 @@ void force_disable_partner_blur(void) { void enable_player_blur(void) { Actor* playerActor = gBattleStatus.playerActor; ActorPart* partsTable = playerActor->partsTable; - DecorationTable* decorationTable = partsTable->decorationTable; + DecorationTable* decorations = partsTable->decorationTable; s32 i; - decorationTable->blurDisableDelay = 0; - decorationTable->blurEnableCount++; + decorations->blurDisableDelay = 0; + decorations->blurEnableCount++; playerActor->flags |= ACTOR_FLAG_BLUR_ENABLED; - decorationTable->unk_7D8 = 0; - decorationTable->blurBufferPos = 0; + decorations->blurUnused = 0; + decorations->blurBufferPos = 0; - for (i = 0; i < ARRAY_COUNT(decorationTable->posX); i++) { - decorationTable->posX[i] = partsTable->curPos.x; - decorationTable->posY[i] = partsTable->curPos.y; - decorationTable->posZ[i] = partsTable->curPos.z; - decorationTable->yaw[i] = playerActor->yaw; - decorationTable->rotPivotOffsetX[i] = playerActor->rotPivotOffset.x * playerActor->scalingFactor; - decorationTable->rotPivotOffsetY[i] = playerActor->rotPivotOffset.y * playerActor->scalingFactor; + for (i = 0; i < ARRAY_COUNT(decorations->posX); i++) { + decorations->posX[i] = partsTable->curPos.x; + decorations->posY[i] = partsTable->curPos.y; + decorations->posZ[i] = partsTable->curPos.z; + decorations->yaw[i] = playerActor->yaw; + decorations->rotPivotOffsetX[i] = playerActor->rotPivotOffset.x * playerActor->scalingFactor; + decorations->rotPivotOffsetY[i] = playerActor->rotPivotOffset.y * playerActor->scalingFactor; - decorationTable->rotX[i] = clamp_angle(playerActor->rot.x) * 0.5f; - decorationTable->rotY[i] = clamp_angle(playerActor->rot.y) * 0.5f; - decorationTable->rotZ[i] = clamp_angle(playerActor->rot.z) * 0.5f; + decorations->rotX[i] = clamp_angle(playerActor->rot.x) * 0.5f; + decorations->rotY[i] = clamp_angle(playerActor->rot.y) * 0.5f; + decorations->rotZ[i] = clamp_angle(playerActor->rot.z) * 0.5f; } } void disable_player_blur(void) { Actor* playerActor = gBattleStatus.playerActor; ActorPart* partsTable = playerActor->partsTable; - DecorationTable* decorationTable = partsTable->decorationTable; + DecorationTable* decorations = partsTable->decorationTable; - if (decorationTable->blurEnableCount != 0) { - decorationTable->blurEnableCount--; - if (decorationTable->blurEnableCount == 0) { - decorationTable->blurDisableDelay = 20; + if (decorations->blurEnableCount != 0) { + decorations->blurEnableCount--; + if (decorations->blurEnableCount == 0) { + decorations->blurDisableDelay = 20; } } } @@ -319,13 +320,13 @@ void disable_player_blur(void) { void reset_player_blur(void) { Actor* playerActor = gBattleStatus.playerActor; ActorPart* partsTable = playerActor->partsTable; - DecorationTable* decorationTable = partsTable->decorationTable; + DecorationTable* decorations = partsTable->decorationTable; - if (decorationTable->blurEnableCount != 0) { - decorationTable->blurEnableCount--; - if (decorationTable->blurEnableCount == 0) { + if (decorations->blurEnableCount != 0) { + decorations->blurEnableCount--; + if (decorations->blurEnableCount == 0) { playerActor->flags &= ~ACTOR_FLAG_BLUR_ENABLED; - decorationTable->blurDisableDelay = 1; + decorations->blurDisableDelay = 1; } } } @@ -333,46 +334,46 @@ void reset_player_blur(void) { void force_disable_player_blur(void) { Actor* playerActor = gBattleStatus.playerActor; ActorPart* partsTable = playerActor->partsTable; - DecorationTable* decorationTable = partsTable->decorationTable; + DecorationTable* decorations = partsTable->decorationTable; - decorationTable->blurEnableCount = 0; - decorationTable->blurDisableDelay = 20; + decorations->blurEnableCount = 0; + decorations->blurDisableDelay = 20; } void force_disable_player_blur_immediately(void) { Actor* playerActor = gBattleStatus.playerActor; ActorPart* partsTable = playerActor->partsTable; - DecorationTable* decorationTable = partsTable->decorationTable; + DecorationTable* decorations = partsTable->decorationTable; playerActor->flags &= ~ACTOR_FLAG_BLUR_ENABLED; - decorationTable->blurEnableCount = 0; - decorationTable->blurDisableDelay = 1; + decorations->blurEnableCount = 0; + decorations->blurDisableDelay = 1; } void update_player_actor_blur_history(Actor* actor) { ActorPart* partsTable = actor->partsTable; - DecorationTable* decorationTable = partsTable->decorationTable; + DecorationTable* decorations = partsTable->decorationTable; if (!(partsTable->flags & ACTOR_PART_FLAG_INVISIBLE) && partsTable->idleAnimations != NULL) { - s32 i = decorationTable->blurBufferPos; + s32 i = decorations->blurBufferPos; - decorationTable->posX[i] = partsTable->curPos.x; - decorationTable->posY[i] = partsTable->curPos.y; - decorationTable->posZ[i] = partsTable->curPos.z; - decorationTable->yaw[i] = actor->yaw; + decorations->posX[i] = partsTable->curPos.x; + decorations->posY[i] = partsTable->curPos.y; + decorations->posZ[i] = partsTable->curPos.z; + decorations->yaw[i] = actor->yaw; - decorationTable->rotPivotOffsetX[i] = actor->rotPivotOffset.x * actor->scalingFactor; - decorationTable->rotPivotOffsetY[i] = actor->rotPivotOffset.y * actor->scalingFactor; + decorations->rotPivotOffsetX[i] = actor->rotPivotOffset.x * actor->scalingFactor; + decorations->rotPivotOffsetY[i] = actor->rotPivotOffset.y * actor->scalingFactor; - decorationTable->rotX[i] = clamp_angle(actor->rot.x) * 0.5f; - decorationTable->rotY[i] = clamp_angle(actor->rot.y) * 0.5f; - decorationTable->rotZ[i] = clamp_angle(actor->rot.z) * 0.5f; + decorations->rotX[i] = clamp_angle(actor->rot.x) * 0.5f; + decorations->rotY[i] = clamp_angle(actor->rot.y) * 0.5f; + decorations->rotZ[i] = clamp_angle(actor->rot.z) * 0.5f; i++; - if (i >= ARRAY_COUNT(decorationTable->posX)) { + if (i >= ARRAY_COUNT(decorations->posX)) { i = 0; } - decorationTable->blurBufferPos = i; + decorations->blurBufferPos = i; } } @@ -385,7 +386,7 @@ void appendGfx_player_actor_blur(Actor* actor) { s32 drawIdx; s32 yaw; ActorPart* partTable; - DecorationTable* decorationTable; + DecorationTable* decorations; f32 rotX, rotY, rotZ; s32 prevOpacity; s32 opacity; @@ -397,17 +398,17 @@ void appendGfx_player_actor_blur(Actor* actor) { f32 x, y, z; partTable = actor->partsTable; - decorationTable = partTable->decorationTable; - if (decorationTable->blurDisableDelay != 0) { - decorationTable->blurDisableDelay--; - if (decorationTable->blurDisableDelay == 0) { + decorations = partTable->decorationTable; + if (decorations->blurDisableDelay != 0) { + decorations->blurDisableDelay--; + if (decorations->blurDisableDelay == 0) { actor->flags &= ~ACTOR_FLAG_BLUR_ENABLED; return; } } if (!(partTable->flags & ACTOR_PART_FLAG_INVISIBLE) && partTable->idleAnimations != NULL) { - bufPos = decorationTable->blurBufferPos; + bufPos = decorations->blurBufferPos; strideIdx = 0; drawIdx = 0; @@ -415,9 +416,9 @@ void appendGfx_player_actor_blur(Actor* actor) { bufPos--; strideIdx++; if (bufPos < 0) { - bufPos = ARRAY_COUNT(decorationTable->posX) - 1; + bufPos = ARRAY_COUNT(decorations->posX) - 1; } - if (bufPos == decorationTable->blurBufferPos) { + if (bufPos == decorations->blurBufferPos) { break; } @@ -429,24 +430,24 @@ void appendGfx_player_actor_blur(Actor* actor) { strideIdx = 0; drawIdx++; - if (decorationTable->blurDrawCount < drawIdx) { + if (decorations->blurDrawCount < drawIdx) { break; } opacity = partTable->opacity; - x = decorationTable->posX[bufPos]; - y = decorationTable->posY[bufPos]; - z = decorationTable->posZ[bufPos]; + x = decorations->posX[bufPos]; + y = decorations->posY[bufPos]; + z = decorations->posZ[bufPos]; - yaw = decorationTable->yaw[bufPos]; + yaw = decorations->yaw[bufPos]; - pivotOffsetX = decorationTable->rotPivotOffsetX[bufPos]; - pivotOffsetY = decorationTable->rotPivotOffsetY[bufPos]; + pivotOffsetX = decorations->rotPivotOffsetX[bufPos]; + pivotOffsetY = decorations->rotPivotOffsetY[bufPos]; - rotX = decorationTable->rotX[bufPos] * 2; - rotY = decorationTable->rotY[bufPos] * 2; - rotZ = decorationTable->rotZ[bufPos] * 2; + rotX = decorations->rotX[bufPos] * 2; + rotY = decorations->rotY[bufPos] * 2; + rotZ = decorations->rotZ[bufPos] * 2; blurOpacityBase = 120; opacityLossIncrement = 20; @@ -487,39 +488,39 @@ void appendGfx_player_actor_blur(Actor* actor) { void update_nonplayer_actor_blur_history(b32 isPartner, Actor* actor) { s32 numParts = actor->numParts; ActorPart* partsTable = actor->partsTable; - DecorationTable* decorationTable; + DecorationTable* decorations; s32 i, j; for (i = 0; i < numParts; i++) { - if (partsTable->flags & ACTOR_PART_FLAG_INVISIBLE || partsTable->idleAnimations == NULL || partsTable->flags & ACTOR_PART_FLAG_2) { + if (partsTable->flags & ACTOR_PART_FLAG_INVISIBLE || partsTable->idleAnimations == NULL || partsTable->flags & ACTOR_PART_FLAG_NO_DECORATIONS) { partsTable = partsTable->nextPart; } else { - decorationTable = partsTable->decorationTable; - j = decorationTable->blurBufferPos; + decorations = partsTable->decorationTable; + j = decorations->blurBufferPos; - decorationTable->posX[j] = partsTable->curPos.x; - decorationTable->posY[j] = partsTable->curPos.y; - decorationTable->posZ[j] = partsTable->curPos.z; - decorationTable->yaw[j] = actor->yaw; + decorations->posX[j] = partsTable->curPos.x; + decorations->posY[j] = partsTable->curPos.y; + decorations->posZ[j] = partsTable->curPos.z; + decorations->yaw[j] = actor->yaw; - decorationTable->rotPivotOffsetX[j] = actor->rotPivotOffset.x; - decorationTable->rotPivotOffsetY[j] = actor->rotPivotOffset.y; + decorations->rotPivotOffsetX[j] = actor->rotPivotOffset.x; + decorations->rotPivotOffsetY[j] = actor->rotPivotOffset.y; - decorationTable->rotX[j] = clamp_angle(actor->rot.x) * 0.5f; - decorationTable->rotY[j] = clamp_angle(actor->rot.y) * 0.5f; - decorationTable->rotZ[j] = clamp_angle(actor->rot.z) * 0.5f; + decorations->rotX[j] = clamp_angle(actor->rot.x) * 0.5f; + decorations->rotY[j] = clamp_angle(actor->rot.y) * 0.5f; + decorations->rotZ[j] = clamp_angle(actor->rot.z) * 0.5f; j++; - if (j >= ARRAY_COUNT(decorationTable->posX)) { + if (j >= ARRAY_COUNT(decorations->posX)) { j = 0; } - decorationTable->blurBufferPos = j; + decorations->blurBufferPos = j; } } } void appendGfx_nonplayer_actor_blur(b32 isPartner, Actor* actor) { - DecorationTable* decorationTable; + DecorationTable* decorations; ActorPart* partTable; Matrix4f mtxRotX, mtxRotY, mtxRotZ, mtxRotation; Matrix4f mtxScale, mtxTranslate; @@ -552,15 +553,15 @@ void appendGfx_nonplayer_actor_blur(b32 isPartner, Actor* actor) { numParts = actor->numParts; partTable = actor->partsTable; for (i = 0; i < numParts; i++) { - if ((partTable->idleAnimations == NULL) || (partTable->flags & ACTOR_PART_FLAG_2)) { + if ((partTable->idleAnimations == NULL) || (partTable->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { partTable = partTable->nextPart; continue; } - decorationTable = partTable->decorationTable; - if (decorationTable->blurDisableDelay != 0) { - decorationTable->blurDisableDelay--; - if (decorationTable->blurDisableDelay == 0) { + decorations = partTable->decorationTable; + if (decorations->blurDisableDelay != 0) { + decorations->blurDisableDelay--; + if (decorations->blurDisableDelay == 0) { actor->flags &= ~ACTOR_FLAG_BLUR_ENABLED; partTable = partTable->nextPart; continue; @@ -576,7 +577,7 @@ void appendGfx_nonplayer_actor_blur(b32 isPartner, Actor* actor) { guScaleF(mtxPartScale, actor->scale.x * SPRITE_WORLD_SCALE_D, actor->scale.y * SPRITE_WORLD_SCALE_D, actor->scale.z * SPRITE_WORLD_SCALE_D); } - bufPos = decorationTable->blurBufferPos; + bufPos = decorations->blurBufferPos; strideIdx = 0; drawIdx = 0; @@ -585,10 +586,10 @@ void appendGfx_nonplayer_actor_blur(b32 isPartner, Actor* actor) { strideIdx++; if (bufPos < 0) { - bufPos = 15; + bufPos = ACTOR_BLUR_FRAMES - 1; } - if (bufPos == decorationTable->blurBufferPos) { + if (bufPos == decorations->blurBufferPos) { break; } @@ -600,24 +601,24 @@ void appendGfx_nonplayer_actor_blur(b32 isPartner, Actor* actor) { strideIdx = 0; drawIdx++; - if (decorationTable->blurDrawCount < drawIdx) { + if (decorations->blurDrawCount < drawIdx) { break; } opacity = partTable->opacity; - x = decorationTable->posX[bufPos]; - y = decorationTable->posY[bufPos]; - z = decorationTable->posZ[bufPos]; + x = decorations->posX[bufPos]; + y = decorations->posY[bufPos]; + z = decorations->posZ[bufPos]; - yaw = decorationTable->yaw[bufPos]; + yaw = decorations->yaw[bufPos]; - pivotX = decorationTable->rotPivotOffsetX[bufPos]; - pivotY = decorationTable->rotPivotOffsetY[bufPos]; + pivotX = decorations->rotPivotOffsetX[bufPos]; + pivotY = decorations->rotPivotOffsetY[bufPos]; - rotX = decorationTable->rotX[bufPos] * 2; - rotY = decorationTable->rotY[bufPos] * 2; - rotZ = decorationTable->rotZ[bufPos] * 2; + rotX = decorations->rotX[bufPos] * 2; + rotY = decorations->rotY[bufPos] * 2; + rotZ = decorations->rotZ[bufPos] * 2; blurOpacityBase = 120; opacityLossIncrement = 20; @@ -658,7 +659,7 @@ void appendGfx_nonplayer_actor_blur(b32 isPartner, Actor* actor) { } guMtxCatF(mtxTemp, mtxTranslate, mtxTransform); - flags = ACTOR_PART_FLAG_80000000; + flags = DRAW_SPRITE_OVERRIDE_ALPHA; blurOpacity = blurOpacityBase - drawIdx * opacityLossIncrement; if (!isPartner) { spr_draw_npc_sprite(partTable->spriteInstanceID | flags, yaw, blurOpacity, 0, mtxTransform); @@ -704,7 +705,7 @@ void update_nonplayer_actor_shadow(b32 isPartner, Actor* actor) { if (actor != NULL) { shadow = get_shadow_by_index(actor->shadow.id); shadow->flags |= ENTITY_FLAG_HIDDEN; - if (!(actor->flags & ACTOR_FLAG_DISABLED)) { + if (!(actor->flags & ACTOR_FLAG_INVISIBLE)) { if (actor->flags & ACTOR_FLAG_BLUR_ENABLED) { if (!isPartner) { update_enemy_actor_blur_history(actor); @@ -751,7 +752,7 @@ void update_nonplayer_actor_shadow(b32 isPartner, Actor* actor) { actorPart->curPos.y = y2; actorPart->curPos.z = z2; - if (!(actorPart->flags & ACTOR_PART_FLAG_4)) { + if (!(actorPart->flags & ACTOR_PART_FLAG_NO_SHADOW)) { shadow = get_shadow_by_index(actorPart->shadowIndex); shadow->flags &= ~ENTITY_FLAG_HIDDEN; x1 = actorPart->curPos.x; @@ -865,7 +866,7 @@ void appendGfx_npc_actor(b32 isPartner, s32 actorIndex) { (actor->actorBlueprint->statusIconOffset.y + actor->statusIconOffset.y) * actor->scalingFactor; actor->disableEffect->data.disableX->pos.z = actorPosZ; - if (!(gBattleStatus.flags1 & ACTOR_PART_FLAG_4) && (actor->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_SHOW_STATUS_ICONS)) { if (actor->disableDismissTimer != 0) { actor->disableDismissTimer--; actor->disableEffect->data.disableX->pos.y = NPC_DISPOSE_POS_Y; @@ -880,7 +881,7 @@ void appendGfx_npc_actor(b32 isPartner, s32 actorIndex) { effect = actor->icePillarEffect; if (actor->icePillarEffect != NULL) { if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || - (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_8000000))) + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_SHOW_STATUS_ICONS))) { effect->data.icePillar->pos.x = actorPosX; effect->data.icePillar->pos.y = actorPosY; @@ -1006,7 +1007,7 @@ void appendGfx_npc_actor(b32 isPartner, s32 actorIndex) { } while (0); // required to match if (isPartner) { - if ((gBattleStatus.flags2 & (BS_FLAGS2_10 | BS_FLAGS2_4)) == BS_FLAGS2_4) { + if ((gBattleStatus.flags2 & (BS_FLAGS2_10 | BS_FLAGS2_PARTNER_TURN_USED)) == BS_FLAGS2_PARTNER_TURN_USED) { do { if (actor->koStatus == 0) { part->curAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_INACTIVE); @@ -1014,56 +1015,58 @@ void appendGfx_npc_actor(b32 isPartner, s32 actorIndex) { animChanged = TRUE; } } while (0); // required to match - set_actor_pal_adjustment(actor, PAL_ADJUST_PLAYER_DEBUFF); + set_actor_pal_adjustment(actor, ACTOR_PAL_ADJUST_PLAYER_DEBUFF); palChanged = TRUE; - func_80266EE8(actor, UNK_PAL_EFFECT_0); + set_actor_pal_effect(actor, GLOW_PAL_OFF); decorChanged = TRUE; } if (isPartner && (gPlayerData.curPartner == PARTNER_WATT)) { if (!palChanged) { - set_actor_pal_adjustment(actor, PAL_ADJUST_WATT_IDLE); + set_actor_pal_adjustment(actor, ACTOR_PAL_ADJUST_WATT_IDLE); } palChanged = TRUE; } } if (actor->isGlowing) { if (!decorChanged) { - func_80266EE8(actor, UNK_PAL_EFFECT_11); + set_actor_pal_effect(actor, GLOW_PAL_ON); } decorChanged = TRUE; } if (actor->debuff == STATUS_KEY_POISON) { if (!palChanged) { - set_actor_pal_adjustment(actor, PAL_ADJUST_POISON); + set_actor_pal_adjustment(actor, ACTOR_PAL_ADJUST_POISON); } palChanged = TRUE; } if (actor->debuff == STATUS_KEY_PARALYZE) { if (!palChanged) { - set_actor_pal_adjustment(actor, PAL_ADJUST_PARALYZE); + set_actor_pal_adjustment(actor, ACTOR_PAL_ADJUST_PARALYZE); } palChanged = TRUE; } if (actor->debuff == STATUS_KEY_FEAR) { if (!palChanged) { - set_actor_pal_adjustment(actor, PAL_ADJUST_FEAR); + set_actor_pal_adjustment(actor, ACTOR_PAL_ADJUST_FEAR); } palChanged = TRUE; } if (actor->staticStatus == STATUS_KEY_STATIC) { if (!palChanged) { - set_actor_pal_adjustment(actor, PAL_ADJUST_STATIC); + set_actor_pal_adjustment(actor, ACTOR_PAL_ADJUST_STATIC); } palChanged = TRUE; } if (!palChanged && !(part->flags & ACTOR_PART_FLAG_HAS_PAL_EFFECT)) { - set_actor_pal_adjustment(actor, PAL_ADJUST_NONE); + set_actor_pal_adjustment(actor, ACTOR_PAL_ADJUST_NONE); } if (!decorChanged && !(part->flags & ACTOR_PART_FLAG_HAS_PAL_EFFECT)) { - func_80266EE8(actor, UNK_PAL_EFFECT_0); + set_actor_pal_effect(actor, GLOW_PAL_OFF); } - if (actor->flags & ACTOR_FLAG_4000000) { - if (!(part->flags & ACTOR_PART_FLAG_20000000)) { + + // adjust idle animation for status + if (actor->flags & ACTOR_FLAG_USING_IDLE_ANIM) { + if (!(part->flags & ACTOR_PART_FLAG_NO_STATUS_ANIMS)) { if (actor->debuff == STATUS_KEY_FROZEN) { if (!animChanged) { part->curAnimation = get_npc_anim_for_status(part->idleAnimations, STATUS_KEY_FROZEN); @@ -1137,7 +1140,7 @@ void appendGfx_npc_actor(b32 isPartner, s32 actorIndex) { } } - if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (actor->flags & ACTOR_FLAG_SHOW_STATUS_ICONS)) { do { if (actor->debuff == STATUS_KEY_POISON) { create_status_debuff(actor->hudElementDataIndex, STATUS_KEY_POISON); @@ -1165,7 +1168,7 @@ void appendGfx_npc_actor(b32 isPartner, s32 actorIndex) { } } else { enable_status_debuff(actor->hudElementDataIndex); - enable_status_2(actor->hudElementDataIndex); + enable_status_static(actor->hudElementDataIndex); enable_status_transparent(actor->hudElementDataIndex); enable_status_chill_out(actor->hudElementDataIndex); } @@ -1221,12 +1224,12 @@ void appendGfx_npc_actor(b32 isPartner, s32 actorIndex) { if (part->spriteInstanceID >= 0) { if (!isPartner) { - func_8025C840(1, part, partYaw, 0); - func_8025CCC8(1, part, partYaw, 0); + update_part_glow(TRUE, part, partYaw, FALSE); + update_part_flash(TRUE, part, partYaw, FALSE); render_with_adjusted_palettes(SPRITE_MODE_NPC, part, partYaw, mtxTransform, 0); } else { - func_8025C840(1, part, clamp_angle(180.0f - partYaw), 0); - func_8025CCC8(1, part, clamp_angle(180.0f - partYaw), 0); + update_part_glow(TRUE, part, clamp_angle(180.0f - partYaw), FALSE); + update_part_flash(TRUE, part, clamp_angle(180.0f - partYaw), FALSE); render_with_adjusted_palettes(SPRITE_MODE_NPC, part, clamp_angle(180.0f - partYaw), mtxTransform, 0); } @@ -1369,12 +1372,12 @@ void appendGfx_npc_actor_reflection(s32 flipYaw, Actor* actor) { guMtxCatF(mtxTemp, mtxMirror, mtxTransform); if (flipYaw == 0) { - func_8025C840(1, part, partYaw, 1); - func_8025CCC8(1, part, partYaw, 1); + update_part_glow(TRUE, part, partYaw, TRUE); + update_part_flash(TRUE, part, partYaw, TRUE); render_with_adjusted_palettes(SPRITE_MODE_NPC, part, partYaw, mtxTransform, 1); } else { - func_8025C840(1, part, clamp_angle(partYaw + 180.0f), 1); - func_8025CCC8(1, part, clamp_angle(partYaw + 180.0f), 1); + update_part_glow(TRUE, part, clamp_angle(partYaw + 180.0f), TRUE); + update_part_flash(TRUE, part, clamp_angle(partYaw + 180.0f), TRUE); render_with_adjusted_palettes(SPRITE_MODE_NPC, part, clamp_angle(partYaw + 180.0f), mtxTransform, 1); } @@ -1459,7 +1462,7 @@ void appendGfx_player_actor(void* arg0) { ActorPart* playerParts; EffectInstance* effect; f32 playerPosX, playerPosY, playerPosZ, playerYaw; - s32 animChanged, palChanged, cond3, cond4; + s32 animChanged, palChanged, decorChanged, cond4; u32 lastAnim; player = battleStatus->playerActor; @@ -1478,7 +1481,7 @@ void appendGfx_player_actor(void* arg0) { (player->actorBlueprint->statusIconOffset.y + player->statusIconOffset.y) * player->scalingFactor; player->disableEffect->data.disableX->pos.z = playerPosZ; - if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS)) { if (player->disableDismissTimer != 0) { player->disableDismissTimer--; player->disableEffect->data.disableX->pos.y = NPC_DISPOSE_POS_Y; @@ -1492,7 +1495,7 @@ void appendGfx_player_actor(void* arg0) { if (battleStatus->waterBlockTurnsLeft != 0) { if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || - (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000))) + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS))) { effect = battleStatus->waterBlockEffect; effect->data.waterBlock->pos.x = playerPosX; @@ -1507,7 +1510,7 @@ void appendGfx_player_actor(void* arg0) { } if (battleStatus->cloudNineTurnsLeft != 0) { if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || - (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000))) + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS))) { effect = battleStatus->cloudNineEffect; effect->data.endingDecals->pos.x = playerPosX; @@ -1525,7 +1528,7 @@ void appendGfx_player_actor(void* arg0) { effect = player->icePillarEffect; if (player->icePillarEffect != NULL) { if ((gBattleStatus.flags1 & BS_FLAGS1_SHOW_PLAYER_DECORATIONS) || - (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000))) + (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS))) { effect->data.icePillar->pos.x = playerPosX - 8.0f; effect->data.icePillar->pos.y = playerPosY; @@ -1549,10 +1552,13 @@ void appendGfx_player_actor(void* arg0) { } } - if (!(gBattleStatus.flags2 & BS_FLAGS2_10000) && !(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000)) { - battleStatus->buffEffect->data.partnerBuff->unk_02 = 1; + if (!(gBattleStatus.flags2 & BS_FLAGS2_10000) + && !(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) + && (player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS) + ) { + battleStatus->buffEffect->data.partnerBuff->visible = TRUE; } else { - battleStatus->buffEffect->data.partnerBuff->unk_02 = 0; + battleStatus->buffEffect->data.partnerBuff->visible = FALSE; } do { @@ -1563,7 +1569,7 @@ void appendGfx_player_actor(void* arg0) { } } while (0); // required to match - if (player->flags & ACTOR_FLAG_8000000) { + if (player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS) { if (battleStatus->hammerCharge > 0) { create_status_icon_boost_hammer(player->hudElementDataIndex); remove_status_icon_boost_jump(player->hudElementDataIndex); @@ -1581,7 +1587,7 @@ void appendGfx_player_actor(void* arg0) { enable_status_icon_boost_hammer(player->hudElementDataIndex); } - if ((player->flags & ACTOR_FLAG_8000000) && !(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) { + if ((player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS) && !(gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE)) { if (playerData->curHP > PERIL_THRESHOLD) { remove_status_icon_peril(player->hudElementDataIndex); do { @@ -1617,16 +1623,18 @@ void appendGfx_player_actor(void* arg0) { do { animChanged = FALSE; palChanged = FALSE; - cond3 = FALSE; + decorChanged = FALSE; cond4 = FALSE; lastAnim = playerParts->curAnimation; } while (0); // required to match - if (((((gBattleStatus.flags2 & (BS_FLAGS2_8 | BS_FLAGS2_2)) == BS_FLAGS2_2) && (partner != NULL)) || (battleStatus->outtaSightActive > 0)) - && !(player->flags & ACTOR_FLAG_20000000) - && ((partner == NULL) || !(partner->flags & ACTOR_FLAG_NO_ATTACK))) + if (((((gBattleStatus.flags2 & (BS_FLAGS2_8 | BS_FLAGS2_PLAYER_TURN_USED)) == BS_FLAGS2_PLAYER_TURN_USED) + && (partner != NULL)) + || (battleStatus->outtaSightActive > 0)) + && !(player->flags & ACTOR_FLAG_NO_INACTIVE_ANIM) + && !((partner != NULL) && (partner->flags & ACTOR_FLAG_NO_ATTACK))) { - if (!(gBattleStatus.flags2 & BS_FLAGS2_100000)) { + if (!(gBattleStatus.flags2 & BS_FLAGS2_NO_PLAYER_PAL_ADJUST)) { if ((player->debuff != STATUS_KEY_FEAR) && (player->debuff != STATUS_KEY_PARALYZE) && (player->debuff != STATUS_KEY_FROZEN) @@ -1634,7 +1642,7 @@ void appendGfx_player_actor(void* arg0) { ) { if ((player->transparentStatus != STATUS_KEY_TRANSPARENT) && (player->stoneStatus != STATUS_KEY_STONE) && - ((battleStatus->outtaSightActive > 0) || (gBattleStatus.flags2 & BS_FLAGS2_2))) + ((battleStatus->outtaSightActive > 0) || (gBattleStatus.flags2 & BS_FLAGS2_PLAYER_TURN_USED))) { if (is_ability_active(ABILITY_BERSERKER)) { playerParts->curAnimation = get_player_anim_for_status(STATUS_KEY_INACTIVE_BERSERK); @@ -1651,14 +1659,14 @@ void appendGfx_player_actor(void* arg0) { } if (player->debuff != STATUS_KEY_POISON) { - set_actor_pal_adjustment(player, PAL_ADJUST_PLAYER_DEBUFF); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_PLAYER_DEBUFF); } else { - set_actor_pal_adjustment(player, PAL_ADJUST_PLAYER_POISON); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_PLAYER_POISON); } palChanged = TRUE; - func_80266EE8(player, UNK_PAL_EFFECT_0); - cond3 = TRUE; + set_actor_pal_effect(player, GLOW_PAL_OFF); + decorChanged = TRUE; } } @@ -1668,20 +1676,20 @@ void appendGfx_player_actor(void* arg0) { animChanged = TRUE; if (!palChanged) { - set_actor_pal_adjustment(player, PAL_ADJUST_NONE); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_NONE); } - func_80266EE8(player, UNK_PAL_EFFECT_0); + set_actor_pal_effect(player, GLOW_PAL_OFF); palChanged = TRUE; enable_status_debuff(player->hudElementDataIndex); - cond3 = TRUE; - enable_status_2(player->hudElementDataIndex); + decorChanged = TRUE; + enable_status_static(player->hudElementDataIndex); cond4 = TRUE; enable_status_transparent(player->hudElementDataIndex); enable_status_chill_out(player->hudElementDataIndex); } - if ((player->flags & ACTOR_FLAG_4000000) && !animChanged) { + if ((player->flags & ACTOR_FLAG_USING_IDLE_ANIM) && !animChanged) { s32 temp = playerParts->curAnimation; if (temp == get_player_anim_for_status(STATUS_KEY_STONE)) { playerParts->curAnimation = get_player_anim_for_status(STATUS_KEY_NORMAL); @@ -1690,47 +1698,47 @@ void appendGfx_player_actor(void* arg0) { if (is_ability_active(ABILITY_BERSERKER)) { if (!palChanged) { - set_actor_pal_adjustment(player, PAL_ADJUST_BERSERK); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_BERSERK); } palChanged = TRUE; } if (player->debuff == STATUS_KEY_POISON) { if (!palChanged) { - set_actor_pal_adjustment(player, PAL_ADJUST_POISON); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_POISON); } palChanged = TRUE; } if (player->debuff == STATUS_KEY_PARALYZE) { if (!palChanged) { - set_actor_pal_adjustment(player, PAL_ADJUST_PARALYZE); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_PARALYZE); } palChanged = TRUE; } if (player->staticStatus == STATUS_KEY_STATIC) { if (!palChanged) { - set_actor_pal_adjustment(player, PAL_ADJUST_STATIC); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_STATIC); } palChanged = TRUE; } if (battleStatus->turboChargeTurnsLeft != 0) { - if (!cond3) { - func_80266EE8(player, UNK_PAL_EFFECT_11); + if (!decorChanged) { + set_actor_pal_effect(player, GLOW_PAL_ON); } - cond3 = TRUE; + decorChanged = TRUE; } if (is_ability_active(ABILITY_ZAP_TAP)) { if (!palChanged) { - set_actor_pal_adjustment(player, PAL_ADJUST_STATIC); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_STATIC); } palChanged = TRUE; } if (!palChanged) { - set_actor_pal_adjustment(player, PAL_ADJUST_NONE); + set_actor_pal_adjustment(player, ACTOR_PAL_ADJUST_NONE); } - if (!cond3) { - func_80266EE8(player, UNK_PAL_EFFECT_0); + if (!decorChanged) { + set_actor_pal_effect(player, GLOW_PAL_OFF); } - if (player->flags & ACTOR_FLAG_4000000) { + if (player->flags & ACTOR_FLAG_USING_IDLE_ANIM) { if (battleStatus->hustleTurns != 0) { playerParts->curAnimation = get_player_anim_for_status(STATUS_KEY_HUSTLE); animChanged = TRUE; @@ -1803,7 +1811,7 @@ void appendGfx_player_actor(void* arg0) { } while (0); // needed to match } - if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_8000000)) { + if (!(gBattleStatus.flags1 & BS_FLAGS1_TATTLE_OPEN) && (player->flags & ACTOR_FLAG_SHOW_STATUS_ICONS)) { if (!cond4) { do { if (player->debuff == STATUS_KEY_POISON) { @@ -1829,7 +1837,7 @@ void appendGfx_player_actor(void* arg0) { } } else { enable_status_debuff(player->hudElementDataIndex); - enable_status_2(player->hudElementDataIndex); + enable_status_static(player->hudElementDataIndex); enable_status_transparent(player->hudElementDataIndex); enable_status_chill_out(player->hudElementDataIndex); } @@ -1892,8 +1900,8 @@ end: if (lastAnim != playerParts->curAnimation) { spr_update_player_sprite(PLAYER_SPRITE_MAIN, playerParts->curAnimation, playerParts->animationRate); } - func_8025C840(0, playerParts, clamp_angle(playerYaw + 180.0f), 0); - func_8025CCC8(0, playerParts, clamp_angle(playerYaw + 180.0f), 0); + update_part_glow(FALSE, playerParts, clamp_angle(playerYaw + 180.0f), FALSE); + update_part_flash(FALSE, playerParts, clamp_angle(playerYaw + 180.0f), FALSE); render_with_adjusted_palettes(SPRITE_MODE_PLAYER, playerParts, clamp_angle(playerYaw + 180.0f), mtxTransform, 0); _add_part_decoration(playerParts); } @@ -1942,8 +1950,8 @@ void appendGfx_player_actor_reflection(void* arg0) { guMtxCatF(mtxTemp, mtxTranslate, mtxTransform); guMtxCatF(mtxTransform, mtxMirror, mtxTransform); - func_8025C840(0, part, clamp_angle(playerYaw + 180.0f), 1); - func_8025CCC8(0, part, clamp_angle(playerYaw + 180.0f), 1); + update_part_glow(FALSE, part, clamp_angle(playerYaw + 180.0f), TRUE); + update_part_flash(FALSE, part, clamp_angle(playerYaw + 180.0f), TRUE); render_with_adjusted_palettes(SPRITE_MODE_PLAYER, part, clamp_angle(playerYaw + 180.0f), mtxTransform, TRUE); } @@ -1951,7 +1959,7 @@ s32 render_with_adjusted_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Mat s32 opacity; s32 sprDrawOpts; - if (part->flags & ACTOR_PART_FLAG_2) { + if (part->flags & ACTOR_PART_FLAG_NO_DECORATIONS) { opacity = 255; sprDrawOpts = 0; if (part->opacity < 255) { @@ -1979,46 +1987,46 @@ s32 render_with_adjusted_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Mat } switch (part->decorationTable->paletteAdjustment) { - case PAL_ADJUST_NONE: + case ACTOR_PAL_ADJUST_NONE: render_without_adjusted_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_SLEEP: + case ACTOR_PAL_ADJUST_SLEEP: render_with_sleep_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_STATIC: + case ACTOR_PAL_ADJUST_STATIC: render_with_static_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_FEAR: + case ACTOR_PAL_ADJUST_FEAR: render_with_fear_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_POISON: + case ACTOR_PAL_ADJUST_POISON: render_with_poison_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_PARALYZE: + case ACTOR_PAL_ADJUST_PARALYZE: render_with_paralyze_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_BERSERK: + case ACTOR_PAL_ADJUST_BERSERK: render_with_berserk_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_WATT_IDLE: + case ACTOR_PAL_ADJUST_WATT_IDLE: render_with_watt_idle_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_WATT_ATTACK: + case ACTOR_PAL_ADJUST_WATT_ATTACK: render_with_watt_attack_palettes(isNpcSprite, part, yaw, mtx, skipAnimation); break; - case PAL_ADJUST_PLAYER_DEBUFF: + case ACTOR_PAL_ADJUST_PLAYER_DEBUFF: render_with_player_debuff_palettes(isNpcSprite, part, yaw, mtx, skipAnimation, FALSE); break; - case PAL_ADJUST_PLAYER_POISON: + case ACTOR_PAL_ADJUST_PLAYER_POISON: render_with_player_debuff_palettes(isNpcSprite, part, yaw, mtx, skipAnimation, TRUE); break; - case PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS: + case ACTOR_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS: render_with_pal_blending(isNpcSprite, part, yaw, FALSE, mtx, skipAnimation); break; - case PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS: + case ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS: render_with_pal_blending(isNpcSprite, part, yaw, TRUE, mtx, skipAnimation); break; - case PAL_ADJUST_BLEND_PALSETS: + case ACTOR_PAL_ADJUST_BLEND_PALSETS: render_with_palset_blending(isNpcSprite, part, yaw, mtx, skipAnimation); break; default: @@ -2027,30 +2035,30 @@ s32 render_with_adjusted_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Mat return 0; } -void func_80259494(ActorPart* part) { - DecorationTable* decor = part->decorationTable; +void make_flash_palettes(ActorPart* part) { + DecorationTable* decorations = part->decorationTable; PAL_PTR src; PAL_PTR dest; s32 i, j; - for (i = 0; i < decor->originalPalettesCount; i++) { - if (decor->adjustedPalettes[i] != NULL) { - src = decor->adjustedPalettes[i]; - dest = decor->copiedPalettes[1][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + if (decorations->adjustedPalettes[i] != NULL) { + src = decorations->adjustedPalettes[i]; + dest = decorations->copiedPalettes[1][i]; for (j = 0; j < SPR_PAL_SIZE; j++) { - *dest = *src | 0xFFFE; + *dest = *src | 0xFFFE; // pure white, not affecting alpha bit src++; dest++; } - decor->unk_76C[i] = decor->copiedPalettes[1][i]; + decorations->flashPalettes[i] = decorations->copiedPalettes[1][i]; } } } -void func_8025950C(ActorPart* part, s32 yaw, Matrix4f mtx) { - DecorationTable* decor = part->decorationTable; +void func_unkA_draw_npc(ActorPart* part, s32 yaw, Matrix4f mtx) { + DecorationTable* decorations = part->decorationTable; s32 opacity = 255; s32 idMask = 0; PAL_PTR dest; @@ -2066,18 +2074,18 @@ void func_8025950C(ActorPart* part, s32 yaw, Matrix4f mtx) { opacity = (opacity * 120) / 255; } - if (decor->unk_768 != 0) { - decor->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 0x10); - decor->originalPalettesCount = 0; - while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { - decor->originalPalettesCount++; + if (decorations->flashEnabled != FLASH_PAL_OFF) { + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 0x10); + decorations->originalPalettesCount = 0; + while (decorations->originalPalettesList[decorations->originalPalettesCount] != (PAL_PTR) -1) { + decorations->originalPalettesCount++; } - for (i = 0; i < decor->originalPalettesCount; i++) { - src = decor->originalPalettesList[i]; - dest = decor->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + src = decorations->originalPalettesList[i]; + dest = decorations->copiedPalettes[0][i]; if (src != NULL) { - for (j = 0; j < ARRAY_COUNT(decor->copiedPalettes[0][i]); j++) { + for (j = 0; j < ARRAY_COUNT(decorations->copiedPalettes[0][i]); j++) { *dest = *src; src++; dest++; @@ -2085,18 +2093,18 @@ void func_8025950C(ActorPart* part, s32 yaw, Matrix4f mtx) { } } - for (i = 0; i < decor->originalPalettesCount; i++) { - decor->adjustedPalettes[i] = decor->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } else { spr_draw_npc_sprite(part->spriteInstanceID | idMask, yaw, opacity, NULL, mtx); } } -void func_802596C0(ActorPart* part, s32 yaw, Matrix4f mtx) { - DecorationTable* decorationTable = part->decorationTable; +void func_unkB_draw_npc(ActorPart* part, s32 yaw, Matrix4f mtx) { + DecorationTable* decorations = part->decorationTable; s32 opacity = 255; s32 idMask = 0; @@ -2110,16 +2118,16 @@ void func_802596C0(ActorPart* part, s32 yaw, Matrix4f mtx) { opacity = (opacity * 120) / 255; } - if (decorationTable->unk_768 != 0) { - func_80259494(part); - spr_draw_npc_sprite(part->spriteInstanceID | DRAW_SPRITE_OVERRIDE_PALETTES | idMask, yaw, opacity, decorationTable->unk_76C, mtx); + if (decorations->flashEnabled != FLASH_PAL_OFF) { + make_flash_palettes(part); + spr_draw_npc_sprite(part->spriteInstanceID | DRAW_SPRITE_OVERRIDE_PALETTES | idMask, yaw, opacity, decorations->flashPalettes, mtx); } else { - spr_draw_npc_sprite(part->spriteInstanceID | DRAW_SPRITE_OVERRIDE_PALETTES | idMask, yaw, opacity, decorationTable->adjustedPalettes, mtx); + spr_draw_npc_sprite(part->spriteInstanceID | DRAW_SPRITE_OVERRIDE_PALETTES | idMask, yaw, opacity, decorations->adjustedPalettes, mtx); } } -void func_802597B0(ActorPart* part, s32 yaw, Matrix4f mtx) { - DecorationTable* decor = part->decorationTable; +void func_unkA_draw_player(ActorPart* part, s32 yaw, Matrix4f mtx) { + DecorationTable* decorations = part->decorationTable; s32 opacity = 255; s32 idMask = 0; PAL_PTR src; @@ -2135,36 +2143,36 @@ void func_802597B0(ActorPart* part, s32 yaw, Matrix4f mtx) { opacity = (opacity * 120) / 255; } - if (decor->unk_768 != 0) { - decor->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decor->originalPalettesCount = 0; + if (decorations->flashEnabled != FLASH_PAL_OFF) { + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; - while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { - decor->originalPalettesCount++; + while (decorations->originalPalettesList[decorations->originalPalettesCount] != (PAL_PTR) -1) { + decorations->originalPalettesCount++; } - for (i = 0; i < decor->originalPalettesCount; i++) { - src = decor->originalPalettesList[i]; - dest = decor->copiedPalettes[0][i]; - if (decor->originalPalettesList[i] != NULL) { - for (j = 0; j < ARRAY_COUNT(decor->copiedPalettes[0][i]); j++) { + for (i = 0; i < decorations->originalPalettesCount; i++) { + src = decorations->originalPalettesList[i]; + dest = decorations->copiedPalettes[0][i]; + if (decorations->originalPalettesList[i] != NULL) { + for (j = 0; j < ARRAY_COUNT(decorations->copiedPalettes[0][i]); j++) { *dest = *src; dest++; src++; } } } - for (i = 0; i < decor->originalPalettesCount; i++) { - decor->adjustedPalettes[i] = decor->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, NULL, mtx); } } -void func_8025995C(ActorPart* part, s32 yaw, Matrix4f mtx) { - DecorationTable* decorationTable = part->decorationTable; +void func_unkB_draw_player(ActorPart* part, s32 yaw, Matrix4f mtx) { + DecorationTable* decorations = part->decorationTable; s32 opacity = 255; s32 idMask = 0; @@ -2177,58 +2185,58 @@ void func_8025995C(ActorPart* part, s32 yaw, Matrix4f mtx) { opacity = (opacity * 120) / 255; } - if (decorationTable->unk_768 != 0) { - func_80259494(part); + if (decorations->flashEnabled != FLASH_PAL_OFF) { + make_flash_palettes(part); idMask |= DRAW_SPRITE_OVERRIDE_PALETTES; - spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, decorationTable->unk_76C, mtx); + spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, decorations->flashPalettes, mtx); } else { idMask |= DRAW_SPRITE_OVERRIDE_PALETTES; - spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, decorationTable->adjustedPalettes, mtx); + spr_draw_player_sprite(PLAYER_SPRITE_MAIN | idMask, yaw, opacity, decorations->adjustedPalettes, mtx); } } void render_without_adjusted_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { part->verticalStretch = 1; part->palAnimPosOffset[0] = 0; part->palAnimPosOffset[1] = 0; - decorationTable->resetPalAdjust = FALSE; + decorations->resetPalAdjust = FALSE; } if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_802597B0(part, yaw, mtx); + func_unkA_draw_player(part, yaw, mtx); } else { - func_8025950C(part, yaw, mtx); + func_unkA_draw_npc(part, yaw, mtx); } } void render_with_sleep_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; s32 i, j; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } - decorationTable->palAnimState = 0; - decorationTable->resetPalAdjust = FALSE; + decorations->palAnimState = 0; + decorations->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - PAL_PTR palIn = decorationTable->originalPalettesList[i]; - PAL_PTR palOut = decorationTable->copiedPalettes[0][i]; - decorationTable->adjustedPalettes[i] = palOut; + for (i = 0; i < decorations->originalPalettesCount; i++) { + PAL_PTR palIn = decorations->originalPalettesList[i]; + PAL_PTR palOut = decorations->copiedPalettes[0][i]; + decorations->adjustedPalettes[i] = palOut; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { u8 r = UNPACK_PAL_R(*palIn); @@ -2246,46 +2254,46 @@ void render_with_sleep_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matri } } } - switch (decorationTable->palAnimState) { + switch (decorations->palAnimState) { case 0: case 1: if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } break; } } void render_with_static_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR palIn; PAL_PTR palOut; s32 i, j; s32 paletteType; s32 staticPalIdx; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; + decorations->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); + decorations->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2293,31 +2301,31 @@ void render_with_static_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr } } - decorationTable->palAnimState = -2; - decorationTable->palBlendAlpha = 0; - decorationTable->resetPalAdjust = FALSE; - decorationTable->nextPalTime = 0; + decorations->palAnimState = -2; + decorations->palBlendAlpha = 0; + decorations->resetPalAdjust = FALSE; + decorations->nextPalTime = 0; } if (!skipAnimation) { - if (decorationTable->nextPalTime == 0) { - decorationTable->palAnimState += 2; - if (StaticPalettesAnim[decorationTable->palAnimState] == PAL_ANIM_END) { - decorationTable->palAnimState = 0; + if (decorations->nextPalTime == 0) { + decorations->palAnimState += 2; + if (StaticPalettesAnim[decorations->palAnimState] == PAL_ANIM_END) { + decorations->palAnimState = 0; } - decorationTable->nextPalTime = StaticPalettesAnim[decorationTable->palAnimState + 1] / 2; + decorations->nextPalTime = StaticPalettesAnim[decorations->palAnimState + 1] / 2; } - paletteType = StaticPalettesAnim[decorationTable->palAnimState]; - decorationTable->nextPalTime--; + paletteType = StaticPalettesAnim[decorations->palAnimState]; + decorations->nextPalTime--; } else { - paletteType = StaticPalettesAnim[decorationTable->palAnimState]; + paletteType = StaticPalettesAnim[decorations->palAnimState]; } switch (paletteType) { case STATIC_DEFAULT: // no change - for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->spriteColorVariations; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2326,10 +2334,10 @@ void render_with_static_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr } break; case STATIC_BRIGHT: // bright yellow - for (i = 0; i < decorationTable->spriteColorVariations; i++) { - staticPalIdx = decorationTable->spriteColorVariations * STANDARD_PAL_STATIC + i; - palIn = decorationTable->originalPalettesList[staticPalIdx]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->spriteColorVariations; i++) { + staticPalIdx = decorations->spriteColorVariations * STANDARD_PAL_STATIC + i; + palIn = decorations->originalPalettesList[staticPalIdx]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2338,9 +2346,9 @@ void render_with_static_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr } break; case STATIC_DARK: // darkened via code - for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->spriteColorVariations; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { u8 r = UNPACK_PAL_R(*palIn); @@ -2360,53 +2368,53 @@ void render_with_static_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr break; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } if (!skipAnimation) { - decorationTable->palBlendAlpha--; + decorations->palBlendAlpha--; } } void render_with_fear_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR palIn; PAL_PTR palOut; s32 i, j; s32 temp; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 2; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 2; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } - decorationTable->palAnimState = 0; - decorationTable->palBlendAlpha = 0; - decorationTable->nextPalTime = 0; - decorationTable->resetPalAdjust = FALSE; + decorations->palAnimState = 0; + decorations->palBlendAlpha = 0; + decorations->nextPalTime = 0; + decorations->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; - decorationTable->adjustedPalettes[i] = palOut; + for (i = 0; i < decorations->originalPalettesCount; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; + decorations->adjustedPalettes[i] = palOut; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { u8 r = UNPACK_PAL_R(*palIn); @@ -2425,66 +2433,66 @@ void render_with_fear_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix } } - if (decorationTable->nextPalTime <= 0) { - part->palAnimPosOffset[0] = FearPaletteAnimXOffsets[abs(decorationTable->nextPalTime)]; + if (decorations->nextPalTime <= 0) { + part->palAnimPosOffset[0] = FearPaletteAnimXOffsets[abs(decorations->nextPalTime)]; if (part->palAnimPosOffset[0] == PAL_ANIM_END) { part->palAnimPosOffset[0] = 0; // 30-90 - decorationTable->nextPalTime = rand_int(60) + 30; + decorations->nextPalTime = rand_int(60) + 30; } } if (!skipAnimation) { - decorationTable->nextPalTime--; + decorations->nextPalTime--; } if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } } void render_with_poison_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR palIn; PAL_PTR palOut; s32 i, j; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; + decorations->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); + decorations->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); } - decorationTable->palAnimState = 0; - decorationTable->palBlendAlpha = 0; - decorationTable->resetPalAdjust = FALSE; + decorations->palAnimState = 0; + decorations->palBlendAlpha = 0; + decorations->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; } } } - for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->originalPalettesList[decorationTable->spriteColorVariations + i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->spriteColorVariations; i++) { + palIn = decorations->originalPalettesList[decorations->spriteColorVariations + i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2492,47 +2500,47 @@ void render_with_poison_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr } } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } } void render_with_paralyze_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR palIn; PAL_PTR palOut; s32 i, j; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } - decorationTable->palAnimState = 0; - decorationTable->nextPalTime = 0; - decorationTable->palBlendAlpha = 10; - decorationTable->resetPalAdjust = FALSE; + decorations->palAnimState = 0; + decorations->nextPalTime = 0; + decorations->palBlendAlpha = 10; + decorations->resetPalAdjust = FALSE; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { u8 r = UNPACK_PAL_R(*palIn); @@ -2558,83 +2566,82 @@ void render_with_paralyze_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Ma } } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } - switch (decorationTable->palAnimState) { + switch (decorations->palAnimState) { case 0: case 1: - if (decorationTable->nextPalTime <= 0) { - part->palAnimPosOffset[1] = ParalyzePaletteAnimXOffsets[abs(decorationTable->nextPalTime)]; + if (decorations->nextPalTime <= 0) { + part->palAnimPosOffset[1] = ParalyzePaletteAnimXOffsets[abs(decorations->nextPalTime)]; if (part->palAnimPosOffset[1] == PAL_ANIM_END) { part->palAnimPosOffset[1] = 0; - // 30-90 - decorationTable->nextPalTime = rand_int(60) + 30; + decorations->nextPalTime = rand_int(60) + 30; // 30-90 } } if (!skipAnimation) { - decorationTable->nextPalTime--; + decorations->nextPalTime--; } - switch (decorationTable->palBlendAlpha) { + switch (decorations->palBlendAlpha) { case 10: case 12: if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } break; case 13: - decorationTable->palBlendAlpha = 0; + decorations->palBlendAlpha = 0; // fallthrough default: if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_802597B0(part, yaw, mtx); + func_unkA_draw_player(part, yaw, mtx); } else { - func_8025950C(part, yaw, mtx); + func_unkA_draw_npc(part, yaw, mtx); } break; } if (!skipAnimation) { - decorationTable->palBlendAlpha++; + decorations->palBlendAlpha++; } break; } } void render_with_berserk_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; s32 i, j; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->palAnimState = 0; + decorations->palAnimState = 0; } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->palAnimState = 0; + decorations->palAnimState = 0; } - decorationTable->palBlendAlpha = 0; - decorationTable->palAnimState = 0; - decorationTable->resetPalAdjust = FALSE; + decorations->palBlendAlpha = 0; + decorations->palAnimState = 0; + decorations->resetPalAdjust = FALSE; } // adjust each palette - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - PAL_PTR palIn = decorationTable->originalPalettesList[i]; - PAL_PTR palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + PAL_PTR palIn = decorations->originalPalettesList[i]; + PAL_PTR palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { u8 r = UNPACK_PAL_R(*palIn); @@ -2653,45 +2660,45 @@ void render_with_berserk_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Mat } } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } } void render_with_watt_idle_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR palIn; PAL_PTR palOut; s32 i, j; s32 palIdx; s32 brightnessLevel; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; + decorations->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); + decorations->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2699,33 +2706,33 @@ void render_with_watt_idle_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, M } } - decorationTable->palAnimState = -2; - decorationTable->palBlendAlpha = 0; - decorationTable->resetPalAdjust = FALSE; - decorationTable->nextPalTime = 0; + decorations->palAnimState = -2; + decorations->palBlendAlpha = 0; + decorations->resetPalAdjust = FALSE; + decorations->nextPalTime = 0; } if (!skipAnimation) { - if (decorationTable->nextPalTime == 0) { - decorationTable->palAnimState += 2; - if (WattIdlePalettesAnim[decorationTable->palAnimState] == PAL_ANIM_END) { - decorationTable->palAnimState = 0; + if (decorations->nextPalTime == 0) { + decorations->palAnimState += 2; + if (bWattIdlePalettesAnim[decorations->palAnimState] == PAL_ANIM_END) { + decorations->palAnimState = 0; } - decorationTable->nextPalTime = WattIdlePalettesAnim[decorationTable->palAnimState + 1] / 2; + decorations->nextPalTime = bWattIdlePalettesAnim[decorations->palAnimState + 1] / 2; } - brightnessLevel = WattIdlePalettesAnim[decorationTable->palAnimState]; - decorationTable->nextPalTime--; + brightnessLevel = bWattIdlePalettesAnim[decorations->palAnimState]; + decorations->nextPalTime--; } else { //@bug if only called with skipAnimation set, palAnimPos will always be -2 and the array access is OOB - brightnessLevel = WattIdlePalettesAnim[decorationTable->palAnimState]; + brightnessLevel = bWattIdlePalettesAnim[decorations->palAnimState]; } switch (brightnessLevel) { case WATT_DEFAULT: - for (i = 0; i < decorationTable->spriteColorVariations; i++) { + for (i = 0; i < decorations->spriteColorVariations; i++) { // use watt's base palettes - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2734,11 +2741,11 @@ void render_with_watt_idle_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, M } break; case WATT_BRIGHTEST: - for (i = 0; i < decorationTable->spriteColorVariations; i++) { + for (i = 0; i < decorations->spriteColorVariations; i++) { // use watt's Brightest palettes - palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brightest + i; - palIn = decorationTable->originalPalettesList[palIdx]; - palOut = decorationTable->copiedPalettes[0][i]; + palIdx = decorations->spriteColorVariations * SPR_PAL_BattleWatt_Brightest + i; + palIn = decorations->originalPalettesList[palIdx]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2747,11 +2754,11 @@ void render_with_watt_idle_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, M } break; case WATT_BRIGHTER: - for (i = 0; i < decorationTable->spriteColorVariations; i++) { + for (i = 0; i < decorations->spriteColorVariations; i++) { // use watt's Brighter palettes - palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brighter + i; - palIn = decorationTable->originalPalettesList[palIdx]; - palOut = decorationTable->copiedPalettes[0][i]; + palIdx = decorations->spriteColorVariations * SPR_PAL_BattleWatt_Brighter + i; + palIn = decorations->originalPalettesList[palIdx]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2761,49 +2768,49 @@ void render_with_watt_idle_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, M break; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } if (!skipAnimation) { - decorationTable->palBlendAlpha--; + decorations->palBlendAlpha--; } } void render_with_watt_attack_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR palIn; PAL_PTR palOut; s32 i, j; s32 palIdx; s32 brightness; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; + decorations->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); + decorations->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2811,32 +2818,32 @@ void render_with_watt_attack_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, } } - decorationTable->palAnimState = -2; - decorationTable->palBlendAlpha = 0; - decorationTable->resetPalAdjust = FALSE; - decorationTable->nextPalTime = 0; + decorations->palAnimState = -2; + decorations->palBlendAlpha = 0; + decorations->resetPalAdjust = FALSE; + decorations->nextPalTime = 0; } if (!skipAnimation) { - if (decorationTable->nextPalTime == 0) { - decorationTable->palAnimState += 2; - if (WattAttackPalettesAnim[decorationTable->palAnimState] == PAL_ANIM_END) { - decorationTable->palAnimState = 0; + if (decorations->nextPalTime == 0) { + decorations->palAnimState += 2; + if (WattAttackPalettesAnim[decorations->palAnimState] == PAL_ANIM_END) { + decorations->palAnimState = 0; } - decorationTable->nextPalTime = WattAttackPalettesAnim[decorationTable->palAnimState + 1] / 2; + decorations->nextPalTime = WattAttackPalettesAnim[decorations->palAnimState + 1] / 2; } - brightness = WattAttackPalettesAnim[decorationTable->palAnimState]; - decorationTable->nextPalTime--; + brightness = WattAttackPalettesAnim[decorations->palAnimState]; + decorations->nextPalTime--; } else { //@bug if only called with skipAnimation set, palAnimPos will always be -2 and the array access is OOB - brightness = WattAttackPalettesAnim[decorationTable->palAnimState]; + brightness = WattAttackPalettesAnim[decorations->palAnimState]; } switch (brightness) { case WATT_DEFAULT: - for (i = 0; i < decorationTable->spriteColorVariations; i++) { - palIn = decorationTable->originalPalettesList[i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->spriteColorVariations; i++) { + palIn = decorations->originalPalettesList[i]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2845,11 +2852,11 @@ void render_with_watt_attack_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, } break; case WATT_BRIGHTEST: - for (i = 0; i < decorationTable->spriteColorVariations; i++) { + for (i = 0; i < decorations->spriteColorVariations; i++) { // use watt's Brightest palettes - palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brightest + i; - palIn = decorationTable->originalPalettesList[palIdx]; - palOut = decorationTable->copiedPalettes[0][i]; + palIdx = decorations->spriteColorVariations * SPR_PAL_BattleWatt_Brightest + i; + palIn = decorations->originalPalettesList[palIdx]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2858,11 +2865,11 @@ void render_with_watt_attack_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, } break; case WATT_BRIGHTER: - for (i = 0; i < decorationTable->spriteColorVariations; i++) { + for (i = 0; i < decorations->spriteColorVariations; i++) { // use watt's Brighter palettes - palIdx = decorationTable->spriteColorVariations * SPR_PAL_BattleWatt_Brighter + i; - palIn = decorationTable->originalPalettesList[palIdx]; - palOut = decorationTable->copiedPalettes[0][i]; + palIdx = decorations->spriteColorVariations * SPR_PAL_BattleWatt_Brighter + i; + palIn = decorations->originalPalettesList[palIdx]; + palOut = decorations->copiedPalettes[0][i]; if (palIn != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *palIn++; @@ -2872,63 +2879,63 @@ void render_with_watt_attack_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, break; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } if (!skipAnimation) { - decorationTable->palBlendAlpha--; + decorations->palBlendAlpha--; } } void render_with_player_debuff_palettes(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation, b32 isPoison) { - DecorationTable* decorationTable = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR color2; PAL_PTR color1; PAL_PTR palOut; s32 i, j; u8 blendAlpha; - if (decorationTable->resetPalAdjust) { + if (decorations->resetPalAdjust) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decorationTable->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { - decorationTable->spriteColorVariations = SPR_PEACH_BTL_PAL_STRIDE; + decorations->spriteColorVariations = SPR_PEACH_BTL_PAL_STRIDE; } else { - decorationTable->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; + decorations->spriteColorVariations = SPR_PLAYER_COLOR_VARIATIONS; } } else { - decorationTable->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decorationTable->originalPalettesCount = 0; - while ((s32)decorationTable->originalPalettesList[decorationTable->originalPalettesCount] != -1) { - decorationTable->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } - decorationTable->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); + decorations->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); } - if (decorationTable->resetPalAdjust == TRUE) { - decorationTable->palAnimState = 0; - decorationTable->palBlendAlpha = 0; + if (decorations->resetPalAdjust == TRUE) { + decorations->palAnimState = 0; + decorations->palBlendAlpha = 0; } else { - decorationTable->palAnimState = 0; - decorationTable->palBlendAlpha = 255; + decorations->palAnimState = 0; + decorations->palBlendAlpha = 255; } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - color2 = decorationTable->originalPalettesList[i]; - color1 = decorationTable->copiedPalettes[0][i]; - decorationTable->adjustedPalettes[i] = color1; + for (i = 0; i < decorations->originalPalettesCount; i++) { + color2 = decorations->originalPalettesList[i]; + color1 = decorations->copiedPalettes[0][i]; + decorations->adjustedPalettes[i] = color1; if (color2 != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *color1++ = *color2++; @@ -2937,40 +2944,40 @@ void render_with_player_debuff_palettes(b32 isNpcSprite, ActorPart* part, s32 ya } if (isPoison) { - for (i = 0; i < decorationTable->spriteColorVariations; i++) { - color2 = decorationTable->originalPalettesList[decorationTable->spriteColorVariations + i]; - palOut = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->spriteColorVariations; i++) { + color2 = decorations->originalPalettesList[decorations->spriteColorVariations + i]; + palOut = decorations->copiedPalettes[0][i]; for (j = 0; j < SPR_PAL_SIZE; j++) { *palOut++ = *color2++; } } } - decorationTable->nextPalTime = 10; - decorationTable->palBlendAlpha = 0; - decorationTable->palAnimState = 0; - decorationTable->resetPalAdjust = FALSE; + decorations->nextPalTime = 10; + decorations->palBlendAlpha = 0; + decorations->palAnimState = 0; + decorations->resetPalAdjust = FALSE; } - if (decorationTable->palAnimState == 0) { - if (!skipAnimation && decorationTable->nextPalTime != 0) { - decorationTable->nextPalTime--; + if (decorations->palAnimState == 0) { + if (!skipAnimation && decorations->nextPalTime != 0) { + decorations->nextPalTime--; } else { if (!skipAnimation) { - decorationTable->palBlendAlpha += 2560; - if (decorationTable->palBlendAlpha > 255 * 100) { - decorationTable->palBlendAlpha = 255 * 100; + decorations->palBlendAlpha += 2560; + if (decorations->palBlendAlpha > 255 * 100) { + decorations->palBlendAlpha = 255 * 100; } } - blendAlpha = decorationTable->palBlendAlpha / 100; - for (i = 0; i < decorationTable->spriteColorVariations; i++) { + blendAlpha = decorations->palBlendAlpha / 100; + for (i = 0; i < decorations->spriteColorVariations; i++) { if (!isPoison) { - color2 = decorationTable->originalPalettesList[i]; + color2 = decorations->originalPalettesList[i]; } else { - color2 = decorationTable->originalPalettesList[decorationTable->spriteColorVariations * STANDARD_PAL_POISON + i]; + color2 = decorations->originalPalettesList[decorations->spriteColorVariations * STANDARD_PAL_POISON + i]; } - color1 = decorationTable->originalPalettesList[decorationTable->spriteColorVariations * STANDARD_PAL_DIZZY + i]; - palOut = decorationTable->copiedPalettes[0][i]; + color1 = decorations->originalPalettesList[decorations->spriteColorVariations * STANDARD_PAL_DIZZY + i]; + palOut = decorations->copiedPalettes[0][i]; for (j = 0; j < SPR_PAL_SIZE; j++) { u8 r2 = UNPACK_PAL_R(*color2); @@ -2991,29 +2998,29 @@ void render_with_player_debuff_palettes(b32 isNpcSprite, ActorPart* part, s32 ya } } if (blendAlpha == 255) { - decorationTable->palAnimState = 1; + decorations->palAnimState = 1; } } } - for (i = 0; i < decorationTable->originalPalettesCount; i++) { - decorationTable->adjustedPalettes[i] = decorationTable->copiedPalettes[0][i]; + for (i = 0; i < decorations->originalPalettesCount; i++) { + decorations->adjustedPalettes[i] = decorations->copiedPalettes[0][i]; } - switch (decorationTable->palAnimState) { + switch (decorations->palAnimState) { case 0: case 1: if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } break; } } void render_with_pal_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 hasDifferentIntervals, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decor = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR color1; PAL_PTR color2; PAL_PTR outColor; @@ -3022,33 +3029,33 @@ void render_with_pal_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 has u8 r2, g2, b2, a1; u8 r1, g1, b1; - if (decor->resetPalAdjust != 0) { + if (decorations->resetPalAdjust != 0) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decor->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decor->originalPalettesCount = 0; - while ((s32)decor->originalPalettesList[decor->originalPalettesCount] != -1) { - decor->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } else { - decor->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decor->originalPalettesCount = 0; - while ((s32)decor->originalPalettesList[decor->originalPalettesCount] != -1) { - decor->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while ((s32)decorations->originalPalettesList[decorations->originalPalettesCount] != -1) { + decorations->originalPalettesCount++; } } - if (decor->resetPalAdjust == 1) { - decor->palAnimState = 0; - decor->palBlendAlpha = 0; + if (decorations->resetPalAdjust == 1) { + decorations->palAnimState = 0; + decorations->palBlendAlpha = 0; } else { - decor->palAnimState = 0; - decor->palBlendAlpha = 255; + decorations->palAnimState = 0; + decorations->palBlendAlpha = 255; } - for (i = 0; i < decor->originalPalettesCount; i++) { - color2 = decor->originalPalettesList[i]; - color1 = decor->copiedPalettes[0][i]; - decor->adjustedPalettes[i] = color1; + for (i = 0; i < decorations->originalPalettesCount; i++) { + color2 = decorations->originalPalettesList[i]; + color1 = decorations->copiedPalettes[0][i]; + decorations->adjustedPalettes[i] = color1; if (color2 != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *color1++ = *color2++; @@ -3057,43 +3064,43 @@ void render_with_pal_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 has } if (!hasDifferentIntervals) { - decor->palswapTimeAtoB = decor->palswapTimeHoldA; - decor->palswapTimeHoldB = decor->palswapTimeAtoB; - decor->palswapTimeBtoA = decor->palswapTimeAtoB; - decor->palswapTimeHoldA = 0; + decorations->palswapTimeAtoB = decorations->palswapTimeHoldA; + decorations->palswapTimeHoldB = decorations->palswapTimeAtoB; + decorations->palswapTimeBtoA = decorations->palswapTimeAtoB; + decorations->palswapTimeHoldA = 0; } - decor->nextPalTime = decor->palswapTimeHoldA; - decor->palBlendAlpha = 0; - decor->palAnimState = PAL_SWAP_HOLD_A; - decor->resetPalAdjust = FALSE; + decorations->nextPalTime = decorations->palswapTimeHoldA; + decorations->palBlendAlpha = 0; + decorations->palAnimState = PAL_SWAP_HOLD_A; + decorations->resetPalAdjust = FALSE; } // blending from A -> B - switch (decor->palAnimState) { + switch (decorations->palAnimState) { case PAL_SWAP_HOLD_A: if (skipAnimation) { break; } - if (decor->nextPalTime != 0) { - decor->nextPalTime--; + if (decorations->nextPalTime != 0) { + decorations->nextPalTime--; break; } - decor->palBlendAlpha = 0; - decor->palAnimState = PAL_SWAP_A_TO_B; + decorations->palBlendAlpha = 0; + decorations->palAnimState = PAL_SWAP_A_TO_B; // fallthrough case PAL_SWAP_A_TO_B: if (!skipAnimation) { - decor->palBlendAlpha += 25600 / decor->palswapTimeAtoB; - if (decor->palBlendAlpha > 255 * 100) { - decor->palBlendAlpha = 255 * 100; + decorations->palBlendAlpha += 25600 / decorations->palswapTimeAtoB; + if (decorations->palBlendAlpha > 255 * 100) { + decorations->palBlendAlpha = 255 * 100; } } - blendAlpha = decor->palBlendAlpha / 100; + blendAlpha = decorations->palBlendAlpha / 100; // blend two palettes - color2 = decor->originalPalettesList[decor->blendPalA]; - color1 = decor->originalPalettesList[decor->blendPalB]; - outColor = decor->adjustedPalettes[0] = decor->copiedPalettes[0][0]; + color2 = decorations->originalPalettesList[decorations->blendPalA]; + color1 = decorations->originalPalettesList[decorations->blendPalB]; + outColor = decorations->adjustedPalettes[0] = decorations->copiedPalettes[0][0]; for (j = 0; j < SPR_PAL_SIZE; j++) { r2 = UNPACK_PAL_R(*color2); @@ -3112,39 +3119,40 @@ void render_with_pal_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 has *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1); } + if (blendAlpha == 255) { - decor->palAnimState = PAL_SWAP_HOLD_B; - decor->nextPalTime = decor->palswapTimeHoldB; + decorations->palAnimState = PAL_SWAP_HOLD_B; + decorations->nextPalTime = decorations->palswapTimeHoldB; } break; } // blending from B -> A - switch (decor->palAnimState) { + switch (decorations->palAnimState) { case PAL_SWAP_HOLD_B: if (skipAnimation) { break; } - if (decor->nextPalTime != 0) { - decor->nextPalTime--; + if (decorations->nextPalTime != 0) { + decorations->nextPalTime--; break; } - decor->palBlendAlpha = 0; - decor->palAnimState = PAL_SWAP_B_TO_A; + decorations->palBlendAlpha = 0; + decorations->palAnimState = PAL_SWAP_B_TO_A; // fallthrough case PAL_SWAP_B_TO_A: if (!skipAnimation) { - decor->palBlendAlpha += 25600 / decor->palswapTimeBtoA; - if (decor->palBlendAlpha > 255 * 100) { - decor->palBlendAlpha = 255 * 100; + decorations->palBlendAlpha += 25600 / decorations->palswapTimeBtoA; + if (decorations->palBlendAlpha > 255 * 100) { + decorations->palBlendAlpha = 255 * 100; } } - blendAlpha = decor->palBlendAlpha / 100; + blendAlpha = decorations->palBlendAlpha / 100; // blend two palettes - color2 = decor->originalPalettesList[decor->blendPalB]; - color1 = decor->originalPalettesList[decor->blendPalA]; - outColor = decor->copiedPalettes[0][0]; - decor->adjustedPalettes[0] = outColor; + color2 = decorations->originalPalettesList[decorations->blendPalB]; + color1 = decorations->originalPalettesList[decorations->blendPalA]; + outColor = decorations->copiedPalettes[0][0]; + decorations->adjustedPalettes[0] = outColor; for (j = 0; j < SPR_PAL_SIZE; j++) { r2 = UNPACK_PAL_R(*color2); @@ -3164,28 +3172,28 @@ void render_with_pal_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 has *outColor++ = PACK_PAL_RGBA(r1, g1, b1, a1); } if (blendAlpha == 255) { - decor->palAnimState = PAL_SWAP_HOLD_A; - decor->nextPalTime = decor->palswapTimeHoldA; + decorations->palAnimState = PAL_SWAP_HOLD_A; + decorations->nextPalTime = decorations->palswapTimeHoldA; } break; } - switch (decor->palAnimState) { + switch (decorations->palAnimState) { case PAL_SWAP_HOLD_A: case PAL_SWAP_A_TO_B: case PAL_SWAP_HOLD_B: case PAL_SWAP_B_TO_A: if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } break; } } void render_with_palset_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, Matrix4f mtx, b32 skipAnimation) { - DecorationTable* decor = part->decorationTable; + DecorationTable* decorations = part->decorationTable; PAL_PTR color1; PAL_PTR color2; PAL_PTR outColor; @@ -3194,34 +3202,35 @@ void render_with_palset_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr u8 r2, g2, b2, a1; u8 r1, g1, b1; - if (decor->resetPalAdjust != 0) { + // copy palettes from sprite data + if (decorations->resetPalAdjust != 0) { if (isNpcSprite == SPRITE_MODE_PLAYER) { - decor->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); - decor->originalPalettesCount = 0; - while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { - decor->originalPalettesCount++; + decorations->originalPalettesList = spr_get_player_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while (decorations->originalPalettesList[decorations->originalPalettesCount] != (PAL_PTR) -1) { + decorations->originalPalettesCount++; } } else { - decor->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); - decor->originalPalettesCount = 0; - while (decor->originalPalettesList[decor->originalPalettesCount] != (PAL_PTR) -1) { - decor->originalPalettesCount++; + decorations->originalPalettesList = spr_get_npc_palettes(part->curAnimation >> 16); + decorations->originalPalettesCount = 0; + while (decorations->originalPalettesList[decorations->originalPalettesCount] != (PAL_PTR) -1) { + decorations->originalPalettesCount++; } - decor->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); + decorations->spriteColorVariations = spr_get_npc_color_variations(part->curAnimation >> 16); } - if (decor->resetPalAdjust == 1) { - decor->palAnimState = 0; - decor->palBlendAlpha = 0; + if (decorations->resetPalAdjust == 1) { + decorations->palAnimState = PAL_SWAP_HOLD_A; + decorations->palBlendAlpha = 0; } else { - decor->palAnimState = 0; - decor->palBlendAlpha = 255; + decorations->palAnimState = PAL_SWAP_HOLD_A; + decorations->palBlendAlpha = 255; } - for (i = 0; i < decor->originalPalettesCount; i++) { - color2 = decor->originalPalettesList[i]; - color1 = decor->copiedPalettes[0][i]; - decor->adjustedPalettes[i] = color1; + for (i = 0; i < decorations->originalPalettesCount; i++) { + color2 = decorations->originalPalettesList[i]; + color1 = decorations->copiedPalettes[0][i]; + decorations->adjustedPalettes[i] = color1; if (color2 != NULL) { for (j = 0; j < SPR_PAL_SIZE; j++) { *color1++ = *color2++; @@ -3229,39 +3238,39 @@ void render_with_palset_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr } } - decor->nextPalTime = decor->palswapTimeHoldA; - decor->palBlendAlpha = 0; - decor->palAnimState = PAL_SWAP_HOLD_A; - decor->resetPalAdjust = FALSE; + decorations->nextPalTime = decorations->palswapTimeHoldA; + decorations->palBlendAlpha = 0; + decorations->palAnimState = PAL_SWAP_HOLD_A; + decorations->resetPalAdjust = FALSE; } // blending from A -> B - switch (decor->palAnimState) { + switch (decorations->palAnimState) { case PAL_SWAP_HOLD_A: if (skipAnimation) { break; } - if (decor->nextPalTime != 0) { - decor->nextPalTime--; + if (decorations->nextPalTime != 0) { + decorations->nextPalTime--; break; } - decor->palBlendAlpha = 0; - decor->palAnimState = PAL_SWAP_A_TO_B; + decorations->palBlendAlpha = 0; + decorations->palAnimState = PAL_SWAP_A_TO_B; // fallthrough case PAL_SWAP_A_TO_B: if (!skipAnimation) { - decor->palBlendAlpha += 25600 / decor->palswapTimeAtoB; - if (decor->palBlendAlpha > 255 * 100) { - decor->palBlendAlpha = 255 * 100; + decorations->palBlendAlpha += 25600 / decorations->palswapTimeAtoB; + if (decorations->palBlendAlpha > 255 * 100) { + decorations->palBlendAlpha = 255 * 100; } } - blendAlpha = decor->palBlendAlpha / 100; + blendAlpha = decorations->palBlendAlpha / 100; // blend all palettes from two palette sets - for (i = 0; i < decor->spriteColorVariations; i++) { - color2 = decor->originalPalettesList[decor->blendPalA * decor->spriteColorVariations + i]; - color1 = decor->originalPalettesList[decor->blendPalB * decor->spriteColorVariations + i]; - outColor = decor->copiedPalettes[0][i]; - decor->adjustedPalettes[i] = outColor; + for (i = 0; i < decorations->spriteColorVariations; i++) { + color2 = decorations->originalPalettesList[decorations->blendPalA * decorations->spriteColorVariations + i]; + color1 = decorations->originalPalettesList[decorations->blendPalB * decorations->spriteColorVariations + i]; + outColor = decorations->copiedPalettes[0][i]; + decorations->adjustedPalettes[i] = outColor; for (j = 0; j < SPR_PAL_SIZE; j++) { r2 = UNPACK_PAL_R(*color2); @@ -3282,38 +3291,38 @@ void render_with_palset_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr } } if (blendAlpha == 255) { - decor->palAnimState = PAL_SWAP_HOLD_B; - decor->nextPalTime = decor->palswapTimeHoldB; + decorations->palAnimState = PAL_SWAP_HOLD_B; + decorations->nextPalTime = decorations->palswapTimeHoldB; } break; } - switch (decor->palAnimState) { + switch (decorations->palAnimState) { case PAL_SWAP_HOLD_B: if (skipAnimation) { break; } - if (decor->nextPalTime != 0) { - decor->nextPalTime--; + if (decorations->nextPalTime != 0) { + decorations->nextPalTime--; break; } - decor->palBlendAlpha = 0; - decor->palAnimState = PAL_SWAP_B_TO_A; + decorations->palBlendAlpha = 0; + decorations->palAnimState = PAL_SWAP_B_TO_A; // fallthrough case PAL_SWAP_B_TO_A: if (!skipAnimation) { - decor->palBlendAlpha += 25600 / decor->palswapTimeBtoA; - if (decor->palBlendAlpha > 255 * 100) { - decor->palBlendAlpha = 255 * 100; + decorations->palBlendAlpha += 25600 / decorations->palswapTimeBtoA; + if (decorations->palBlendAlpha > 255 * 100) { + decorations->palBlendAlpha = 255 * 100; } } - blendAlpha = decor->palBlendAlpha / 100; + blendAlpha = decorations->palBlendAlpha / 100; // blend all palettes from two palette sets - for (i = 0; i < decor->spriteColorVariations; i++) { - color2 = decor->originalPalettesList[decor->blendPalA * decor->spriteColorVariations + i]; - color1 = decor->originalPalettesList[decor->blendPalB * decor->spriteColorVariations + i]; - outColor = decor->copiedPalettes[0][i]; - decor->adjustedPalettes[i] = outColor; + for (i = 0; i < decorations->spriteColorVariations; i++) { + color2 = decorations->originalPalettesList[decorations->blendPalA * decorations->spriteColorVariations + i]; + color1 = decorations->originalPalettesList[decorations->blendPalB * decorations->spriteColorVariations + i]; + outColor = decorations->copiedPalettes[0][i]; + decorations->adjustedPalettes[i] = outColor; for (j = 0; j < SPR_PAL_SIZE; j++) { r2 = UNPACK_PAL_R(*color2); @@ -3334,43 +3343,43 @@ void render_with_palset_blending(b32 isNpcSprite, ActorPart* part, s32 yaw, Matr } } if (blendAlpha == 255) { - decor->palAnimState = PAL_SWAP_HOLD_A; - decor->nextPalTime = decor->palswapTimeHoldA; + decorations->palAnimState = PAL_SWAP_HOLD_A; + decorations->nextPalTime = decorations->palswapTimeHoldA; } break; } - switch (decor->palAnimState) { + switch (decorations->palAnimState) { case PAL_SWAP_HOLD_A: case PAL_SWAP_A_TO_B: case PAL_SWAP_HOLD_B: case PAL_SWAP_B_TO_A: if (isNpcSprite == SPRITE_MODE_PLAYER) { - func_8025995C(part, yaw, mtx); + func_unkB_draw_player(part, yaw, mtx); } else { - func_802596C0(part, yaw, mtx); + func_unkB_draw_npc(part, yaw, mtx); } break; } } -s32 func_8025C840(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) { - if (!(part->flags & ACTOR_PART_FLAG_2)) { - switch (part->decorationTable->unk_750) { - case 0: - func_8025C8A0(arg0, part, yaw, arg3); +s32 update_part_glow(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection) { + if (!(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + switch (part->decorationTable->glowState) { + case GLOW_PAL_OFF: + part_glow_off(isNpcSprite, part, yaw, isReflection); return 0; - case 11: - func_8025C918(arg0, part, yaw, arg3); + case GLOW_PAL_ON: + part_glow_on(isNpcSprite, part, yaw, isReflection); break; } } return 0; } -void func_8025C8A0(b32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { - if (part->decorationTable->unk_751 != 0) { - part->decorationTable->unk_751 = 0; +void part_glow_off(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection) { + if (part->decorationTable->glowStateChanged) { + part->decorationTable->glowStateChanged = FALSE; if (isNpcSprite == SPRITE_MODE_PLAYER) { set_player_imgfx_all(PLAYER_SPRITE_MAIN, IMGFX_CLEAR, 0, 0, 0, 0, 0); } else { @@ -3379,21 +3388,20 @@ void func_8025C8A0(b32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { } } -void func_8025C918(b32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { - DecorationTable* decor = part->decorationTable; +void part_glow_on(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection) { + DecorationTable* decorations = part->decorationTable; u8 rbuf[20]; u8 gbuf[20]; u8 bbuf[20]; - s32 alpha; s32 color; + s32 alpha; s32 i; - s32 baseAngle; - if (decor->unk_751 != 0) { - decor->unk_752 = -2; - decor->unk75A = 0; - decor->unk_751 = 0; - decor->unk758 = 0; + if (decorations->glowStateChanged) { + decorations->glowUnk1 = -2; + decorations->glowUnk3 = 0; + decorations->glowStateChanged = FALSE; + decorations->glowUnk2 = 0; if (isNpcSprite == SPRITE_MODE_PLAYER) { set_player_imgfx_all(PLAYER_SPRITE_MAIN, IMGFX_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0); } else { @@ -3401,24 +3409,23 @@ void func_8025C918(b32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { } } - decor->unk75C += 7; - baseAngle = decor->unk75C; + decorations->glowPhase += 7; - if (decor->unk75C >= 360) { - decor->unk75C = baseAngle % 360; + if (decorations->glowPhase >= 360) { + decorations->glowPhase %= 360; } for (i = 0; i < ARRAY_COUNT(rbuf); i++) { - rbuf[i] = (cosine(decor->unk75C + (25 * i)) + 1.0) * 112.0; - gbuf[i] = (cosine(decor->unk75C + (25 * i) + 45) + 1.0) * 112.0; - bbuf[i] = (cosine(decor->unk75C + (25 * i) + 90) + 1.0) * 112.0; + rbuf[i] = (cosine(decorations->glowPhase + (25 * i)) + 1.0) * 112.0; + gbuf[i] = (cosine(decorations->glowPhase + (25 * i) + 45) + 1.0) * 112.0; + bbuf[i] = (cosine(decorations->glowPhase + (25 * i) + 90) + 1.0) * 112.0; } alpha = 255; if (part->opacity < 255) { alpha = part->opacity; } - if (part->flags & 0x100) { + if (part->flags & ACTOR_PART_FLAG_TRANSPARENT) { alpha = (alpha * 120) / 255; } @@ -3431,101 +3438,101 @@ void func_8025C918(b32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) { } } - if (arg3 == 0) { - decor->unk75A -= 1; + if (!isReflection) { + decorations->glowUnk3 -= 1; } } -s32 func_8025CCC8(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) { - if (!(part->flags & ACTOR_PART_FLAG_2)) { - switch (part->decorationTable->unk_764) { +s32 update_part_flash(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection) { + if (!(part->flags & ACTOR_PART_FLAG_NO_DECORATIONS)) { + switch (part->decorationTable->flashState) { case 0: - func_8025CD28(arg0, part, yaw, arg3); + part_flash_off(isNpcSprite, part, yaw, isReflection); return 0; case 1: - func_8025CD40(arg0, part, yaw, arg3); + part_flash_on(isNpcSprite, part, yaw, isReflection); return 0; } } return 0; } -void func_8025CD28(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) { - DecorationTable* decorationTable = part->decorationTable; +void part_flash_off(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection) { + DecorationTable* decorations = part->decorationTable; - if (decorationTable->unk_765 != 0) { - decorationTable->unk_765 = 0; + if (decorations->flashStateChanged) { + decorations->flashStateChanged = FALSE; } - decorationTable->unk_768 = 0; + decorations->flashEnabled = FLASH_PAL_OFF; } -void func_8025CD40(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) { - DecorationTable* decor = part->decorationTable; +void part_flash_on(b32 isNpcSprite, ActorPart* part, s32 yaw, b32 isReflection) { + DecorationTable* decorations = part->decorationTable; - if (decor->unk_765 != 0) { - switch (func_80254250(part)) { - case 0: - decor->unk_767 = 1; - decor->unk_766 = 0; + if (decorations->flashStateChanged) { + switch (get_flash_damage_intensity(part)) { + case DAMAGE_INTENSITY_LIGHT: + decorations->flashFramesLeft = 1; + decorations->flashMode = FLASH_MODE_LIGHT; break; - case 1: - decor->unk_767 = 8; - decor->unk_766 = 1; + case DAMAGE_INTENSITY_MEDIUM: + decorations->flashFramesLeft = 8; + decorations->flashMode = FLASH_MODE_MEDIUM; break; - case 2: + case DAMAGE_INTENSITY_HEAVY: default: - decor->unk_767 = 0xE; - decor->unk_766 = 2; + decorations->flashFramesLeft = 14; + decorations->flashMode = FLASH_MODE_HEAVY; break; } - decor->unk_768 = 0; - decor->unk_765 = 0; + decorations->flashEnabled = FLASH_PAL_OFF; + decorations->flashStateChanged = FALSE; } - if (decor->unk_766 == 3) { - decor->unk_768 = 0; - func_8026709C(part); + if (decorations->flashMode == FLASH_MODE_DISPOSE) { + decorations->flashEnabled = FLASH_PAL_OFF; + clear_part_flash_mode(part); } - switch (decor->unk_766) { - case 0: - switch (decor->unk_767) { + switch (decorations->flashMode) { + case FLASH_MODE_LIGHT: + switch (decorations->flashFramesLeft) { case 0: - decor->unk_768 = -1; - decor->unk_766 = 3; + decorations->flashEnabled = FLASH_PAL_ON; + decorations->flashMode = FLASH_MODE_DISPOSE; break; default: - decor->unk_768 = 0; - if (arg3 == 0) { - decor->unk_767--; + decorations->flashEnabled = FLASH_PAL_OFF; + if (!isReflection) { + decorations->flashFramesLeft--; } break; } break; - case 1: - switch (decor->unk_767) { + case FLASH_MODE_MEDIUM: + switch (decorations->flashFramesLeft) { case 1: case 2: case 5: case 6: - decor->unk_768 = -1; + decorations->flashEnabled = FLASH_PAL_ON; break; case 3: case 4: case 7: case 8: - decor->unk_768 = 0; + decorations->flashEnabled = FLASH_PAL_OFF; break; case 0: - decor->unk_766 = 3; + decorations->flashMode = FLASH_MODE_DISPOSE; break; } - if (arg3 == 0) { - decor->unk_767--; + if (!isReflection) { + decorations->flashFramesLeft--; } break; - case 2: - switch (decor->unk_767) { + case FLASH_MODE_HEAVY: + switch (decorations->flashFramesLeft) { case 1: case 2: case 5: @@ -3534,7 +3541,7 @@ void func_8025CD40(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) { case 10: case 13: case 14: - decor->unk_768 = 0; + decorations->flashEnabled = FLASH_PAL_OFF; break; case 3: case 4: @@ -3542,193 +3549,193 @@ void func_8025CD40(s32 arg0, ActorPart* part, s32 yaw, s32 arg3) { case 8: case 11: case 12: - decor->unk_768 = -1; + decorations->flashEnabled = FLASH_PAL_ON; break; case 0: - decor->unk_766 = 3; + decorations->flashMode = FLASH_MODE_DISPOSE; break; } - if (arg3 == 0) { - decor->unk_767--; + if (!isReflection) { + decorations->flashFramesLeft--; } break; } } void _add_part_decoration(ActorPart* actorPart) { - DecorationTable* decorationTable; + DecorationTable* decorations; s32 i; - if (!(actorPart->flags & 2)) { - decorationTable = actorPart->decorationTable; - for (i = 0; i < ARRAY_COUNT(decorationTable->type); i++) { - switch (decorationTable->type[i]) { - case ACTOR_DECORATION_NONE: - func_8025D150(actorPart, i); - break; - case ACTOR_DECORATION_GOLDEN_FLAMES: - func_8025D160(actorPart, i); - break; - case ACTOR_DECORATION_SWEAT: - func_8025D2B0(actorPart, i); - break; - case ACTOR_DECORATION_SEEING_STARS: - func_8025D3CC(actorPart, i); - break; - case ACTOR_DECORATION_RED_FLAMES: - func_8025D4C8(actorPart, i); - break; - case ACTOR_DECORATION_GREY_SMOKE_TRAIL: - func_8025D640(actorPart, i); - break; - case ACTOR_DECORATION_FIRE_SMOKE_TRAIL: - func_8025D71C(actorPart, i); - break; - case ACTOR_DECORATION_WHIRLWIND: - func_8025D830(actorPart, i); - break; - case ACTOR_DECORATION_STEAM_EMITTER: - func_8025D90C(actorPart, i); - break; - case ACTOR_DECORATION_9: - func_8025DA68(actorPart, i); - break; - case ACTOR_DECORATION_A: - func_8025DBD0(actorPart, i); - break; - case ACTOR_DECORATION_RADIAL_STAR_EMITTER: - func_8025DD60(actorPart, i); - break; - } + if (actorPart->flags & ACTOR_PART_FLAG_NO_DECORATIONS) { + return; + } + + decorations = actorPart->decorationTable; + for (i = 0; i < ARRAY_COUNT(decorations->type); i++) { + switch (decorations->type[i]) { + case ACTOR_DECORATION_NONE: + add_part_decor_none(actorPart, i); + break; + case ACTOR_DECORATION_GOLDEN_FLAMES: + add_part_decor_golden_flames(actorPart, i); + break; + case ACTOR_DECORATION_SWEAT: + add_part_decor_sweat(actorPart, i); + break; + case ACTOR_DECORATION_SEEING_STARS: + add_part_decor_seeing_stars(actorPart, i); + break; + case ACTOR_DECORATION_RED_FLAMES: + add_part_decor_red_flames(actorPart, i); + break; + case ACTOR_DECORATION_GREY_SMOKE_TRAIL: + add_part_decor_smoky_trail(actorPart, i); + break; + case ACTOR_DECORATION_FIRE_SMOKE_TRAIL: + add_part_decor_fiery_trail(actorPart, i); + break; + case ACTOR_DECORATION_WHIRLWIND: + add_part_decor_whirlwind(actorPart, i); + break; + case ACTOR_DECORATION_STEAM_EMITTER: + add_part_decor_steam(actorPart, i); + break; + case ACTOR_DECORATION_SPARKLES: + add_part_decor_sparkles(actorPart, i); + break; + case ACTOR_DECORATION_BOWSER_AURA: + add_part_decor_bowser_aura(actorPart, i); + break; + case ACTOR_DECORATION_RADIAL_STAR_EMITTER: + add_part_decor_radiating_stars(actorPart, i); + break; } } } -void _remove_part_decoration(ActorPart* part, s32 decorationIndex) { - DecorationTable* decorationTable = part->decorationTable; +void _remove_part_decoration(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; - switch (decorationTable->type[decorationIndex]) { + switch (decorations->type[idx]) { case ACTOR_DECORATION_NONE: - func_8025D158(part, decorationIndex); + remove_part_decor_none(part, idx); break; case ACTOR_DECORATION_GOLDEN_FLAMES: - func_8025D290(part, decorationIndex); + remove_part_decor_golden_flames(part, idx); break; case ACTOR_DECORATION_SWEAT: - func_8025D3C4(part, decorationIndex); + remove_part_decor_sweat(part, idx); break; case ACTOR_DECORATION_SEEING_STARS: - func_8025D4A0(part, decorationIndex); + remove_part_decor_seeing_stars(part, idx); break; case ACTOR_DECORATION_RED_FLAMES: - func_8025D620(part, decorationIndex); + remove_part_decor_red_flames(part, idx); break; case ACTOR_DECORATION_GREY_SMOKE_TRAIL: - func_8025D6FC(part, decorationIndex); + remove_part_decor_smoky_trail(part, idx); break; case ACTOR_DECORATION_FIRE_SMOKE_TRAIL: - func_8025D810(part, decorationIndex); + remove_part_decor_fiery_trail(part, idx); break; case ACTOR_DECORATION_WHIRLWIND: - func_8025D8EC(part, decorationIndex); + remove_part_decor_whirlwind(part, idx); break; case ACTOR_DECORATION_STEAM_EMITTER: - func_8025DA60(part, decorationIndex); + remove_part_decor_steam(part, idx); break; - case ACTOR_DECORATION_9: - func_8025DBC8(part, decorationIndex); + case ACTOR_DECORATION_SPARKLES: + remove_part_decor_sparkles(part, idx); break; - case ACTOR_DECORATION_A: - func_8025DD40(part, decorationIndex); + case ACTOR_DECORATION_BOWSER_AURA: + remove_part_decor_bowser_aura(part, idx); break; case ACTOR_DECORATION_RADIAL_STAR_EMITTER: - func_8025DE88(part, decorationIndex); + remove_part_decor_radiating_stars(part, idx); break; } - decorationTable->type[decorationIndex] = 0; + decorations->type[idx] = ACTOR_DECORATION_NONE; } -void func_8025D150(ActorPart* actorPart, s32 i) { +void add_part_decor_none(ActorPart* actorPart, s32 i) { } -void func_8025D158(ActorPart* part, s32 decorationIndex) { +void remove_part_decor_none(ActorPart* part, s32 idx) { } -void func_8025D160(ActorPart* arg0, s32 index) { - DecorationTable* table = arg0->decorationTable; +void add_part_decor_golden_flames(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; EffectInstance* effect; AuraFXData* data; f32 scale; - switch (table->state[index]) { + switch (decorations->state[idx]) { case 0: - fx_aura(3, arg0->curPos.x, arg0->curPos.y, arg0->curPos.z, 0.4f, &table->effect[index]); - table->state[index] = 1; - table->unk_8C6[index].unk00 = 40; - table->unk_8C6[index].unk02 = 40; - table->unk_8C6[index].unk04 = 0; + fx_aura(FX_AURA_GOLD, part->curPos.x, part->curPos.y, part->curPos.z, 0.4f, &decorations->effect[idx]); + decorations->state[idx] = 1; + decorations->decorData[idx].goldenFlames.scaleX = 40; + decorations->decorData[idx].goldenFlames.scaleY = 40; + decorations->decorData[idx].goldenFlames.offsetX = 0; break; case 1: - effect = table->effect[index]; + effect = decorations->effect[idx]; data = effect->data.aura; - data->posA.x = arg0->curPos.x + table->unk_8C6[index].unk04; - data->posA.y = arg0->curPos.y; - data->posA.z = arg0->curPos.z; - scale = table->unk_8C6[index].unk00; + data->posA.x = part->curPos.x + decorations->decorData[idx].goldenFlames.offsetX; + data->posA.y = part->curPos.y; + data->posA.z = part->curPos.z; + scale = decorations->decorData[idx].goldenFlames.scaleX; scale /= 100.0f; effect->data.aura->scale.x = scale; - scale = table->unk_8C6[index].unk02; + scale = decorations->decorData[idx].goldenFlames.scaleY; scale /= 100.0f; effect->data.aura->scale.y = scale; break; } } -void func_8025D290(ActorPart* part, s32 decorationIndex) { - part->decorationTable->effect[decorationIndex]->data.aura->fadeTime = 5; +void remove_part_decor_golden_flames(ActorPart* part, s32 idx) { + part->decorationTable->effect[idx]->data.aura->fadeTime = 5; } -void func_8025D2B0(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_sweat(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: if (part->yaw > 90.0f) { fx_sweat(0, part->curPos.x, part->curPos.y + part->size.y, part->curPos.z, 5.0f, 45.0f, 20); } else { fx_sweat(0, part->curPos.x, part->curPos.y + part->size.y, part->curPos.z, 5.0f, -45.0f, 20); } - decor->stateResetTimer[decorationIndex] = 10; - decor->state[decorationIndex] = TRUE; + decorations->stateResetTimer[idx] = 10; + decorations->state[idx] = TRUE; break; case 1: - if (decor->stateResetTimer[decorationIndex] != 0) { - decor->stateResetTimer[decorationIndex]--; + if (decorations->stateResetTimer[idx] != 0) { + decorations->stateResetTimer[idx]--; } else { - decor->state[decorationIndex] = FALSE; + decorations->state[idx] = FALSE; } break; } } -void func_8025D3C4(ActorPart* part, s32 decorationIndex) { +void remove_part_decor_sweat(ActorPart* part, s32 idx) { } -void func_8025D3CC(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor; +void add_part_decor_seeing_stars(ActorPart* part, s32 idx) { + DecorationTable* decorations; StarsOrbitingFXData* data; - s8 temp_v1; - decor = part->decorationTable; - switch (decor->state[decorationIndex]) { + decorations = part->decorationTable; + switch (decorations->state[idx]) { case 0: - fx_stars_orbiting(0, part->curPos.x, part->curPos.y + part->size.y, part->curPos.z, - 20.0f, 3, &decor->effect[decorationIndex]); - decor->state[decorationIndex] = 1; + fx_stars_orbiting(0, part->curPos.x, part->curPos.y + part->size.y, part->curPos.z, 20.0f, 3, &decorations->effect[idx]); + decorations->state[idx] = 1; break; case 1: - data = decor->effect[decorationIndex]->data.starsOrbiting; + data = decorations->effect[idx]->data.starsOrbiting; data->pos.x = part->curPos.x; data->pos.y = part->curPos.y + part->size.y; data->pos.z = part->curPos.z; @@ -3736,61 +3743,61 @@ void func_8025D3CC(ActorPart* part, s32 decorationIndex) { } } -void func_8025D4A0(ActorPart* part, s32 decorationIndex) { - remove_effect(part->decorationTable->effect[decorationIndex]); +void remove_part_decor_seeing_stars(ActorPart* part, s32 idx) { + remove_effect(part->decorationTable->effect[idx]); } -void func_8025D4C8(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_red_flames(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; EffectInstance* effect; AuraFXData* data; f32 scale; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: - fx_aura(1, part->curPos.x, part->curPos.y, part->curPos.z, 0.4f, &decor->effect[decorationIndex]); - decor->state[decorationIndex] = 1; - decor->unk_8C6[decorationIndex].unk00 = 40; - decor->unk_8C6[decorationIndex].unk02 = 40; - decor->unk_8C6[decorationIndex].unk04 = 255; - decor->unk_8C6[decorationIndex].unk06 = 0; - decor->unk_8C6[decorationIndex].unk08 = 255; - decor->unk_8C6[decorationIndex].unk0A = 0; - decor->unk_8C6[decorationIndex].unk0C = 0; + fx_aura(FX_AURA_RED, part->curPos.x, part->curPos.y, part->curPos.z, 0.4f, &decorations->effect[idx]); + decorations->state[idx] = 1; + decorations->decorData[idx].redFlames.scaleX = 40; + decorations->decorData[idx].redFlames.scaleY = 40; + decorations->decorData[idx].redFlames.alpha = 255; + decorations->decorData[idx].redFlames.offsetZ = 0; + decorations->decorData[idx].redFlames.unused1 = 255; + decorations->decorData[idx].redFlames.unused2 = 0; + decorations->decorData[idx].redFlames.unused3 = 0; // fallthrough case 1: - effect = decor->effect[decorationIndex]; + effect = decorations->effect[idx]; data = effect->data.aura; data->posA.x = part->curPos.x; data->posA.y = part->curPos.y; - data->posA.z = part->curPos.z + decor->unk_8C6[decorationIndex].unk06; + data->posA.z = part->curPos.z + decorations->decorData[idx].redFlames.offsetZ; - scale = decor->unk_8C6[decorationIndex].unk00; + scale = decorations->decorData[idx].redFlames.scaleX; scale /= 100.0f; effect->data.aura->scale.x = scale; - scale = decor->unk_8C6[decorationIndex].unk02; + scale = decorations->decorData[idx].redFlames.scaleY; scale /= 100.0f; effect->data.aura->scale.y = scale; - effect->data.aura->primA = decor->unk_8C6[decorationIndex].unk04; + effect->data.aura->primA = decorations->decorData[idx].redFlames.alpha; break; } } -void func_8025D620(ActorPart* part, s32 decorationIndex) { - part->decorationTable->effect[decorationIndex]->data.aura->fadeTime = 5; +void remove_part_decor_red_flames(ActorPart* part, s32 idx) { + part->decorationTable->effect[idx]->data.aura->fadeTime = 5; } -void func_8025D640(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_smoky_trail(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; EffectInstance* effect; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: - decor->effect[decorationIndex] = fx_effect_65(1, part->curPos.x, part->curPos.y, part->curPos.z, 1.0f, 0); - decor->state[decorationIndex] = 1; + decorations->effect[idx] = fx_effect_65(1, part->curPos.x, part->curPos.y, part->curPos.z, 1.0f, 0); + decorations->state[idx] = 1; break; case 1: - effect = decor->effect[decorationIndex]; + effect = decorations->effect[idx]; effect->data.unk_65->pos.x = part->curPos.x; effect->data.unk_65->pos.y = part->curPos.y; effect->data.unk_65->pos.z = part->curPos.z; @@ -3798,45 +3805,45 @@ void func_8025D640(ActorPart* part, s32 decorationIndex) { } } -void func_8025D6FC(ActorPart* part, s32 decorationIndex) { - part->decorationTable->effect[decorationIndex]->flags |= 0x10; +void remove_part_decor_smoky_trail(ActorPart* part, s32 idx) { + part->decorationTable->effect[idx]->flags |= FX_INSTANCE_FLAG_DISMISS; } -void func_8025D71C(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_fiery_trail(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; EffectInstance* effect; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: - decor->effect[decorationIndex] = fx_effect_65(2, part->curPos.x, part->curPos.y, part->curPos.z, 1.0f, 0); - decor->unk_8C6[decorationIndex].unk00 = 1; - decor->state[decorationIndex] = 1; + decorations->effect[idx] = fx_effect_65(2, part->curPos.x, part->curPos.y, part->curPos.z, 1.0f, 0); + decorations->decorData[idx].fireTrail.scale = 1; + decorations->state[idx] = 1; break; case 1: - effect = decor->effect[decorationIndex]; + effect = decorations->effect[idx]; effect->data.unk_65->pos.x = part->curPos.x; effect->data.unk_65->pos.y = part->curPos.y; effect->data.unk_65->pos.z = part->curPos.z; - effect->data.unk_65->scale = decor->unk_8C6[decorationIndex].unk00 / 100.0f; + effect->data.unk_65->scale = decorations->decorData[idx].fireTrail.scale / 100.0f; break; } } -void func_8025D810(ActorPart* part, s32 decorationIndex) { - part->decorationTable->effect[decorationIndex]->flags |= 0x10; +void remove_part_decor_fiery_trail(ActorPart* part, s32 idx) { + part->decorationTable->effect[idx]->flags |= FX_INSTANCE_FLAG_DISMISS; } -void func_8025D830(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_whirlwind(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; EffectInstance* effect; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: - decor->effect[decorationIndex] = fx_whirlwind(2, part->curPos.x, part->curPos.y, part->curPos.z, 1.0f, 0); - decor->state[decorationIndex] = 1; + decorations->effect[idx] = fx_whirlwind(2, part->curPos.x, part->curPos.y, part->curPos.z, 1.0f, 0); + decorations->state[idx] = 1; break; case 1: - effect = decor->effect[decorationIndex]; + effect = decorations->effect[idx]; effect->data.whirlwind->pos.x = part->curPos.x; effect->data.whirlwind->pos.y = part->curPos.y; effect->data.whirlwind->pos.z = part->curPos.z; @@ -3844,23 +3851,23 @@ void func_8025D830(ActorPart* part, s32 decorationIndex) { } } -void func_8025D8EC(ActorPart* part, s32 decorationIndex) { - part->decorationTable->effect[decorationIndex]->flags |= FX_INSTANCE_FLAG_DISMISS; +void remove_part_decor_whirlwind(ActorPart* part, s32 idx) { + part->decorationTable->effect[idx]->flags |= FX_INSTANCE_FLAG_DISMISS; } -void func_8025D90C(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_steam(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; f32 angle, sinA, cosA; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: - decor->stateResetTimer[decorationIndex] = 0; - decor->state[decorationIndex] = 1; + decorations->stateResetTimer[idx] = 0; + decorations->state[idx] = 1; // fallthrough case 1: - decor->stateResetTimer[decorationIndex]++; - if (decor->stateResetTimer[decorationIndex] >= 4) { - decor->stateResetTimer[decorationIndex] = 0; + decorations->stateResetTimer[idx]++; + if (decorations->stateResetTimer[idx] >= 4) { + decorations->stateResetTimer[idx] = 0; angle = DEG_TO_RAD(clamp_angle(-part->yaw)); sinA = sin_rad(angle); cosA = cos_rad(angle); @@ -3874,30 +3881,30 @@ void func_8025D90C(ActorPart* part, s32 decorationIndex) { } } -void func_8025DA60(ActorPart* part, s32 decorationIndex) { +void remove_part_decor_steam(ActorPart* part, s32 idx) { } -void func_8025DA68(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_sparkles(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; f32 x, y, z; - if (D_80284134[decor->unk_8C6[decorationIndex].unk00] >= 0) { - switch (decor->state[decorationIndex]) { + if (SparkleSpawnIntervals[decorations->decorData[idx].sparkles.spawnInterval] >= 0) { + switch (decorations->state[idx]) { case 0: - decor->stateResetTimer[decorationIndex] = 0; - decor->state[decorationIndex] = 1; + decorations->stateResetTimer[idx] = 0; + decorations->state[idx] = 1; // fallthrough case 1: x = part->curPos.x; y = part->curPos.y + (part->size.y / 2); z = part->curPos.z - 5.0f; - // @bug? perhaps this should be % 4? + // @bug this should be % 4 if ((gGameStatusPtr->frameCounter / 4) == 0) { fx_sparkles(FX_SPARKLES_1, x, y, z, 10.0f); } - decor->stateResetTimer[decorationIndex]++; - if (D_80284134[decor->unk_8C6[decorationIndex].unk00] < decor->stateResetTimer[decorationIndex]) { - decor->stateResetTimer[decorationIndex] = 0; + decorations->stateResetTimer[idx]++; + if (SparkleSpawnIntervals[decorations->decorData[idx].sparkles.spawnInterval] < decorations->stateResetTimer[idx]) { + decorations->stateResetTimer[idx] = 0; fx_sparkles(FX_SPARKLES_1, x, y, z, 20.0f); } break; @@ -3905,71 +3912,71 @@ void func_8025DA68(ActorPart* part, s32 decorationIndex) { } } -void func_8025DBC8(ActorPart* part, s32 decorationIndex) { +void remove_part_decor_sparkles(ActorPart* part, s32 idx) { } -void func_8025DBD0(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_bowser_aura(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; EffectInstance* effect; AuraFXData* data; f32 scale; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: - fx_aura(2, part->curPos.x, part->curPos.y, part->curPos.z, 1.2f, &decor->effect[decorationIndex]); - decor->state[decorationIndex] = 1; - decor->unk_8C6[decorationIndex].unk00 = 150; - decor->unk_8C6[decorationIndex].unk02 = 150; - decor->unk_8C6[decorationIndex].unk04 = 255; - decor->unk_8C6[decorationIndex].unk06 = 0; + fx_aura(FX_AURA_BLUE, part->curPos.x, part->curPos.y, part->curPos.z, 1.2f, &decorations->effect[idx]); + decorations->state[idx] = 1; + decorations->decorData[idx].bowserAura.scaleX = 150; + decorations->decorData[idx].bowserAura.scaleY = 150; + decorations->decorData[idx].bowserAura.alpha = 255; + decorations->decorData[idx].bowserAura.offsetZ = 0; // fallthrough case 1: - effect = decor->effect[decorationIndex]; + effect = decorations->effect[idx]; data = effect->data.aura; data->posA.x = part->curPos.x; data->posA.y = part->curPos.y; - data->posA.z = part->curPos.z + decor->unk_8C6[decorationIndex].unk06; + data->posA.z = part->curPos.z + decorations->decorData[idx].bowserAura.offsetZ; - scale = decor->unk_8C6[decorationIndex].unk00; + scale = decorations->decorData[idx].bowserAura.scaleX; scale /= 100.0f; effect->data.aura->scale.x = scale; - scale = decor->unk_8C6[decorationIndex].unk02; + scale = decorations->decorData[idx].bowserAura.scaleY; scale /= 100.0f; - effect->data.aura->scale.y = scale * (0.8 - 1e-16); // epsilon? - effect->data.aura->primA = decor->unk_8C6[decorationIndex].unk04; + effect->data.aura->scale.y = scale * (0.8 - 1e-16); // small epsilon + effect->data.aura->primA = decorations->decorData[idx].bowserAura.alpha; effect->data.aura->renderYaw = part->yaw; break; } } -void func_8025DD40(ActorPart* part, s32 decorationIndex) { - part->decorationTable->effect[decorationIndex]->data.aura->fadeTime = 5; +void remove_part_decor_bowser_aura(ActorPart* part, s32 idx) { + part->decorationTable->effect[idx]->data.aura->fadeTime = 5; } -void func_8025DD60(ActorPart* part, s32 decorationIndex) { - DecorationTable* decor = part->decorationTable; +void add_part_decor_radiating_stars(ActorPart* part, s32 idx) { + DecorationTable* decorations = part->decorationTable; EnergyInOutFXData* data; f32 scale; - switch (decor->state[decorationIndex]) { + switch (decorations->state[idx]) { case 0: - decor->effect[decorationIndex] = fx_energy_in_out(4, part->curPos.x, part->curPos.y, part->curPos.z, 1.2f, 0); - decor->state[decorationIndex] = 1; - decor->unk_8C6[decorationIndex].unk00 = 120; - decor->unk_8C6[decorationIndex].unk02 = 0; + decorations->effect[idx] = fx_energy_in_out(4, part->curPos.x, part->curPos.y, part->curPos.z, 1.2f, 0); + decorations->state[idx] = 1; + decorations->decorData[idx].stars.scalePct = 120; + decorations->decorData[idx].stars.offsetY = 0; // fallthrough case 1: - data = decor->effect[decorationIndex]->data.energyInOut; - scale = decor->unk_8C6[decorationIndex].unk00; + data = decorations->effect[idx]->data.energyInOut; + scale = decorations->decorData[idx].stars.scalePct; scale /= 100.0f; data->unk_44 = scale; data->pos.x = part->curPos.x; data->pos.y = (part->curPos.y + (scale * 41.0f)); - data->pos.z = (part->curPos.z + decor->unk_8C6[decorationIndex].unk02); + data->pos.z = (part->curPos.z + decorations->decorData[idx].stars.offsetY); break; } } -void func_8025DE88(ActorPart* part, s32 decorationIndex) { - part->decorationTable->effect[decorationIndex]->flags |= 0x10; +void remove_part_decor_radiating_stars(ActorPart* part, s32 idx) { + part->decorationTable->effect[idx]->flags |= FX_INSTANCE_FLAG_DISMISS; } diff --git a/src/battle/actors.c b/src/battle/actors.c new file mode 100644 index 0000000000..7095ceef92 --- /dev/null +++ b/src/battle/actors.c @@ -0,0 +1,213 @@ +#include "common.h" +#include "battle/battle.h" +#include "sprite/player.h" + +PlayerCelebrationAnimOptions bPlayerCelebrations = { + 10, 90, + { + 50, ANIM_MarioB1_JumpForJoy, + 50, ANIM_Mario1_Chuckle, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 50, ANIM_Mario1_DustOff, + 50, ANIM_Mario1_DustOff, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 50, ANIM_Mario1_ThumbsUp, + 50, ANIM_Mario1_ThumbsUp, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 50, ANIM_MarioB1_FingerWag, + 50, ANIM_MarioB1_FingerWag, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 80, ANIM_MarioB1_FingerWag, + 20, ANIM_MarioB1_JumpForJoy, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + 0, 0, + } +}; + +#include "battle/actor_types.inc.c" + +u32 bMarioIdleAnims[] = { + STATUS_KEY_NORMAL, ANIM_Mario1_Walk, + STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, + STATUS_KEY_STONE, ANIM_MarioB3_Petrified, + STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, + STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, + STATUS_KEY_STOP, ANIM_Mario1_Still, + STATUS_KEY_HUSTLE, ANIM_Mario1_Run, + STATUS_KEY_BERSERK, ANIM_MarioB2_BerserkIdle, + STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, + STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, + STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, + STATUS_KEY_INACTIVE, ANIM_Mario1_Still, + STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, + STATUS_KEY_14, ANIM_MarioB2_Inert, + STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, + STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, + STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, + STATUS_KEY_THINKING, ANIM_Mario1_Thinking, + STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, + STATUS_END +}; + +s32 bMarioDefendAnims[] = { + STATUS_KEY_NORMAL, ANIM_Mario1_Crouch, + STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, + STATUS_KEY_STONE, ANIM_MarioB3_Petrified, + STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, + STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, + STATUS_KEY_STOP, ANIM_Mario1_Still, + STATUS_KEY_HUSTLE, ANIM_Mario1_Crouch, + STATUS_KEY_BERSERK, ANIM_Mario1_Crouch, + STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, + STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, + STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, + STATUS_KEY_INACTIVE, ANIM_Mario1_Still, + STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, + STATUS_KEY_14, ANIM_MarioB2_Inert, + STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, + STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, + STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, + STATUS_KEY_THINKING, ANIM_Mario1_Thinking, + STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, + STATUS_END +}; + +s32 bMarioHideAnims[] = { + STATUS_KEY_NORMAL, ANIM_Mario1_Crouch, + STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle, + STATUS_KEY_STONE, ANIM_MarioB3_Petrified, + STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep, + STATUS_KEY_DIZZY, ANIM_MarioB1_Sick, + STATUS_KEY_STOP, ANIM_Mario1_Still, + STATUS_KEY_HUSTLE, ANIM_MarioW2_RideLaki, + STATUS_KEY_BERSERK, ANIM_MarioW2_RideLaki, + STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep, + STATUS_KEY_FROZEN, ANIM_Mario1_Frozen, + STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle, + STATUS_KEY_INACTIVE, ANIM_Mario1_Crouch, + STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill, + STATUS_KEY_14, ANIM_MarioB2_Inert, + STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill, + STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill, + STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill, + STATUS_KEY_THINKING, ANIM_Mario1_Thinking, + STATUS_KEY_WEARY, ANIM_Mario1_SpinLand, + STATUS_END +}; + +s32 bPeachIdleAnims[] = { + STATUS_KEY_NORMAL, ANIM_Peach1_Walk, + STATUS_KEY_INACTIVE, ANIM_Peach2_Inert, + STATUS_END +}; + +s32 bMarioDefenseTable[] = { + ELEMENT_NORMAL, 0, + ELEMENT_END +}; + +s32 bPlayerStatusTable[] = { + STATUS_KEY_NORMAL, 100, + STATUS_KEY_DEFAULT, 100, + STATUS_KEY_SLEEP, 100, + STATUS_KEY_POISON, 100, + STATUS_KEY_FROZEN, 100, + STATUS_KEY_DIZZY, 100, + STATUS_KEY_FEAR, 100, + STATUS_KEY_STATIC, 100, + STATUS_KEY_PARALYZE, 100, + STATUS_KEY_SHRINK, 100, + STATUS_KEY_STOP, 100, + STATUS_TURN_MOD_DEFAULT, 0, + STATUS_TURN_MOD_SLEEP, 0, + STATUS_TURN_MOD_POISON, 0, + STATUS_TURN_MOD_FROZEN, 0, + STATUS_TURN_MOD_DIZZY, 0, + STATUS_TURN_MOD_FEAR, 0, + STATUS_TURN_MOD_STATIC, 0, + STATUS_TURN_MOD_PARALYZE, 0, + STATUS_TURN_MOD_SHRINK, 0, + STATUS_TURN_MOD_STOP, 0, + STATUS_END +}; + +ActorBlueprint bPlayerActorBlueprint = { + .type = ACTOR_TYPE_PLAYER, + .maxHP = 99, + .statusTable = bPlayerStatusTable, + + .escapeChance = 0, + .airLiftChance = 0, + .hurricaneChance = 0, + .spookChance = 0, + .upAndAwayChance = 0, + .spinSmashReq = 4, + .powerBounceChance = 80, + + .size = { 33, 43 }, + .healthBarOffset = { 0, 0 }, + .statusIconOffset = { -10, 30 }, + .statusTextOffset = { 10, 30 }, +}; + +ActorPartBlueprint bMarioParts[] = { + { + .index = 1, + .posOffset = { 0, 0, 0 }, + .targetOffset = { 0, 32 }, + .opacity = 255, + .idleAnimations = bMarioIdleAnims, + .defenseTable = bMarioDefenseTable, + }, +}; + +Vec3s StandardActorHomePositions[] = { + [BTL_POS_GROUND_A] { 5, 0, -20 }, + [BTL_POS_GROUND_B] { 45, 0, -5 }, + [BTL_POS_GROUND_C] { 85, 0, 10 }, + [BTL_POS_GROUND_D] { 125, 0, 25 }, + [BTL_POS_AIR_A] { 10, 50, -20 }, + [BTL_POS_AIR_B] { 50, 45, -5 }, + [BTL_POS_AIR_C] { 90, 50, 10 }, + [BTL_POS_AIR_D] { 130, 55, 25 }, + [BTL_POS_HIGH_A] { 15, 85, -20 }, + [BTL_POS_HIGH_B] { 55, 80, -5 }, + [BTL_POS_HIGH_C] { 95, 85, 10 }, + [BTL_POS_HIGH_D] { 135, 90, 25 }, + [BTL_POS_TOP_A] { 15, 125, -20 }, + [BTL_POS_TOP_B] { 55, 120, -5 }, + [BTL_POS_TOP_C] { 95, 125, 10 }, + [BTL_POS_TOP_D] { 135, 130, 25 }, + [BTL_POS_CENTER] { 105, 0, 0 }, +}; + +// TODO: what is this, and look into warnings that are silenced via casts +s32* D_8028358C[] = { + (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, + (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, + (s32*)D_8028358C, (s32*)D_8028358C, 0 +}; diff --git a/src/battle/area/arn/actor/tubba_blubba.c b/src/battle/area/arn/actor/tubba_blubba.c index c1eb889301..46fe243a2a 100644 --- a/src/battle/area/arn/actor/tubba_blubba.c +++ b/src/battle/area/arn/actor/tubba_blubba.c @@ -71,7 +71,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 75 }, @@ -137,7 +137,7 @@ EvtScript N(EVS_PlayFootstepQuaking) = { EVT_END_IF EVT_GOTO(0) EVT_LABEL(1) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_WAIT(1) EVT_GOTO(0) @@ -303,7 +303,7 @@ EvtScript N(EVS_Attack_SlamFist) = { EVT_SET(LVar1, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, LVar0, LVar1, LVar2, 0, 0) EVT_THREAD - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(15.0)) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) @@ -403,7 +403,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_END_THREAD EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) @@ -414,7 +414,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -478,7 +478,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_END_THREAD EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) @@ -489,7 +489,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -500,7 +500,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_WAIT(3) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 1, LVar0, 0, LVar2, 0) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_END_IF EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -514,7 +514,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) diff --git a/src/battle/area/arn/actor/tubbas_heart.c b/src/battle/area/arn/actor/tubbas_heart.c index 69fe42a8a5..90db955e49 100644 --- a/src/battle/area/arn/actor/tubbas_heart.c +++ b/src/battle/area/arn/actor/tubbas_heart.c @@ -113,7 +113,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 54, 0 }, .targetOffset = { 0, -30 }, @@ -159,7 +159,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_TARGET, ACTOR_PART_TARGET_FLAG_2, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_TARGET, ACTOR_PART_TARGET_NO_SMASH, TRUE) EVT_RETURN EVT_END }; diff --git a/src/battle/area/dgb/actor/tubba_blubba.c b/src/battle/area/dgb/actor/tubba_blubba.c index 3cc3a7c08b..45f86e6528 100644 --- a/src/battle/area/dgb/actor/tubba_blubba.c +++ b/src/battle/area/dgb/actor/tubba_blubba.c @@ -77,7 +77,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 75 }, @@ -150,7 +150,7 @@ EvtScript N(EVS_PlayFootstepQuaking) = { EVT_END_IF EVT_GOTO(0) EVT_LABEL(1) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_WAIT(1) EVT_GOTO(0) @@ -429,7 +429,7 @@ EvtScript N(EVS_Attack_SlamFist) = { EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 4, LVar0, LVar1, LVar2, 0, 0) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 1, LVar0, LVar1, LVar2, 0) EVT_THREAD - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(15.0)) EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20EA) @@ -525,7 +525,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_END_THREAD EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) @@ -536,7 +536,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -603,7 +603,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) EVT_END_THREAD EVT_THREAD - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_END_THREAD EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) @@ -614,7 +614,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.0)) EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) @@ -625,7 +625,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_WAIT(3) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 1, LVar0, 0, LVar2, 0) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_END_IF EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -639,7 +639,7 @@ EvtScript N(EVS_Attack_BodySlam) = { EVT_CALL(SetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(JumpToGoal, ACTOR_SELF, 10, FALSE, TRUE, FALSE) EVT_IF_NOT_FLAG(LVar5, STATUS_FLAG_SHRINK) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 60, 8, 10, 20, 0) diff --git a/src/battle/area/dig/actor/tubba_blubba.c b/src/battle/area/dig/actor/tubba_blubba.c index 9aaccacad0..d5a7f37a67 100644 --- a/src/battle/area/dig/actor/tubba_blubba.c +++ b/src/battle/area/dig/actor/tubba_blubba.c @@ -76,7 +76,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 75 }, diff --git a/src/battle/area/dig/script/dig_01.c b/src/battle/area/dig/script/dig_01.c index dfde3ff4d6..75abfb13c4 100644 --- a/src/battle/area/dig/script/dig_01.c +++ b/src/battle/area/dig/script/dig_01.c @@ -14,7 +14,7 @@ API_CALLABLE(N(SetupDemoPlayerMove)) { battleStatus->moveArgument = gCurrentEncounter.hitTier; battleStatus->curTargetListFlags = gMoveTable[MOVE_HAMMER1].flags; - player_create_target_list(player); + create_current_pos_target_list(player); player->selectedTargetIndex = 0; selectableTarget = &player->targetData[player->targetIndexList[player->selectedTargetIndex]]; player->targetActorID = selectableTarget->actorID; diff --git a/src/battle/area/dig/script/dig_02.c b/src/battle/area/dig/script/dig_02.c index b863571843..6ee44f3703 100644 --- a/src/battle/area/dig/script/dig_02.c +++ b/src/battle/area/dig/script/dig_02.c @@ -12,7 +12,7 @@ API_CALLABLE(N(SetupDemoPlayerMove)) { battleStatus->moveArgument = gCurrentEncounter.hitTier; battleStatus->curTargetListFlags = gMoveTable[MOVE_POWER_BOUNCE].flags; - player_create_target_list(player); + create_current_pos_target_list(player); player->selectedTargetIndex = 1; selectableTarget = &player->targetData[player->targetIndexList[player->selectedTargetIndex]]; player->targetActorID = selectableTarget->actorID; diff --git a/src/battle/area/dig/script/dig_03.c b/src/battle/area/dig/script/dig_03.c index 1a31999647..7f6530ec5a 100644 --- a/src/battle/area/dig/script/dig_03.c +++ b/src/battle/area/dig/script/dig_03.c @@ -12,7 +12,7 @@ API_CALLABLE(N(SetupDemoPlayerMove)) { battleStatus->selectedMoveID = MOVE_SHELL_SHOT; battleStatus->curTargetListFlags = gMoveTable[MOVE_SHELL_SHOT].flags; - player_create_target_list(partner); + create_current_pos_target_list(partner); partner->selectedTargetIndex = 0; selectableTarget = &partner->targetData[partner->targetIndexList[partner->selectedTargetIndex]]; partner->targetActorID = selectableTarget->actorID; diff --git a/src/battle/area/dig/script/dig_04.c b/src/battle/area/dig/script/dig_04.c index f2d4af2aa5..6bdc119dd1 100644 --- a/src/battle/area/dig/script/dig_04.c +++ b/src/battle/area/dig/script/dig_04.c @@ -15,9 +15,9 @@ API_CALLABLE(N(SetupDemoPlayerMove)) { battleStatus->selectedMoveID = 0; battleStatus->curAttackElement = 0; playerData->invItems[0] = selectedItemID; - battleStatus->curTargetListFlags = gItemTable[playerData->invItems[0]].targetFlags | TARGET_FLAG_8000; + battleStatus->curTargetListFlags = gItemTable[selectedItemID].targetFlags | TARGET_FLAG_PRIMARY_ONLY; - player_create_target_list(player); + create_current_pos_target_list(player); player->selectedTargetIndex = 0; selectableTarget = &player->targetData[player->targetIndexList[player->selectedTargetIndex]]; player->targetActorID = selectableTarget->actorID; diff --git a/src/battle/area/flo2/actor/huff_n_puff.c b/src/battle/area/flo2/actor/huff_n_puff.c index 651a2c253b..86aa429121 100644 --- a/src/battle/area/flo2/actor/huff_n_puff.c +++ b/src/battle/area/flo2/actor/huff_n_puff.c @@ -401,7 +401,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_8 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_DEFAULT_TARGET | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 40 }, @@ -1816,7 +1816,7 @@ EvtScript N(EVS_Move_HurricaneBreath) = { EVT_END_SWITCH EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_STONE) - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 180) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_MASH_BUTTON, 180) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_WHIRLWIND) EVT_CALL(action_command_whirlwind_init, 0) @@ -2980,14 +2980,14 @@ EvtScript N(EVS_Attack_TuffPuffSwarm) = { EVT_WAIT(1) EVT_END_LOOP EVT_ELSE - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 180) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_MASH_BUTTON, 180) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) EVT_CALL(action_command_stop_leech_init) EVT_CALL(SetupMashMeter, 1, 25, 0, 0, 0, 0) EVT_WAIT(10) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) - EVT_CALL(action_command_stop_leech_start, 0, 0x7FFF, 3) + EVT_CALL(action_command_stop_leech_start, 0, 32767, 3) EVT_SET(LVarB, LVarA) EVT_DIV(LVarB, 2) EVT_WAIT(LVarB) diff --git a/src/battle/area/flo2/actor/monty_mole_boss.c b/src/battle/area/flo2/actor/monty_mole_boss.c index b9107bb90b..0cae9a68bd 100644 --- a/src/battle/area/flo2/actor/monty_mole_boss.c +++ b/src/battle/area/flo2/actor/monty_mole_boss.c @@ -70,7 +70,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -7 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 0, -15 }, .targetOffset = { 0, 16 }, @@ -149,7 +149,7 @@ s32 N(LeapAnims)[] = { ActorPartBlueprint N(HoleParts)[] = { { - .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, + .flags = ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, diff --git a/src/battle/area/flo2/actor/spike.c b/src/battle/area/flo2/actor/spike.c index 873bac1c82..18064f710b 100644 --- a/src/battle/area/flo2/actor/spike.c +++ b/src/battle/area/flo2/actor/spike.c @@ -67,7 +67,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 35 }, diff --git a/src/battle/area/flo2/actor/tuff_puff.c b/src/battle/area/flo2/actor/tuff_puff.c index cfb8db8c0e..ac186af00c 100644 --- a/src/battle/area/flo2/actor/tuff_puff.c +++ b/src/battle/area/flo2/actor/tuff_puff.c @@ -91,7 +91,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_NO_TARGET, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_NO_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -103,7 +103,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -50 }, diff --git a/src/battle/area/hos/actor/goombario_tutor.c b/src/battle/area/hos/actor/goombario_tutor.c index e9f36a5947..c02c1504e1 100644 --- a/src/battle/area/hos/actor/goombario_tutor.c +++ b/src/battle/area/hos/actor/goombario_tutor.c @@ -65,7 +65,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -4, 24 }, @@ -191,7 +191,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(AddGoalPos, ACTOR_SELF, -10, 0, 0) EVT_CALL(GetBattleFlags2, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS2_200) + EVT_IF_FLAG(LVar0, BS_FLAGS2_DOING_JUMP_TUTORIAL) EVT_CALL(AddGoalPos, ACTOR_SELF, 5, 10, 0) EVT_END_IF EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.1)) @@ -326,7 +326,7 @@ EvtScript N(EVS_ManageTutorial) = { EVT_CALL(FlyToGoal, ACTOR_PARTNER, 20, 20, EASING_COS_IN_OUT) EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL) EVT_CALL(WaitForState, BATTLE_STATE_0) - EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_200, TRUE) + EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_DOING_JUMP_TUTORIAL, TRUE) EVT_LOOP(0) EVT_CALL(GetActionCommandMode, LVar0) EVT_IF_NE(LVar0, ACTION_COMMAND_MODE_TUTORIAL) @@ -366,7 +366,7 @@ EvtScript N(EVS_ManageTutorial) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_WAIT(15) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE) - EVT_CALL(ActorSpeak, MSG_HOS_001E, BS_FLAGS2_200, 1, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) + EVT_CALL(ActorSpeak, MSG_HOS_001E, ACTOR_ENEMY0, 1, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE) EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL) EVT_CALL(WaitForState, BATTLE_STATE_0) @@ -494,7 +494,7 @@ EvtScript N(EVS_ManageTutorial) = { EVT_CALL(ActorSpeak, MSG_HOS_0028, ACTOR_PARTNER, 1, ANIM_Twink_Talk, ANIM_Twink_Fly) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_FirstTurn, FALSE) - EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_200, FALSE) + EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_DOING_JUMP_TUTORIAL, FALSE) EVT_LABEL(10) EVT_CALL(SetBattleMenuEnabledFlags, BTL_MENU_ENABLED_JUMP | BTL_MENU_ENABLED_SMASH | BTL_MENU_ENABLED_STRATEGIES) EVT_CALL(SetActionCommandMode, ACTION_COMMAND_MODE_TUTORIAL) diff --git a/src/battle/area/hos/actor/magikoopa.c b/src/battle/area/hos/actor/magikoopa.c index e979241c7a..bc59a96282 100644 --- a/src/battle/area/hos/actor/magikoopa.c +++ b/src/battle/area/hos/actor/magikoopa.c @@ -131,7 +131,7 @@ s32 N(FlyingStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -158,7 +158,7 @@ ActorPartBlueprint N(FlyingParts)[] = { .projectileTargetOffset = { -5, -12 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -272,7 +272,7 @@ EvtScript N(EVS_Idle) = { EvtScript N(EVS_KnockDownCheck) = { EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING) - EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_ShouldKnockDown, TRUE) EVT_END_IF EVT_ELSE @@ -283,7 +283,7 @@ EvtScript N(EVS_KnockDownCheck) = { EVT_CASE_OR_EQ(MOVE_HEADBONK3) EVT_CASE_OR_EQ(MOVE_MULTIBONK) EVT_CALL(GetBattleFlags, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_ShouldKnockDown, TRUE) EVT_END_IF EVT_END_CASE_GROUP @@ -314,10 +314,10 @@ EvtScript N(EVS_KnockDown) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_BROOM, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -918,7 +918,7 @@ EvtScript N(EVS_Move_HealAll) = { EVT_CALL(SetAnimation, ACTOR_SELF, PRT_FLYING, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_SET(LFlag0, FALSE) @@ -945,7 +945,7 @@ EvtScript N(EVS_Move_HealAll) = { EVT_END_THREAD EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_CALL(WaitForBuffDone) @@ -1176,7 +1176,7 @@ EvtScript N(EVS_Attack_MagicBlast) = { }; EvtScript N(EVS_GetAvailableColumn) = { - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1193,7 +1193,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlagE, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_SET(LVar0, -1) @@ -1314,7 +1314,7 @@ s32 N(FlyingCloneStatusTable)[] = { ActorPartBlueprint N(CloneParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -1329,7 +1329,7 @@ ActorPartBlueprint N(CloneParts)[] = { ActorPartBlueprint N(FlyingCloneParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -1399,7 +1399,7 @@ Formation N(FlyingCloneFormation) = { }; EvtScript N(EVS_Move_MakeClone) = { - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1453,7 +1453,7 @@ EvtScript N(EVS_Move_MakeClone) = { EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST4) EVT_CALL(PlaySoundAtActor, LVar9, SOUND_SPELL_CAST4) - EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(RandInt, 1000, LVar0) EVT_IF_LT(LVar0, 500) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) @@ -1466,7 +1466,7 @@ EvtScript N(EVS_Move_MakeClone) = { EVT_CALL(SetGoalToIndex, LVar9, LVar0) EVT_CALL(FlyToGoal, LVar9, 0, 0, EASING_LINEAR) EVT_END_IF - EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, LVar9, LVar0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1498,7 +1498,7 @@ EvtScript N(EVS_Move_MakeClone) = { EvtScript N(EVS_Move_TryBoostAttack) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1516,7 +1516,7 @@ EvtScript N(EVS_Move_TryBoostAttack) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1524,7 +1524,7 @@ EvtScript N(EVS_Move_TryBoostAttack) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1611,7 +1611,7 @@ EvtScript N(EVS_Move_TryBoostAttack) = { EvtScript N(EVS_Move_TryBoostDefense) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1629,7 +1629,7 @@ EvtScript N(EVS_Move_TryBoostDefense) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1637,7 +1637,7 @@ EvtScript N(EVS_Move_TryBoostDefense) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1724,7 +1724,7 @@ EvtScript N(EVS_Move_TryBoostDefense) = { EvtScript N(EVS_Move_TryElectrify) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1742,7 +1742,7 @@ EvtScript N(EVS_Move_TryElectrify) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1750,7 +1750,7 @@ EvtScript N(EVS_Move_TryElectrify) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1842,7 +1842,7 @@ EvtScript N(EVS_Move_TryElectrify) = { EvtScript N(EVS_Move_TryTransparent) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1860,7 +1860,7 @@ EvtScript N(EVS_Move_TryTransparent) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1868,7 +1868,7 @@ EvtScript N(EVS_Move_TryTransparent) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1971,7 +1971,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF // first (dummy) heal check EVT_SET(LVarA, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_COUNT_INJURED_1) EVT_SET(LFlag0, FALSE) @@ -1998,7 +1998,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_COUNT_INJURED_1) EVT_END_IF EVT_IF_GT(LVarA, 0) @@ -2006,7 +2006,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF // second (dummy) heal check EVT_SET(LVarA, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_COUNT_INJURED_2) EVT_SET(LFlag0, FALSE) @@ -2033,7 +2033,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_COUNT_INJURED_2) EVT_END_IF EVT_IF_GT(LVarA, 0) @@ -2041,7 +2041,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF // third (dummy) heal check EVT_SET(LVarA, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_COUNT_INJURED_3) EVT_SET(LFlag0, FALSE) @@ -2068,7 +2068,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_COUNT_INJURED_3) EVT_END_IF EVT_IF_GT(LVarA, 0) @@ -2077,7 +2077,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_GOTO(LBL_TRY_MOVES) // try healing spells EVT_LABEL(LBL_TRY_HEALING) - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -2115,7 +2115,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_HealOneCount, LVar0) EVT_IF_LT(LVar0, MAX_HEAL_ONE) EVT_SETF(LVar9, EVT_FLOAT(100.0)) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_CHOOSE_BEST_HEAL) EVT_SET(LFlag0, FALSE) @@ -2138,7 +2138,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_CHOOSE_BEST_HEAL) EVT_END_IF EVT_CALL(RandInt, 1000, LVar0) diff --git a/src/battle/area/isk_part_2/actor/chain_chomp.c b/src/battle/area/isk_part_2/actor/chain_chomp.c index 55eecf5f40..39edb4f040 100644 --- a/src/battle/area/isk_part_2/actor/chain_chomp.c +++ b/src/battle/area/isk_part_2/actor/chain_chomp.c @@ -136,7 +136,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { -13, 40 }, @@ -148,7 +148,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -16 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -160,7 +160,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -172,7 +172,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -184,7 +184,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -196,7 +196,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -208,7 +208,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -220,7 +220,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -232,7 +232,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, diff --git a/src/battle/area/isk_part_2/actor/tutankoopa.c b/src/battle/area/isk_part_2/actor/tutankoopa.c index 224aa265cb..ab87331fad 100644 --- a/src/battle/area/isk_part_2/actor/tutankoopa.c +++ b/src/battle/area/isk_part_2/actor/tutankoopa.c @@ -150,7 +150,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 39 }, @@ -162,7 +162,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -5, -15 }, }, { - .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000, + .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_SKIP_SHOCK_EFFECT, .index = PRT_SHELL_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -174,7 +174,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000, + .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_SKIP_SHOCK_EFFECT, .index = PRT_SHELL_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -186,7 +186,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_40000000, + .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_SKIP_SHOCK_EFFECT, .index = PRT_SHELL_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -505,7 +505,7 @@ EvtScript N(EVS_TemporaryKnockout) = { EVT_WAIT(1) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_MAIN, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_THREAD - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Tutankoopa_Fall) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) @@ -736,7 +736,7 @@ EvtScript N(EVS_Attack_DropDebris) = { EVT_WAIT(8) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Crouch) EVT_WAIT(5) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_CALL(PlaySound, SOUND_20EA) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(4.0)) EVT_WAIT(20) @@ -749,7 +749,7 @@ EvtScript N(EVS_Attack_DropDebris) = { EVT_WAIT(50) EVT_CALL(PlaySound, SOUND_20E9) EVT_WAIT(18) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_CALL(PlaySound, SOUND_20EA) EVT_WAIT(20) EVT_CALL(PlaySound, SOUND_ILLUSION_DISSOLVE) @@ -995,7 +995,7 @@ EvtScript N(EVS_Move_SummonChomp) = { EVT_THREAD // rumble while gate is opening EVT_LABEL(0) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_WAIT(1) EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVar0) @@ -1003,7 +1003,7 @@ EvtScript N(EVS_Move_SummonChomp) = { EVT_GOTO(0) EVT_END_IF EVT_END_THREAD - EVT_CALL(PlaySound, SOUND_026B) + EVT_CALL(PlaySound, SOUND_LARGE_GATE_OPEN) EVT_LABEL(10) EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVarD) EVT_CALL(TranslateModel, 31, 0, LVarD, 0) @@ -1013,7 +1013,7 @@ EvtScript N(EVS_Move_SummonChomp) = { EVT_IF_LT(LVarD, 60) EVT_GOTO(10) EVT_END_IF - EVT_CALL(StopSound, SOUND_026B) + EVT_CALL(StopSound, SOUND_LARGE_GATE_OPEN) EVT_WAIT(10) // create the chomp and have him exit the gate EVT_CALL(SummonEnemy, EVT_PTR(N(SummonedChomp)), FALSE) @@ -1092,7 +1092,7 @@ EvtScript N(EVS_Move_SummonChomp) = { EVT_THREAD // rumble while gate is opening EVT_LABEL(40) - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_WAIT(1) EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVar0) @@ -1100,7 +1100,7 @@ EvtScript N(EVS_Move_SummonChomp) = { EVT_GOTO(40) EVT_END_IF EVT_END_THREAD - EVT_CALL(PlaySound, SOUND_026B) + EVT_CALL(PlaySound, SOUND_LARGE_GATE_OPEN) EVT_LABEL(50) EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_GateOpenAmount, LVarD) EVT_CALL(TranslateModel, 31, 0, LVarD, 0) @@ -1110,8 +1110,8 @@ EvtScript N(EVS_Move_SummonChomp) = { EVT_IF_GT(LVarD, 0) EVT_GOTO(50) EVT_END_IF - EVT_CALL(StopSound, SOUND_026B) - EVT_CALL(PlaySound, SOUND_026C) + EVT_CALL(StopSound, SOUND_LARGE_GATE_OPEN) + EVT_CALL(PlaySound, SOUND_LARGE_GATE_CLOSE) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(0.5)) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasSummoned, TRUE) EVT_RETURN diff --git a/src/battle/area/iwa/actor/buzzar.c b/src/battle/area/iwa/actor/buzzar.c index 7c5595bb48..e6a98808e8 100644 --- a/src/battle/area/iwa/actor/buzzar.c +++ b/src/battle/area/iwa/actor/buzzar.c @@ -109,7 +109,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 31, 0 }, .targetOffset = { -14, 20 }, @@ -383,7 +383,7 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_RETURN EVT_CASE_DEFAULT EVT_CALL(SetTargetActor, ACTOR_SELF, ACTOR_PARTNER) - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_13, 90) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_REDUCE_DAMAGE, 90) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_WHIRLWIND) EVT_CALL(action_command_whirlwind_init, 1) @@ -448,7 +448,7 @@ EvtScript N(EVS_Attack_WindBlast) = { EVT_END_SWITCH EVT_CASE_DEFAULT EVT_END_SWITCH - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_13, 90) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_REDUCE_DAMAGE, 90) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_WHIRLWIND) EVT_CALL(action_command_whirlwind_init, 1) @@ -931,7 +931,7 @@ EvtScript N(EVS_Attack_GrappleDrop) = { EVT_CALL(N(StartRumbleWithParams), 180, 20) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Flail) - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_12, 90) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_BREAK_FREE, 90) EVT_THREAD EVT_LOOP(90) EVT_CALL(SetMessageBoxDuration, 99) diff --git a/src/battle/area/kgr/actor/fuzzipede.c b/src/battle/area/kgr/actor/fuzzipede.c index a51a9c6447..0ac2884fee 100644 --- a/src/battle/area/kgr/actor/fuzzipede.c +++ b/src/battle/area/kgr/actor/fuzzipede.c @@ -107,7 +107,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -2, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_OFFSET, .posOffset = { 0, 40, 0 }, .targetOffset = { 2, -16 }, @@ -206,9 +206,9 @@ EvtScript N(EVS_HopOntoCrate) = { EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 24) EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -2, -10) EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN @@ -231,9 +231,9 @@ EvtScript N(EVS_HopToGround) = { EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 24) EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -2, -10) EVT_CALL(N(SetAbsoluteStatusOffsets), -10, 20, 10, 20) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN @@ -290,9 +290,9 @@ EvtScript N(EVS_ClimbOntoCeiling) = { EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 24) EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, 2, 8) EVT_CALL(N(SetAbsoluteStatusOffsets), -10, -25, 10, -30) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_OFFSET, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(HPBarToHome, ACTOR_SELF) EVT_RETURN diff --git a/src/battle/area/kkj/actor/kammy_koopa.c b/src/battle/area/kkj/actor/kammy_koopa.c index b4f858c384..77c6ed5690 100644 --- a/src/battle/area/kkj/actor/kammy_koopa.c +++ b/src/battle/area/kkj/actor/kammy_koopa.c @@ -70,7 +70,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -344,7 +344,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_LOOP EVT_CALL(N(DropBlock)) EVT_CHILD_THREAD - EVT_CALL(StartRumble, 5) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_EXTREME) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(3.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(6.0)) diff --git a/src/battle/area/kmr_part_2/actor/blue_goomba_1.c b/src/battle/area/kmr_part_2/actor/blue_goomba_1.c index 8ee393d9ac..da5145eb15 100644 --- a/src/battle/area/kmr_part_2/actor/blue_goomba_1.c +++ b/src/battle/area/kmr_part_2/actor/blue_goomba_1.c @@ -58,7 +58,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/kmr_part_2/actor/blue_goomba_2.c b/src/battle/area/kmr_part_2/actor/blue_goomba_2.c index ee36f66cdf..196d598b49 100644 --- a/src/battle/area/kmr_part_2/actor/blue_goomba_2.c +++ b/src/battle/area/kmr_part_2/actor/blue_goomba_2.c @@ -49,7 +49,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/kmr_part_2/actor/goomba_king.c b/src/battle/area/kmr_part_2/actor/goomba_king.c index 7681d0fb20..ab45c40772 100644 --- a/src/battle/area/kmr_part_2/actor/goomba_king.c +++ b/src/battle/area/kmr_part_2/actor/goomba_king.c @@ -116,7 +116,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_NO_TARGET, + .flags = ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_NO_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -25, 15 }, @@ -128,7 +128,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 80 }, @@ -495,7 +495,7 @@ EvtScript N(EVS_Attack_GroundStomp) = { EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_GoombaKing_Still) EVT_THREAD - EVT_CALL(StartRumble, 11) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar0) EVT_IF_NOT_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(4.0)) @@ -721,7 +721,7 @@ EvtScript N(EVS_ShakeScreenWhileWalking) = { EVT_IF_NE(LVar0, ANIM_GoombaKing_Run) EVT_GOTO(0) EVT_END_IF - EVT_CALL(StartRumble, 1) + EVT_CALL(StartRumble, BTL_RUMBLE_LONG) EVT_CALL(GetPartAnimNotify, ACTOR_SELF, PRT_MAIN, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_IncreaseShaking, LVar0) diff --git a/src/battle/area/kmr_part_2/actor/goomnut_tree.c b/src/battle/area/kmr_part_2/actor/goomnut_tree.c index f2ed5c7961..5451ea4d50 100644 --- a/src/battle/area/kmr_part_2/actor/goomnut_tree.c +++ b/src/battle/area/kmr_part_2/actor/goomnut_tree.c @@ -72,7 +72,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 10 }, @@ -179,7 +179,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(SetPartScale, ACTOR_SELF, PRT_TREE_NUT_1, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_TREE_NUT_2, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_TREE_NUT_3, EVT_FLOAT(0.5), EVT_FLOAT(0.5), EVT_FLOAT(1.0)) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_TARGET_FLAG_4, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_TARGET_NO_DAMAGE, TRUE) EVT_RETURN EVT_END }; diff --git a/src/battle/area/kmr_part_2/actor/red_goomba_1.c b/src/battle/area/kmr_part_2/actor/red_goomba_1.c index ef2deed5c5..519c3e882d 100644 --- a/src/battle/area/kmr_part_2/actor/red_goomba_1.c +++ b/src/battle/area/kmr_part_2/actor/red_goomba_1.c @@ -57,7 +57,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/kmr_part_2/actor/red_goomba_2.c b/src/battle/area/kmr_part_2/actor/red_goomba_2.c index 1fcec0dee7..f3e60d92f9 100644 --- a/src/battle/area/kmr_part_2/actor/red_goomba_2.c +++ b/src/battle/area/kmr_part_2/actor/red_goomba_2.c @@ -49,7 +49,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c b/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c index 86394da55d..6d1f98f290 100644 --- a/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/egg_jr_troopa.c @@ -87,7 +87,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -6, 18 }, diff --git a/src/battle/area/kmr_part_3/actor/final_jr_troopa.c b/src/battle/area/kmr_part_3/actor/final_jr_troopa.c index 910b39ee0e..d192aa21a8 100644 --- a/src/battle/area/kmr_part_3/actor/final_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/final_jr_troopa.c @@ -200,7 +200,7 @@ s32 N(MageStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_BASE, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 26 }, @@ -270,7 +270,7 @@ EvtScript N(EVS_SetupFearReaction) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_IF_EQ(LVar2, MOVE_SPOOK) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_SpookReact, AVAL_SpookReact_Ready) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0263) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_EMOTE_QUESTION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 30, EMOTER_POS, LVar0, LVar1, LVar2, 5) @@ -655,9 +655,9 @@ EvtScript N(EVS_Transform_Flying) = { EVT_CALL(ActorSpeak, MSG_CH8_005E, ACTOR_SELF, PRT_BASE, ANIM_JrTroopa_TiredTalk, ANIM_JrTroopa_TiredTalk) EVT_EXEC_WAIT(N(EVS_TransformFX)) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BASE, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BASE, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BASE, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_WAIT(10) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(1.2)) @@ -685,9 +685,9 @@ EvtScript N(EVS_Transform_Mage) = { EVT_CALL(MoveBattleCamOver, 120) EVT_EXEC_WAIT(N(EVS_TransformFX)) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAGE, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAGE, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAGE, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.8)) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) diff --git a/src/battle/area/kmr_part_3/actor/jr_troopa.c b/src/battle/area/kmr_part_3/actor/jr_troopa.c index 4f0a946924..f2df2b70bc 100644 --- a/src/battle/area/kmr_part_3/actor/jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/jr_troopa.c @@ -75,7 +75,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, diff --git a/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c b/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c index ab938fb43e..ea992e61e5 100644 --- a/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/mage_jr_troopa.c @@ -111,7 +111,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_BASE, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 28 }, @@ -169,7 +169,7 @@ EvtScript N(EVS_SetupFearReaction) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_IF_EQ(LVar2, MOVE_SPOOK) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_SpookReact, AVAL_SpookReact_Ready) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0263) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_EMOTE_QUESTION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 30, EMOTER_POS, LVar0, LVar1, LVar2, 5) diff --git a/src/battle/area/kmr_part_3/actor/para_jr_troopa.c b/src/battle/area/kmr_part_3/actor/para_jr_troopa.c index 49c92d934f..6ac521a0be 100644 --- a/src/battle/area/kmr_part_3/actor/para_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/para_jr_troopa.c @@ -90,7 +90,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 35 }, @@ -148,7 +148,7 @@ EvtScript N(EVS_SetupFearReaction) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_IF_EQ(LVar2, MOVE_SPOOK) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_SpookReact, AVAL_SpookReact_Ready) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0263) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_EMOTE_QUESTION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 30, EMOTER_POS, LVar0, LVar1, LVar2, 5) diff --git a/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c b/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c index 155144166d..865ce43053 100644 --- a/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c +++ b/src/battle/area/kmr_part_3/actor/spiked_para_jr_troopa.c @@ -89,7 +89,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 32 }, @@ -147,7 +147,7 @@ EvtScript N(EVS_SetupFearReaction) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_IF_EQ(LVar2, MOVE_SPOOK) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_SpookReact, AVAL_SpookReact_Ready) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0263) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_EMOTE_QUESTION) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 30) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 30, EMOTER_POS, LVar0, LVar1, LVar2, 5) diff --git a/src/battle/area/kmr_part_3/actor/tutorial_paragoomba.c b/src/battle/area/kmr_part_3/actor/tutorial_paragoomba.c index 157b6805eb..51beadeccd 100644 --- a/src/battle/area/kmr_part_3/actor/tutorial_paragoomba.c +++ b/src/battle/area/kmr_part_3/actor/tutorial_paragoomba.c @@ -102,7 +102,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -492,10 +492,10 @@ EvtScript N(EVS_TakeTurn) = { EvtScript N(EVS_KnockDown) = { EVT_CALL(HideHealthBar, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DUMMY_WING_L, LVar0, LVar1, LVar2) EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_DUMMY_WING_L, -9, 7, -2) diff --git a/src/battle/area/kmr_part_3/actor/tutorial_spiked_goomba.c b/src/battle/area/kmr_part_3/actor/tutorial_spiked_goomba.c index 268b9d29a5..865142dbd9 100644 --- a/src/battle/area/kmr_part_3/actor/tutorial_spiked_goomba.c +++ b/src/battle/area/kmr_part_3/actor/tutorial_spiked_goomba.c @@ -51,7 +51,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/kpa2/actor/final_bowser_1.c b/src/battle/area/kpa2/actor/final_bowser_1.c index d5650fe0c9..c4a8ee402a 100644 --- a/src/battle/area/kpa2/actor/final_bowser_1.c +++ b/src/battle/area/kpa2/actor/final_bowser_1.c @@ -139,7 +139,7 @@ s32 N(BoostedStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -27, 108 }, @@ -203,7 +203,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 150, 0, 0, 0) EVT_EXEC(N(EVS_AnimateImgFX)) EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 150, 150, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_A) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_BOWSER_AURA) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_TakeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_Idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) diff --git a/src/battle/area/kpa2/actor/final_bowser_2.c b/src/battle/area/kpa2/actor/final_bowser_2.c index ecc4096738..3556cef98a 100644 --- a/src/battle/area/kpa2/actor/final_bowser_2.c +++ b/src/battle/area/kpa2/actor/final_bowser_2.c @@ -142,7 +142,7 @@ s32 N(BoostedStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -27, 108 }, @@ -251,7 +251,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 1, 150, 0, 0, 0) EVT_EXEC(N(EVS_AnimateImgFX)) EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 150, 150, 0, 0) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_A) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_BOWSER_AURA) EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED, TRUE) EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 1, ACTOR_DECORATION_RADIAL_STAR_EMITTER) EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(BoostedDefense))) diff --git a/src/battle/area/kpa2/actor/hallway_bowser.c b/src/battle/area/kpa2/actor/hallway_bowser.c index e0ac16d59f..12995b1cd5 100644 --- a/src/battle/area/kpa2/actor/hallway_bowser.c +++ b/src/battle/area/kpa2/actor/hallway_bowser.c @@ -142,7 +142,7 @@ s32 N(BoostedStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -18, 72 }, diff --git a/src/battle/area/kpa2/actor/intro_bowser.c b/src/battle/area/kpa2/actor/intro_bowser.c index 5b3d69c1df..3f84428d9e 100644 --- a/src/battle/area/kpa2/actor/intro_bowser.c +++ b/src/battle/area/kpa2/actor/intro_bowser.c @@ -114,7 +114,7 @@ s32 N(BoostedStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -18, 72 }, diff --git a/src/battle/area/kpa2/actor/unused_bowser.c b/src/battle/area/kpa2/actor/unused_bowser.c index e9df80520d..0b0772c596 100644 --- a/src/battle/area/kpa2/actor/unused_bowser.c +++ b/src/battle/area/kpa2/actor/unused_bowser.c @@ -81,7 +81,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -18, 72 }, diff --git a/src/battle/area/kpa4/actor/bombshell_bill.c b/src/battle/area/kpa4/actor/bombshell_bill.c index 3375010882..15261c19e0 100644 --- a/src/battle/area/kpa4/actor/bombshell_bill.c +++ b/src/battle/area/kpa4/actor/bombshell_bill.c @@ -58,7 +58,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, @@ -307,7 +307,7 @@ EvtScript N(EVS_MakeExplosionFX) = { EVT_ADD(LVar2, 2) EVT_PLAY_EFFECT(EFFECT_BLAST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(3.0), 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BULLET_BILL_EXPLODE_A) - EVT_CALL(StartRumble, 11) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_END_THREAD diff --git a/src/battle/area/kpa4/actor/bombshell_blaster.c b/src/battle/area/kpa4/actor/bombshell_blaster.c index 95717a3193..9fdbdfb813 100644 --- a/src/battle/area/kpa4/actor/bombshell_blaster.c +++ b/src/battle/area/kpa4/actor/bombshell_blaster.c @@ -60,7 +60,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -6, 29 }, @@ -209,7 +209,7 @@ EvtScript N(EVS_Move_FireBullet) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.0)) EVT_END_THREAD - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BULLET_BILL_FIRE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 33) diff --git a/src/battle/area/kzn2/actor/lava_bud.c b/src/battle/area/kzn2/actor/lava_bud.c index 82cc4ec0b4..3ce4d6a0f3 100644 --- a/src/battle/area/kzn2/actor/lava_bud.c +++ b/src/battle/area/kzn2/actor/lava_bud.c @@ -144,7 +144,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -8 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -625,7 +625,7 @@ EvtScript N(EVS_Death) = { EVT_WAIT(14) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Common_PiranhaState, PIRANHA_STATE_DEAD) EVT_EXEC_WAIT(N(EVS_PlayIdleAnimation)) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TARGET, ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TARGET, ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR, TRUE) EVT_ELSE EVT_EXEC_WAIT(N(EVS_Hit)) diff --git a/src/battle/area/kzn2/actor/lava_piranha.c b/src/battle/area/kzn2/actor/lava_piranha.c index 2f456c44ea..e235fe8dbb 100644 --- a/src/battle/area/kzn2/actor/lava_piranha.c +++ b/src/battle/area/kzn2/actor/lava_piranha.c @@ -244,7 +244,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -8 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_8 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_DEFAULT_TARGET | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 40 }, @@ -723,7 +723,7 @@ EvtScript N(EVS_Scene_KoloradoToTheRescue) = { EVT_CALL(SetNpcSpeed, NPC_BTL_COMPANION, EVT_FLOAT(8.0)) EVT_CALL(NpcMoveTo, NPC_BTL_COMPANION, -60, 0, 0) EVT_CALL(SpeakToPlayer, NPC_BTL_COMPANION, ANIM_BattleKolorado_Shout, ANIM_BattleKolorado_ShoutStill, 5, MSG_CH5_0106) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0174) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_RUN_AWAY) EVT_CALL(SetNpcAnimation, NPC_BTL_COMPANION, ANIM_BattleKolorado_Run) EVT_CALL(SetNpcSpeed, NPC_BTL_COMPANION, EVT_FLOAT(6.0)) EVT_CALL(NpcMoveTo, NPC_BTL_COMPANION, -300, 0, 0) @@ -1435,9 +1435,9 @@ EvtScript N(EVS_Death) = { EVT_CALL(PlayModelAnimation, VINE_2, VINE_2_BASE) EVT_WAIT(4) EVT_THREAD - EVT_CALL(PlaySound, SOUND_LRAW_03BC) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 119, EVT_FLOAT(0.3)) - EVT_CALL(PlaySound, SOUND_LRAW_03BC | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_END_THREAD EVT_CALL(N(StartRumbleWithParams), 80, 234) EVT_CALL(HideHealthBar, ACTOR_SELF) @@ -1533,15 +1533,15 @@ EvtScript N(EVS_Death) = { EVT_END_THREAD EVT_WAIT(80) EVT_THREAD - EVT_CALL(PlaySound, SOUND_LRAW_03BC) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 165, EVT_FLOAT(1.2)) - EVT_CALL(PlaySound, SOUND_LRAW_03BC | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_END_THREAD EVT_CALL(N(StartRumbleWithParams), 80, 300) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_LookUp) EVT_WAIT(20) - EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_0263) + EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_EMOTE_QUESTION) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_EMOTE, EMOTE_QUESTION, 0, LVar0, LVar1, LVar2, 20, 315, 30, 0, 0) @@ -1608,8 +1608,8 @@ EvtScript N(EVS_Death) = { EVT_CALL(SetPartImmunityBits, ACTOR_BUD_1, PRT_TARGET, ELEMENT_FIRE, 1) EVT_CALL(SetPartImmunityBits, ACTOR_BUD_2, PRT_MAIN, ELEMENT_FIRE, 1) EVT_CALL(SetPartImmunityBits, ACTOR_BUD_2, PRT_TARGET, ELEMENT_FIRE, 1) - EVT_CALL(SetPartFlagBits, ACTOR_BUD_1, PRT_TARGET, ACTOR_PART_FLAG_2000, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_BUD_2, PRT_TARGET, ACTOR_PART_FLAG_2000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_BUD_1, PRT_TARGET, ACTOR_PART_FLAG_DAMAGE_IMMUNE, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_BUD_2, PRT_TARGET, ACTOR_PART_FLAG_DAMAGE_IMMUNE, FALSE) EVT_SET(LVar0, ACTOR_BOSS) EVT_EXEC_WAIT(N(EVS_Ignite)) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_LavaPiranha_Anim04) @@ -1705,10 +1705,10 @@ EvtScript N(EVS_Death) = { EVT_CALL(LoadBattleDmaData, VINE_ANIM_EXTRA_DEATH) EVT_CALL(PlayModelAnimation, VINE_3, VINE_3_BASE) EVT_THREAD - EVT_CALL(PlaySound, SOUND_LRAW_03BC) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 100, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 8, EVT_FLOAT(0.2)) - EVT_CALL(PlaySound, SOUND_LRAW_03BC | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_END_THREAD EVT_CALL(N(StartRumbleWithParams), 80, 216) EVT_THREAD diff --git a/src/battle/area/kzn2/actor/petit_piranha.c b/src/battle/area/kzn2/actor/petit_piranha.c index b74bb58776..6f2e7e0191 100644 --- a/src/battle/area/kzn2/actor/petit_piranha.c +++ b/src/battle/area/kzn2/actor/petit_piranha.c @@ -69,7 +69,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/kzn2/actor/petit_piranha_bomb.c b/src/battle/area/kzn2/actor/petit_piranha_bomb.c index 670fb4881b..19695eb4ce 100644 --- a/src/battle/area/kzn2/actor/petit_piranha_bomb.c +++ b/src/battle/area/kzn2/actor/petit_piranha_bomb.c @@ -62,7 +62,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/mac/actor/chan.c b/src/battle/area/mac/actor/chan.c index c093c28790..caaa58f409 100644 --- a/src/battle/area/mac/actor/chan.c +++ b/src/battle/area/mac/actor/chan.c @@ -73,7 +73,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, diff --git a/src/battle/area/mac/actor/lee.c b/src/battle/area/mac/actor/lee.c index e1aeb8a639..730023a558 100644 --- a/src/battle/area/mac/actor/lee.c +++ b/src/battle/area/mac/actor/lee.c @@ -183,7 +183,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 25 }, @@ -461,7 +461,7 @@ EvtScript A(EVS_Lee_LoseDisguise) = { EVT_CALL(CopyBuffs, ACTOR_SELF, LVarA) EVT_CALL(GetActorPos, ACTOR_SELF, LVarB, LVarC, LVarD) EVT_CALL(SetActorPos, LVarA, LVarB, LVarC, LVarD) - EVT_CALL(SetPartFlagBits, LVarA, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, LVarA, PRT_MAIN, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, LVarA, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) @@ -666,7 +666,7 @@ EvtScript N(EVS_Move_CopyPartner) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, LVarA, LVar0, LVar1, LVar2) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_INVISIBLE, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, (ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY), TRUE) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, LVarA, LVar0) diff --git a/src/battle/area/mac/actor/lee_bombette.inc.c b/src/battle/area/mac/actor/lee_bombette.inc.c index 0960e20c31..eaef0fd181 100644 --- a/src/battle/area/mac/actor/lee_bombette.inc.c +++ b/src/battle/area/mac/actor/lee_bombette.inc.c @@ -51,7 +51,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, diff --git a/src/battle/area/mac/actor/lee_bow.inc.c b/src/battle/area/mac/actor/lee_bow.inc.c index 3c578b26d7..a6ddbc7833 100644 --- a/src/battle/area/mac/actor/lee_bow.inc.c +++ b/src/battle/area/mac/actor/lee_bow.inc.c @@ -63,7 +63,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -26 }, diff --git a/src/battle/area/mac/actor/lee_goombario.inc.c b/src/battle/area/mac/actor/lee_goombario.inc.c index e164cdfe56..993e3f8184 100644 --- a/src/battle/area/mac/actor/lee_goombario.inc.c +++ b/src/battle/area/mac/actor/lee_goombario.inc.c @@ -51,7 +51,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, @@ -524,7 +524,7 @@ EvtScript N(EVS_Move_Tattle) = { EVT_WAIT(12) // enable the tattle viewport EVT_CALL(SetCamEnabled, CAM_TATTLE, TRUE) - EVT_CALL(SetCamFlag80, CAM_TATTLE, FALSE) + EVT_CALL(SetCamNoDraw, CAM_TATTLE, FALSE) EVT_CALL(SetCamPerspective, CAM_TATTLE, CAM_UPDATE_MODE_6, 25, 16, 1024) EVT_CALL(SetCamViewport, CAM_TATTLE, 37, 95, 138, 99) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -537,7 +537,7 @@ EvtScript N(EVS_Move_Tattle) = { EVT_CALL(func_802CABE8, CAM_TATTLE, 0, LVar3, 100, 4) EVT_WAIT(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_TATTLE_WINDOW_OPEN) - EVT_CALL(SetCamFlag80, CAM_TATTLE, TRUE) + EVT_CALL(SetCamNoDraw, CAM_TATTLE, TRUE) EVT_WAIT(10) EVT_CALL(ActorSpeak, MSG_EnemyTattle_Mario, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) EVT_CALL(N(CloseTattleWindow), LVar5) diff --git a/src/battle/area/mac/actor/lee_kooper.inc.c b/src/battle/area/mac/actor/lee_kooper.inc.c index 7787fd0625..0b133def6f 100644 --- a/src/battle/area/mac/actor/lee_kooper.inc.c +++ b/src/battle/area/mac/actor/lee_kooper.inc.c @@ -69,7 +69,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 32 }, diff --git a/src/battle/area/mac/actor/lee_lakilester.inc.c b/src/battle/area/mac/actor/lee_lakilester.inc.c index c87c14ae4d..d869080fbd 100644 --- a/src/battle/area/mac/actor/lee_lakilester.inc.c +++ b/src/battle/area/mac/actor/lee_lakilester.inc.c @@ -56,7 +56,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 33 }, diff --git a/src/battle/area/mac/actor/lee_parakarry.inc.c b/src/battle/area/mac/actor/lee_parakarry.inc.c index d6142ce3a0..52b6d57250 100644 --- a/src/battle/area/mac/actor/lee_parakarry.inc.c +++ b/src/battle/area/mac/actor/lee_parakarry.inc.c @@ -63,7 +63,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -16 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { -3, -18 }, diff --git a/src/battle/area/mac/actor/lee_sushie.inc.c b/src/battle/area/mac/actor/lee_sushie.inc.c index ce46c09c18..6d2e77336c 100644 --- a/src/battle/area/mac/actor/lee_sushie.inc.c +++ b/src/battle/area/mac/actor/lee_sushie.inc.c @@ -51,7 +51,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/mac/actor/lee_watt.inc.c b/src/battle/area/mac/actor/lee_watt.inc.c index 0f500da104..ae3f76ed94 100644 --- a/src/battle/area/mac/actor/lee_watt.inc.c +++ b/src/battle/area/mac/actor/lee_watt.inc.c @@ -64,7 +64,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -8 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { -1, -30 }, @@ -416,7 +416,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_IDLE) EVT_CALL(AddBattleCamZoom, 75) EVT_CALL(MoveBattleCamOver, 5) EVT_THREAD diff --git a/src/battle/area/mac/actor/master1.c b/src/battle/area/mac/actor/master1.c index 151d9c4090..2ed714c9b9 100644 --- a/src/battle/area/mac/actor/master1.c +++ b/src/battle/area/mac/actor/master1.c @@ -72,7 +72,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 28 }, @@ -366,7 +366,7 @@ EvtScript N(EVS_HandleEvent) = { EVT_RETURN EVT_END_IF EVT_CALL(GetBattleFlags, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_WasHit, TRUE) diff --git a/src/battle/area/mac/actor/master2.c b/src/battle/area/mac/actor/master2.c index 2f8a707cea..af41c4d43d 100644 --- a/src/battle/area/mac/actor/master2.c +++ b/src/battle/area/mac/actor/master2.c @@ -87,7 +87,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 28 }, @@ -593,7 +593,7 @@ EvtScript N(EVS_HandleEvent) = { EVT_RETURN EVT_END_IF EVT_CALL(GetBattleFlags, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_WasHit, TRUE) diff --git a/src/battle/area/mac/actor/master3.c b/src/battle/area/mac/actor/master3.c index 4b59bb2324..1262a36a15 100644 --- a/src/battle/area/mac/actor/master3.c +++ b/src/battle/area/mac/actor/master3.c @@ -94,7 +94,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 28 }, @@ -992,7 +992,7 @@ EvtScript N(EVS_HandleEvent) = { EVT_RETURN EVT_END_IF EVT_CALL(GetBattleFlags, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(GetLastDamage, ACTOR_SELF, LVar0) EVT_IF_GT(LVar0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_WasHit, TRUE) diff --git a/src/battle/area/nok/actor/kent_c_koopa.c b/src/battle/area/nok/actor/kent_c_koopa.c index bbf5e2adc1..4d88b6e1cf 100644 --- a/src/battle/area/nok/actor/kent_c_koopa.c +++ b/src/battle/area/nok/actor/kent_c_koopa.c @@ -117,7 +117,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 60 }, @@ -153,7 +153,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_DUMMY_COIN_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -165,7 +165,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_DUMMY_COIN_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -177,7 +177,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_DUMMY_COIN_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -189,7 +189,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_DUMMY_COIN_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -201,7 +201,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_DUMMY_COIN_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -213,7 +213,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_DUMMY_COIN_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -585,9 +585,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(NormalDefense))) EVT_CALL(SetEnemyTargetOffset, ACTOR_SELF, PRT_MAIN, 0, 60) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_WEAK_POINT, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_WEAK_POINT, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLIPPED, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_4) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_4) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_WEAK_POINT, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLIPPED, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_NO_SHADOW) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_NO_SHADOW) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefaultAnims))) EVT_CALL(N(SetAbsoluteStatusOffsets), -26, 38, 2, 63) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_IsFlipped, FALSE) @@ -1066,9 +1066,9 @@ EvtScript N(EVS_FlipOver) = { EVT_WAIT(1) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_KentCKoopa_Anim1E) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_WEAK_POINT, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_WEAK_POINT, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLIPPED, ACTOR_PART_FLAG_4) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_4) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_WEAK_POINT, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLIPPED, ACTOR_PART_FLAG_NO_SHADOW) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_NO_SHADOW) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_FlippedTurns, 1) EVT_WAIT(8) EVT_RETURN diff --git a/src/battle/area/omo2/actor/general_guy.c b/src/battle/area/omo2/actor/general_guy.c index 0be372de7b..d8249472ea 100644 --- a/src/battle/area/omo2/actor/general_guy.c +++ b/src/battle/area/omo2/actor/general_guy.c @@ -69,7 +69,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_20000000, + .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_NO_STATUS_ANIMS, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, @@ -81,7 +81,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -1, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_NO_STATUS_ANIMS, .index = PRT_BOMB, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, diff --git a/src/battle/area/omo2/actor/light_bulb.c b/src/battle/area/omo2/actor/light_bulb.c index 3b9962d618..4766bc5fa8 100644 --- a/src/battle/area/omo2/actor/light_bulb.c +++ b/src/battle/area/omo2/actor/light_bulb.c @@ -63,7 +63,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 35 }, @@ -77,7 +77,7 @@ ActorPartBlueprint N(ActorParts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_80 | ACTOR_FLAG_NO_HEALTH_BAR, + .flags = ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_TATTLE | ACTOR_FLAG_NO_HEALTH_BAR, .type = ACTOR_TYPE_LIGHT_BULB, .level = ACTOR_LEVEL_LIGHT_BULB, .maxHP = 8, diff --git a/src/battle/area/omo2/actor/toy_tank.c b/src/battle/area/omo2/actor/toy_tank.c index 589b3d9a98..01b240c84c 100644 --- a/src/battle/area/omo2/actor/toy_tank.c +++ b/src/battle/area/omo2/actor/toy_tank.c @@ -119,7 +119,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_2, .posOffset = { 0, 30, 0 }, .targetOffset = { 0, 50 }, @@ -189,7 +189,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(PlayModelAnimation, 0, EVT_PTR(AS_ToyTank_Idle)) EVT_CALL(EnableModel, MODEL_shy, FALSE) EVT_CALL(SetAnimatedModelRootPosition, 0, 200, 0, 0) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_TARGET_FLAG_1, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_3, ACTOR_PART_TARGET_NO_JUMP, TRUE) EVT_CALL(GetModelCenter, MODEL_kyu3) EVT_PLAY_EFFECT(EFFECT_BULB_GLOW, 2, LVar0, LVar1, LVar2, EVT_FLOAT(1.0), LVar5, 0) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Tank_BulbGlowEffect, LVar5) @@ -743,7 +743,7 @@ EvtScript N(EVS_BeginWave_Tank) = { EVT_CALL(ActorSpeak, MSG_CH4_0071, ACTOR_GENERAL, PRT_MAIN, ANIM_GeneralGuy_Anim00, ANIM_GeneralGuy_Anim00) EVT_CALL(SetAnimation, ACTOR_GENERAL, PRT_MAIN, ANIM_GeneralGuy_Anim05) EVT_CALL(EndActorSpeech, ACTOR_GENERAL, PRT_MAIN, -1, -1) - EVT_CALL(SetPartFlagBits, ACTOR_GENERAL, PRT_MAIN, ACTOR_PART_FLAG_20000000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_GENERAL, PRT_MAIN, ACTOR_PART_FLAG_NO_STATUS_ANIMS, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_BULB, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_TANK, PRT_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_TANK, ACTOR_FLAG_NO_HEALTH_BAR, FALSE) diff --git a/src/battle/area/omo2_1/actor/shy_squad.c b/src/battle/area/omo2_1/actor/shy_squad.c index c50bba0c69..99843a173c 100644 --- a/src/battle/area/omo2_1/actor/shy_squad.c +++ b/src/battle/area/omo2_1/actor/shy_squad.c @@ -119,7 +119,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -131,7 +131,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_01, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -143,7 +143,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_02, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -155,7 +155,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_03, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -167,7 +167,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_04, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -179,7 +179,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_05, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -191,7 +191,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_06, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -203,7 +203,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_07, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -215,7 +215,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_08, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -227,7 +227,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_09, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -239,7 +239,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_10, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -251,7 +251,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_11, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -263,7 +263,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_12, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -275,7 +275,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_13, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -287,7 +287,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_14, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -299,7 +299,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_15, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -979,7 +979,7 @@ EvtScript N(EVS_ReduceCrowdSize) = { EVT_ADD(LVar0, LVar1) EVT_IF_NE(LVar0, NUM_MEMBERS + 1) EVT_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_20000000, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_NO_STATUS_ANIMS, TRUE) EVT_CALL(GetPartOffset, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3) EVT_CALL(GetPartMovementVar, ACTOR_SELF, LVar0, HIT_OFFSET_X, LVar7) EVT_CALL(GetPartMovementVar, ACTOR_SELF, LVar0, HIT_OFFSET_Z, LVar8) @@ -1236,7 +1236,7 @@ EvtScript N(EVS_Attack_Swarm) = { EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_NumDefeated, LVar0) EVT_SUB(LVarE, LVar0) EVT_SET(LVarD, LVarE) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_LRAW_03AD) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_LRAW_FIGHTING) EVT_LOOP(LVarD) EVT_IF_GT(LVarE, 1) EVT_SET(LVar0, BS_FLAGS1_40) @@ -1262,7 +1262,7 @@ EvtScript N(EVS_Attack_Swarm) = { EVT_END_IF EVT_WAIT(10) EVT_END_LOOP - EVT_CALL(StopSound, SOUND_LRAW_03AD) + EVT_CALL(StopSound, SOUND_LRAW_FIGHTING) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_WAIT(20) @@ -1367,9 +1367,9 @@ EvtScript N(EVS_Flee) = { EVT_CALL(SetActorSounds, ACTOR_SELF, ACTOR_SOUND_WALK, SOUND_NONE, SOUND_NONE) EVT_WAIT(40) EVT_THREAD - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0173) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_RUN_AWAY_BUILDUP) EVT_WAIT(20) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0174) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_RUN_AWAY) EVT_END_THREAD EVT_SET(LVar0, PRT_MEMBER_01) EVT_SET(LVar1, ANIM_ShySquadGuy_Anim08) diff --git a/src/battle/area/omo2_2/actor/stilt_guy.c b/src/battle/area/omo2_2/actor/stilt_guy.c index 0fde6fb8c8..a36d14d4d8 100644 --- a/src/battle/area/omo2_2/actor/stilt_guy.c +++ b/src/battle/area/omo2_2/actor/stilt_guy.c @@ -162,7 +162,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -1, -5 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 74, 0 }, .targetOffset = { 0, -8 }, @@ -174,7 +174,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -1, -3 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET, .index = PRT_4, .posOffset = { -2, 0, 0 }, .targetOffset = { 0, 24 }, @@ -186,7 +186,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -1, 5 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_NO_STATUS_ANIMS, .index = PRT_UNFOLD_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -198,7 +198,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_NO_STATUS_ANIMS, .index = PRT_UNFOLD_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -210,7 +210,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_NO_STATUS_ANIMS, .index = PRT_UNFOLD_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -222,7 +222,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_20000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_NO_STATUS_ANIMS, .index = PRT_UNFOLD_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -264,7 +264,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_HandleEvent))) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasFallen, FALSE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_KnockDownHit, FALSE) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_TARGET_FLAG_1, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_4, ACTOR_PART_TARGET_NO_JUMP, TRUE) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_GUY, 24, 30) EVT_CALL(UseIdleAnimation, ACTOR_SELF, FALSE) EVT_CALL(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_DISABLE) @@ -435,7 +435,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(SetAnimation, ACTOR_SELF, PRT_UNFOLD_1, ANIM_StiltGuyUnfold_Anim05) EVT_CALL(EnableActorPaletteEffects, ACTOR_SELF, PRT_UNFOLD_1, TRUE) EVT_CALL(SetActorPaletteSwapParams, ACTOR_SELF, PRT_UNFOLD_1, SPR_PAL_StiltGuyUnfold_Alt, SPR_PAL_StiltGuyUnfold, 0, 36, 0, 255, 0, 0) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_UNFOLD_1, PAL_ADJUST_BLEND_PALSETS) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_UNFOLD_1, ACTOR_PAL_ADJUST_BLEND_PALSETS) EVT_WAIT(18) EVT_CALL(EnableActorPaletteEffects, ACTOR_SELF, PRT_UNFOLD_1, FALSE) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_UNFOLD_1, ANIM_StiltGuyUnfold_Anim04) @@ -766,9 +766,9 @@ EvtScript N(EVS_Attack_Leap) = { EvtScript N(EVS_FallDown) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_HasFallen, TRUE) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_GUY, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_TARGET, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_GUY, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_TARGET, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_4, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_GUY, ANIM_ShyGuy_Red_Anim0C) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(GetStatusFlags, ACTOR_SELF, LVar3) @@ -790,7 +790,7 @@ EvtScript N(EVS_FallDown) = { EVT_CALL(SetPartRotation, ACTOR_SELF, PRT_STILTS, 0, 0, LVar0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_STILTS, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_STILTS, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) EVT_END_THREAD EVT_CALL(PlaySoundAtPart, ACTOR_SELF, PRT_STILTS, SOUND_FALL_QUICK) EVT_CALL(SetActorJumpGravity, ACTOR_SELF, EVT_FLOAT(0.5)) @@ -856,7 +856,7 @@ EvtScript N(EVS_ShyGuy_SpinSmash) = { EVT_EXEC_GET_TID(N(EVS_ShyGuy_SpinAround), LVarE) EVT_CALL(GetPartEventFlags, ACTOR_SELF, LVar0, LVarA) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_10000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_ALLOW_TARGET_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerID, LVar1) @@ -868,7 +868,7 @@ EvtScript N(EVS_ShyGuy_SpinSmash) = { EVT_LABEL(1) EVT_ADD(LVarF, 1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_CALL(GetOwnerTarget, LVar0, LVar9) diff --git a/src/battle/area/omo2_3/actor/shy_stack.c b/src/battle/area/omo2_3/actor/shy_stack.c index 1f65c30e84..d1bb82ae19 100644 --- a/src/battle/area/omo2_3/actor/shy_stack.c +++ b/src/battle/area/omo2_3/actor/shy_stack.c @@ -118,7 +118,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_STACK_1, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 67 }, @@ -166,7 +166,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -8 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_ROCK_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -178,7 +178,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_ROCK_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -190,7 +190,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_ROCK_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -202,7 +202,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_ROCK_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -214,7 +214,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_KNOCKOFF, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -922,7 +922,7 @@ EvtScript N(EVS_SpinSmashHit_Top) = { EVT_EXEC_GET_TID(N(EVS_SpinAround), LVarE) EVT_CALL(GetPartEventFlags, ACTOR_SELF, LVar0, LVarA) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_10000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_ALLOW_TARGET_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerID, LVar1) @@ -934,7 +934,7 @@ EvtScript N(EVS_SpinSmashHit_Top) = { EVT_LABEL(1) EVT_ADD(LVarF, 1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_CALL(GetOwnerTarget, LVar0, LVar9) @@ -1010,10 +1010,10 @@ EvtScript N(fall_apart) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_ShyStackGuy_Anim15) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_Attack, ANIM_ShyStackGuy_Anim1C) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(ThreeStackAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_1, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_2, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_2, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_2, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) EVT_CALL(SetActorStatusOffsets, ACTOR_SELF, 0, -20, 0, -20) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 57, 30) @@ -1026,10 +1026,10 @@ EvtScript N(fall_apart) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_ShyStackGuy_Anim16) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_Attack, ANIM_ShyStackGuy_Anim1D) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(TwoStackAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_2, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_2, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_3, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_3, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_3, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) EVT_CALL(SetActorStatusOffsets, ACTOR_SELF, 0, -40, 0, -40) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 39, 30) @@ -1042,10 +1042,10 @@ EvtScript N(fall_apart) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_ShyStackGuy_Anim17) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_Attack, ANIM_ShyStackGuy_Anim1E) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(OneStackAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_3, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_3, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_4, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_4, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_STACK_4, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) EVT_CALL(SetActorStatusOffsets, ACTOR_SELF, 0, -60, 0, -60) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 21, 30) @@ -1115,7 +1115,7 @@ EvtScript N(EVS_SpinSmashHit_Stack) = { EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Anim_Hurt, LVar1) EVT_CALL(SetAnimation, ACTOR_SELF, LVar0, LVar1) EVT_EXEC_WAIT(N(lower_actor_pos)) - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_8000 | TARGET_FLAG_10000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_PRIMARY_ONLY | TARGET_FLAG_ALLOW_TARGET_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerID, LVar1) @@ -1128,7 +1128,7 @@ EvtScript N(EVS_SpinSmashHit_Stack) = { EVT_ADD(LVarF, 1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) EVT_CALL(N(PrintDebugValue), EVT_PTR("T"), LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_CALL(GetOwnerTarget, LVar0, LVar9) diff --git a/src/battle/area/omo2_4/actor/signal_guy.c b/src/battle/area/omo2_4/actor/signal_guy.c index 812b5e2ede..a5568a50c2 100644 --- a/src/battle/area/omo2_4/actor/signal_guy.c +++ b/src/battle/area/omo2_4/actor/signal_guy.c @@ -48,7 +48,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_20000000, + .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_NO_STATUS_ANIMS, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/omo2_5/actor/shy_squad_redux.c b/src/battle/area/omo2_5/actor/shy_squad_redux.c index 00661eb955..40f1fd0717 100644 --- a/src/battle/area/omo2_5/actor/shy_squad_redux.c +++ b/src/battle/area/omo2_5/actor/shy_squad_redux.c @@ -103,7 +103,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -115,7 +115,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_01, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -127,7 +127,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_02, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -139,7 +139,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_03, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -151,7 +151,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_04, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -163,7 +163,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_05, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -175,7 +175,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_06, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -187,7 +187,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_07, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -199,7 +199,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_08, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -211,7 +211,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_09, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -223,7 +223,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_10, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -235,7 +235,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_11, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -247,7 +247,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_12, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -259,7 +259,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_13, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -271,7 +271,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_14, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -283,7 +283,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_MEMBER_15, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -885,7 +885,7 @@ EvtScript N(EVS_ReduceCrowdSize) = { EVT_ADD(LVar0, LVar1) EVT_IF_NE(LVar0, NUM_MEMBERS + 1) EVT_THREAD - EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_20000000, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, LVar0, ACTOR_PART_FLAG_NO_STATUS_ANIMS, TRUE) EVT_CALL(GetPartOffset, ACTOR_SELF, LVar0, LVar1, LVar2, LVar3) EVT_CALL(GetPartMovementVar, ACTOR_SELF, LVar0, HIT_OFFSET_X, LVar7) EVT_CALL(GetPartMovementVar, ACTOR_SELF, LVar0, HIT_OFFSET_Z, LVar8) diff --git a/src/battle/area/omo2_6/actor/shy_squad_stub.c b/src/battle/area/omo2_6/actor/shy_squad_stub.c index 8a184ef243..c00f236cbe 100644 --- a/src/battle/area/omo2_6/actor/shy_squad_stub.c +++ b/src/battle/area/omo2_6/actor/shy_squad_stub.c @@ -66,7 +66,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/area/omo3/actor/big_lantern_ghost.c b/src/battle/area/omo3/actor/big_lantern_ghost.c index c2f6e8ee58..6ee688968f 100644 --- a/src/battle/area/omo3/actor/big_lantern_ghost.c +++ b/src/battle/area/omo3/actor/big_lantern_ghost.c @@ -81,7 +81,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 54 }, @@ -93,7 +93,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -5, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_DAMAGE_IMMUNE, .index = PRT_2, .posOffset = { -40, 0, 0 }, .targetOffset = { 0, 0 }, diff --git a/src/battle/area/pra2/actor/crystal_bit.c b/src/battle/area/pra2/actor/crystal_bit.c index fc8b580321..965bf74d0b 100644 --- a/src/battle/area/pra2/actor/crystal_bit.c +++ b/src/battle/area/pra2/actor/crystal_bit.c @@ -76,7 +76,7 @@ ActorPartBlueprint N(CubeParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -34 }, @@ -103,7 +103,7 @@ ActorPartBlueprint N(SphereParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -34 }, @@ -130,7 +130,7 @@ ActorPartBlueprint N(PrismParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -34 }, diff --git a/src/battle/area/pra2/actor/crystal_king.c b/src/battle/area/pra2/actor/crystal_king.c index d081c75715..aa066dd11f 100644 --- a/src/battle/area/pra2/actor/crystal_king.c +++ b/src/battle/area/pra2/actor/crystal_king.c @@ -98,7 +98,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_8 | ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_DEFAULT_TARGET | ACTOR_PART_FLAG_IGNORE_BELOW_CHECK | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 54 }, @@ -771,7 +771,7 @@ EvtScript N(EVS_HandleEvent) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_CrystalKing_Anim09) EVT_EXEC_WAIT(EVS_Enemy_Recover) - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_LE(LVar0, 1) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_CrystalKing_Anim0E) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(4.0)) @@ -855,7 +855,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_NextMove, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(AVAL_Move_First) - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_LE(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Move_SummonBits)) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextMove, AVAL_Move_AttackWithBits) @@ -867,7 +867,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_EXEC_WAIT(N(EVS_Move_SummonBits)) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextMove, AVAL_Move_AttackWithBits) EVT_CASE_EQ(AVAL_Move_AttackWithBits) - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_LE(LVar0, 1) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_FROZEN) @@ -903,7 +903,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetActorVar, ACTOR_KING, AVAR_Flags, LVar0) EVT_END_IF EVT_CASE_EQ(AVAL_Move_AttackWithClones) - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_LE(LVar0, 1) EVT_CALL(GetStatusFlags, ACTOR_PLAYER, LVar0) EVT_IF_FLAG(LVar0, STATUS_FLAG_FROZEN) @@ -917,7 +917,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_NextMove, AVAL_Move_AfterClonesAttack) EVT_END_IF EVT_CASE_EQ(AVAL_Move_AfterClonesAttack) - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_GT(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Attack_CloneBreath)) EVT_RETURN diff --git a/src/battle/area/sam2/actor/monstar.c b/src/battle/area/sam2/actor/monstar.c index e74cc11707..886d5995ec 100644 --- a/src/battle/area/sam2/actor/monstar.c +++ b/src/battle/area/sam2/actor/monstar.c @@ -71,19 +71,19 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = N(DefaultAnims), .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_100, + .eventFlags = ACTOR_EVENT_FLAG_MONSTAR, .elementImmunityFlags = 0, .projectileTargetOffset = { 1, -15 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { -6, 20 }, .opacity = 255, .idleAnimations = N(DefaultAnims), .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_100, + .eventFlags = ACTOR_EVENT_FLAG_MONSTAR, .elementImmunityFlags = 0, .projectileTargetOffset = { 1, -15 }, }, diff --git a/src/battle/area/tik2/actor/blooper.c b/src/battle/area/tik2/actor/blooper.c index ce403393cc..d4d1631561 100644 --- a/src/battle/area/tik2/actor/blooper.c +++ b/src/battle/area/tik2/actor/blooper.c @@ -174,7 +174,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 20, 0 }, .targetOffset = { 0, 30 }, diff --git a/src/battle/area/tik2/actor/blooper_baby.c b/src/battle/area/tik2/actor/blooper_baby.c index 7c1aede00b..5707316a07 100644 --- a/src/battle/area/tik2/actor/blooper_baby.c +++ b/src/battle/area/tik2/actor/blooper_baby.c @@ -179,7 +179,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 27, 0 }, .targetOffset = { 0, 0 }, @@ -480,7 +480,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 16, FALSE, TRUE, FALSE) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BabyBlooper_Anim08) - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 0x00007FFF) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_MASH_BUTTON, 32767) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) EVT_CALL(action_command_stop_leech_init) @@ -569,7 +569,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) EVT_CALL(SetDamageSource, DMG_SRC_LEECH) EVT_CALL(EnemyDamageTarget, ACTOR_SELF, LVar0, DAMAGE_TYPE_UNBLOCKABLE | DAMAGE_TYPE_IGNORE_DEFENSE, 0, 0, DMG_LEECH, BS_FLAGS1_40) - EVT_CALL(StartRumble, 2) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_MIN) EVT_CALL(GetLastDamage, ACTOR_PLAYER, LVar3) EVT_IF_NE(LVar3, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_206D) diff --git a/src/battle/area/tik2/actor/electro_blooper.c b/src/battle/area/tik2/actor/electro_blooper.c index 7cb2512960..361f4a2f55 100644 --- a/src/battle/area/tik2/actor/electro_blooper.c +++ b/src/battle/area/tik2/actor/electro_blooper.c @@ -211,7 +211,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 20, 0 }, .targetOffset = { 0, 60 }, @@ -880,7 +880,7 @@ EvtScript N(EVS_Charge) = { EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_CHARGE_LIGHTNING) EVT_CALL(SetPartEventFlags, ACTOR_SELF, PRT_TARGET, ACTOR_EVENT_FLAG_ATTACK_CHARGED | ACTOR_EVENT_FLAG_ELECTRIFIED) EVT_CALL(EnableActorPaletteEffects, ACTOR_SELF, PRT_MAIN, TRUE) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_STATIC) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_STATIC) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(ChargedStatusTable))) EVT_RETURN EVT_END diff --git a/src/battle/area/tik2/actor/super_blooper.c b/src/battle/area/tik2/actor/super_blooper.c index d844422c16..94d4186a77 100644 --- a/src/battle/area/tik2/actor/super_blooper.c +++ b/src/battle/area/tik2/actor/super_blooper.c @@ -218,7 +218,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 20, 0 }, .targetOffset = { 0, 60 }, @@ -890,7 +890,7 @@ EvtScript N(EVS_Enrage) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Enraged, TRUE) EVT_CALL(EnableActorPaletteEffects, ACTOR_SELF, PRT_MAIN, TRUE) EVT_CALL(SetActorPaletteSwapParams, ACTOR_SELF, PRT_MAIN, SPR_PAL_Blooper, SPR_PAL_Blooper_Supercharged, 0, 6, 12, 6, 0, 0) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(EnragedStatusTable))) EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_TARGET, ACTOR_EVENT_FLAG_ATTACK_CHARGED, TRUE) EVT_RETURN diff --git a/src/battle/area/trd_part_2/actor/common_koopa_bros.inc.c b/src/battle/area/trd_part_2/actor/common_koopa_bros.inc.c index 42b0003da0..f58f15c60a 100644 --- a/src/battle/area/trd_part_2/actor/common_koopa_bros.inc.c +++ b/src/battle/area/trd_part_2/actor/common_koopa_bros.inc.c @@ -49,7 +49,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 36 }, diff --git a/src/battle/area/trd_part_2/actor/fake_bowser.c b/src/battle/area/trd_part_2/actor/fake_bowser.c index 0d836c22a7..8a8b947dc2 100644 --- a/src/battle/area/trd_part_2/actor/fake_bowser.c +++ b/src/battle/area/trd_part_2/actor/fake_bowser.c @@ -114,7 +114,7 @@ s32 N(PlaceholderAnims)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 0, 15 }, .targetOffset = { -46, 110 }, @@ -298,7 +298,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_TOWER, ACTOR_PART_TARGET_FLAG_4, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_TOWER, ACTOR_PART_TARGET_NO_DAMAGE, TRUE) EVT_RETURN EVT_END }; @@ -1790,8 +1790,8 @@ EvtScript N(EVS_KoopaBrosEnter) = { EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TARGET, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TOWER, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TARGET, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TOWER, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TARGET, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_TOWER, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(BindTakeTurn, ACTOR_SELF, EVT_PTR(N(EVS_KoopaBros_TakeTurn))) EVT_CALL(BindIdle, ACTOR_SELF, EVT_PTR(N(EVS_KoopaBros_Idle))) EVT_CALL(BindHandleEvent, ACTOR_SELF, EVT_PTR(N(EVS_KoopaBros_HandleEvent))) @@ -2418,7 +2418,7 @@ EvtScript N(EVS_TryFormingTower) = { // count the number of standing koopa bros #define VAR_STANDING_COUNT LVarA EVT_SET(VAR_STANDING_COUNT, 0) - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -2433,7 +2433,7 @@ EvtScript N(EVS_TryFormingTower) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF // check special cases for standing koopa count @@ -2453,7 +2453,7 @@ EvtScript N(EVS_TryFormingTower) = { #define VAR_CUR_KOOPA_IDX LVarB EVT_SET(VAR_CUR_KOOPA_IDX, VAR_STANDING_COUNT) EVT_SUB(VAR_CUR_KOOPA_IDX, 1) - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -2468,7 +2468,7 @@ EvtScript N(EVS_TryFormingTower) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF // hide the status bar until the tower is formed @@ -2505,7 +2505,7 @@ EvtScript N(EVS_TryFormingTower) = { EvtScript N(EVS_TryJoiningTower) = { #define VAR_STANDING_COUNT LVarA EVT_SET(VAR_STANDING_COUNT, 0) - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -2517,7 +2517,7 @@ EvtScript N(EVS_TryJoiningTower) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(VAR_STANDING_COUNT, 0) @@ -2550,7 +2550,7 @@ EvtScript N(EVS_TryJoiningTower) = { EVT_END_LOOP // have each orphaned koopa join the tower from front to back EVT_SET(LVar2, 0) - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -2561,7 +2561,7 @@ EvtScript N(EVS_TryJoiningTower) = { EVT_ADD(LVar2, 1) EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF // hide the status bar until the tower is formed diff --git a/src/battle/area/trd_part_3/actor/eldstar.c b/src/battle/area/trd_part_3/actor/eldstar.c index 42a17a1dd8..1b60a04ce2 100644 --- a/src/battle/area/trd_part_3/actor/eldstar.c +++ b/src/battle/area/trd_part_3/actor/eldstar.c @@ -51,7 +51,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -149,7 +149,7 @@ API_CALLABLE(N(func_80218170_4CF320)) { script->functionTemp[0] = 10; } - battleStatus->flags2 &= ~BS_FLAGS2_2; + battleStatus->flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; if (script->functionTemp[0] != 0) { script->functionTemp[0]--; @@ -166,7 +166,7 @@ API_CALLABLE(N(func_802181B4_4CF364)) { script->functionTemp[0] = 10; } - battleStatus->flags2 &= ~BS_FLAGS2_4; + battleStatus->flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; if (script->functionTemp[0] != 0) { script->functionTemp[0]--; diff --git a/src/battle/battle.c b/src/battle/battle.c index 768fa35010..f3d043e743 100644 --- a/src/battle/battle.c +++ b/src/battle/battle.c @@ -192,15 +192,15 @@ void setup_demo_player(void) { playerData->curPartner = PARTNER_GOOMBARIO; for (i = 0; i < ARRAY_COUNT(playerData->badges); i++) { - playerData->badges[i] = 0; + playerData->badges[i] = ITEM_NONE; } for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++) { - playerData->equippedBadges[i] = 0; + playerData->equippedBadges[i] = ITEM_NONE; } for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - playerData->invItems[i] = 0; + playerData->invItems[i] = ITEM_NONE; } playerData->unk_288 = 0; @@ -238,7 +238,7 @@ void load_demo_battle(u32 index) { func_80138188(); reset_battle_status(); clear_encounter_status(); - clear_entity_data(1); + clear_entity_data(TRUE); clear_effect_data(); clear_player_status(); clear_printers(); @@ -288,7 +288,7 @@ void load_demo_battle(u32 index) { } gGameStatusPtr->debugEnemyContact = DEBUG_CONTACT_NONE; - gGameStatusPtr->unk_7C = 1; + gGameStatusPtr->healthBarsEnabled = TRUE; switch (mode) { case 0: @@ -329,6 +329,6 @@ void load_demo_battle(u32 index) { gCurrentEncounter.instigatorValue = 0; set_battle_stage(BTL_STAGE_DEFAULT); gGameStatusPtr->demoBattleFlags |= DEMO_BTL_FLAG_ENABLED; - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; load_battle(battleID); } diff --git a/src/16F740.c b/src/battle/btl_states_actions.c similarity index 90% rename from src/16F740.c rename to src/battle/btl_states_actions.c index 846b58539b..2b1638c575 100644 --- a/src/16F740.c +++ b/src/battle/btl_states_actions.c @@ -19,10 +19,10 @@ extern EvtScript EVS_Peach_OnActorCreate; BSS s32 BattleEnemiesCreated; BSS u8 D_8029F244; -BSS s32 D_8029F248; +BSS s32 BattleSubStateDelay; // generic delay time usable for various substates BSS s32 D_8029F24C; BSS s32 RunAwayRewardStep; -BSS s32 D_8029F254; +BSS b32 D_8029F254; BSS s32 D_8029F258; BSS s32 RunAwayRewardTotal; BSS s32 RunAwayRewardIncrement; @@ -278,7 +278,7 @@ void btl_state_update_normal_start(void) { gBattleStatus.flags2 &= ~BS_FLAGS2_CANT_FLEE; } battleStatus->endBattleFadeOutRate = 10; - battleStatus->unk_95 = 0; + battleStatus->waitForState = BATTLE_STATE_0; battleStatus->hammerLossTurns = -1; battleStatus->jumpLossTurns = -1; battleStatus->itemLossTurns = -1; @@ -300,12 +300,12 @@ void btl_state_update_normal_start(void) { battleStatus->hustleTurns = 0; battleStatus->unk_93 = 0; battleStatus->unk_94 = 0; - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; - gBattleStatus.flags2 &= ~BS_FLAGS2_100; - gBattleStatus.flags2 &= ~BS_FLAGS2_200; + gBattleStatus.flags2 &= ~BS_FLAGS2_STORED_TURBO_CHARGE_TURN; + gBattleStatus.flags2 &= ~BS_FLAGS2_DOING_JUMP_TUTORIAL; for (i = 0; i < ARRAY_COUNT(battleStatus->varTable); i++) { battleStatus->varTable[i] = 0; @@ -471,7 +471,7 @@ void btl_state_update_normal_start(void) { } BattleScreenFadeAmt = 305; - D_8029F248 = 0; + BattleSubStateDelay = 0; gBattleSubState = BTL_SUBSTATE_NORMAL_START_FADE_IN; break; } @@ -482,8 +482,8 @@ void btl_state_update_normal_start(void) { break; } - D_8029F248++; - if (D_8029F248 == 15) { + BattleSubStateDelay++; + if (BattleSubStateDelay == 15) { btl_cam_use_preset(BTL_CAM_DEFAULT); } @@ -535,18 +535,18 @@ void btl_state_update_begin_turn(void) { s16* enemyIDs; if (gBattleSubState == BTL_SUBSTATE_BEGIN_TURN_INIT) { - battleStatus->flags2 &= ~BS_FLAGS2_2; - battleStatus->flags2 &= ~BS_FLAGS2_4; + battleStatus->flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + battleStatus->flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; battleStatus->flags2 &= ~BS_FLAGS2_8; battleStatus->flags2 &= ~BS_FLAGS2_10; battleStatus->merleeAttackBoost = 0; battleStatus->merleeDefenseBoost = 0; - battleStatus->flags2 &= ~BS_FLAGS2_1000000; + battleStatus->flags2 &= ~BS_FLAGS2_IS_FIRST_STRIKE; - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; player->disableDismissTimer = 0; if (partner != NULL) { - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; partner->disableDismissTimer = 0; } @@ -725,17 +725,17 @@ void btl_state_update_begin_player_turn(void) { battleStatus->blockResult = BLOCK_RESULT_NONE; battleStatus->selectedMoveID = 0; gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; - gBattleStatus.flags2 &= ~BS_FLAGS2_1000000; + gBattleStatus.flags2 &= ~BS_FLAGS2_IS_FIRST_STRIKE; player->disableDismissTimer = 0; - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; if (partner != NULL) { - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; partner->disableDismissTimer = 0; } battleStatus->stateFreezeCount = 0; - D_8029F254 = 0; + D_8029F254 = FALSE; D_8029F258 = 0; if (battleStatus->outtaSightActive == 0) { @@ -754,7 +754,7 @@ void btl_state_update_begin_player_turn(void) { if (!does_script_exist(partner->handleBatttlePhaseScriptID)) { battleStatus->outtaSightActive = 0; gBattleSubState = BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_WATER_BLOCK; - gBattleStatus.flags2 |= BS_FLAGS2_4; + gBattleStatus.flags2 |= BS_FLAGS2_PARTNER_TURN_USED; } break; } @@ -767,7 +767,7 @@ void btl_state_update_begin_player_turn(void) { battleStatus->buffEffect->data.partnerBuff->unk_0C[FX_BUFF_DATA_WATER_BLOCK].turnsLeft = battleStatus->waterBlockTurnsLeft; if (battleStatus->waterBlockTurnsLeft <= 0) { battleStatus->waterBlockEffect->flags |= FX_INSTANCE_FLAG_DISMISS; - fx_water_block(1, player->curPos.x, player->curPos.y + 18.0f, player->curPos.z + 5.0f, 1.5f, 10); + fx_water_block(FX_WATER_BLOCK_DESTROY, player->curPos.x, player->curPos.y + 18.0f, player->curPos.z + 5.0f, 1.5f, 10); fx_water_splash(0, player->curPos.x - 10.0f, player->curPos.y + 5.0f, player->curPos.z + 5.0f, 1.0f, 24); fx_water_splash(0, player->curPos.x - 15.0f, player->curPos.y + 32.0f, player->curPos.z + 5.0f, 1.0f, 24); fx_water_splash(1, player->curPos.x + 15.0f, player->curPos.y + 22.0f, player->curPos.z + 5.0f, 1.0f, 24); @@ -818,8 +818,8 @@ void btl_state_update_begin_player_turn(void) { switch (gBattleSubState) { case BTL_SUBSTATE_BEGIN_PLAYER_TURN_CHECK_TURBO_CHARGE: if (battleStatus->turboChargeTurnsLeft != 0) { - if (gBattleStatus.flags2 & BS_FLAGS2_100) { - gBattleStatus.flags2 &= ~BS_FLAGS2_100; + if (gBattleStatus.flags2 & BS_FLAGS2_STORED_TURBO_CHARGE_TURN) { + gBattleStatus.flags2 &= ~BS_FLAGS2_STORED_TURBO_CHARGE_TURN; gBattleSubState = BTL_SUBSTATE_BEGIN_PLAYER_TURN_TRY_STATUS_DAMAGE; } else { battleStatus->turboChargeTurnsLeft--; @@ -881,9 +881,9 @@ back: return; } - D_8029F254 = 0; + D_8029F254 = FALSE; player->disableDismissTimer = 0; - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; if (is_ability_active(ABILITY_FEELING_FINE)) { if (player->debuff != 0) { @@ -931,7 +931,7 @@ back: if (player->debuff != 0) { if (player->debuff < 9) { - D_8029F254 = 1; + D_8029F254 = TRUE; } D_8029F258 = 20; player->debuffDuration--; @@ -967,7 +967,7 @@ back: Actor* enemy = battleStatus->enemyActors[i]; if (enemy != NULL) { - enemy->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + enemy->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; if (enemy->chillOutTurns != 0) { enemy->chillOutTurns--; if (enemy->chillOutTurns == 0) { @@ -996,8 +996,8 @@ back: player->takeTurnScriptID = script->id; script->owner1.actorID = ACTOR_PLAYER; script->varTable[0] = temp; - temp += 8; - script->varTable[10] = 1; // hammer + temp += 8; // temp here should be named itemSpawnOffsetX + script->varTable[10] = BTL_MENU_TYPE_SMASH; battleStatus->stateFreezeCount = 1; } } @@ -1011,7 +1011,7 @@ back: script->owner1.actorID = ACTOR_PLAYER; script->varTable[0] = temp; temp += 8; - script->varTable[10] = 0; // jump + script->varTable[10] = BTL_MENU_TYPE_JUMP; battleStatus->stateFreezeCount = 1; } } @@ -1025,7 +1025,7 @@ back: script->owner1.actorID = ACTOR_PLAYER; script->varTable[0] = temp; temp += 8; - script->varTable[10] = 2; // item + script->varTable[10] = BTL_MENU_TYPE_ITEMS; battleStatus->stateFreezeCount = 1; } } @@ -1045,11 +1045,11 @@ back: return; } - if (D_8029F254 == 0) { + if (!D_8029F254) { btl_set_state(BATTLE_STATE_SWITCH_TO_PLAYER); } else{ btl_set_state(BATTLE_STATE_BEGIN_PARTNER_TURN); - gBattleStatus.flags2 |= BS_FLAGS2_2; + gBattleStatus.flags2 |= BS_FLAGS2_PLAYER_TURN_USED; } } } @@ -1070,9 +1070,9 @@ void btl_state_update_switch_to_player(void) { gBattleStatus.actionResult = ACTION_RESULT_NONE; gBattleStatus.blockResult = BLOCK_RESULT_NONE; gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; - player->flags |= ACTOR_FLAG_8000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; if (partner != NULL) { - partner->flags |= (ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + partner->flags |= (ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); } for (i = 0; i < ARRAY_COUNT(gBattleStatus.enemyActors); i++) { @@ -1080,7 +1080,7 @@ void btl_state_update_switch_to_player(void) { if (enemy != NULL) { enemy->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; - enemy->flags |= ACTOR_FLAG_8000000; + enemy->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; } } @@ -1100,9 +1100,9 @@ void btl_state_update_begin_partner_turn(void) { if (gBattleSubState == BTL_SUBSTATE_BEGIN_PARTNER_TURN_INIT) { if (partner == NULL) { - D_8029F254 = 1; + D_8029F254 = TRUE; gBattleSubState = BTL_SUBSTATE_BEGIN_PARTNER_TURN_END_DELAY; - } else if ((battleStatus->flags2 & (BS_FLAGS2_4 | BS_FLAGS2_2)) != (BS_FLAGS2_4 | BS_FLAGS2_2)) { + } else if ((battleStatus->flags2 & (BS_FLAGS2_PARTNER_TURN_USED | BS_FLAGS2_PLAYER_TURN_USED)) != (BS_FLAGS2_PARTNER_TURN_USED | BS_FLAGS2_PLAYER_TURN_USED)) { if (!(partner->flags & ACTOR_FLAG_NO_ATTACK)) { btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(5); @@ -1124,14 +1124,14 @@ void btl_state_update_begin_partner_turn(void) { partner = battleStatus->partnerActor; battleStatus->actionResult = ACTION_RESULT_NONE; battleStatus->blockResult = BLOCK_RESULT_NONE; - D_8029F254 = 0; + D_8029F254 = FALSE; gBattleStatus.flags1 |= BS_FLAGS1_PARTNER_ACTING; gBattleStatus.flags2 |= BS_FLAGS1_PLAYER_IN_BACK; - partner->flags |= ACTOR_FLAG_8000000; + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; if (partner->koStatus != 0) { partner->koDuration--; - D_8029F254 = 1; + D_8029F254 = TRUE; D_8029F258 = 20; if (partner->koDuration > 0) { partner->disableEffect->data.disableX->koDuration = partner->koDuration; @@ -1146,7 +1146,7 @@ void btl_state_update_begin_partner_turn(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemy = battleStatus->enemyActors[i]; if (enemy != NULL) { - enemy->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + enemy->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; } } gBattleSubState = BTL_SUBSTATE_BEGIN_PARTNER_TURN_AWAIT_RECOVER_DONE; @@ -1155,11 +1155,10 @@ void btl_state_update_begin_partner_turn(void) { if (gBattleSubState == BTL_SUBSTATE_BEGIN_PARTNER_TURN_AWAIT_RECOVER_DONE) { if (partner != NULL) { - if (partner->handleEventScript == NULL || !does_script_exist(partner->handleEventScriptID)) { - partner->handleEventScript = NULL; - } else { - goto block_27; // TODO find a way to remove + if (partner->handleEventScript != NULL && does_script_exist(partner->handleEventScriptID)) { + goto WAITING; } + partner->handleEventScript = NULL; } gBattleStatus.flags2 &= ~BS_FLAGS2_8; @@ -1168,8 +1167,8 @@ void btl_state_update_begin_partner_turn(void) { } gBattleSubState = BTL_SUBSTATE_BEGIN_PARTNER_TURN_EXEC_TURN_SCRIPT; } + WAITING: -block_27: if (gBattleSubState == BTL_SUBSTATE_BEGIN_PARTNER_TURN_EXEC_TURN_SCRIPT) { if (partner->handlePhaseSource != NULL) { battleStatus->battlePhase = PHASE_ENEMY_BEGIN; @@ -1192,11 +1191,11 @@ block_27: D_8029F258--; return; } - gBattleStatus.flags2 &= ~BS_FLAGS2_100000; - if (D_8029F254 == 0) { + gBattleStatus.flags2 &= ~BS_FLAGS2_NO_PLAYER_PAL_ADJUST; + if (!D_8029F254) { btl_set_state(BATTLE_STATE_SWITCH_TO_PARTNER); } else { - gBattleStatus.flags2 |= BS_FLAGS2_4; + gBattleStatus.flags2 |= BS_FLAGS2_PARTNER_TURN_USED; btl_set_state(BATTLE_STATE_9); } } @@ -1217,14 +1216,14 @@ void btl_state_update_switch_to_partner(void) { gBattleStatus.actionResult = ACTION_RESULT_NONE; gBattleStatus.blockResult = BLOCK_RESULT_NONE; gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; - player->flags |= (ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); - partner->flags |= ACTOR_FLAG_8000000; + player->flags |= (ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; for (i = 0; i < ARRAY_COUNT(gBattleStatus.enemyActors); i++) { Actor* enemy = gBattleStatus.enemyActors[i]; if (enemy != NULL) { enemy->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; - enemy->flags |= ACTOR_FLAG_8000000; + enemy->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; } } @@ -1242,70 +1241,70 @@ void btl_state_update_9(void) { Actor* actor; ActorState* state; Evt* script; - s32 cond; + s32 waitingForScript; s32 i; s32 oldKoDuration; if (gBattleSubState == BTL_SUBSTATE_9_INIT) { - if (gBattleStatus.flags2 & BS_FLAGS2_2) { - if (partner != NULL) { - if (!(gBattleStatus.flags2 & BS_FLAGS2_4) && !(partner->flags & ACTOR_FLAG_NO_ATTACK)) { - btl_set_state(BATTLE_STATE_SWITCH_TO_PARTNER); - return; - } - } - - player->flags &= ~ACTOR_FLAG_8000000; - player->flags |= ACTOR_FLAG_4000000; - if (partner != NULL) { - partner->flags &= ~ACTOR_FLAG_8000000; - partner->flags |= ACTOR_FLAG_4000000; - } - - gBattleSubState = BTL_SUBSTATE_9_1; - D_8029F258 = 0; - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; - gBattleStatus.flags2 &= ~BS_FLAGS2_8; - gBattleStatus.flags2 &= ~BS_FLAGS2_10; - } else { + if (!(gBattleStatus.flags2 & BS_FLAGS2_PLAYER_TURN_USED)) { btl_set_state(BATTLE_STATE_SWITCH_TO_PLAYER); return; } + + if (partner != NULL) { + if (!(gBattleStatus.flags2 & BS_FLAGS2_PARTNER_TURN_USED) && !(partner->flags & ACTOR_FLAG_NO_ATTACK)) { + btl_set_state(BATTLE_STATE_SWITCH_TO_PARTNER); + return; + } + } + + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + player->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + if (partner != NULL) { + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + partner->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + } + + gBattleSubState = BTL_SUBSTATE_9_1; + D_8029F258 = 0; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_8; + gBattleStatus.flags2 &= ~BS_FLAGS2_10; } if (gBattleSubState == BTL_SUBSTATE_9_1) { - cond = FALSE; + waitingForScript = FALSE; for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL && actor->handleEventScript != NULL) { if (does_script_exist(actor->handleEventScriptID)) { - cond = TRUE; + waitingForScript = TRUE; } else { actor->handleEventScript = NULL; } } } - if (!cond) { + if (!waitingForScript) { reset_actor_turn_info(); for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL) { - actor->flags |= ACTOR_FLAG_4000000 | ACTOR_FLAG_8000000; - actor->flags &= ~ACTOR_FLAG_10000; + actor->flags |= ACTOR_FLAG_USING_IDLE_ANIM | ACTOR_FLAG_SHOW_STATUS_ICONS; + actor->flags &= ~ACTOR_FLAG_SKIP_TURN; if (actor->debuff != 0) { - if (actor->debuff == STATUS_KEY_FEAR || - actor->debuff == STATUS_KEY_DIZZY || - actor->debuff == STATUS_KEY_PARALYZE || - actor->debuff == STATUS_KEY_SLEEP || - actor->debuff == STATUS_KEY_FROZEN || - actor->debuff == STATUS_KEY_STOP) - { - actor->flags |= ACTOR_FLAG_10000; + if (actor->debuff == STATUS_KEY_FEAR + || actor->debuff == STATUS_KEY_DIZZY + || actor->debuff == STATUS_KEY_PARALYZE + || actor->debuff == STATUS_KEY_SLEEP + || actor->debuff == STATUS_KEY_FROZEN + || actor->debuff == STATUS_KEY_STOP + ) { + actor->flags |= ACTOR_FLAG_SKIP_TURN; } actor->debuffDuration--; if (actor->debuffDuration <= 0) { @@ -1363,64 +1362,72 @@ void btl_state_update_9(void) { } if (gBattleSubState == BTL_SUBSTATE_9_2) { - if(player->handleEventScript == NULL || !does_script_exist(player->handleEventScriptID)) { - player->handleEventScript = NULL; - if (partner != NULL) { - if (partner->handleEventScript == NULL || !does_script_exist(partner->handleEventScriptID)) { - partner->handleEventScript = NULL; - goto block_52; // TODO find a way to remove - } - } else { - block_52: - cond = FALSE; - for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { - actor = battleStatus->enemyActors[i]; - if ((actor != NULL) && (actor->handleEventScript != NULL)) { - if (does_script_exist(actor->handleEventScriptID)) { - cond = TRUE; - } else { - actor->handleEventScript = NULL; - } - } - } + // wait for player HandleEvent script to finish + if(player->handleEventScript != NULL && does_script_exist(player->handleEventScriptID)) { + goto WAITING; + } + player->handleEventScript = NULL; - if (!cond) { - if (btl_check_player_defeated() || btl_check_enemies_defeated()) { - return; - } + // wait for partner HandleEvent script to finish + if (partner != NULL) { + if (partner->handleEventScript != NULL && does_script_exist(partner->handleEventScriptID)) { + goto WAITING; + } + partner->handleEventScript = NULL; + } - btl_cam_use_preset(BTL_CAM_DEFAULT); - if (partner == NULL || !(gBattleStatus.flags1 & BS_FLAGS1_PLAYER_IN_BACK)) { - gBattleSubState = BTL_SUBSTATE_9_4; - } else if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { - gBattleSubState = BTL_SUBSTATE_9_4; - } else { - player->flags &= ~ACTOR_FLAG_8000000; - partner->flags &= ~ACTOR_FLAG_8000000; - player->flags |= ACTOR_FLAG_4000000; - partner->flags |= ACTOR_FLAG_4000000; - state = &partner->state; - if (!battleStatus->outtaSightActive) { - partner->state.curPos.x = partner->homePos.x; - partner->state.curPos.z = partner->homePos.z; - partner->state.goalPos.x = player->homePos.x; - partner->state.goalPos.z = player->homePos.z; - } else { - partner->state.curPos.x = partner->homePos.x; - partner->state.curPos.z = partner->homePos.z; - partner->state.goalPos.x = partner->homePos.x; - partner->state.goalPos.z = partner->homePos.z + 5.0f; - partner->homePos.x = player->homePos.x; - partner->homePos.z = player->homePos.z; - } - state->moveTime = 4; - state->angle = 0.0f; - gBattleSubState = BTL_SUBSTATE_9_3; - } + // wait for all enemy HandleEvent scripts to finish + waitingForScript = FALSE; + + for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { + actor = battleStatus->enemyActors[i]; + if (actor != NULL && actor->handleEventScript != NULL) { + if (does_script_exist(actor->handleEventScriptID)) { + waitingForScript = TRUE; + } else { + actor->handleEventScript = NULL; } } } + + if (waitingForScript) { + goto WAITING; + } + + if (btl_check_player_defeated() || btl_check_enemies_defeated()) { + return; + } + + btl_cam_use_preset(BTL_CAM_DEFAULT); + if (partner == NULL || !(gBattleStatus.flags1 & BS_FLAGS1_PLAYER_IN_BACK)) { + gBattleSubState = BTL_SUBSTATE_9_4; + } else if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { + gBattleSubState = BTL_SUBSTATE_9_4; + } else { + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + player->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + partner->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + state = &partner->state; + if (!battleStatus->outtaSightActive) { + partner->state.curPos.x = partner->homePos.x; + partner->state.curPos.z = partner->homePos.z; + partner->state.goalPos.x = player->homePos.x; + partner->state.goalPos.z = player->homePos.z; + } else { + partner->state.curPos.x = partner->homePos.x; + partner->state.curPos.z = partner->homePos.z; + partner->state.goalPos.x = partner->homePos.x; + partner->state.goalPos.z = partner->homePos.z + 5.0f; + partner->homePos.x = player->homePos.x; + partner->homePos.z = player->homePos.z; + } + state->moveTime = 4; + state->angle = 0.0f; + gBattleSubState = BTL_SUBSTATE_9_3; + } } + WAITING: if (gBattleSubState == BTL_SUBSTATE_9_3) { if (partner->state.moveTime != 0) { @@ -1452,7 +1459,7 @@ void btl_state_update_9(void) { player->homePos.z = player->curPos.z; } gBattleSubState = BTL_SUBSTATE_9_4; - gBattleStatus.flags1 &= ~ACTOR_FLAG_100000; + gBattleStatus.flags1 &= ~BS_FLAGS1_PLAYER_IN_BACK; } } @@ -1470,15 +1477,15 @@ void btl_state_update_9(void) { script->owner1.actorID = ACTOR_PLAYER; } gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; - player->flags &= ~ACTOR_FLAG_8000000; - player->flags |= ACTOR_FLAG_4000000; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + player->flags |= ACTOR_FLAG_USING_IDLE_ANIM; if (partner != NULL) { - partner->flags &= ~ACTOR_FLAG_8000000; - partner->flags |= ACTOR_FLAG_4000000; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + partner->flags |= ACTOR_FLAG_USING_IDLE_ANIM; } gBattleSubState = BTL_SUBSTATE_9_5; - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; } @@ -1502,15 +1509,15 @@ void btl_state_update_9(void) { } } - cond = FALSE; + waitingForScript = FALSE; if (gBattleSubState == BTL_SUBSTATE_9_6) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL && actor->handlePhaseSource != NULL && does_script_exist(actor->handleBatttlePhaseScriptID)) { - cond = TRUE; + waitingForScript = TRUE; } } - if (!cond) { + if (!waitingForScript) { gBattleSubState = BTL_SUBSTATE_9_7; } } @@ -1537,7 +1544,7 @@ void btl_state_update_prepare_menu(void) { battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STAR_POWER] = -1; battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_STRATEGY] = -1; - DMA_COPY_SEGMENT(_415D90); + DMA_COPY_SEGMENT(btl_states_menus); if (battleStatus->flags1 & BS_FLAGS1_PARTNER_ACTING) { btl_set_state(BATTLE_STATE_PARTNER_MENU); @@ -1602,10 +1609,10 @@ void btl_state_update_end_turn(void) { } else if (!(gBattleStatus.flags1 & BS_FLAGS1_PLAYER_IN_BACK)) { gBattleSubState = BTL_SUBSTATE_END_TURN_START_SCRIPTS; } else { - player->flags &= ~ACTOR_FLAG_8000000; - partner->flags &= ~ACTOR_FLAG_8000000; - player->flags |= ACTOR_FLAG_4000000; - partner->flags |= ACTOR_FLAG_4000000; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + player->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + partner->flags |= ACTOR_FLAG_USING_IDLE_ANIM; partner->state.curPos.x = partner->homePos.x; partner->state.curPos.z = partner->homePos.z; partner->state.goalPos.x = player->homePos.x; @@ -1639,8 +1646,8 @@ void btl_state_update_end_turn(void) { partner->homePos.z = partner->curPos.z; player->homePos.x = player->curPos.x; player->homePos.z = player->curPos.z; - player->flags |= ACTOR_FLAG_8000000; - partner->flags |= ACTOR_FLAG_8000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { gBattleStatus.flags1 |= BS_FLAGS1_PLAYER_IN_BACK; } else { @@ -1653,9 +1660,9 @@ void btl_state_update_end_turn(void) { if (gBattleSubState == BTL_SUBSTATE_END_TURN_START_SCRIPTS) { gBattleStatus.flags2 &= ~BS_FLAGS2_10000; player->disableDismissTimer = 0; - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; if (partner != NULL) { - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; partner->disableDismissTimer = 0; } @@ -1738,9 +1745,9 @@ void btl_state_update_victory(void) { switch (gBattleSubState) { case BTL_SUBSTATE_VICTORY_CHECK_OUTTA_SIGHT: - player->flags &= ~(ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + player->flags &= ~(ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); if (partner != NULL) { - partner->flags &= ~(ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + partner->flags &= ~(ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); } battleStatus->stateFreezeCount = 0; @@ -1748,7 +1755,7 @@ void btl_state_update_victory(void) { gBattleSubState = BTL_SUBSTATE_VICTORY_RECOVER_STATUS; } else { if (battleStatus->outtaSightActive > 0) { - D_8029F254 = 1; + D_8029F254 = TRUE; } battleStatus->battlePhase = PHASE_ENEMY_BEGIN; script = start_script(partner->handlePhaseSource, EVT_PRIORITY_A, 0); @@ -1769,13 +1776,13 @@ void btl_state_update_victory(void) { switch (gBattleSubState) { case BTL_SUBSTATE_VICTORY_RECOVER_STATUS: - player->flags &= ~(ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + player->flags &= ~(ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); if (partner != NULL) { - partner->flags &= ~(ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + partner->flags &= ~(ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); } gBattleSubState = BTL_SUBSTATE_VICTORY_CHECK_SWAP; - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; @@ -1881,13 +1888,13 @@ void btl_state_update_victory(void) { } } gBattleSubState = BTL_SUBSTATE_VICTORY_AWAIT_MERLEE; - D_8029F248 = 0; + BattleSubStateDelay = 0; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; } if (gBattleSubState == BTL_SUBSTATE_VICTORY_AWAIT_MERLEE) { - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { if (player->takeTurnScript == NULL || !does_script_exist(player->takeTurnScriptID)) { player->takeTurnScript = NULL; @@ -1942,13 +1949,13 @@ void btl_state_update_end_training_battle(void) { switch (gBattleSubState) { case BTL_SUBSTATE_END_TRAINING_INIT: - player->flags &= ~(ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + player->flags &= ~(ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); if (partner != NULL) { - partner->flags &= ~(ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + partner->flags &= ~(ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); } gBattleSubState = BTL_SUBSTATE_END_TRAINING_CHECK_OUTTA_SIGHT; - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; @@ -1997,8 +2004,8 @@ void btl_state_update_end_training_battle(void) { switch (gBattleSubState) { case BTL_SUBSTATE_END_TRAINING_CHECK_OUTTA_SIGHT: battleStatus->stateFreezeCount = 0; - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; @@ -2024,12 +2031,12 @@ void btl_state_update_end_training_battle(void) { switch (gBattleSubState) { case BTL_SUBSTATE_END_TRAINING_RESET_CAM: btl_cam_use_preset(BTL_CAM_DEFAULT); - D_8029F248 = 30; + BattleSubStateDelay = 30; gBattleSubState = BTL_SUBSTATE_END_TRAINING_DONE; break; case BTL_SUBSTATE_END_TRAINING_DONE: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; return; } if (playerData->trainingsDone < 9999) { @@ -2207,7 +2214,7 @@ void btl_state_update_run_away(void) { case BTL_SUBSTATE_RUN_AWAY_EXEC_SCRIPT: battleStatus->stateFreezeCount = 0; gBattleStatus.flags1 &= ~BS_FLAGS1_BATTLE_FLED; - gBattleStatus.flags2 |= BS_FLAGS2_10 | BS_FLAGS2_8 | BS_FLAGS2_4 | BS_FLAGS2_2; + gBattleStatus.flags2 |= BS_FLAGS2_10 | BS_FLAGS2_8 | BS_FLAGS2_PARTNER_TURN_USED | BS_FLAGS2_PLAYER_TURN_USED; playerData->unk_2A6++; btl_cam_use_preset(BTL_CAM_PRESET_25); btl_cam_target_actor(ACTOR_PLAYER); @@ -2341,8 +2348,8 @@ void btl_state_update_run_away(void) { gBattleSubState = BTL_SUBSTATE_RUN_AWAY_AWAIT_POST_FAILURE; break; case BTL_SUBSTATE_RUN_AWAY_AWAIT_POST_FAILURE: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; return; } if (!does_script_exist(player->takeTurnScriptID) @@ -2368,8 +2375,8 @@ void btl_state_update_defeat(void) { switch (gBattleSubState) { case BTL_SUBSTATE_DEFEAT_INIT: battleStatus->flags1 &= ~BS_FLAGS1_SHOW_PLAYER_DECORATIONS; - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; gBattleStatus.flags2 &= ~BS_FLAGS2_8; gBattleStatus.flags2 &= ~BS_FLAGS2_10; battleStatus->stateFreezeCount = 0; @@ -2463,8 +2470,8 @@ void btl_state_update_change_partner(void) { switch (gBattleSubState) { case BTL_SUBSTATE_CHANGE_PARTNER_INIT: - player->flags &= ~ACTOR_FLAG_8000000; - partner->flags &= ~ACTOR_FLAG_8000000; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; battleStatus->stateFreezeCount = 0; gBattleStatus.flags2 |= BS_FLAGS2_10; btl_cam_use_preset(BTL_CAM_PRESET_19); @@ -2477,17 +2484,17 @@ void btl_state_update_change_partner(void) { enemyActor = battleStatus->enemyActors[i]; if (enemyActor != NULL) { enemyActor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; - enemyActor->flags &= ~ACTOR_FLAG_8000000; + enemyActor->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; } } battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] = -1; - D_8029F248 = 10; + BattleSubStateDelay = 10; gBattleSubState = BTL_SUBSTATE_CHANGE_PARTNER_EXEC_PUT_AWAY; case BTL_SUBSTATE_CHANGE_PARTNER_EXEC_PUT_AWAY: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; break; } deduct_current_move_fp(); @@ -2605,9 +2612,9 @@ void btl_state_update_player_move(void) { gBattleStatus.flags1 &= ~BS_FLAGS1_AUTO_SUCCEED_ACTION; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; reset_actor_turn_info(); - player->flags &= ~ACTOR_FLAG_8000000; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; if (partner != NULL) { - partner->flags &= ~ACTOR_FLAG_8000000; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; } btl_cam_target_actor(ACTOR_PLAYER); gBattleStatus.flags1 &= ~BS_FLAGS1_SHOW_PLAYER_DECORATIONS; @@ -2626,7 +2633,7 @@ void btl_state_update_player_move(void) { actor = battleStatus->enemyActors[i]; if (actor != NULL) { actor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; - actor->flags &= ~ACTOR_FLAG_8000000; + actor->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; } } @@ -2662,16 +2669,16 @@ void btl_state_update_player_move(void) { if (battleStatus->selectedMoveID != MOVE_NONE) { tipIndex = gMoveTable[battleStatus->selectedMoveID].actionTip; if (tipIndex >= 0) { - btl_show_battle_message(BTL_MSG_ACTION_TIP_00 + tipIndex, 60); + btl_show_battle_message(BTL_MSG_FIRST_ACTION_TIP + tipIndex, 60); } } } - D_8029F248 = 2; + BattleSubStateDelay = 2; gBattleSubState = BTL_SUBSTATE_PLAYER_MOVE_SHOW_TIP_DELAY; break; case BTL_SUBSTATE_PLAYER_MOVE_SHOW_TIP_DELAY: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { gBattleSubState = BTL_SUBSTATE_PLAYER_MOVE_EXECUTE_MOVE; } @@ -2802,7 +2809,7 @@ void btl_state_update_player_move(void) { for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { actor = battleStatus->enemyActors[i]; if (actor != NULL && !(actor->flags & ACTOR_FLAG_NO_DMG_APPLY)) { - actor->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + actor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; } } @@ -2868,13 +2875,13 @@ void btl_state_update_player_move(void) { if (!btl_is_popup_displayed()) { btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(15); - D_8029F248 = 10; + BattleSubStateDelay = 10; gBattleSubState = BTL_SUBSTATE_PLAYER_MOVE_POST_ENEMY_STATUS_POPUP; } break; case BTL_SUBSTATE_PLAYER_MOVE_POST_ENEMY_STATUS_POPUP: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { gBattleSubState = BTL_SUBSTATE_PLAYER_MOVE_CHECK_PLAYER_STATUS; } @@ -2915,7 +2922,7 @@ void btl_state_update_player_move(void) { btl_show_battle_message(messageIndex, 60); player->statusAfflicted = 0; player->disableDismissTimer = 0; - player->flags |= ACTOR_FLAG_8000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; gBattleSubState = BTL_SUBSTATE_PLAYER_MOVE_AWAIT_PLAYER_STATUS_POPUP; } else { @@ -2926,13 +2933,13 @@ void btl_state_update_player_move(void) { if (!btl_is_popup_displayed()) { btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(15); - D_8029F248 = 10; + BattleSubStateDelay = 10; gBattleSubState = BTL_SUBSTATE_PLAYER_MOVE_POST_PLAYER_STATUS_POPUP; } break; case BTL_SUBSTATE_PLAYER_MOVE_POST_PLAYER_STATUS_POPUP: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { gBattleSubState = BTL_SUBSTATE_PLAYER_MOVE_AWAIT_DONE; } @@ -3075,9 +3082,9 @@ void btl_state_update_end_player_turn(void) { if (battleStatus->moveCategory == BTL_MENU_TYPE_ITEMS && battleStatus->itemUsesLeft >= 2) { btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(10); - gBattleStatus.flags2 &= ~BS_FLAGS2_2; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; } else { - gBattleStatus.flags2 |= BS_FLAGS2_2; + gBattleStatus.flags2 |= BS_FLAGS2_PLAYER_TURN_USED; } if (battleStatus->unk_94 < 0) { @@ -3103,7 +3110,7 @@ void btl_state_update_end_player_turn(void) { } if (battleStatus->hustleTurns != 0 && (gBattleStatus.flags1 & BS_FLAGS1_HUSTLED)) { - gBattleStatus.flags2 &= ~BS_FLAGS2_2; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; btl_set_state(BATTLE_STATE_PREPARE_MENU); return; } else { @@ -3120,7 +3127,7 @@ void btl_state_update_end_player_turn(void) { } if (battleStatus->hustleTurns != 0 && (gBattleStatus.flags1 & BS_FLAGS1_HUSTLED)) { - gBattleStatus.flags2 &= ~BS_FLAGS2_2; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; btl_set_state(BATTLE_STATE_PREPARE_MENU); } else { gBattleStatus.flags1 &= ~BS_FLAGS2_HAS_DRAINED_HP; @@ -3163,8 +3170,8 @@ void btl_state_update_partner_move(void) { gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; reset_actor_turn_info(); partner->statusAfflicted = 0; - partner->flags &= ~ACTOR_FLAG_8000000; - player->flags &= ~ACTOR_FLAG_8000000; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; deduct_current_move_fp(); btl_cam_target_actor(ACTOR_PARTNER); gBattleStatus.flags2 |= BS_FLAGS2_10; @@ -3184,7 +3191,7 @@ void btl_state_update_partner_move(void) { enemyActor = battleStatus->enemyActors[i]; if (enemyActor != NULL) { enemyActor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; - enemyActor->flags &= ~ACTOR_FLAG_8000000; + enemyActor->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; } } @@ -3278,7 +3285,7 @@ void btl_state_update_partner_move(void) { enemyActor = battleStatus->enemyActors[i]; if (enemyActor != NULL) { if (!(enemyActor->flags & ACTOR_FLAG_NO_DMG_APPLY)) { - enemyActor->flags |= (ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000); + enemyActor->flags |= (ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM); } } } @@ -3291,7 +3298,7 @@ void btl_state_update_partner_move(void) { partner->statusAfflicted = 0; partner->disableDismissTimer = 0; gBattleSubState = BTL_SUBSTATE_PARTNER_MOVE_AWAIT_PARTNER_STATUS_POPUP; - partner->flags |= ACTOR_FLAG_8000000; + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; } else { gBattleSubState = BTL_SUBSTATE_PARTNER_MOVE_CHECK_ENEMY_STATUS; } @@ -3302,12 +3309,12 @@ void btl_state_update_partner_move(void) { } btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(15); - D_8029F248 = 10; + BattleSubStateDelay = 10; gBattleSubState = BTL_SUBSTATE_PARTNER_MOVE_POST_PARTNER_STATUS_POPUP; break; case BTL_SUBSTATE_PARTNER_MOVE_POST_PARTNER_STATUS_POPUP: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { gBattleSubState = BTL_SUBSTATE_PARTNER_MOVE_CHECK_ENEMY_STATUS; } @@ -3379,13 +3386,13 @@ void btl_state_update_partner_move(void) { if (btl_is_popup_displayed() == FALSE) { btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(15); - D_8029F248 = 10; + BattleSubStateDelay = 10; gBattleSubState = BTL_SUBSTATE_PARTNER_MOVE_POST_ENEMY_STATUS_POPUP; } break; case BTL_SUBSTATE_PARTNER_MOVE_POST_ENEMY_STATUS_POPUP: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { gBattleSubState = BTL_SUBSTATE_PARTNER_MOVE_DONE; } @@ -3408,7 +3415,7 @@ void btl_state_update_end_partner_turn(void) { BattleStatus* battleStatus = &gBattleStatus; if (gBattleSubState == BTL_SUBSTATE_INIT) { - battleStatus->flags2 |= BS_FLAGS2_4; + battleStatus->flags2 |= BS_FLAGS2_PARTNER_TURN_USED; if (btl_check_enemies_defeated()) { return; } @@ -3496,7 +3503,7 @@ void btl_state_update_next_enemy(void) { if (enemy->stoneStatus == STATUS_KEY_STONE) { skipEnemy = TRUE; } - if (enemy->flags & ACTOR_FLAG_10000) { + if (enemy->flags & ACTOR_FLAG_SKIP_TURN) { skipEnemy = TRUE; } @@ -3512,16 +3519,16 @@ void btl_state_update_next_enemy(void) { gBattleStatus.flags1 &= ~BS_FLAGS1_AUTO_SUCCEED_ACTION; gBattleStatus.flags1 &= ~BS_FLAGS1_PARTNER_ACTING; - player->flags &= ~ACTOR_FLAG_8000000; - player->flags |= ACTOR_FLAG_4000000; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + player->flags |= ACTOR_FLAG_USING_IDLE_ANIM; if (partner != NULL) { - partner->flags &= ~ACTOR_FLAG_8000000; - partner->flags |= ACTOR_FLAG_4000000; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; + partner->flags |= ACTOR_FLAG_USING_IDLE_ANIM; } - gBattleStatus.flags2 &= ~BS_FLAGS2_2; - gBattleStatus.flags2 &= ~BS_FLAGS2_4; + gBattleStatus.flags2 &= ~BS_FLAGS2_PLAYER_TURN_USED; + gBattleStatus.flags2 &= ~BS_FLAGS2_PARTNER_TURN_USED; gBattleStatus.flags2 |= BS_FLAGS2_10000; D_8029F244 = enemy->unk_134; @@ -3576,9 +3583,9 @@ void btl_state_update_enemy_move(void) { case BTL_SUBSTATE_ENEMY_MOVE_UNUSED_1: gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; gBattleStatus.flags1 &= ~BS_FLAGS1_YIELD_TURN; - player->flags &= ~ACTOR_FLAG_8000000; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; if (partner != NULL) { - partner->flags &= ~ACTOR_FLAG_8000000; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; } battleStatus->stateFreezeCount = 0; battleStatus->lastAttackDamage = 0; @@ -3593,7 +3600,7 @@ void btl_state_update_enemy_move(void) { partner->statusAfflicted = 0; } - gBattleStatus.flags2 |= BS_FLAGS2_4000; + gBattleStatus.flags2 |= BS_FLAGS2_IGNORE_DARKNESS; for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { enemy = battleStatus->enemyActors[i]; if (enemy != NULL) { @@ -3605,7 +3612,7 @@ void btl_state_update_enemy_move(void) { enemy = battleStatus->enemyActors[i]; if (enemy != NULL) { if (!(enemy->flags & ACTOR_FLAG_NO_DMG_APPLY)) { - enemy->flags &= ~ACTOR_FLAG_8000000; + enemy->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; } } } @@ -3675,7 +3682,7 @@ void btl_state_update_enemy_move(void) { } gBattleStatus.flags1 &= ~BS_FLAGS1_EXECUTING_MOVE; - gBattleStatus.flags2 &= ~BS_FLAGS2_4000; + gBattleStatus.flags2 &= ~BS_FLAGS2_IGNORE_DARKNESS; if (btl_check_enemies_defeated()) { return; } @@ -3689,9 +3696,9 @@ void btl_state_update_enemy_move(void) { } else { btl_update_ko_status(); if (player->statusAfflicted != 0) { - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; if (partner != NULL) { - partner->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; } btl_cam_use_preset(BTL_CAM_PLAYER_STATUS_AFFLICTED); @@ -3733,13 +3740,13 @@ void btl_state_update_enemy_move(void) { if (!btl_is_popup_displayed()) { btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(15); - D_8029F248 = 10; + BattleSubStateDelay = 10; gBattleSubState = BTL_SUBSTATE_ENEMY_MOVE_POST_PLAYER_POPUP_DELAY; } break; case BTL_SUBSTATE_ENEMY_MOVE_POST_PLAYER_POPUP_DELAY: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { gBattleSubState = BTL_SUBSTATE_ENEMY_MOVE_CHECK_PARTNER; break; @@ -3751,8 +3758,8 @@ void btl_state_update_enemy_move(void) { case BTL_SUBSTATE_ENEMY_MOVE_CHECK_PARTNER: if (partner != NULL) { if (partner->statusAfflicted == STATUS_KEY_DAZE) { - player->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; - partner->flags |= ACTOR_FLAG_8000000 | ACTOR_FLAG_4000000; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS | ACTOR_FLAG_USING_IDLE_ANIM; btl_cam_use_preset(BTL_CAM_PARTNER_INJURED); btl_show_battle_message(BTL_MSG_PARTNER_INJURED, 60); partner->statusAfflicted = 0; @@ -3768,13 +3775,13 @@ void btl_state_update_enemy_move(void) { if (!btl_is_popup_displayed()) { btl_cam_use_preset(BTL_CAM_DEFAULT); btl_cam_move(15); - D_8029F248 = 10; + BattleSubStateDelay = 10; gBattleSubState = BTL_SUBSTATE_ENEMY_MOVE_POST_PARTNER_POPUP_DELAY; } break; case BTL_SUBSTATE_ENEMY_MOVE_POST_PARTNER_POPUP_DELAY: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { gBattleSubState = BTL_SUBSTATE_ENEMY_MOVE_DONE; } @@ -3802,7 +3809,7 @@ void btl_state_update_first_strike(void) { switch (gBattleSubState) { case BTL_SUBSTATE_FIRST_STRIKE_INIT: - D_8029F254 = 0; + D_8029F254 = FALSE; btl_merlee_on_first_strike(); if (playerData->playerFirstStrikes < 9999) { playerData->playerFirstStrikes++; @@ -3870,7 +3877,7 @@ void btl_state_update_first_strike(void) { battleStatus->lastAttackDamage = 0; battleStatus->curDamageSource = DMG_SRC_DEFAULT; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; - gBattleStatus.flags2 |= BS_FLAGS2_1000000; + gBattleStatus.flags2 |= BS_FLAGS2_IS_FIRST_STRIKE; gBattleStatus.flags1 &= ~BS_FLAGS1_PARTNER_ACTING; increment_status_bar_disabled(); btl_cam_use_preset(BTL_CAM_PRESET_10); @@ -3882,14 +3889,14 @@ void btl_state_update_first_strike(void) { player->takeTurnScript = script; player->takeTurnScriptID = script->id; script->owner1.actorID = ACTOR_PLAYER; - D_8029F248 = 3; + BattleSubStateDelay = 3; gBattleSubState = BTL_SUBSTATE_FIRST_STRIKE_AWAIT_SCRIPTS; break; case BTL_SUBSTATE_FIRST_STRIKE_AWAIT_SCRIPTS: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { - D_8029F254 = 1; + D_8029F254 = TRUE; } // wait for player move script @@ -4004,7 +4011,7 @@ void btl_state_update_first_strike(void) { } void btl_state_draw_first_stike(void) { - if (D_802809F6 == -1 && D_8029F254 != 0) { + if (D_802809F6 == -1 && D_8029F254) { if (BattleScreenFadeAmt == 0) { set_screen_overlay_params_front(OVERLAY_NONE, -1.0f); } else { @@ -4036,7 +4043,7 @@ void btl_state_update_partner_striking_first(void) { switch (gBattleSubState) { case BTL_SUBSTATE_PARTNER_FIRST_STRIKE_INIT: - D_8029F254 = 0; + D_8029F254 = FALSE; // setup dummy 'menu selection' for partner move level = partner->actorBlueprint->level; switch (playerData->curPartner) { @@ -4065,7 +4072,7 @@ void btl_state_update_partner_striking_first(void) { gBattleSubState = BTL_SUBSTATE_PARTNER_FIRST_STRIKE_AWAIT_ENEMY_READY; break; case BTL_SUBSTATE_PARTNER_FIRST_STRIKE_AWAIT_ENEMY_READY: - player_create_target_list(partner); + create_current_pos_target_list(partner); target = &partner->targetData[partner->targetIndexList[0]]; partner->targetActorID = target->actorID; partner->targetPartIndex = target->partID; @@ -4073,7 +4080,7 @@ void btl_state_update_partner_striking_first(void) { battleStatus->lastAttackDamage = 0; battleStatus->curDamageSource = DMG_SRC_DEFAULT; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; - gBattleStatus.flags2 |= BS_FLAGS2_1000000; + gBattleStatus.flags2 |= BS_FLAGS2_IS_FIRST_STRIKE; gBattleStatus.flags1 |= BS_FLAGS1_PARTNER_ACTING; increment_status_bar_disabled(); btl_cam_use_preset(BTL_CAM_PRESET_10); @@ -4085,14 +4092,14 @@ void btl_state_update_partner_striking_first(void) { partner->takeTurnScript = script; partner->takeTurnScriptID = script->id; script->owner1.actorID = ACTOR_PARTNER; - D_8029F248 = 3; + BattleSubStateDelay = 3; gBattleSubState = BTL_SUBSTATE_PARTNER_FIRST_STRIKE_AWAIT_SCRIPTS; break; case BTL_SUBSTATE_PARTNER_FIRST_STRIKE_AWAIT_SCRIPTS: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { - D_8029F254 = 1; + D_8029F254 = TRUE; } // wait for partner move script if (partner->takeTurnScript != NULL && does_script_exist(partner->takeTurnScriptID)) { @@ -4188,7 +4195,7 @@ void btl_state_update_partner_striking_first(void) { } void btl_state_draw_partner_striking_first(void) { - if (D_8029F254 != 0) { + if (D_8029F254) { if (BattleScreenFadeAmt == 0) { set_screen_overlay_params_front(OVERLAY_NONE, -1.0f); } else { @@ -4214,7 +4221,7 @@ void btl_state_update_enemy_striking_first(void) { s32 nextEnemyIdx; s32 count; s32 flags; - s32 cond; + s32 waitingForScript; s32 i; s32 j; @@ -4225,13 +4232,13 @@ void btl_state_update_enemy_striking_first(void) { battleStatus->curDamageSource = DMG_SRC_DEFAULT; playerData->enemyFirstStrikes++; battleStatus->flags1 &= ~BS_FLAGS1_MENU_OPEN; - D_8029F254 = 0; - player->flags &= ~ACTOR_FLAG_8000000; + D_8029F254 = FALSE; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; if (partner != NULL) { - partner->flags &= ~ACTOR_FLAG_8000000; + partner->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; } - battleStatus->flags2 |= BS_FLAGS2_1000000; - battleStatus->flags2 |= BS_FLAGS2_4000; + battleStatus->flags2 |= BS_FLAGS2_IS_FIRST_STRIKE; + battleStatus->flags2 |= BS_FLAGS2_IGNORE_DARKNESS; count = 0; for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { @@ -4289,83 +4296,96 @@ void btl_state_update_enemy_striking_first(void) { battleStatus->battlePhase = PHASE_FIRST_STRIKE; script = start_script(actor->takeTurnSource, EVT_PRIORITY_A, 0); actor->takeTurnScript = script; - D_8029F248 = 3; + BattleSubStateDelay = 3; actor->takeTurnScriptID = script->id; gBattleSubState = BTL_SUBSTATE_ENEMY_FIRST_STRIKE_AWAIT_SCRIPTS; script->owner1.actorID = battleStatus->activeEnemyActorID; break; case BTL_SUBSTATE_ENEMY_FIRST_STRIKE_AWAIT_SCRIPTS: - if (D_8029F248 != 0) { - D_8029F248--; + if (BattleSubStateDelay != 0) { + BattleSubStateDelay--; } else { - D_8029F254 = 1; + D_8029F254 = TRUE; } + // wait for current enemy TakeTurn script to finish actor = battleStatus->curTurnEnemy; - if (actor->takeTurnScript == NULL || !does_script_exist(actor->takeTurnScriptID)) { - actor->takeTurnScript = NULL; + if (actor->takeTurnScript != NULL && does_script_exist(actor->takeTurnScriptID)) { + break; + } + actor->takeTurnScript = NULL; - if (player->handleEventScript == NULL || !does_script_exist(player->handleEventScriptID)) { - player->handleEventScript = NULL; + // wait for player HandleEvent script to finish (may have been triggered by enemy Take Turn) + if (player->handleEventScript != NULL && does_script_exist(player->handleEventScriptID)) { + break; + } + player->handleEventScript = NULL; - if (partner != NULL) { - if (partner->handleEventScript == NULL || !does_script_exist(partner->handleEventScriptID)) { - partner->handleEventScript = NULL; - } else { - return; - } - } + // wait for partner HandleEvent script to finish (may have been triggered by enemy Take Turn) + if (partner != NULL) { + if (partner->handleEventScript != NULL && does_script_exist(partner->handleEventScriptID)) { + break; + } + partner->handleEventScript = NULL; + } - cond = FALSE; + // wait for all enemy TakeTurn scripts to finish + waitingForScript = FALSE; - for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { - actor = battleStatus->enemyActors[i]; - if (actor != NULL && actor->takeTurnScript != NULL) { - if (does_script_exist(actor->takeTurnScriptID)) { - cond = TRUE; - } else { - actor->takeTurnScript = NULL; - } - } - } - - if (!cond) { - for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { - actor = battleStatus->enemyActors[i]; - if (actor != NULL && actor->handleEventScript != NULL) { - if (does_script_exist(actor->handleEventScriptID)) { - cond = TRUE; - } else { - actor->handleEventScript = NULL; - } - } - } - - if (!cond) { - gBattleStatus.flags2 &= ~BS_FLAGS2_4000; - for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { - actor = battleStatus->enemyActors[i]; - if (actor != NULL) { - actor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; - } - } - - if (battleStatus->stateFreezeCount == 0) { - if (btl_check_player_defeated() || btl_check_enemies_defeated()) { - return; - } - btl_set_state(BATTLE_STATE_BEGIN_TURN); - } - } + for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { + actor = battleStatus->enemyActors[i]; + if (actor != NULL && actor->takeTurnScript != NULL) { + if (does_script_exist(actor->takeTurnScriptID)) { + waitingForScript = TRUE; + } else { + actor->takeTurnScript = NULL; } } } + + if (waitingForScript) { + break; + } + + // wait for all enemy HandleEvent scripts to finish + waitingForScript = FALSE; + + for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { + actor = battleStatus->enemyActors[i]; + if (actor != NULL && actor->handleEventScript != NULL) { + if (does_script_exist(actor->handleEventScriptID)) { + waitingForScript = TRUE; + } else { + actor->handleEventScript = NULL; + } + } + } + + if (waitingForScript) { + break; + } + + // reset state + gBattleStatus.flags2 &= ~BS_FLAGS2_IGNORE_DARKNESS; + for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) { + actor = battleStatus->enemyActors[i]; + if (actor != NULL) { + actor->flags &= ~ACTOR_FLAG_HEALTH_BAR_HIDDEN; + } + } + + if (battleStatus->stateFreezeCount == 0) { + if (btl_check_player_defeated() || btl_check_enemies_defeated()) { + return; + } + btl_set_state(BATTLE_STATE_BEGIN_TURN); + } break; } } void btl_state_draw_enemy_striking_first(void) { - if (D_8029F254 != 0) { + if (D_8029F254) { if (BattleScreenFadeAmt == 0) { set_screen_overlay_params_front(OVERLAY_NONE, -1.0f); } else { diff --git a/src/415D90.c b/src/battle/btl_states_menus.c similarity index 89% rename from src/415D90.c rename to src/battle/btl_states_menus.c index 5220975caf..560fe9c1cd 100644 --- a/src/415D90.c +++ b/src/battle/btl_states_menus.c @@ -209,7 +209,7 @@ s32 BattleMenu_CenteredMessages[] = { MSG_Menus_Focus_Centered, }; -s32 D_802AB4F0[] = { +s32 BattleMenu_CategoryForSubmenu[] = { [BTL_MENU_TYPE_JUMP] MOVE_TYPE_JUMP, [BTL_MENU_TYPE_SMASH] MOVE_TYPE_HAMMER, [BTL_MENU_TYPE_ITEMS] MOVE_TYPE_ITEMS, @@ -281,7 +281,7 @@ s32 D_802AB734[] = { }; s32 PartnerNameMessages[] = { - 0x00000000, + MSG_NONE, MSG_Menus_Party_Goombario, MSG_Menus_Party_Kooper, MSG_Menus_Party_Bombette, @@ -294,14 +294,14 @@ s32 PartnerNameMessages[] = { MSG_Menus_Party_Goombaria, MSG_Menus_Party_Twink, MSG_Menus_Party_Peach, - 0x00000000 + MSG_NONE }; BSS s32 D_802ACC60; -BSS s32 D_802ACC64; -BSS s32 D_802ACC68; -BSS s32 D_802ACC6C; -BSS s32 BattleMenu_TargetHudElems[24]; +BSS s32 BattleMenu_TargetPointerAlpha; +BSS s32 BattleMenu_TargetNameOffsetX; // used to animate the position of the target name box +BSS s32 BattleMenu_SwapDelay; // delay before the player and partner can swap after the main menu is opened +BSS s32 BattleMenu_TargetHudElems[MAX_ENEMY_ACTORS]; BSS PopupMenu D_802ACCD0; BSS s8 BattleMenuState; BSS s8 D_802AD001; @@ -386,8 +386,8 @@ BSS s8 BattleMenu_Moves_OptionCantUseMessages[24]; BSS s32 battle_menu_moveOptionActive; BSS s8 BattleSubmenuStratsState; BSS s8 StratsMenuPos; -BSS s8 D_802AD606; -BSS s8 D_802AD607; +BSS s8 OldStratsMenuPos; +BSS b8 ShowingErrorMessage; BSS s8 D_802AD608; BSS s8 D_802AD609; BSS s8 StratsMenuLines; @@ -411,7 +411,7 @@ BSS s32 StratsMenuLastPos; BSS s32 D_802AD674; // unused? BSS s32 D_802AD678[6]; -BSS s32 D_802AD690[6]; +BSS s32 D_802AD690[6]; // strats options enabled BSS s32 D_802AD6A8[6]; BSS s32 D_802AD6C0[5]; BSS s32 D_802AD6D4; @@ -1423,8 +1423,6 @@ s32 btl_submenu_moves_update(void) { return 0; } -const f32 padding3 = 0.0f; - void func_802A3C98(void* data, s32 x, s32 y) { s32 var_t0; s32 temp_f6; @@ -1699,7 +1697,7 @@ void func_802A45D8(void) { BattleSubmenuStratsState = BTL_SUBMENU_STRATS_STATE_INIT; StratsMenuPos = StratsMenuLastPos; - D_802AD606 = StratsMenuLastPos; + OldStratsMenuPos = StratsMenuLastPos; D_802AD608 = 0; StratsMenuLines = D_802AD66C; @@ -1731,7 +1729,7 @@ void func_802A45D8(void) { D_802AD60C = -D_802AD608 * 13; D_802AD60E = ((s8) StratsMenuLastPos - D_802AD608) * 13; - D_802AD607 = 0; + ShowingErrorMessage = FALSE; D_802AD6D4 = 0; } @@ -1849,8 +1847,10 @@ s32 btl_update_strats_menu(void) { BattleSubmenuStratsState = BTL_SUBMENU_STRATS_STATE_CHOOSE; return 0; case BTL_SUBMENU_STRATS_STATE_CHOOSE: - if (D_802AD607 == 0) { - D_802AD606 = StratsMenuPos; + if (!ShowingErrorMessage) { + OldStratsMenuPos = StratsMenuPos; + + // only wrap selection on stick press, not when held if (battleStatus->curButtonsHeld & BUTTON_STICK_UP) { if (StratsMenuPos > 0) { StratsMenuPos--; @@ -1867,6 +1867,7 @@ s32 btl_update_strats_menu(void) { } } + // wrap the selected index if (StratsMenuPos < 0) { StratsMenuPos = D_802AD66C - 1; } @@ -1874,8 +1875,8 @@ s32 btl_update_strats_menu(void) { StratsMenuPos = 0; } - if (D_802AD606 != StratsMenuPos) { - hud_element_set_scale(D_802AD628[D_802AD606], 0.45f); + if (OldStratsMenuPos != StratsMenuPos) { + hud_element_set_scale(D_802AD628[OldStratsMenuPos], 0.45f); sfx_play_sound(SOUND_MENU_CHANGE_SELECTION); } @@ -1984,8 +1985,6 @@ s32 btl_update_strats_menu(void) { return 0; } -static const f32 padding4 = 0.0f; - void btl_menu_strats_draw_content(void* data, s32 x, s32 y) { s32 var_t0; s32 temp_f6; @@ -2120,7 +2119,7 @@ s32 can_switch_to_player(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; - if (battleStatus->flags2 & BS_FLAGS2_2) { + if (battleStatus->flags2 & BS_FLAGS2_PLAYER_TURN_USED) { return FALSE; } else { s8 debuff = player->debuff; @@ -2171,7 +2170,7 @@ s32 can_switch_to_partner(void) { s8 partnerDebuff; s32 partnerCantMove; - if (battleStatus->flags2 & BS_FLAGS2_4 || partner == PARTNER_NONE || partner->flags & ACTOR_FLAG_NO_ATTACK) { + if (battleStatus->flags2 & BS_FLAGS2_PARTNER_TURN_USED || partner == PARTNER_NONE || partner->flags & ACTOR_FLAG_NO_ATTACK) { return FALSE; } @@ -2281,11 +2280,11 @@ void btl_state_update_player_menu(void) { switch (gBattleSubState) { case BTL_SUBSTATE_PLAYER_MENU_CREATE_MAIN_MENU: gBattleStatus.flags1 |= BS_FLAGS1_MENU_OPEN; - playerActor->flags &= ~ACTOR_FLAG_4000000; - playerActor->flags |= ACTOR_FLAG_8000000; + playerActor->flags &= ~ACTOR_FLAG_USING_IDLE_ANIM; + playerActor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; if (partnerActor != NULL) { - partnerActor->flags |= ACTOR_FLAG_4000000; - partnerActor->flags |= ACTOR_FLAG_8000000; + partnerActor->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + partnerActor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; } func_80263268(); func_80263300(); @@ -2435,18 +2434,18 @@ void btl_state_update_player_menu(void) { } btl_main_menu_init(); D_802ACC60 = 8; - D_802ACC6C = 0; + BattleMenu_SwapDelay = 0; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; break; case BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY: if (battleStatus->hustleTurns != 0) { - set_animation(ACTOR_PLAYER, 0, ANIM_Mario1_ThinkingRun); + set_actor_anim(ACTOR_PLAYER, 0, ANIM_Mario1_ThinkingRun); } else { - set_animation(ACTOR_PLAYER, 0, get_player_anim_for_status(STATUS_KEY_THINKING)); + set_actor_anim(ACTOR_PLAYER, 0, get_player_anim_for_status(STATUS_KEY_THINKING)); } submenuResult = btl_main_menu_update(); - if (D_802ACC6C != 0) { - D_802ACC6C--; + if (BattleMenu_SwapDelay != 0) { + BattleMenu_SwapDelay--; } else if (!(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && (gGameStatusPtr->pressedButtons[0] & BUTTON_Z)) { if (can_switch_to_partner() && battleStatus->hustleTurns != 1) { sfx_play_sound(SOUND_PARTNER_SWAP_BATTLE_POS); @@ -2462,86 +2461,114 @@ void btl_state_update_player_menu(void) { if (D_802ACC60 != 0) { D_802ACC60--; - } else if (submenuResult != 0) { - set_animation(ACTOR_PLAYER, 0, ANIM_Mario1_Walk); - battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_MAIN] = battleStatus->curSubmenu = battle_menu_submenuIDs[submenuResult - 1]; - for (i = 0; i < ARRAY_COUNT(battleStatus->submenuMoves); i++) { - battleStatus->submenuMoves[i] = 0; - battleStatus->submenuIcons[0] = 0; ///< @bug ? - battleStatus->submenuStatus[i] = 0; - } + break; + } + + if (submenuResult == 0) { + break; + } + + set_actor_anim(ACTOR_PLAYER, 0, ANIM_Mario1_Walk); + battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_MAIN] = battleStatus->curSubmenu = battle_menu_submenuIDs[submenuResult - 1]; + for (i = 0; i < ARRAY_COUNT(battleStatus->submenuMoves); i++) { + battleStatus->submenuMoves[i] = 0; + battleStatus->submenuIcons[0] = 0; ///< @bug ? + battleStatus->submenuStatus[i] = 0; + } - switch (battleStatus->curSubmenu) { - case BTL_MENU_TYPE_ITEMS: - battleStatus->submenuMoves[0] = D_802AB4F0[8]; - battleStatus->submenuIcons[0] = ITEM_PARTNER_ATTACK; - battleStatus->submenuStatus[0] = 1; - for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] == 0) { - continue; - } - itemData = &gItemTable[playerData->invItems[i]]; - - battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; - battleStatus->moveArgument = playerData->invItems[i]; - battleStatus->curTargetListFlags = itemData->targetFlags; - player_create_target_list(playerActor); + switch (battleStatus->curSubmenu) { + case BTL_MENU_TYPE_ITEMS: + battleStatus->submenuMoves[0] = BattleMenu_CategoryForSubmenu[BTL_MENU_TYPE_STAR_POWERS]; // ??? + battleStatus->submenuIcons[0] = ITEM_PARTNER_ATTACK; + battleStatus->submenuStatus[0] = 1; + for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { + if (playerData->invItems[i] == ITEM_NONE) { + continue; } - entryIdx = 1; - for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++) { - if (playerData->equippedBadges[i] != 0) { - s32 moveID = gItemTable[playerData->equippedBadges[i]].moveID; - moveData = &gMoveTable[moveID]; - if (moveData->category == D_802AB4F0[battleStatus->curSubmenu]) { - battleStatus->submenuMoves[entryIdx] = moveID; - battleStatus->submenuIcons[entryIdx] = playerData->equippedBadges[i]; - battleStatus->submenuStatus[entryIdx] = 1; - if (playerData->curFP < moveData->costFP) { - battleStatus->submenuStatus[entryIdx] = 0; - } - entryIdx++; + itemData = &gItemTable[playerData->invItems[i]]; + + battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; + battleStatus->moveArgument = playerData->invItems[i]; + battleStatus->curTargetListFlags = itemData->targetFlags; + create_current_pos_target_list(playerActor); + } + entryIdx = 1; + for (i = 0; i < ARRAY_COUNT(playerData->equippedBadges); i++) { + if (playerData->equippedBadges[i] != 0) { + s32 moveID = gItemTable[playerData->equippedBadges[i]].moveID; + moveData = &gMoveTable[moveID]; + if (moveData->category == BattleMenu_CategoryForSubmenu[battleStatus->curSubmenu]) { + battleStatus->submenuMoves[entryIdx] = moveID; + battleStatus->submenuIcons[entryIdx] = playerData->equippedBadges[i]; + battleStatus->submenuStatus[entryIdx] = 1; + if (playerData->curFP < moveData->costFP) { + battleStatus->submenuStatus[entryIdx] = 0; } + entryIdx++; } } - battleStatus->submenuMoveCount = entryIdx; - if (entryIdx == 1) { - battleStatus->submenuMoveCount = 0; + } + battleStatus->submenuMoveCount = entryIdx; + if (entryIdx == 1) { + battleStatus->submenuMoveCount = 0; + } + break; + do { // required to match + case BTL_MENU_TYPE_SMASH: + btl_init_menu_hammer(); + if (battleStatus->submenuMoveCount == 1) { + battleStatus->submenuMoveCount = 0; + } + if (battleStatus->actionCommandMode == 2) { + battleStatus->submenuMoveCount = 0; + } + break; + case BTL_MENU_TYPE_JUMP: + btl_init_menu_boots(); + if (battleStatus->submenuMoveCount == 1) { + battleStatus->submenuMoveCount = 0; + } + if (battleStatus->actionCommandMode == 2) { + battleStatus->submenuMoveCount = 0; + } + break; + case BTL_MENU_TYPE_STAR_POWERS: + battleStatus->submenuMoves[0] = MOVE_FOCUS; + battleStatus->submenuIcons[0] = ITEM_PARTNER_ATTACK; + battleStatus->submenuStatus[0] = 1; + entryIdx = 1; + initialPos = 8; + for (i = 0; i < playerData->maxStarPower; i++) { + moveData = &gMoveTable[MOVE_REFRESH + i]; + battleStatus->submenuMoves[entryIdx] = MOVE_REFRESH + i; + battleStatus->submenuIcons[entryIdx] = 0; + battleStatus->moveCategory = BTL_MENU_TYPE_STAR_POWERS; + battleStatus->moveArgument = MOVE_REFRESH + i; + battleStatus->curTargetListFlags = moveData->flags; + create_current_pos_target_list(playerActor); + battleStatus->submenuStatus[entryIdx] = 1; + if (playerActor->targetListLength == 0) { + battleStatus->submenuStatus[entryIdx] = -2; } - break; - do { // required to match - case BTL_MENU_TYPE_SMASH: - btl_init_menu_hammer(); - if (battleStatus->submenuMoveCount == 1) { - battleStatus->submenuMoveCount = 0; + if (playerData->specialBarsFilled / 256 < moveData->costFP) { + battleStatus->submenuStatus[entryIdx] = 0; } - if (battleStatus->actionCommandMode == 2) { - battleStatus->submenuMoveCount = 0; + if (gBattleStatus.flags2 & BS_FLAGS2_NO_TARGET_AVAILABLE) { + battleStatus->submenuStatus[entryIdx] = -1; } - break; - case BTL_MENU_TYPE_JUMP: - btl_init_menu_boots(); - if (battleStatus->submenuMoveCount == 1) { - battleStatus->submenuMoveCount = 0; - } - if (battleStatus->actionCommandMode == 2) { - battleStatus->submenuMoveCount = 0; - } - break; - case BTL_MENU_TYPE_STAR_POWERS: - battleStatus->submenuMoves[0] = MOVE_FOCUS; - battleStatus->submenuIcons[0] = ITEM_PARTNER_ATTACK; - battleStatus->submenuStatus[0] = 1; - entryIdx = 1; - initialPos = 8; - for (i = 0; i < playerData->maxStarPower; i++) { - moveData = &gMoveTable[MOVE_REFRESH + i]; - battleStatus->submenuMoves[entryIdx] = MOVE_REFRESH + i; + entryIdx++; + } + starBeamLevel = playerData->starBeamLevel; + if (starBeamLevel == 1) { + do { + moveData = &gMoveTable[MOVE_STAR_BEAM]; + battleStatus->submenuMoves[entryIdx] = MOVE_STAR_BEAM; battleStatus->submenuIcons[entryIdx] = 0; battleStatus->moveCategory = BTL_MENU_TYPE_STAR_POWERS; battleStatus->moveArgument = MOVE_REFRESH + i; battleStatus->curTargetListFlags = moveData->flags; - player_create_target_list(playerActor); - battleStatus->submenuStatus[entryIdx] = 1; + create_current_pos_target_list(playerActor); + battleStatus->submenuStatus[entryIdx] = starBeamLevel; if (playerActor->targetListLength == 0) { battleStatus->submenuStatus[entryIdx] = -2; } @@ -2552,18 +2579,19 @@ void btl_state_update_player_menu(void) { battleStatus->submenuStatus[entryIdx] = -1; } entryIdx++; - } - starBeamLevel = playerData->starBeamLevel; - if (starBeamLevel == 1) { + } while (0); + } + if (playerData->starBeamLevel == 2) { + do { do { - moveData = &gMoveTable[MOVE_STAR_BEAM]; - battleStatus->submenuMoves[entryIdx] = MOVE_STAR_BEAM; + moveData = &gMoveTable[MOVE_PEACH_BEAM]; + battleStatus->submenuMoves[entryIdx] = MOVE_PEACH_BEAM; battleStatus->submenuIcons[entryIdx] = 0; battleStatus->moveCategory = BTL_MENU_TYPE_STAR_POWERS; battleStatus->moveArgument = MOVE_REFRESH + i; battleStatus->curTargetListFlags = moveData->flags; - player_create_target_list(playerActor); - battleStatus->submenuStatus[entryIdx] = starBeamLevel; + create_current_pos_target_list(playerActor); + battleStatus->submenuStatus[entryIdx] = 1; if (playerActor->targetListLength == 0) { battleStatus->submenuStatus[entryIdx] = -2; } @@ -2574,144 +2602,120 @@ void btl_state_update_player_menu(void) { battleStatus->submenuStatus[entryIdx] = -1; } entryIdx++; - } while (0); - } - if (playerData->starBeamLevel == 2) { - do { - do { - moveData = &gMoveTable[MOVE_PEACH_BEAM]; - battleStatus->submenuMoves[entryIdx] = MOVE_PEACH_BEAM; - battleStatus->submenuIcons[entryIdx] = 0; - battleStatus->moveCategory = BTL_MENU_TYPE_STAR_POWERS; - battleStatus->moveArgument = MOVE_REFRESH + i; - battleStatus->curTargetListFlags = moveData->flags; - player_create_target_list(playerActor); - battleStatus->submenuStatus[entryIdx] = 1; - if (playerActor->targetListLength == 0) { - battleStatus->submenuStatus[entryIdx] = -2; - } - if (playerData->specialBarsFilled / 256 < moveData->costFP) { - battleStatus->submenuStatus[entryIdx] = 0; - } - if (gBattleStatus.flags2 & BS_FLAGS2_NO_TARGET_AVAILABLE) { - battleStatus->submenuStatus[entryIdx] = -1; - } - entryIdx++; - } while (0); // TODO required to match } while (0); // TODO required to match - } - battleStatus->submenuMoveCount = entryIdx; - break; - } while (0); // TODO required to match - } + } while (0); // TODO required to match + } + battleStatus->submenuMoveCount = entryIdx; + break; + } while (0); // TODO required to match + } - currentSubmenu = battleStatus->curSubmenu; - if (currentSubmenu == BTL_MENU_TYPE_STAR_POWERS) { - gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_1; + currentSubmenu = battleStatus->curSubmenu; + if (currentSubmenu == BTL_MENU_TYPE_STAR_POWERS) { + gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_STAR_SPIRITS_1; + btl_state_update_player_menu(); + btl_state_update_player_menu(); + break; + } else if (currentSubmenu == BTL_MENU_TYPE_STRATEGIES) { + if (battleStatus->actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE)) { + gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_BUILD_STRATEGIES; btl_state_update_player_menu(); btl_state_update_player_menu(); break; - } else if (currentSubmenu == BTL_MENU_TYPE_STRATEGIES) { - if (battleStatus->actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE)) { - gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_BUILD_STRATEGIES; - btl_state_update_player_menu(); - btl_state_update_player_menu(); + } else { + btl_main_menu_destroy(); + battleStatus->moveCategory = currentSubmenu; + battleStatus->moveArgument = 0; + battleStatus->selectedMoveID = 0; + btl_set_state(BATTLE_STATE_PLAYER_MOVE); + break; + } + } else { + if (battleStatus->submenuMoveCount == 0) { + if (currentSubmenu != BTL_MENU_TYPE_ITEMS) { + gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_10; break; } else { - btl_main_menu_destroy(); - battleStatus->moveCategory = currentSubmenu; - battleStatus->moveArgument = 0; - battleStatus->selectedMoveID = 0; - btl_set_state(BATTLE_STATE_PLAYER_MOVE); + gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_ITEMS_1; + btl_state_update_player_menu(); + btl_state_update_player_menu(); break; } - } else { - if (battleStatus->submenuMoveCount == 0) { - if (currentSubmenu != BTL_MENU_TYPE_ITEMS) { - gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_10; - break; - } else { - gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_ITEMS_1; - btl_state_update_player_menu(); - btl_state_update_player_menu(); - break; - } - } - - initialPos = 0; - if (currentSubmenu == BTL_MENU_TYPE_JUMP) { - if (battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_JUMP] < 0) { - battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_JUMP] = 0; - } - initialPos = battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_JUMP]; - } - if (battleStatus->curSubmenu == BTL_MENU_TYPE_SMASH) { - if (battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_SMASH] < 0) { - battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_SMASH] = 0; - } - initialPos = battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_SMASH]; - } - if (battleStatus->curSubmenu == BTL_MENU_TYPE_ITEMS) { - if (battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_ITEMS] < 0) { - battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_ITEMS] = 0; - } - initialPos = battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_ITEMS]; - } - - for (i = 0; i < battleStatus->submenuMoveCount; i++) { - moveData = &gMoveTable[battleStatus->submenuMoves[i]]; - itemData = &gItemTable[battleStatus->submenuIcons[i]]; - hudScriptPair = &gItemHudScripts[itemData->hudElemID]; - - BattleMenu_Moves_OptionCantUseMessages[i] = 0; - if (battleStatus->submenuStatus[i] == 0) { - BattleMenu_Moves_OptionCantUseMessages[i] = 0; - } - if (battleStatus->submenuStatus[i] == -1) { - battleStatus->submenuStatus[i] = 0; - BattleMenu_Moves_OptionCantUseMessages[i] = BTL_MSG_CANT_SELECT_NOW; - } - if (battleStatus->submenuStatus[i] == -2) { - battleStatus->submenuStatus[i] = 0; - BattleMenu_Moves_OptionCantUseMessages[i] = BTL_MSG_CANT_SELECT_NOW; - } - if (battleStatus->submenuStatus[i] == -3) { - battleStatus->submenuStatus[i] = 0; - BattleMenu_Moves_OptionCantUseMessages[i] = BTL_MSG_CANT_SELECT_NOW_ALT; - } - battle_menu_moveOptionIconScripts[i] = hudScriptPair->enabled; - if (battleStatus->submenuStatus[i] == 0) { - battle_menu_moveOptionIconScripts[i] = hudScriptPair->disabled; - } - - battle_menu_moveOptionDisplayCosts[i] = moveData->costFP; - battle_menu_moveOptionBPCosts[i] = moveData->costBP; - BattleMenu_Moves_OptionSortPriority[i] = 0; - battle_menu_moveOptionDisplayCostReductions[i] = 0; - battle_menu_moveOptionDisplayCostReductionColors[i] = 0; - - if (player_team_is_ability_active(playerActor, ABILITY_FLOWER_SAVER)) { - battle_menu_moveOptionDisplayCostReductions[i] += player_team_is_ability_active(playerActor, ABILITY_FLOWER_SAVER); - battle_menu_moveOptionDisplayCostReductionColors[i] = 1; - } - if (player_team_is_ability_active(playerActor, ABILITY_FLOWER_FANATIC)) { - battle_menu_moveOptionDisplayCostReductions[i] += 2 * player_team_is_ability_active(playerActor, ABILITY_FLOWER_FANATIC); - battle_menu_moveOptionDisplayCostReductionColors[i] = 2; - } - - BattleMenu_Moves_OptionIndices[i] = i; - BattleMenu_Moves_OptionEnabled[i] = battleStatus->submenuStatus[i]; - battle_menu_moveOptionNames[i] = moveData->nameMsg; - BattleMenu_Moves_OptionDescMessages[i] = moveData->shortDescMsg; - - } - BattleMenu_UsingSpiritsSubmenu = FALSE; - D_802AD4A8 = initialPos; - BattleMenu_Moves_OptionCount = battleStatus->submenuMoveCount; - func_802A2684(); - gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_2; - break; } + + initialPos = 0; + if (currentSubmenu == BTL_MENU_TYPE_JUMP) { + if (battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_JUMP] < 0) { + battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_JUMP] = 0; + } + initialPos = battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_JUMP]; + } + if (battleStatus->curSubmenu == BTL_MENU_TYPE_SMASH) { + if (battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_SMASH] < 0) { + battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_SMASH] = 0; + } + initialPos = battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_SMASH]; + } + if (battleStatus->curSubmenu == BTL_MENU_TYPE_ITEMS) { + if (battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_ITEMS] < 0) { + battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_ITEMS] = 0; + } + initialPos = battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_ITEMS]; + } + + for (i = 0; i < battleStatus->submenuMoveCount; i++) { + moveData = &gMoveTable[battleStatus->submenuMoves[i]]; + itemData = &gItemTable[battleStatus->submenuIcons[i]]; + hudScriptPair = &gItemHudScripts[itemData->hudElemID]; + + BattleMenu_Moves_OptionCantUseMessages[i] = 0; + if (battleStatus->submenuStatus[i] == 0) { + BattleMenu_Moves_OptionCantUseMessages[i] = 0; + } + if (battleStatus->submenuStatus[i] == -1) { + battleStatus->submenuStatus[i] = 0; + BattleMenu_Moves_OptionCantUseMessages[i] = BTL_MSG_CANT_SELECT_NOW; + } + if (battleStatus->submenuStatus[i] == -2) { + battleStatus->submenuStatus[i] = 0; + BattleMenu_Moves_OptionCantUseMessages[i] = BTL_MSG_CANT_SELECT_NOW; + } + if (battleStatus->submenuStatus[i] == -3) { + battleStatus->submenuStatus[i] = 0; + BattleMenu_Moves_OptionCantUseMessages[i] = BTL_MSG_CANT_SELECT_NOW_ALT; + } + battle_menu_moveOptionIconScripts[i] = hudScriptPair->enabled; + if (battleStatus->submenuStatus[i] == 0) { + battle_menu_moveOptionIconScripts[i] = hudScriptPair->disabled; + } + + battle_menu_moveOptionDisplayCosts[i] = moveData->costFP; + battle_menu_moveOptionBPCosts[i] = moveData->costBP; + BattleMenu_Moves_OptionSortPriority[i] = 0; + battle_menu_moveOptionDisplayCostReductions[i] = 0; + battle_menu_moveOptionDisplayCostReductionColors[i] = 0; + + if (player_team_is_ability_active(playerActor, ABILITY_FLOWER_SAVER)) { + battle_menu_moveOptionDisplayCostReductions[i] += player_team_is_ability_active(playerActor, ABILITY_FLOWER_SAVER); + battle_menu_moveOptionDisplayCostReductionColors[i] = 1; + } + if (player_team_is_ability_active(playerActor, ABILITY_FLOWER_FANATIC)) { + battle_menu_moveOptionDisplayCostReductions[i] += 2 * player_team_is_ability_active(playerActor, ABILITY_FLOWER_FANATIC); + battle_menu_moveOptionDisplayCostReductionColors[i] = 2; + } + + BattleMenu_Moves_OptionIndices[i] = i; + BattleMenu_Moves_OptionEnabled[i] = battleStatus->submenuStatus[i]; + battle_menu_moveOptionNames[i] = moveData->nameMsg; + BattleMenu_Moves_OptionDescMessages[i] = moveData->shortDescMsg; + + } + BattleMenu_UsingSpiritsSubmenu = FALSE; + D_802AD4A8 = initialPos; + BattleMenu_Moves_OptionCount = battleStatus->submenuMoveCount; + func_802A2684(); + gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_2; + break; } break; case BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_2: @@ -2722,7 +2726,7 @@ void btl_state_update_player_menu(void) { } else if (submenuResult == 255) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; btl_state_update_player_menu(); btl_state_update_player_menu(); @@ -2807,21 +2811,21 @@ void btl_state_update_player_menu(void) { } break; case BTL_SUBSTATE_PLAYER_MENU_MAIN_SHOW_CANT_SWAP: - if (gBattleStatus.flags2 & BS_FLAGS2_4) { + if (gBattleStatus.flags2 & BS_FLAGS2_PARTNER_TURN_USED) { btl_show_variable_battle_message(BTL_MSG_CANT_SWITCH, 60, 0); } else { btl_show_variable_battle_message(BTL_MSG_CANT_MOVE, 60, playerData->curPartner); } - D_802AD607 = 1; + ShowingErrorMessage = TRUE; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_MAIN_AWAIT_CANT_SWAP; break; case BTL_SUBSTATE_PLAYER_MENU_MAIN_AWAIT_CANT_SWAP: if (btl_is_popup_displayed()) { break; } - D_802ACC6C = 4; - D_802AD607 = 0; + ShowingErrorMessage = FALSE; D_802ACC60 = 0; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; break; case BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_10: @@ -2862,7 +2866,7 @@ void btl_state_update_player_menu(void) { break; } D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; break; case BTL_SUBSTATE_PLAYER_MENU_MAIN_MENU_13: @@ -2881,7 +2885,7 @@ void btl_state_update_player_menu(void) { } entryIdx = 0; for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] == 0) { + if (playerData->invItems[i] == ITEM_NONE) { continue; } itemData = &gItemTable[playerData->invItems[i]]; @@ -2892,7 +2896,7 @@ void btl_state_update_player_menu(void) { battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = playerData->invItems[i]; battleStatus->curTargetListFlags = itemData->targetFlags; - player_create_target_list(playerActor); + create_current_pos_target_list(playerActor); popup->ptrIcon[entryIdx] = hudScriptPair->enabled; popup->userIndex[entryIdx] = playerData->invItems[i]; popup->enabled[entryIdx] = TRUE; @@ -2940,7 +2944,7 @@ void btl_state_update_player_menu(void) { battleStatus->unk_1AA = popup->userIndex[popup->result - 1]; battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = battleStatus->unk_1AA; - battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_8000; + battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_PRIMARY_ONLY; battleStatus->curAttackElement = 0; battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_DIP] = popup->result - 1; hide_popup_menu(); @@ -2985,7 +2989,7 @@ void btl_state_update_player_menu(void) { case BTL_SUBSTATE_PLAYER_MENU_ITEMS_1: entryIdx = 0; for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] == 0) { + if (playerData->invItems[i] == ITEM_NONE) { continue; } itemData = &gItemTable[playerData->invItems[i]]; @@ -2996,7 +3000,7 @@ void btl_state_update_player_menu(void) { battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = playerData->invItems[i]; battleStatus->curTargetListFlags = itemData->targetFlags; - player_create_target_list(playerActor); + create_current_pos_target_list(playerActor); popup->ptrIcon[entryIdx] = hudScriptPair->enabled; popup->userIndex[entryIdx] = playerData->invItems[i]; @@ -3027,7 +3031,7 @@ void btl_state_update_player_menu(void) { if (popup->result == POPUP_RESULT_CANCEL) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; btl_state_update_player_menu(); btl_state_update_player_menu(); @@ -3038,7 +3042,7 @@ void btl_state_update_player_menu(void) { battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = battleStatus->unk_1AA; battleStatus->selectedMoveID = MOVE_ITEMS; - battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_8000; + battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_PRIMARY_ONLY; battleStatus->curAttackElement = 0; battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_DIP] = popup->result - 1; hide_popup_menu(); @@ -3126,7 +3130,7 @@ void btl_state_update_player_menu(void) { } else if (submenuResult == 255) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; btl_state_update_player_menu(); btl_state_update_player_menu(); @@ -3184,7 +3188,7 @@ void btl_state_update_player_menu(void) { } else { entryIdx = 0; for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] == 0) { + if (playerData->invItems[i] == ITEM_NONE) { continue; } itemData = &gItemTable[playerData->invItems[i]]; @@ -3196,7 +3200,7 @@ void btl_state_update_player_menu(void) { battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = playerData->invItems[i]; battleStatus->curTargetListFlags = itemData->targetFlags; - player_create_target_list(playerActor); + create_current_pos_target_list(playerActor); popup->ptrIcon[entryIdx] = hudScriptPair->enabled; popup->userIndex[entryIdx] = playerData->invItems[i]; popup->enabled[entryIdx] = TRUE; @@ -3246,7 +3250,7 @@ void btl_state_update_player_menu(void) { battleStatus->unk_1AA = popup->userIndex[popup->result - 1]; battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = battleStatus->unk_1AA; - battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_8000; + battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_PRIMARY_ONLY; battleStatus->curAttackElement = 0; battleStatus->lastPlayerMenuSelection[BTL_MENU_IDX_DIP] = popup->result - 1; hide_popup_menu(); @@ -3280,7 +3284,7 @@ void btl_state_update_player_menu(void) { case BTL_SUBSTATE_PLAYER_MENU_BERSERKER_CHOOSE: if (playerData->bootsLevel >= 0) { battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_JUMP].flags; - player_create_target_list(playerActor); + create_current_pos_target_list(playerActor); jumpTargetCount = playerActor->targetListLength; } else { jumpTargetCount = 0; @@ -3288,7 +3292,7 @@ void btl_state_update_player_menu(void) { if (playerData->hammerLevel >= 0) { battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_HAMMER].flags; - player_create_target_list(playerActor); + create_current_pos_target_list(playerActor); hammerTargetCount = playerActor->targetListLength; } else { hammerTargetCount = 0; @@ -3296,7 +3300,7 @@ void btl_state_update_player_menu(void) { if (jumpTargetCount <= 0 && hammerTargetCount <= 0) { battleStatus->moveCategory = BTL_MENU_TYPE_DO_NOTHING; - battleStatus->unk_95 = 0; + battleStatus->waitForState = BATTLE_STATE_0; btl_set_state(BATTLE_STATE_END_PLAYER_TURN); } else { jumpChance = 50; @@ -3311,13 +3315,13 @@ void btl_state_update_player_menu(void) { battleStatus->moveCategory = BTL_MENU_TYPE_JUMP; battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_JUMP].flags; battleStatus->moveArgument = playerData->bootsLevel; - player_create_target_list(playerActor); + create_current_pos_target_list(playerActor); } else { battleStatus->selectedMoveID = MOVE_BERSERKER_HAMMER; battleStatus->moveCategory = BTL_MENU_TYPE_SMASH; battleStatus->curTargetListFlags = gMoveTable[MOVE_BERSERKER_HAMMER].flags; battleStatus->moveArgument = playerData->hammerLevel; - player_create_target_list(playerActor); + create_current_pos_target_list(playerActor); } btl_set_state(BATTLE_STATE_PLAYER_MOVE); } @@ -3379,7 +3383,7 @@ void btl_state_update_player_menu(void) { } else if (submenuResult == 255) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; btl_state_update_player_menu(); btl_state_update_player_menu(); @@ -3440,7 +3444,7 @@ void btl_state_update_player_menu(void) { btl_update_strats_menu(); if (btl_main_menu_update() != 0) { D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PLAYER_MENU_CHOOSE_CATEGORY; } break; @@ -3612,8 +3616,6 @@ void btl_state_draw_player_menu(void) { } } -static const f32 padding = 0.0f; - void btl_state_update_partner_menu(void) { BattleStatus* battleStatus = &gBattleStatus; PlayerData* playerData = &gPlayerData; @@ -3636,8 +3638,8 @@ void btl_state_update_partner_menu(void) { } else { btl_cam_use_preset(BTL_CAM_DEFAULT); battleStatus->flags1 |= BS_FLAGS1_MENU_OPEN; - playerActor->flags &= ~(ACTOR_FLAG_4000000 | ACTOR_FLAG_8000000); - partnerActor->flags &= ~(ACTOR_FLAG_4000000 | ACTOR_FLAG_8000000); + playerActor->flags &= ~(ACTOR_FLAG_USING_IDLE_ANIM | ACTOR_FLAG_SHOW_STATUS_ICONS); + partnerActor->flags &= ~(ACTOR_FLAG_USING_IDLE_ANIM | ACTOR_FLAG_SHOW_STATUS_ICONS); if (battleStatus->flags1 & BS_FLAGS1_PLAYER_IN_BACK) { gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_INIT_MENU; } else { @@ -3680,10 +3682,10 @@ void btl_state_update_partner_menu(void) { } switch (gBattleSubState) { case BTL_SUBSTATE_PARTNER_MENU_INIT_MENU: - partnerActor->flags |= ACTOR_FLAG_8000000; - partnerActor->flags &= ~ACTOR_FLAG_4000000; - playerActor->flags |= ACTOR_FLAG_4000000; - playerActor->flags |= ACTOR_FLAG_8000000; + partnerActor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; + partnerActor->flags &= ~ACTOR_FLAG_USING_IDLE_ANIM; + playerActor->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + playerActor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; func_80263300(); func_80263268(); entryIdx = 0; @@ -3759,17 +3761,17 @@ void btl_state_update_partner_menu(void) { } btl_main_menu_init(); D_802ACC60 = 8; - D_802ACC6C = 0; + BattleMenu_SwapDelay = 0; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; return; case BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1: - set_animation(ACTOR_PARTNER, 0, BattleMenu_PartnerThinkAnims[playerData->curPartner]); + set_actor_anim(ACTOR_PARTNER, 0, BattleMenu_PartnerThinkAnims[playerData->curPartner]); gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_2; case BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_2: entryIdx = btl_main_menu_update(); - if (D_802ACC6C != 0) { - D_802ACC6C--; + if (BattleMenu_SwapDelay != 0) { + BattleMenu_SwapDelay--; } else if (!(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && (gGameStatusPtr->pressedButtons[0] & BUTTON_Z)) { if (can_switch_to_player()) { sfx_play_sound(SOUND_PARTNER_SWAP_BATTLE_POS); @@ -3778,7 +3780,7 @@ void btl_state_update_partner_menu(void) { btl_set_state(BATTLE_STATE_SWITCH_TO_PLAYER); } else { sfx_play_sound(SOUND_MENU_ERROR); - gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_7; + gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_SHOW_CANT_SWAP; } break; } @@ -3786,7 +3788,7 @@ void btl_state_update_partner_menu(void) { if (D_802ACC60 != 0) { D_802ACC60--; } else if (entryIdx != 0) { - set_animation(ACTOR_PARTNER, 0, BattleMenu_PartnerIdleAnims[playerData->curPartner]); + set_actor_anim(ACTOR_PARTNER, 0, BattleMenu_PartnerIdleAnims[playerData->curPartner]); battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_MAIN] = battleStatus->curPartnerSubmenu = battle_menu_submenuIDs[entryIdx - 1]; if (battleStatus->curPartnerSubmenu == 7) { gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_STRATEGIES_1; @@ -3835,7 +3837,7 @@ void btl_state_update_partner_menu(void) { case BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_4: if (btl_main_menu_update() != 0) { D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; } break; @@ -3846,22 +3848,23 @@ void btl_state_update_partner_menu(void) { case BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_6: btl_main_menu_destroy(); break; - case BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_7: + case BTL_SUBSTATE_PARTNER_MENU_MAIN_SHOW_CANT_SWAP: if (can_switch_to_player() == 0) { btl_show_variable_battle_message(BTL_MSG_CANT_MOVE, 60, 0); } else { btl_show_variable_battle_message(BTL_MSG_CANT_SWITCH, 60, 0); } - D_802AD607 = 1; - gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_8; + ShowingErrorMessage = TRUE; + gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_AWAIT_CANT_SWAP; break; - case BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_8: - if (btl_is_popup_displayed() == 0) { - D_802ACC6C = 4; - D_802ACC60 = 0; - D_802AD607 = 0; - gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; + case BTL_SUBSTATE_PARTNER_MENU_MAIN_AWAIT_CANT_SWAP: + if (btl_is_popup_displayed()) { + break; } + D_802ACC60 = 0; + ShowingErrorMessage = FALSE; + BattleMenu_SwapDelay = 4; + gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; break; case BTL_SUBSTATE_PARTNER_MENU_ABILITIES_1: for (i = 0; i < battleStatus->submenuMoveCount; i++) { @@ -3920,7 +3923,7 @@ void btl_state_update_partner_menu(void) { if (entryIdx == 255) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; btl_state_update_partner_menu(); btl_state_update_partner_menu(); @@ -3973,7 +3976,7 @@ void btl_state_update_partner_menu(void) { for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { ItemData* item; HudScript** hudScript; - if (playerData->invItems[i] == 0) { + if (playerData->invItems[i] == ITEM_NONE) { continue; } item = &gItemTable[playerData->invItems[i]]; @@ -4007,7 +4010,7 @@ void btl_state_update_partner_menu(void) { if (popupMenu->result == POPUP_RESULT_CANCEL) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; btl_state_update_partner_menu(); btl_state_update_partner_menu(); @@ -4017,7 +4020,7 @@ void btl_state_update_partner_menu(void) { battleStatus->unk_1AA = popupMenu->userIndex[popupMenu->result - 1]; battleStatus->moveCategory = BTL_MENU_TYPE_ITEMS; battleStatus->moveArgument = battleStatus->unk_1AA; - battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_8000; + battleStatus->curTargetListFlags = gItemTable[battleStatus->moveArgument].targetFlags | TARGET_FLAG_PRIMARY_ONLY; battleStatus->curAttackElement = 0; battleStatus->lastPartnerMenuSelection[BTL_MENU_IDX_PARTNER_ITEM] = popupMenu->result - 1; hide_popup_menu(); @@ -4087,7 +4090,7 @@ void btl_state_update_partner_menu(void) { if (popupMenu->result == POPUP_RESULT_CANCEL) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; btl_state_update_partner_menu(); btl_state_update_partner_menu(); @@ -4174,7 +4177,7 @@ void btl_state_update_partner_menu(void) { if (entryIdx == 255) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; btl_state_update_partner_menu(); btl_state_update_partner_menu(); @@ -4260,7 +4263,7 @@ void btl_state_update_partner_menu(void) { } else if (entryIdx == 255) { func_802A1050(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; btl_state_update_partner_menu(); btl_state_update_partner_menu(); @@ -4313,7 +4316,7 @@ void btl_state_update_partner_menu(void) { btl_update_strats_menu(); if (btl_main_menu_update() != 0) { D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PARTNER_MENU_MAIN_MENU_1; } break; @@ -4484,7 +4487,7 @@ void btl_state_draw_partner_menu(void) { } s32 btl_menu_show_switch_to_twink(void) { - if (gBattleStatus.flags2 & BS_FLAGS2_4) { + if (gBattleStatus.flags2 & BS_FLAGS2_PARTNER_TURN_USED) { return FALSE; } return TRUE; @@ -4544,11 +4547,11 @@ void btl_state_update_peach_menu(void) { gBattleStatus.flags1 &= ~BS_FLAGS1_PLAYER_IN_BACK; case BTL_SUBSTATE_PEACH_CREATE_MAIN_MENU: gBattleStatus.flags1 |= BS_FLAGS1_MENU_OPEN; - player->flags &= ~ACTOR_FLAG_4000000; - player->flags |= ACTOR_FLAG_8000000; + player->flags &= ~ACTOR_FLAG_USING_IDLE_ANIM; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; if (partner != NULL) { - partner->flags |= ACTOR_FLAG_4000000; - partner->flags |= ACTOR_FLAG_8000000; + partner->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; } entryIdx = 0; @@ -4582,18 +4585,18 @@ void btl_state_update_peach_menu(void) { gBattleSubState = BTL_SUBSTATE_PEACH_MENU_CHOOSE_CATEGORY; break; case BTL_SUBSTATE_PEACH_MENU_CHOOSE_CATEGORY: - set_animation(ACTOR_PLAYER, 0, ANIM_Peach2_Delighted); + set_actor_anim(ACTOR_PLAYER, 0, ANIM_Peach2_Delighted); selectedOption = btl_main_menu_update(); if (D_802ACC60 != 0) { D_802ACC60--; break; } if (selectedOption != 0) { - set_animation(ACTOR_PLAYER, 0, ANIM_Peach1_Walk); + set_actor_anim(ACTOR_PLAYER, 0, ANIM_Peach1_Walk); battleStatus->curSubmenu = battle_menu_submenuIDs[selectedOption - 1]; func_802A1030(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_PEACH_MENU_CHOOSE_TARGET; } break; @@ -4619,15 +4622,16 @@ void btl_state_update_peach_menu(void) { break; case BTL_SUBSTATE_PEACH_MENU_SHOW_CANT_SWITCH: btl_show_variable_battle_message(BTL_MSG_CANT_SWITCH, 60, 0); - D_802AD607 = 1; + ShowingErrorMessage = TRUE; gBattleSubState = BTL_SUBSTATE_PEACH_MENU_AWAIT_CANT_SWITCH_POPUP; break; case BTL_SUBSTATE_PEACH_MENU_AWAIT_CANT_SWITCH_POPUP: - if (!btl_is_popup_displayed()) { - D_802AD607 = 0; - D_802ACC60 = 0; - gBattleSubState = BTL_SUBSTATE_PEACH_MENU_CHOOSE_CATEGORY; + if (btl_is_popup_displayed()) { + break; } + ShowingErrorMessage = FALSE; + D_802ACC60 = 0; + gBattleSubState = BTL_SUBSTATE_PEACH_MENU_CHOOSE_CATEGORY; break; } } @@ -4658,14 +4662,12 @@ void btl_state_draw_peach_menu(void) { } s32 btl_menu_show_switch_to_peach(void) { - if (gBattleStatus.flags2 & BS_FLAGS2_2) { + if (gBattleStatus.flags2 & BS_FLAGS2_PLAYER_TURN_USED) { return FALSE; } return TRUE; } -static const f32 padding2 = 0.0f; - void btl_state_update_twink_menu(void) { BattleStatus* battleStatus = &gBattleStatus; Actor* player = battleStatus->playerActor; @@ -4751,11 +4753,11 @@ void btl_state_update_twink_menu(void) { gBattleStatus.flags1 |= BS_FLAGS1_PLAYER_IN_BACK; case BTL_SUBSTATE_TWINK_MENU_CREATE_MAIN_MENU: gBattleStatus.flags1 |= BS_FLAGS1_MENU_OPEN; - player->flags &= ~ACTOR_FLAG_4000000; - player->flags |= ACTOR_FLAG_8000000; + player->flags &= ~ACTOR_FLAG_USING_IDLE_ANIM; + player->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; if (partner != NULL) { - partner->flags |= ACTOR_FLAG_4000000; - partner->flags |= ACTOR_FLAG_8000000; + partner->flags |= ACTOR_FLAG_USING_IDLE_ANIM; + partner->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; } entryIdx = 0; @@ -4789,18 +4791,18 @@ void btl_state_update_twink_menu(void) { gBattleSubState = BTL_SUBSTATE_TWINK_MENU_CHOOSE_CATEGORY; break; case BTL_SUBSTATE_TWINK_MENU_CHOOSE_CATEGORY: - set_animation(ACTOR_PARTNER, 0, ANIM_Twink_Idle); + set_actor_anim(ACTOR_PARTNER, 0, ANIM_Twink_Idle); selection = btl_main_menu_update(); if (D_802ACC60 != 0) { D_802ACC60--; break; } if (selection != 0) { - set_animation(ACTOR_PARTNER, 0, ANIM_Twink_Angry); + set_actor_anim(ACTOR_PARTNER, 0, ANIM_Twink_Angry); battleStatus->curSubmenu = battle_menu_submenuIDs[selection - 1]; func_802A1030(); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_TWINK_MENU_CHOOSE_TARGET; } break; @@ -4826,15 +4828,16 @@ void btl_state_update_twink_menu(void) { break; case BTL_SUBSTATE_TWINK_MENU_SHOW_CANT_SWITCH: btl_show_variable_battle_message(BTL_MSG_CANT_SWITCH, 60, 0); - D_802AD607 = 1; + ShowingErrorMessage = TRUE; gBattleSubState = BTL_SUBSTATE_TWINK_MENU_AWAIT_CANT_SWITCH_POPUP; break; case BTL_SUBSTATE_TWINK_MENU_AWAIT_CANT_SWITCH_POPUP: - if (!btl_is_popup_displayed()) { - D_802AD607 = 0; - D_802ACC60 = 0; - gBattleSubState = BTL_SUBSTATE_TWINK_MENU_CHOOSE_CATEGORY; + if (btl_is_popup_displayed()) { + break; } + ShowingErrorMessage = FALSE; + D_802ACC60 = 0; + gBattleSubState = BTL_SUBSTATE_TWINK_MENU_CHOOSE_CATEGORY; break; } } @@ -4882,35 +4885,40 @@ void btl_state_update_select_target(void) { targetListLength = actor->targetListLength; selectedTargetIndex = actor->selectedTargetIndex; - actor->flags &= ~ACTOR_FLAG_8000000; + actor->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; targetIndexList = actor->targetIndexList; switch (gBattleSubState) { case BTL_SUBSTATE_SELECT_TARGET_INIT: - D_802ACC64 = 255; - D_802ACC68 = -100; + BattleMenu_TargetPointerAlpha = 255; + BattleMenu_TargetNameOffsetX = -100; gBattleStatus.flags1 &= ~BS_FLAGS1_MENU_OPEN; + + // prepare the action command tip for the selected move if (!is_ability_active(ABILITY_BERSERKER) || (gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) { if (battleStatus->selectedMoveID != MOVE_NONE) { s8 actionTip = gMoveTable[battleStatus->selectedMoveID].actionTip; if (actionTip >= 0) { - btl_show_battle_message(BTL_MSG_ACTION_TIP_00 + actionTip, 60); + btl_show_battle_message(BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING + actionTip, 60); } } } - player_create_target_list(actor); + + // create the target list + create_current_pos_target_list(actor); targetListLength = actor->targetListLength; - if (battleStatus->curTargetListFlags & TARGET_FLAG_ENEMY) { + if (battleStatus->curTargetListFlags & TARGET_FLAG_SELECT_ONE) { targetIndexList = actor->targetIndexList; for (i = 0; i < targetListLength; i++) { target = &actor->targetData[targetIndexList[i]]; - if (get_actor_part(get_actor(target->actorID), target->partID)->flags & ACTOR_PART_FLAG_8) { + if (get_actor_part(get_actor(target->actorID), target->partID)->flags & ACTOR_PART_FLAG_DEFAULT_TARGET) { actor->selectedTargetIndex = i; break; } } } + // when TARGET_FLAG_OVERRIDE is set, skip selecting a target and begin executing the move if (battleStatus->curTargetListFlags & TARGET_FLAG_OVERRIDE) { if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) { gBattleSubState = battleStatus->acceptTargetMenuSubstate; @@ -4929,9 +4937,10 @@ void btl_state_update_select_target(void) { } btl_set_state(BATTLE_STATE_PARTNER_MOVE); } - return; + break; } + // if the target list is empty, skip selecting a target and begin executing the move if (targetListLength == 0) { if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) { gBattleSubState = battleStatus->acceptTargetMenuSubstate; @@ -4950,9 +4959,10 @@ void btl_state_update_select_target(void) { } btl_set_state(BATTLE_STATE_PARTNER_MOVE); } - return; + break; } + // create the HUD elements for the target pointers for (i = 0; i < targetListLength; i++) { id = hud_element_create(&HES_HandPointDownLoop); BattleMenu_TargetHudElems[i] = id; @@ -4962,10 +4972,11 @@ void btl_state_update_select_target(void) { gBattleSubState = BTL_SUBSTATE_SELECT_TARGET_CHOOSE; break; case BTL_SUBSTATE_SELECT_TARGET_CHOOSE: - if (D_802ACC68 < 0) { - D_802ACC68 += 20; - if (D_802ACC68 > 0) { - D_802ACC68 = 0; + // animate the target name sliding into view + if (BattleMenu_TargetNameOffsetX < 0) { + BattleMenu_TargetNameOffsetX += 20; + if (BattleMenu_TargetNameOffsetX > 0) { + BattleMenu_TargetNameOffsetX = 0; } } @@ -4978,7 +4989,7 @@ void btl_state_update_select_target(void) { if (battleStatus->curButtonsPressed & BUTTON_A) { sfx_play_sound(SOUND_MENU_NEXT); D_802ACC60 = 8; - D_802ACC6C = 4; + BattleMenu_SwapDelay = 4; gBattleSubState = BTL_SUBSTATE_SELECT_TARGET_DONE; break; } @@ -4989,7 +5000,7 @@ void btl_state_update_select_target(void) { break; } - if (battleStatus->curTargetListFlags & TARGET_FLAG_ENEMY) { + if (battleStatus->curTargetListFlags & TARGET_FLAG_SELECT_ONE) { s32 oldSelectedTargetIndex = selectedTargetIndex; if (battleStatus->curButtonsHeld & BUTTON_STICK_LEFT) { @@ -5026,10 +5037,13 @@ void btl_state_update_select_target(void) { target = &actor->targetData[targetIndexList[actor->selectedTargetIndex]]; actor->targetActorID = target->actorID; actor->targetPartIndex = target->partID; + + // free the HUD elements for the target pointers for (i = 0; i < targetListLength; i++) { hud_element_free(BattleMenu_TargetHudElems[i]); } + // begin executing the move if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) { gBattleSubState = battleStatus->acceptTargetMenuSubstate; if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { @@ -5049,11 +5063,13 @@ void btl_state_update_select_target(void) { } break; case BTL_SUBSTATE_SELECT_TARGET_CANCEL: + // free the HUD elements for the target pointers for (i = 0; i < targetListLength; i++) { hud_element_free(BattleMenu_TargetHudElems[i]); } + gBattleStatus.flags1 |= BS_FLAGS1_10000 | BS_FLAGS1_MENU_OPEN; - actor->flags |= ACTOR_FLAG_8000000; + actor->flags |= ACTOR_FLAG_SHOW_STATUS_ICONS; if (battleStatus->itemUsesLeft != 0) { btl_set_state(BATTLE_STATE_PLAYER_MENU); @@ -5094,10 +5110,11 @@ void btl_state_draw_select_target(void) { s32 currentPartner; s32 actorID; SelectableTarget* target; - Actor* actor; - Actor* anotherActor; + Actor* choosingActor; + Actor* enemyActor; s32 id; - s32 msgWidth; + s32 i; + s32 nameWidth; s32 xOffset, yOffset; f32 targetX, targetY, targetZ; s32 screenX, screenY, screenZ; @@ -5106,28 +5123,60 @@ void btl_state_draw_select_target(void) { s32* tmpPtr; // TODO required to match and CURSED if (!(gBattleStatus.flags1 & BS_FLAGS1_PARTNER_ACTING)) { - actor = battleStatus->playerActor; + choosingActor = battleStatus->playerActor; } else { - actor = battleStatus->partnerActor; + choosingActor = battleStatus->partnerActor; } - targetListLength = actor->targetListLength; - target = actor->targetData; - selectedTargetIndex = actor->selectedTargetIndex; - targetIndexList = actor->targetIndexList; + targetListLength = choosingActor->targetListLength; + target = choosingActor->targetData; + selectedTargetIndex = choosingActor->selectedTargetIndex; + targetIndexList = choosingActor->targetIndexList; - tmpPtr = &D_802ACC68; + tmpPtr = &BattleMenu_TargetNameOffsetX; - if (targetListLength != 0) { - if (battleStatus->curTargetListFlags & TARGET_FLAG_ENEMY) { - target = &actor->targetData[targetIndexList[selectedTargetIndex]]; - anotherActor = get_actor(target->actorID); - id = BattleMenu_TargetHudElems[0]; - targetX = target->posA.x; - targetY = target->posA.y; - targetZ = target->posA.z; + if (targetListLength == 0) { + return; + } - if (anotherActor->flags & ACTOR_FLAG_UPSIDE_DOWN) { + // draw target pointers + if (battleStatus->curTargetListFlags & TARGET_FLAG_SELECT_ONE) { + target = &choosingActor->targetData[targetIndexList[selectedTargetIndex]]; + enemyActor = get_actor(target->actorID); + id = BattleMenu_TargetHudElems[0]; + targetX = target->truePos.x; + targetY = target->truePos.y; + targetZ = target->truePos.z; + + // select target pointer style based on target actor orientation + if (enemyActor->flags & ACTOR_FLAG_UPSIDE_DOWN) { + xOffset = 16; + yOffset = 2; + if (hud_element_get_script(id) != &HES_HandPointLeftLoop) { + hud_element_set_script(id, &HES_HandPointLeftLoop); + } + } else { + xOffset = 5; + yOffset = -11; + if (hud_element_get_script(id) != &HES_HandPointDownLoop) { + hud_element_set_script(id, &HES_HandPointDownLoop); + } + } + + get_screen_coords(CAM_BATTLE, targetX, targetY, targetZ, &screenX, &screenY, &screenZ); + hud_element_set_render_pos(id, screenX + xOffset, screenY + yOffset); + hud_element_set_alpha(id, BattleMenu_TargetPointerAlpha); + } else { + for (i = 0; i < targetListLength; i++) { + target = &choosingActor->targetData[targetIndexList[i]]; + enemyActor = get_actor(target->actorID); + id = BattleMenu_TargetHudElems[i]; + targetX = target->truePos.x; + targetY = target->truePos.y; + targetZ = target->truePos.z; + + // select target pointer style based on target actor orientation + if (enemyActor->flags & ACTOR_FLAG_UPSIDE_DOWN) { xOffset = 16; yOffset = 2; if (hud_element_get_script(id) != &HES_HandPointLeftLoop) { @@ -5141,102 +5190,78 @@ void btl_state_draw_select_target(void) { } } - get_screen_coords(1, targetX, targetY, targetZ, &screenX, &screenY, &screenZ); + get_screen_coords(CAM_BATTLE, targetX, targetY, targetZ, &screenX, &screenY, &screenZ); hud_element_set_render_pos(id, screenX + xOffset, screenY + yOffset); - hud_element_set_alpha(id, D_802ACC64); - } else { - s32 i; - - for (i = 0; i < targetListLength; i++) { - target = &actor->targetData[targetIndexList[i]]; - anotherActor = get_actor(target->actorID); - id = BattleMenu_TargetHudElems[i]; - targetX = target->posA.x; - targetY = target->posA.y; - targetZ = target->posA.z; - if (anotherActor->flags & ACTOR_FLAG_UPSIDE_DOWN) { - xOffset = 16; - yOffset = 2; - if (hud_element_get_script(id) != &HES_HandPointLeftLoop) { - hud_element_set_script(id, &HES_HandPointLeftLoop); - } - } else { - xOffset = 5; - yOffset = -11; - if (hud_element_get_script(id) != &HES_HandPointDownLoop) { - hud_element_set_script(id, &HES_HandPointDownLoop); - } - } - get_screen_coords(1, targetX, targetY, targetZ, &screenX, &screenY, &screenZ); - hud_element_set_render_pos(id, screenX + xOffset, screenY + yOffset); - hud_element_set_alpha(id, D_802ACC64); - } + hud_element_set_alpha(id, BattleMenu_TargetPointerAlpha); } + } - currentPartner = playerData->curPartner; - screenX = 52; - screenY = 64; - if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { - currentPartner = PARTNER_TWINK; - } + currentPartner = playerData->curPartner; + screenX = 52; + screenY = 64; + if (gBattleStatus.flags2 & BS_FLAGS2_PEACH_BATTLE) { + currentPartner = PARTNER_TWINK; + } - if ((battleStatus->curTargetListFlags & TARGET_FLAG_ENEMY) || targetListLength == 1) { - actorID = target->actorID; - if (actorID == ACTOR_PLAYER) { - msgWidth = get_msg_width(MSG_Menus_Battle_TargetMario, 0) + 10; - } else if (actorID == ACTOR_PARTNER) { - msgWidth = get_msg_width(PartnerNameMessages[currentPartner], 0) + 10; - } else { - target = &actor->targetData[targetIndexList[selectedTargetIndex]]; - anotherActor = get_actor(target->actorID); - msgID = get_actor_part(anotherActor, target->partID)->staticData->overrideNameMsg; - if (msgID == MSG_NONE) { - msgID = bActorNames[anotherActor->actorType]; - } - msgWidth = get_msg_width(msgID, 0) + 10; - } + // get target name width + if ((battleStatus->curTargetListFlags & TARGET_FLAG_SELECT_ONE) || targetListLength == 1) { + actorID = target->actorID; + if (actorID == ACTOR_PLAYER) { + nameWidth = get_msg_width(MSG_Menus_Battle_TargetMario, 0) + 10; + } else if (actorID == ACTOR_PARTNER) { + nameWidth = get_msg_width(PartnerNameMessages[currentPartner], 0) + 10; } else { - target = &actor->targetData[targetIndexList[selectedTargetIndex]]; - actorID = target->actorID; - if (actorID == ACTOR_PLAYER) { - msgWidth = get_msg_width(MSG_Menus_Battle_TargetMario, 0) + 10; - } else if (actorID == ACTOR_PARTNER) { - msgWidth = get_msg_width(PartnerNameMessages[currentPartner], 0) + 10; - } else { - msgWidth = get_msg_width(MSG_Menus_Battle_TargetAllEnemies, 0) + 10; + target = &choosingActor->targetData[targetIndexList[selectedTargetIndex]]; + enemyActor = get_actor(target->actorID); + msgID = get_actor_part(enemyActor, target->partID)->staticData->overrideNameMsg; + if (msgID == MSG_NONE) { + msgID = bActorNames[enemyActor->actorType]; } + nameWidth = get_msg_width(msgID, 0) + 10; } - - draw_box(0, WINDOW_STYLE_4, screenX + D_802ACC68, screenY, 0, msgWidth, 20, 255, 0, - 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); - - screenX += 4; - screenY += 2; - if ((battleStatus->curTargetListFlags & TARGET_FLAG_ENEMY) || targetListLength == 1) { - actorID = target->actorID; - if (actorID == ACTOR_PLAYER) { - draw_msg(MSG_Menus_Battle_TargetMario, screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); - } else if (actorID == ACTOR_PARTNER) { - draw_msg(PartnerNameMessages[currentPartner], screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); - } else { - target = &actor->targetData[targetIndexList[selectedTargetIndex]]; - anotherActor = get_actor(target->actorID); - msgID = get_actor_part(anotherActor, target->partID)->staticData->overrideNameMsg; - if (msgID == MSG_NONE) { - msgID = bActorNames[anotherActor->actorType]; - } - draw_msg(msgID, screenX + *tmpPtr, screenY, 255, MSG_PAL_36, 0); // TODO required to match - } + } else { + target = &choosingActor->targetData[targetIndexList[selectedTargetIndex]]; + actorID = target->actorID; + if (actorID == ACTOR_PLAYER) { + nameWidth = get_msg_width(MSG_Menus_Battle_TargetMario, 0) + 10; + } else if (actorID == ACTOR_PARTNER) { + nameWidth = get_msg_width(PartnerNameMessages[currentPartner], 0) + 10; } else { - target = &actor->targetData[targetIndexList[selectedTargetIndex]]; - actorID = target->actorID; - if (actorID == ACTOR_PLAYER) { - draw_msg(MSG_Menus_Battle_TargetMario, screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); - } else if (actorID == ACTOR_PARTNER) { - draw_msg(PartnerNameMessages[currentPartner], screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); - } else { - draw_msg(MSG_Menus_Battle_TargetAllEnemies, screenX + D_802ACC68, screenY, 255, MSG_PAL_36, 0); + nameWidth = get_msg_width(MSG_Menus_Battle_TargetAllEnemies, 0) + 10; + } + } + + // draw target name box + draw_box(0, WINDOW_STYLE_4, screenX + BattleMenu_TargetNameOffsetX, screenY, 0, nameWidth, 20, 255, 0, + 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, NULL, NULL, SCREEN_WIDTH, SCREEN_HEIGHT, NULL); + + // draw target name text + screenX += 4; + screenY += 2; + if ((battleStatus->curTargetListFlags & TARGET_FLAG_SELECT_ONE) || targetListLength == 1) { + actorID = target->actorID; + if (actorID == ACTOR_PLAYER) { + draw_msg(MSG_Menus_Battle_TargetMario, screenX + BattleMenu_TargetNameOffsetX, screenY, 255, MSG_PAL_36, 0); + } else if (actorID == ACTOR_PARTNER) { + draw_msg(PartnerNameMessages[currentPartner], screenX + BattleMenu_TargetNameOffsetX, screenY, 255, MSG_PAL_36, 0); + } else { + target = &choosingActor->targetData[targetIndexList[selectedTargetIndex]]; + enemyActor = get_actor(target->actorID); + msgID = get_actor_part(enemyActor, target->partID)->staticData->overrideNameMsg; + if (msgID == MSG_NONE) { + msgID = bActorNames[enemyActor->actorType]; } + draw_msg(msgID, screenX + *tmpPtr, screenY, 255, MSG_PAL_36, 0); // TODO required to match + } + } else { + target = &choosingActor->targetData[targetIndexList[selectedTargetIndex]]; + actorID = target->actorID; + if (actorID == ACTOR_PLAYER) { + draw_msg(MSG_Menus_Battle_TargetMario, screenX + BattleMenu_TargetNameOffsetX, screenY, 255, MSG_PAL_36, 0); + } else if (actorID == ACTOR_PARTNER) { + draw_msg(PartnerNameMessages[currentPartner], screenX + BattleMenu_TargetNameOffsetX, screenY, 255, MSG_PAL_36, 0); + } else { + draw_msg(MSG_Menus_Battle_TargetAllEnemies, screenX + BattleMenu_TargetNameOffsetX, screenY, 255, MSG_PAL_36, 0); } } } diff --git a/src/battle_cam.c b/src/battle/camera.c similarity index 99% rename from src/battle_cam.c rename to src/battle/camera.c index faa199d220..064c6e7a41 100644 --- a/src/battle_cam.c +++ b/src/battle/camera.c @@ -1314,7 +1314,7 @@ ApiStatus CamPresetUpdate_K(Evt* script, s32 isInitialCall) { break; } - get_screen_coords(1, BattleCam_PosX, y, BattleCam_PosZ, &screenX, &screenY, &screenZ); + get_screen_coords(CAM_BATTLE, BattleCam_PosX, y, BattleCam_PosZ, &screenX, &screenY, &screenZ); if (screenY < 100) { y += 25.0f; @@ -1383,7 +1383,7 @@ ApiStatus CamPresetUpdate_L(Evt* script, s32 isInitialCall) { BattleCam_InitialBoomPitch = camera->auxBoomPitch; } - get_screen_coords(1, x, y, z, &screenX, &screenY, &screenZ); + get_screen_coords(CAM_BATTLE, x, y, z, &screenX, &screenY, &screenZ); if (screenY < 100) { y += 25.0f; diff --git a/src/battle/common/actor/albino_dino.inc.c b/src/battle/common/actor/albino_dino.inc.c index a8ab211d3c..dda1e36e33 100644 --- a/src/battle/common/actor/albino_dino.inc.c +++ b/src/battle/common/actor/albino_dino.inc.c @@ -78,7 +78,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -9, 46 }, diff --git a/src/battle/common/actor/amazy_dayzee.inc.c b/src/battle/common/actor/amazy_dayzee.inc.c index b79a60bd51..f60db765c3 100644 --- a/src/battle/common/actor/amazy_dayzee.inc.c +++ b/src/battle/common/actor/amazy_dayzee.inc.c @@ -50,7 +50,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 30 }, diff --git a/src/battle/common/actor/anti_guy.inc.c b/src/battle/common/actor/anti_guy.inc.c index d292e88214..78e42f0033 100644 --- a/src/battle/common/actor/anti_guy.inc.c +++ b/src/battle/common/actor/anti_guy.inc.c @@ -63,7 +63,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/common/actor/bandit.inc.c b/src/battle/common/actor/bandit.inc.c index d101c547ce..a1996682ff 100644 --- a/src/battle/common/actor/bandit.inc.c +++ b/src/battle/common/actor/bandit.inc.c @@ -92,7 +92,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 28 }, diff --git a/src/battle/common/actor/bill_blaster.inc.c b/src/battle/common/actor/bill_blaster.inc.c index 2168d64f4a..3df90a0df8 100644 --- a/src/battle/common/actor/bill_blaster.inc.c +++ b/src/battle/common/actor/bill_blaster.inc.c @@ -71,7 +71,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -9 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 100, 0, 0 }, .targetOffset = { -106, 29 }, @@ -220,7 +220,7 @@ EvtScript N(EVS_Move_FireBullet) = { EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.0)) EVT_END_THREAD - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BULLET_BILL_FIRE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 33) diff --git a/src/battle/common/actor/bob_omb.inc.c b/src/battle/common/actor/bob_omb.inc.c index 0880c3193d..91770eb26b 100644 --- a/src/battle/common/actor/bob_omb.inc.c +++ b/src/battle/common/actor/bob_omb.inc.c @@ -107,7 +107,7 @@ s32 N(IgnitedStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -177,7 +177,7 @@ EvtScript N(EVS_Ignite) = { EVT_CALL(JumpToGoal, ACTOR_SELF, 5, FALSE, TRUE, FALSE) EVT_CALL(EnableActorPaletteEffects, ACTOR_SELF, PRT_MAIN, TRUE) EVT_CALL(SetActorPaletteSwapParams, ACTOR_SELF, PRT_MAIN, SPR_PAL_Bobomb, SPR_PAL_Bobomb_Burst, 0, 10, 0, 10, 0, 0) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_WAIT(3) EVT_CALL(StopLoopingSoundAtActor, ACTOR_SELF, 0) EVT_RETURN @@ -211,7 +211,7 @@ EvtScript N(EVS_Cleanup) = { EvtScript N(EVS_Explode) = { EVT_EXEC_WAIT(N(EVS_Cleanup)) - EVT_CALL(StartRumble, 11) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.75)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) diff --git a/src/battle/common/actor/bony_beetle.inc.c b/src/battle/common/actor/bony_beetle.inc.c index 91fd74ca03..793a20f895 100644 --- a/src/battle/common/actor/bony_beetle.inc.c +++ b/src/battle/common/actor/bony_beetle.inc.c @@ -128,7 +128,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 21 }, diff --git a/src/battle/common/actor/bullet_bill.inc.c b/src/battle/common/actor/bullet_bill.inc.c index e5fd0b432e..f0d0782864 100644 --- a/src/battle/common/actor/bullet_bill.inc.c +++ b/src/battle/common/actor/bullet_bill.inc.c @@ -58,7 +58,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, @@ -307,7 +307,7 @@ EvtScript N(EVS_MakeExplosionFX) = { EVT_ADD(LVar2, 2) EVT_PLAY_EFFECT(EFFECT_BLAST, 0, LVar0, LVar1, LVar2, EVT_FLOAT(3.0), 30, 0) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_BULLET_BILL_EXPLODE_A) - EVT_CALL(StartRumble, 11) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_END_THREAD diff --git a/src/battle/common/actor/buzzy_beetle.inc.c b/src/battle/common/actor/buzzy_beetle.inc.c index 1f91e8cfed..ed34915c07 100644 --- a/src/battle/common/actor/buzzy_beetle.inc.c +++ b/src/battle/common/actor/buzzy_beetle.inc.c @@ -71,7 +71,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 16 }, diff --git a/src/battle/common/actor/bzzap.inc.c b/src/battle/common/actor/bzzap.inc.c index 2a7daf5a46..336f9f7694 100644 --- a/src/battle/common/actor/bzzap.inc.c +++ b/src/battle/common/actor/bzzap.inc.c @@ -68,7 +68,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -7, 33 }, diff --git a/src/battle/common/actor/cleft.inc.c b/src/battle/common/actor/cleft.inc.c index 0dcb28f85c..80ba03af5a 100644 --- a/src/battle/common/actor/cleft.inc.c +++ b/src/battle/common/actor/cleft.inc.c @@ -65,7 +65,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, diff --git a/src/battle/common/actor/clubba.inc.c b/src/battle/common/actor/clubba.inc.c index b329b7aabc..0874c7a294 100644 --- a/src/battle/common/actor/clubba.inc.c +++ b/src/battle/common/actor/clubba.inc.c @@ -62,7 +62,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -12, 32 }, diff --git a/src/battle/common/actor/crazee_dayzee.inc.c b/src/battle/common/actor/crazee_dayzee.inc.c index 03b343bd50..52225dc771 100644 --- a/src/battle/common/actor/crazee_dayzee.inc.c +++ b/src/battle/common/actor/crazee_dayzee.inc.c @@ -50,7 +50,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 30 }, diff --git a/src/battle/common/actor/dark_koopa.inc.c b/src/battle/common/actor/dark_koopa.inc.c index fb164ffc9e..eab7c1745c 100644 --- a/src/battle/common/actor/dark_koopa.inc.c +++ b/src/battle/common/actor/dark_koopa.inc.c @@ -74,7 +74,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 36 }, diff --git a/src/battle/common/actor/dark_paratroopa.inc.c b/src/battle/common/actor/dark_paratroopa.inc.c index 4eff9d39d4..378fb2830d 100644 --- a/src/battle/common/actor/dark_paratroopa.inc.c +++ b/src/battle/common/actor/dark_paratroopa.inc.c @@ -131,7 +131,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -7 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -4, 36 }, @@ -594,9 +594,9 @@ EvtScript N(EVS_TakeTurn_Flying) = { EvtScript N(EVS_FallDown) = { EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_FLYING, 0, 0, 0) EVT_CALL(HideHealthBar, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_WINGS, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_WINGS, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 8) EVT_SUB(LVar2, 2) diff --git a/src/battle/common/actor/dry_bones.inc.c b/src/battle/common/actor/dry_bones.inc.c index 02a321c2b3..d55d555ac3 100644 --- a/src/battle/common/actor/dry_bones.inc.c +++ b/src/battle/common/actor/dry_bones.inc.c @@ -115,7 +115,7 @@ s32 N(CollapsedStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -8, 30 }, @@ -175,7 +175,7 @@ EvtScript N(EVS_Init) = { EvtScript N(EVS_HandlePhase) = { EVT_CALL(GetOriginalActorType, ACTOR_SELF, LVarA) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -187,10 +187,10 @@ EvtScript N(EVS_HandlePhase) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -199,16 +199,16 @@ EvtScript N(EVS_HandlePhase) = { EVT_RETURN EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(2) EVT_CALL(GetOwnerTarget, LVar0, LVar1) EVT_CALL(SetActorFlagBits, LVar0, ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(2) EVT_END_IF EVT_RETURN @@ -260,7 +260,7 @@ EvtScript N(EVS_Collapse) = { EVT_ADD(LVar0, BASE_COLLAPSE_DURATION) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_CollapseTurns, LVar0) EVT_CALL(GetOriginalActorType, ACTOR_SELF, LVarA) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -269,10 +269,10 @@ EvtScript N(EVS_Collapse) = { EVT_RETURN EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -281,16 +281,16 @@ EvtScript N(EVS_Collapse) = { EVT_RETURN EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(2) EVT_CALL(GetOwnerTarget, LVar0, LVar1) EVT_CALL(SetActorFlagBits, LVar0, ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(2) EVT_END_IF EVT_RETURN @@ -462,7 +462,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefaultAnims))) EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(DefenseTable))) EVT_CALL(SetStatusTable, ACTOR_SELF, EVT_PTR(N(StatusTable))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_2000, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_DAMAGE_IMMUNE, FALSE) EVT_CALL(SetTargetOffset, ACTOR_SELF, PRT_MAIN, -8, 30) EVT_CALL(SetProjectileTargetOffset, ACTOR_SELF, PRT_MAIN, -1, -10) EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVar0) diff --git a/src/battle/common/actor/duplighost.inc.c b/src/battle/common/actor/duplighost.inc.c index fefa55ae4f..06089a7a79 100644 --- a/src/battle/common/actor/duplighost.inc.c +++ b/src/battle/common/actor/duplighost.inc.c @@ -93,7 +93,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 25 }, @@ -375,7 +375,7 @@ EvtScript A(EVS_Duplighost_OnHitElectric) = { EVT_CALL(CopyBuffs, ACTOR_SELF, LVarA) EVT_CALL(GetActorPos, ACTOR_SELF, LVarB, LVarC, LVarD) EVT_CALL(SetActorPos, LVarA, LVarB, LVarC, LVarD) - EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) @@ -444,7 +444,7 @@ EvtScript A(EVS_Duplighost_OnShockHit) = { EVT_CALL(CopyBuffs, ACTOR_SELF, LVarA) EVT_CALL(GetActorPos, ACTOR_SELF, LVarB, LVarC, LVarD) EVT_CALL(SetActorPos, LVarA, LVarB, LVarC, LVarD) - EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, LVarA, 1, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetActorFlagBits, LVarA, ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW, TRUE) @@ -658,7 +658,7 @@ EvtScript N(EVS_CopyPartner) = { EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetActorPos, LVarA, LVar0, LVar1, LVar2) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, LVarA, LVar0) diff --git a/src/battle/common/actor/duplighost/ghost_bombette.inc.c b/src/battle/common/actor/duplighost/ghost_bombette.inc.c index d518896640..c1d534fa83 100644 --- a/src/battle/common/actor/duplighost/ghost_bombette.inc.c +++ b/src/battle/common/actor/duplighost/ghost_bombette.inc.c @@ -54,7 +54,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, diff --git a/src/battle/common/actor/duplighost/ghost_bow.inc.c b/src/battle/common/actor/duplighost/ghost_bow.inc.c index 456cdd891b..b9f3c17a37 100644 --- a/src/battle/common/actor/duplighost/ghost_bow.inc.c +++ b/src/battle/common/actor/duplighost/ghost_bow.inc.c @@ -66,7 +66,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { 0, -26 }, diff --git a/src/battle/common/actor/duplighost/ghost_goombario.inc.c b/src/battle/common/actor/duplighost/ghost_goombario.inc.c index 73f0a296c0..77b12ae9ef 100644 --- a/src/battle/common/actor/duplighost/ghost_goombario.inc.c +++ b/src/battle/common/actor/duplighost/ghost_goombario.inc.c @@ -54,7 +54,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, @@ -393,7 +393,7 @@ EvtScript N(EVS_Attack_Headbonk) = { EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0281) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_GOOMBARIO_HEADBONK) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CASE_EQ(PARTNER_RANK_SUPER) EVT_THREAD @@ -408,7 +408,7 @@ EvtScript N(EVS_Attack_Headbonk) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_ENABLE) EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0281) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_GOOMBARIO_HEADBONK) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_DISABLE) EVT_CASE_EQ(PARTNER_RANK_ULTRA) @@ -433,7 +433,7 @@ EvtScript N(EVS_Attack_Headbonk) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_ENABLE) EVT_CALL(SetJumpAnimations, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0281) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_GOOMBARIO_HEADBONK) EVT_CALL(N(UnkFunc62), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_SELF, ACTOR_BLUR_DISABLE) EVT_END_SWITCH @@ -534,7 +534,7 @@ EvtScript N(EVS_Move_Tattle) = { EVT_WAIT(12) EVT_CALL(EnableBattleStatusBar, FALSE) EVT_CALL(SetCamEnabled, CAM_TATTLE, TRUE) - EVT_CALL(SetCamFlag80, CAM_TATTLE, FALSE) + EVT_CALL(SetCamNoDraw, CAM_TATTLE, FALSE) EVT_CALL(SetCamPerspective, CAM_TATTLE, CAM_UPDATE_MODE_6, 25, 16, 1024) EVT_CALL(SetCamViewport, CAM_TATTLE, 37, 95, 138, 99) EVT_CALL(SetGoalToTarget, ACTOR_SELF) @@ -547,7 +547,7 @@ EvtScript N(EVS_Move_Tattle) = { EVT_CALL(func_802CABE8, CAM_TATTLE, 0, LVar3, 100, 4) EVT_WAIT(2) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_TATTLE_WINDOW_OPEN) - EVT_CALL(SetCamFlag80, CAM_TATTLE, TRUE) + EVT_CALL(SetCamNoDraw, CAM_TATTLE, TRUE) EVT_WAIT(10) EVT_CALL(ActorSpeak, MSG_EnemyTattle_Mario, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) EVT_CALL(N(CloseTattleWindow), LVar5) diff --git a/src/battle/common/actor/duplighost/ghost_kooper.inc.c b/src/battle/common/actor/duplighost/ghost_kooper.inc.c index 77605748b1..58e1938b92 100644 --- a/src/battle/common/actor/duplighost/ghost_kooper.inc.c +++ b/src/battle/common/actor/duplighost/ghost_kooper.inc.c @@ -72,7 +72,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 32 }, diff --git a/src/battle/common/actor/duplighost/ghost_lakilester.inc.c b/src/battle/common/actor/duplighost/ghost_lakilester.inc.c index 749f701ccd..af3e240c0f 100644 --- a/src/battle/common/actor/duplighost/ghost_lakilester.inc.c +++ b/src/battle/common/actor/duplighost/ghost_lakilester.inc.c @@ -59,7 +59,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 33 }, diff --git a/src/battle/common/actor/duplighost/ghost_parakarry.inc.c b/src/battle/common/actor/duplighost/ghost_parakarry.inc.c index 65d6d4da32..6889a1f382 100644 --- a/src/battle/common/actor/duplighost/ghost_parakarry.inc.c +++ b/src/battle/common/actor/duplighost/ghost_parakarry.inc.c @@ -66,7 +66,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -16 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { -3, -18 }, diff --git a/src/battle/common/actor/duplighost/ghost_sushie.inc.c b/src/battle/common/actor/duplighost/ghost_sushie.inc.c index 423d983383..880b14b1b9 100644 --- a/src/battle/common/actor/duplighost/ghost_sushie.inc.c +++ b/src/battle/common/actor/duplighost/ghost_sushie.inc.c @@ -54,7 +54,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/common/actor/duplighost/ghost_watt.inc.c b/src/battle/common/actor/duplighost/ghost_watt.inc.c index 9c2ba849dd..5ea28e21cb 100644 --- a/src/battle/common/actor/duplighost/ghost_watt.inc.c +++ b/src/battle/common/actor/duplighost/ghost_watt.inc.c @@ -68,7 +68,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -8 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 50, 0 }, .targetOffset = { -1, -30 }, @@ -416,7 +416,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_WAIT(1) EVT_END_LOOP EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_BattleWatt_Idle) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_IDLE) EVT_CALL(AddBattleCamZoom, 75) EVT_CALL(MoveBattleCamOver, 5) EVT_THREAD diff --git a/src/battle/common/actor/ember.inc.c b/src/battle/common/actor/ember.inc.c index f219a7fde5..2a0febdb5f 100644 --- a/src/battle/common/actor/ember.inc.c +++ b/src/battle/common/actor/ember.inc.c @@ -67,7 +67,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 25 }, @@ -255,7 +255,7 @@ EvtScript N(EVS_FlyHome) = { }; EvtScript N(EVS_GetAvailableColumn) = { - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar5) @@ -272,7 +272,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag1, FALSE) diff --git a/src/battle/common/actor/forest_fuzzy.inc.c b/src/battle/common/actor/forest_fuzzy.inc.c index 162eac6bb9..ee1e7b04a5 100644 --- a/src/battle/common/actor/forest_fuzzy.inc.c +++ b/src/battle/common/actor/forest_fuzzy.inc.c @@ -56,7 +56,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, @@ -524,7 +524,7 @@ EvtScript N(EVS_GetAvailableSpawnPos) = { EVT_SET(LFlag2, FALSE) EVT_SET(LFlag3, FALSE) EVT_SET(LFlag4, FALSE) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar5) @@ -541,7 +541,7 @@ EvtScript N(EVS_GetAvailableSpawnPos) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF // check adjacent positions to self @@ -593,7 +593,7 @@ EvtScript N(EVS_GetAvailableSpawnPos) = { EvtScript N(EVS_CountSummoners) = { EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -619,7 +619,7 @@ EvtScript N(EVS_CountSummoners) = { EVT_END_IF EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN diff --git a/src/battle/common/actor/frost_piranha.inc.c b/src/battle/common/actor/frost_piranha.inc.c index f3ff1a2e9a..010f827aaa 100644 --- a/src/battle/common/actor/frost_piranha.inc.c +++ b/src/battle/common/actor/frost_piranha.inc.c @@ -67,7 +67,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 50 }, diff --git a/src/battle/common/actor/fuzzy.inc.c b/src/battle/common/actor/fuzzy.inc.c index 7b75265fed..8b772fc9da 100644 --- a/src/battle/common/actor/fuzzy.inc.c +++ b/src/battle/common/actor/fuzzy.inc.c @@ -52,7 +52,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, diff --git a/src/battle/common/actor/gloomba.inc.c b/src/battle/common/actor/gloomba.inc.c index 3699267be0..29b573bc0a 100644 --- a/src/battle/common/actor/gloomba.inc.c +++ b/src/battle/common/actor/gloomba.inc.c @@ -50,7 +50,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, diff --git a/src/battle/common/actor/goomba.inc.c b/src/battle/common/actor/goomba.inc.c index 504266ab77..7b5d492fc2 100644 --- a/src/battle/common/actor/goomba.inc.c +++ b/src/battle/common/actor/goomba.inc.c @@ -55,7 +55,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, diff --git a/src/battle/common/actor/gray_magikoopa.inc.c b/src/battle/common/actor/gray_magikoopa.inc.c index c43066efd6..691878176c 100644 --- a/src/battle/common/actor/gray_magikoopa.inc.c +++ b/src/battle/common/actor/gray_magikoopa.inc.c @@ -93,7 +93,7 @@ s32 N(FlyingStatusTable)[] = { ActorPartBlueprint N(GroundParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -120,7 +120,7 @@ ActorPartBlueprint N(FlyingParts)[] = { .projectileTargetOffset = { -5, -12 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -367,10 +367,10 @@ EvtScript N(EVS_KnockDown) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_BROOM, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -798,7 +798,7 @@ EvtScript N(EVS_Init_Flying) = { EvtScript N(EVS_TakeTurn) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -816,7 +816,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -824,7 +824,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN diff --git a/src/battle/common/actor/green_magikoopa.inc.c b/src/battle/common/actor/green_magikoopa.inc.c index b3a10e276f..3093bdec73 100644 --- a/src/battle/common/actor/green_magikoopa.inc.c +++ b/src/battle/common/actor/green_magikoopa.inc.c @@ -95,7 +95,7 @@ s32 N(FlyingStatusTable)[] = { ActorPartBlueprint N(GroundParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -122,7 +122,7 @@ ActorPartBlueprint N(FlyingParts)[] = { .projectileTargetOffset = { -5, -12 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -369,10 +369,10 @@ EvtScript N(EVS_KnockDown) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_BROOM, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -800,33 +800,33 @@ EvtScript N(EVS_Init_Flying) = { EvtScript N(EVS_TakeTurn) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) - EVT_CALL(GetOwnerTarget, LVar0, LVar1) - EVT_CALL(GetIndexFromHome, LVar0, LVar1) - EVT_CALL(GetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, LVar2) - EVT_IF_GT(LVar1, LVar2) - EVT_CALL(N(CheckMagikoopaCastTarget), LVar0, LVar3) - EVT_IF_EQ(LVar3, 0) - EVT_CALL(GetActorDefenseBoost, LVar0, LVar4) - EVT_IF_LT(LVar4, 3) - EVT_SET(LVar8, LVar0) - EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, LVar1) - EVT_GOTO(100) + EVT_CALL(GetOwnerTarget, LVar0, LVar1) + EVT_CALL(GetIndexFromHome, LVar0, LVar1) + EVT_CALL(GetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, LVar2) + EVT_IF_GT(LVar1, LVar2) + EVT_CALL(N(CheckMagikoopaCastTarget), LVar0, LVar3) + EVT_IF_EQ(LVar3, 0) + EVT_CALL(GetActorDefenseBoost, LVar0, LVar4) + EVT_IF_LT(LVar4, 3) + EVT_SET(LVar8, LVar0) + EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, LVar1) + EVT_GOTO(100) + EVT_END_IF EVT_END_IF EVT_END_IF - EVT_END_IF - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(0) - EVT_END_IF + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) + EVT_IF_NE(LVar0, ITER_NO_MORE) + EVT_GOTO(0) + EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) EVT_SET(LFlag0, TRUE) EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN diff --git a/src/battle/common/actor/groove_guy.inc.c b/src/battle/common/actor/groove_guy.inc.c index 21bdbb76ee..30c96b32e6 100644 --- a/src/battle/common/actor/groove_guy.inc.c +++ b/src/battle/common/actor/groove_guy.inc.c @@ -84,7 +84,7 @@ BSS PlayerStatus N(DummyPlayerStatus); ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -461,7 +461,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag2, FALSE) EVT_SET(LFlag3, FALSE) EVT_SET(LFlag4, FALSE) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar5) @@ -478,7 +478,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag1, FALSE) @@ -504,7 +504,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EvtScript N(EVS_CountActiveSummoners) = { EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -520,7 +520,7 @@ EvtScript N(EVS_CountActiveSummoners) = { EVT_END_IF EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN diff --git a/src/battle/common/actor/gulpit.inc.c b/src/battle/common/actor/gulpit.inc.c index a26c7ebf41..0fa03b71b7 100644 --- a/src/battle/common/actor/gulpit.inc.c +++ b/src/battle/common/actor/gulpit.inc.c @@ -81,7 +81,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -7, 48 }, @@ -453,7 +453,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_SET(LVarA, 0) // search for rock actors to pick up - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_10000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_ALLOW_TARGET_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -470,7 +470,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_SWITCH EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_SWITCH(LVarA) diff --git a/src/battle/common/actor/gulpit_rocks.inc.c b/src/battle/common/actor/gulpit_rocks.inc.c index 985b2dbfe1..9f1ff21d86 100644 --- a/src/battle/common/actor/gulpit_rocks.inc.c +++ b/src/battle/common/actor/gulpit_rocks.inc.c @@ -60,7 +60,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 14 }, diff --git a/src/battle/common/actor/hammer_bro.inc.c b/src/battle/common/actor/hammer_bro.inc.c index 70371aec64..989527a88d 100644 --- a/src/battle/common/actor/hammer_bro.inc.c +++ b/src/battle/common/actor/hammer_bro.inc.c @@ -77,7 +77,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -3, 35 }, diff --git a/src/battle/common/actor/hurt_plant.inc.c b/src/battle/common/actor/hurt_plant.inc.c index 813c3e2bc9..1a8308f298 100644 --- a/src/battle/common/actor/hurt_plant.inc.c +++ b/src/battle/common/actor/hurt_plant.inc.c @@ -63,7 +63,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 24 }, diff --git a/src/battle/common/actor/hyper_cleft.inc.c b/src/battle/common/actor/hyper_cleft.inc.c index 79a12fed34..0f656a0e0f 100644 --- a/src/battle/common/actor/hyper_cleft.inc.c +++ b/src/battle/common/actor/hyper_cleft.inc.c @@ -72,7 +72,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, diff --git a/src/battle/common/actor/hyper_goomba.inc.c b/src/battle/common/actor/hyper_goomba.inc.c index 3f379af14b..0e40448648 100644 --- a/src/battle/common/actor/hyper_goomba.inc.c +++ b/src/battle/common/actor/hyper_goomba.inc.c @@ -62,7 +62,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, diff --git a/src/battle/common/actor/hyper_paragoomba.inc.c b/src/battle/common/actor/hyper_paragoomba.inc.c index f09d2ef6ea..60323c26a7 100644 --- a/src/battle/common/actor/hyper_paragoomba.inc.c +++ b/src/battle/common/actor/hyper_paragoomba.inc.c @@ -118,7 +118,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -783,10 +783,10 @@ EvtScript N(EVS_Attack_SkyDive) = { EvtScript N(EVS_KnockDown) = { EVT_CALL(HideHealthBar, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DUMMY_WING_L, LVar0, LVar1, LVar2) EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_DUMMY_WING_L, -9, 7, -2) diff --git a/src/battle/common/actor/jungle_fuzzy.inc.c b/src/battle/common/actor/jungle_fuzzy.inc.c index f5290b2a5b..ccd91525bf 100644 --- a/src/battle/common/actor/jungle_fuzzy.inc.c +++ b/src/battle/common/actor/jungle_fuzzy.inc.c @@ -60,7 +60,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, @@ -439,7 +439,7 @@ EvtScript N(EVS_Attack_Leech) = { EVT_WAIT(30) EVT_END_LOOP EVT_ELSE - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 0x00007FFF) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_MASH_BUTTON, 32767) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) EVT_CALL(action_command_stop_leech_init) @@ -698,7 +698,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag2, FALSE) EVT_SET(LFlag3, FALSE) EVT_SET(LFlag4, FALSE) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar5) @@ -715,7 +715,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_SET(LVarA, -1) @@ -765,7 +765,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EvtScript N(EVS_CountActiveSummoners) = { EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -791,7 +791,7 @@ EvtScript N(EVS_CountActiveSummoners) = { EVT_END_IF EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN diff --git a/src/battle/common/actor/koopa_troopa.inc.c b/src/battle/common/actor/koopa_troopa.inc.c index acbe174363..793f1852e6 100644 --- a/src/battle/common/actor/koopa_troopa.inc.c +++ b/src/battle/common/actor/koopa_troopa.inc.c @@ -66,7 +66,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 36 }, diff --git a/src/battle/common/actor/koopatrol.inc.c b/src/battle/common/actor/koopatrol.inc.c index 23e9633640..4f485c8301 100644 --- a/src/battle/common/actor/koopatrol.inc.c +++ b/src/battle/common/actor/koopatrol.inc.c @@ -149,7 +149,7 @@ s32 N(ChargedStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 32 }, @@ -986,7 +986,7 @@ EvtScript N(EVS_Attack_ChargedToss) = { }; EvtScript N(EVS_GetAvailableColumn) = { - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -999,14 +999,14 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_END_CASE_GROUP EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF EVT_SET(LFlag1, FALSE) EVT_SET(LFlag2, FALSE) EVT_SET(LFlag3, FALSE) EVT_SET(LFlag4, FALSE) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1023,7 +1023,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag1, FALSE) @@ -1140,7 +1140,7 @@ EvtScript N(EVS_Move_SummonBackup) = { EvtScript N(EVS_CountActiveSummoners) = { EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1176,7 +1176,7 @@ EvtScript N(EVS_CountActiveSummoners) = { EVT_END_IF EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN diff --git a/src/battle/common/actor/lakitu.inc.c b/src/battle/common/actor/lakitu.inc.c index a7982d1a07..4579249726 100644 --- a/src/battle/common/actor/lakitu.inc.c +++ b/src/battle/common/actor/lakitu.inc.c @@ -83,7 +83,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -5, 35 }, @@ -513,7 +513,7 @@ EvtScript N(EVS_Move_SummonSpiny) = { }; EvtScript N(EVS_GetAvailableColumn) = { - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar5) @@ -530,7 +530,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag1, FALSE) @@ -556,7 +556,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EvtScript N(EVS_CountActiveSummoners) = { EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -572,7 +572,7 @@ EvtScript N(EVS_CountActiveSummoners) = { EVT_END_IF EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN diff --git a/src/battle/common/actor/lava_bubble.inc.c b/src/battle/common/actor/lava_bubble.inc.c index 6dd0789e26..f27de7318a 100644 --- a/src/battle/common/actor/lava_bubble.inc.c +++ b/src/battle/common/actor/lava_bubble.inc.c @@ -68,7 +68,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 25 }, diff --git a/src/battle/common/actor/m_bush.inc.c b/src/battle/common/actor/m_bush.inc.c index 0e1cf0da8b..c901b3cb97 100644 --- a/src/battle/common/actor/m_bush.inc.c +++ b/src/battle/common/actor/m_bush.inc.c @@ -63,7 +63,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 22 }, diff --git a/src/battle/common/actor/magikoopa.inc.c b/src/battle/common/actor/magikoopa.inc.c index be56cf08ca..3971472968 100644 --- a/src/battle/common/actor/magikoopa.inc.c +++ b/src/battle/common/actor/magikoopa.inc.c @@ -134,7 +134,7 @@ s32 N(FlyingStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -161,7 +161,7 @@ ActorPartBlueprint N(FlyingParts)[] = { .projectileTargetOffset = { -5, -12 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -302,7 +302,7 @@ EvtScript N(EVS_Idle) = { EvtScript N(EVS_KnockDownCheck) = { EVT_CALL(GetBattleFlags, LVar0) EVT_IF_NOT_FLAG(LVar0, BS_FLAGS1_PARTNER_ACTING) - EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_ShouldKnockDown, TRUE) EVT_END_IF EVT_ELSE @@ -313,7 +313,7 @@ EvtScript N(EVS_KnockDownCheck) = { EVT_CASE_OR_EQ(MOVE_HEADBONK3) EVT_CASE_OR_EQ(MOVE_MULTIBONK) EVT_CALL(GetBattleFlags, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS1_200 | BS_FLAGS1_40) + EVT_IF_FLAG(LVar0, BS_FLAGS1_40 | BS_FLAGS1_200) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_ShouldKnockDown, TRUE) EVT_END_IF EVT_END_CASE_GROUP @@ -344,10 +344,10 @@ EvtScript N(EVS_KnockDown) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_BROOM, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -948,7 +948,7 @@ EvtScript N(EVS_Move_HealAll) = { EVT_CALL(SetAnimation, ACTOR_SELF, PRT_FLYING, ANIM_FlyingMagikoopa_Anim01) EVT_END_IF EVT_WAIT(5) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_SET(LFlag0, FALSE) @@ -975,7 +975,7 @@ EvtScript N(EVS_Move_HealAll) = { EVT_END_THREAD EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_CALL(WaitForBuffDone) @@ -1206,7 +1206,7 @@ EvtScript N(EVS_Attack_MagicBlast) = { }; EvtScript N(EVS_GetAvailableColumn) = { - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1223,7 +1223,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlagE, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_SET(LVar0, -1) @@ -1344,7 +1344,7 @@ s32 N(FlyingCloneStatusTable)[] = { ActorPartBlueprint N(CloneParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -1359,7 +1359,7 @@ ActorPartBlueprint N(CloneParts)[] = { ActorPartBlueprint N(FlyingCloneParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -1429,7 +1429,7 @@ Formation N(FlyingCloneFormation) = { }; EvtScript N(EVS_Move_MakeClone) = { - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1483,7 +1483,7 @@ EvtScript N(EVS_Move_MakeClone) = { EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_SPELL_CAST4) EVT_CALL(PlaySoundAtActor, LVar9, SOUND_SPELL_CAST4) - EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(RandInt, 1000, LVar0) EVT_IF_LT(LVar0, 500) EVT_CALL(SetActorSpeed, ACTOR_SELF, EVT_FLOAT(2.0)) @@ -1496,7 +1496,7 @@ EvtScript N(EVS_Move_MakeClone) = { EVT_CALL(SetGoalToIndex, LVar9, LVar0) EVT_CALL(FlyToGoal, LVar9, 0, 0, EASING_LINEAR) EVT_END_IF - EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, LVar9, 1, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(GetActorHP, ACTOR_SELF, LVar0) EVT_CALL(SetEnemyHP, LVar9, LVar0) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -1528,7 +1528,7 @@ EvtScript N(EVS_Move_MakeClone) = { EvtScript N(EVS_Move_TryBoostAttack) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1546,7 +1546,7 @@ EvtScript N(EVS_Move_TryBoostAttack) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1554,7 +1554,7 @@ EvtScript N(EVS_Move_TryBoostAttack) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1641,7 +1641,7 @@ EvtScript N(EVS_Move_TryBoostAttack) = { EvtScript N(EVS_Move_TryBoostDefense) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1659,7 +1659,7 @@ EvtScript N(EVS_Move_TryBoostDefense) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1667,7 +1667,7 @@ EvtScript N(EVS_Move_TryBoostDefense) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1754,7 +1754,7 @@ EvtScript N(EVS_Move_TryBoostDefense) = { EvtScript N(EVS_Move_TryElectrify) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1772,7 +1772,7 @@ EvtScript N(EVS_Move_TryElectrify) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1780,7 +1780,7 @@ EvtScript N(EVS_Move_TryElectrify) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -1872,7 +1872,7 @@ EvtScript N(EVS_Move_TryElectrify) = { EvtScript N(EVS_Move_TryTransparent) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1890,7 +1890,7 @@ EvtScript N(EVS_Move_TryTransparent) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -1898,7 +1898,7 @@ EvtScript N(EVS_Move_TryTransparent) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -2001,7 +2001,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF // first heal check: count ~75% of actors with less than 25% HP EVT_SET(LVarA, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_COUNT_INJURED_1) EVT_SET(LFlag0, FALSE) @@ -2028,7 +2028,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_COUNT_INJURED_1) EVT_END_IF EVT_IF_GT(LVarA, 0) @@ -2036,7 +2036,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF // second heal check: count ~80% of actors with less than 20% HP EVT_SET(LVarA, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_COUNT_INJURED_2) EVT_SET(LFlag0, FALSE) @@ -2063,7 +2063,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_COUNT_INJURED_2) EVT_END_IF EVT_IF_GT(LVarA, 0) @@ -2071,7 +2071,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF // third heal check: count ~99% of actors with less than 15% HP EVT_SET(LVarA, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_COUNT_INJURED_3) EVT_SET(LFlag0, FALSE) @@ -2098,7 +2098,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_COUNT_INJURED_3) EVT_END_IF EVT_IF_GT(LVarA, 0) @@ -2107,7 +2107,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_GOTO(LBL_TRY_MOVES) // try healing spells EVT_LABEL(LBL_TRY_HEALING) - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN @@ -2145,7 +2145,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_HealOneCount, LVar0) EVT_IF_LT(LVar0, MAX_HEAL_ONE) EVT_SETF(LVar9, EVT_FLOAT(100.0)) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(LBL_LOOP_CHOOSE_BEST_HEAL) EVT_SET(LFlag0, FALSE) @@ -2168,7 +2168,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(LBL_LOOP_CHOOSE_BEST_HEAL) EVT_END_IF EVT_CALL(RandInt, 1000, LVar0) diff --git a/src/battle/common/actor/medi_guy.inc.c b/src/battle/common/actor/medi_guy.inc.c index 06d8bd2a95..dc72180865 100644 --- a/src/battle/common/actor/medi_guy.inc.c +++ b/src/battle/common/actor/medi_guy.inc.c @@ -68,7 +68,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 38 }, @@ -407,7 +407,7 @@ EvtScript N(EVS_Move_HealOne) = { }; EvtScript N(EVS_FindInjuredActor) = { - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -418,7 +418,7 @@ EvtScript N(EVS_FindInjuredActor) = { EVT_RETURN EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN diff --git a/src/battle/common/actor/monty_mole.inc.c b/src/battle/common/actor/monty_mole.inc.c index 5463666137..0f46843b9e 100644 --- a/src/battle/common/actor/monty_mole.inc.c +++ b/src/battle/common/actor/monty_mole.inc.c @@ -69,7 +69,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -7 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET | ACTOR_PART_FLAG_SKIP_MOVEMENT_ALLOC, .index = PRT_TARGET, .posOffset = { 0, 0, -15 }, .targetOffset = { -2, 12 }, @@ -148,7 +148,7 @@ s32 N(LeapAnims)[] = { ActorPartBlueprint N(HoleParts)[] = { { - .flags = ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, + .flags = ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, diff --git a/src/battle/common/actor/paragloomba.inc.c b/src/battle/common/actor/paragloomba.inc.c index d7842b6c16..0584df4d4b 100644 --- a/src/battle/common/actor/paragloomba.inc.c +++ b/src/battle/common/actor/paragloomba.inc.c @@ -107,7 +107,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -497,10 +497,10 @@ EvtScript N(EVS_Flying_TakeTurn) = { EvtScript N(EVS_KnockDown) = { EVT_CALL(HideHealthBar, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DUMMY_WING_L, LVar0, LVar1, LVar2) EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_DUMMY_WING_L, -9, 7, -2) diff --git a/src/battle/common/actor/paragoomba.inc.c b/src/battle/common/actor/paragoomba.inc.c index 009a6ef140..550dc11748 100644 --- a/src/battle/common/actor/paragoomba.inc.c +++ b/src/battle/common/actor/paragoomba.inc.c @@ -104,7 +104,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -494,10 +494,10 @@ EvtScript N(EVS_TakeTurn) = { EvtScript N(EVS_KnockDown) = { EVT_CALL(HideHealthBar, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_L, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WING_R, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetPartPos, ACTOR_SELF, PRT_DUMMY_WING_L, LVar0, LVar1, LVar2) EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_DUMMY_WING_L, -9, 7, -2) diff --git a/src/battle/common/actor/paratroopa.inc.c b/src/battle/common/actor/paratroopa.inc.c index fbaff53854..83bace1b2a 100644 --- a/src/battle/common/actor/paratroopa.inc.c +++ b/src/battle/common/actor/paratroopa.inc.c @@ -124,7 +124,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -7 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -4, 36 }, @@ -584,9 +584,9 @@ EvtScript N(EVS_Flying_TakeTurn) = { EvtScript N(EVS_KnockDown) = { EVT_CALL(SetPartDispOffset, ACTOR_SELF, PRT_FLYING, 0, 0, 0) EVT_CALL(HideHealthBar, ACTOR_SELF) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WINGS, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DOWNED, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DUMMY_WINGS, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_DOWNED, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 8) EVT_SUB(LVar2, 2) diff --git a/src/battle/common/actor/piranha_plant.inc.c b/src/battle/common/actor/piranha_plant.inc.c index 464f4db5f3..314e2117a5 100644 --- a/src/battle/common/actor/piranha_plant.inc.c +++ b/src/battle/common/actor/piranha_plant.inc.c @@ -72,7 +72,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 35 }, diff --git a/src/battle/common/actor/pokey.inc.c b/src/battle/common/actor/pokey.inc.c index 5e21e006f9..2094524d61 100644 --- a/src/battle/common/actor/pokey.inc.c +++ b/src/battle/common/actor/pokey.inc.c @@ -97,19 +97,19 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = N(FourPartAnims), .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_BODY3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 72 }, .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -121,7 +121,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -133,7 +133,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -145,7 +145,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -157,7 +157,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = N(ThrownPartAnims), .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, @@ -658,7 +658,7 @@ EvtScript N(EVS_Attack_GroundSmash) = { // (out) LVar9 : number of Pokey actors that aren't disabled, haven't thrown parts, and aren't last-generation EvtScript N(EVS_CountSummonerPokeys) = { EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -677,7 +677,7 @@ EvtScript N(EVS_CountSummonerPokeys) = { EVT_END_IF EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN @@ -866,7 +866,7 @@ EvtScript N(EVS_FindValidSummonPosition) = { EVT_SET(LFlag2, FALSE) EVT_SET(LFlag3, FALSE) EVT_SET(LFlag4, FALSE) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar5) @@ -883,7 +883,7 @@ EvtScript N(EVS_FindValidSummonPosition) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF // only summon if space in front of the Pokey is available, and never if Pokey is in front position @@ -973,7 +973,7 @@ EvtScript N(EVS_SummonBackup) = { EVT_WAIT(20) // create new Pokey actor EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_POKEY_EMERGE_FROM_GROUND) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.0)) EVT_END_THREAD @@ -1211,10 +1211,10 @@ EvtScript N(EVS_DecrementSize) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnHurt, ANIM_Pokey_BurnHurt3) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_Pokey_BurnStill3) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(ThreePartAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY3, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY3, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_PartsThrown, 1) EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 62, EVT_IGNORE_ARG) @@ -1228,10 +1228,10 @@ EvtScript N(EVS_DecrementSize) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnHurt, ANIM_Pokey_BurnHurt2) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_Pokey_BurnStill2) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(TwoPartAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_PartsThrown, 2) EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 44, EVT_IGNORE_ARG) @@ -1243,10 +1243,10 @@ EvtScript N(EVS_DecrementSize) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnHurt, ANIM_Pokey_BurnHurt1) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_Pokey_BurnStill1) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(OnePartAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SINGLE, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SINGLE, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SINGLE, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_PartsThrown, 3) EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 26, EVT_IGNORE_ARG) @@ -1317,7 +1317,7 @@ EvtScript N(EVS_KnockPartAway) = { EVT_WAIT(4) EVT_EXEC_WAIT(N(EVS_HitReactionBounce)) EVT_END_CHILD_THREAD - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_8000 | TARGET_FLAG_10000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_PRIMARY_ONLY | TARGET_FLAG_ALLOW_TARGET_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerID, LVar1) @@ -1329,7 +1329,7 @@ EvtScript N(EVS_KnockPartAway) = { EVT_LABEL(1) EVT_ADD(LVarF, 1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_CALL(GetOwnerTarget, LVar0, LVar9) diff --git a/src/battle/common/actor/pokey_mummy.inc.c b/src/battle/common/actor/pokey_mummy.inc.c index a48517f93f..dfae42bdc4 100644 --- a/src/battle/common/actor/pokey_mummy.inc.c +++ b/src/battle/common/actor/pokey_mummy.inc.c @@ -92,19 +92,19 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = N(FourPartAnims), .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_BODY3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 72 }, .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -116,7 +116,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -128,7 +128,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -140,7 +140,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = NULL, .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -8 }, }, @@ -152,7 +152,7 @@ ActorPartBlueprint N(ActorParts)[] = { .opacity = 255, .idleAnimations = N(ThrownPartAnims), .defenseTable = N(DefenseTable), - .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, 0 }, }, @@ -789,10 +789,10 @@ EvtScript N(EVS_DecrementSize) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnHurt, ANIM_Pokey_Mummy_BurnHurt3) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_Pokey_Mummy_BurnStill3) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(ThreePartAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY3, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY3, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY3, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_PartsThrown, 1) EVT_CALL(SetActorSize, ACTOR_SELF, 62, EVT_IGNORE_ARG) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 62, EVT_IGNORE_ARG) @@ -806,10 +806,10 @@ EvtScript N(EVS_DecrementSize) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnHurt, ANIM_Pokey_Mummy_BurnHurt2) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_Pokey_Mummy_BurnStill2) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(TwoPartAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY2, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_PartsThrown, 2) EVT_CALL(SetActorSize, ACTOR_SELF, 44, EVT_IGNORE_ARG) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 44, EVT_IGNORE_ARG) @@ -821,10 +821,10 @@ EvtScript N(EVS_DecrementSize) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnHurt, ANIM_Pokey_Mummy_BurnHurt1) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Anim_BurnStill, ANIM_Pokey_Mummy_BurnStill1) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(OnePartAnims))) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BODY1, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SINGLE, ACTOR_PART_FLAG_NO_TARGET, FALSE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SINGLE, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_SINGLE, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_PartsThrown, 3) EVT_CALL(SetActorSize, ACTOR_SELF, 26, EVT_IGNORE_ARG) EVT_CALL(SetPartSize, ACTOR_SELF, PRT_MAIN, 26, EVT_IGNORE_ARG) @@ -895,7 +895,7 @@ EvtScript N(EVS_KnockPartAway) = { EVT_WAIT(4) EVT_EXEC_WAIT(N(EVS_HitReactionBounce)) EVT_END_CHILD_THREAD - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_8000 | TARGET_FLAG_10000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_PRIMARY_ONLY | TARGET_FLAG_ALLOW_TARGET_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerID, LVar1) @@ -907,7 +907,7 @@ EvtScript N(EVS_KnockPartAway) = { EVT_LABEL(1) EVT_ADD(LVarF, 1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_CALL(GetOwnerTarget, LVar0, LVar9) diff --git a/src/battle/common/actor/putrid_piranha.inc.c b/src/battle/common/actor/putrid_piranha.inc.c index 250136d3e5..d14ea27155 100644 --- a/src/battle/common/actor/putrid_piranha.inc.c +++ b/src/battle/common/actor/putrid_piranha.inc.c @@ -66,7 +66,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -15, 50 }, diff --git a/src/battle/common/actor/pyro_guy.inc.c b/src/battle/common/actor/pyro_guy.inc.c index 4c393dc58f..30d6f88d86 100644 --- a/src/battle/common/actor/pyro_guy.inc.c +++ b/src/battle/common/actor/pyro_guy.inc.c @@ -70,7 +70,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/common/actor/red_magikoopa.inc.c b/src/battle/common/actor/red_magikoopa.inc.c index 2f9b15ac94..22b27fe3c4 100644 --- a/src/battle/common/actor/red_magikoopa.inc.c +++ b/src/battle/common/actor/red_magikoopa.inc.c @@ -94,7 +94,7 @@ s32 N(FlyingStatusTable)[] = { ActorPartBlueprint N(GroundParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -121,7 +121,7 @@ ActorPartBlueprint N(FlyingParts)[] = { .projectileTargetOffset = { -5, -12 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -368,10 +368,10 @@ EvtScript N(EVS_KnockDown) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_BROOM, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -799,7 +799,7 @@ EvtScript N(EVS_Init_Flying) = { EvtScript N(EVS_TakeTurn) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -817,7 +817,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -825,7 +825,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN diff --git a/src/battle/common/actor/ruff_puff.inc.c b/src/battle/common/actor/ruff_puff.inc.c index a1f398269a..5094df754b 100644 --- a/src/battle/common/actor/ruff_puff.inc.c +++ b/src/battle/common/actor/ruff_puff.inc.c @@ -62,7 +62,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -2, 26 }, diff --git a/src/battle/common/actor/shy_guy_base.inc.c b/src/battle/common/actor/shy_guy_base.inc.c index 76cedf77fb..960c4a236e 100644 --- a/src/battle/common/actor/shy_guy_base.inc.c +++ b/src/battle/common/actor/shy_guy_base.inc.c @@ -50,7 +50,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/common/actor/sky_guy.inc.c b/src/battle/common/actor/sky_guy.inc.c index 82620fac14..64186221a2 100644 --- a/src/battle/common/actor/sky_guy.inc.c +++ b/src/battle/common/actor/sky_guy.inc.c @@ -173,7 +173,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -10 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -185,7 +185,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -1, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_YELLOW_BALLOON, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 50 }, @@ -198,7 +198,7 @@ ActorPartBlueprint N(ActorParts)[] = { .overrideNameMsg = MSG_EnemyName_Balloon, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_RED_BALLOON, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -210,7 +210,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -1, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_BLUE_BALLOON, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -274,7 +274,7 @@ EvtScript N(EVS_Flying_Init) = { EVT_SUB(LVar1, 5) EVT_CALL(ForceHomePos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(HPBarToHome, ACTOR_SELF) - EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_YELLOW_BALLOON, ACTOR_PART_TARGET_FLAG_4, TRUE) + EVT_CALL(SetPartTargetFlagBits, ACTOR_SELF, PRT_YELLOW_BALLOON, ACTOR_PART_TARGET_NO_DAMAGE, TRUE) EVT_RETURN EVT_END }; @@ -373,7 +373,7 @@ EvtScript N(EVS_PopBalloons) = { EVT_WAIT(15) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_FLYING, ANIM_SkyGuy_Anim00) - EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_0263) + EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_EMOTE_QUESTION) EVT_PLAY_EFFECT(EFFECT_EMOTE, EMOTE_QUESTION, 0, LVar0, LVar1, LVar2, 24, 0, 25, 0, 0) EVT_WAIT(25) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_FLYING, ANIM_SkyGuy_Anim06) @@ -392,8 +392,8 @@ EvtScript N(EVS_PopBalloons) = { EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_SELF, SOUND_20E4) EVT_CALL(ResetActorSounds, ACTOR_SELF, ACTOR_SOUND_JUMP) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_GROUND, ANIM_ShyGuy_Red_Anim12) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 3, LVar0, LVar1, LVar2, 0, 0) EVT_WAIT(40) diff --git a/src/battle/common/actor/slot_machine.inc.c b/src/battle/common/actor/slot_machine.inc.c index 15b193c29b..11d240fb16 100644 --- a/src/battle/common/actor/slot_machine.inc.c +++ b/src/battle/common/actor/slot_machine.inc.c @@ -91,7 +91,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -105,7 +105,7 @@ ActorPartBlueprint N(ActorParts)[] = { }; ActorBlueprint N(slot_machine_stop) = { - .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_INVISIBLE | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_SLOT_MACHINE_STOP, .level = ACTOR_LEVEL_SLOT_MACHINE_STOP, .maxHP = 99, @@ -128,7 +128,7 @@ ActorBlueprint N(slot_machine_stop) = { }; ActorBlueprint N(slot_machine_start) = { - .flags = ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, + .flags = ACTOR_FLAG_INVISIBLE | ACTOR_FLAG_NO_SHADOW | ACTOR_FLAG_TARGET_ONLY | ACTOR_FLAG_NO_HEALTH_BAR | ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_SLOT_MACHINE_START, .level = ACTOR_LEVEL_SLOT_MACHINE_START, .maxHP = 99, diff --git a/src/battle/common/actor/spear_guy.inc.c b/src/battle/common/actor/spear_guy.inc.c index 6ccd3b37d3..a113b07b16 100644 --- a/src/battle/common/actor/spear_guy.inc.c +++ b/src/battle/common/actor/spear_guy.inc.c @@ -144,7 +144,7 @@ s32 N(ShyGuyStatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_SPEAR_GUY, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 22 }, @@ -156,7 +156,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -3, -8 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET, .index = PRT_SHY_GUY, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, @@ -168,7 +168,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { -1, -10 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_SPEAR, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -180,7 +180,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_GRASS_SKIRT, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 0 }, @@ -659,7 +659,7 @@ EvtScript N(EVS_Move_SummonBackup) = { EVT_CALL(SetAnimation, ACTOR_SELF, PRT_SPEAR_GUY, ANIM_SpearGuy_Anim0E) EVT_WAIT(20) EVT_CALL(GetOriginalActorType, ACTOR_SELF, LVar0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar1, LVar2) @@ -678,11 +678,11 @@ EvtScript N(EVS_Move_SummonBackup) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) - EVT_IF_NE(LVar1, -1) + EVT_IF_NE(LVar1, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_SET(LFlag0, FALSE) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -691,7 +691,7 @@ EvtScript N(EVS_Move_SummonBackup) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -795,10 +795,10 @@ EvtScript N(EVS_BecomeShyGuy) = { EVT_CALL(SetPartSounds, ACTOR_SELF, PRT_GRASS_SKIRT, ACTOR_SOUND_JUMP, SOUND_NONE, SOUND_NONE) EVT_CALL(JumpPartTo, ACTOR_SELF, PRT_GRASS_SKIRT, LVar0, 0, LVar2, 30, TRUE) EVT_WAIT(5) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_SPEAR_GUY, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_SHY_GUY, ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_MULTI_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_SPEAR, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) - EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_GRASS_SKIRT, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_4 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_SPEAR_GUY, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_SHY_GUY, ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_PRIMARY_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_SPEAR, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET) + EVT_CALL(SetPartFlags, ACTOR_SELF, PRT_GRASS_SKIRT, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_SHADOW | ACTOR_PART_FLAG_DAMAGE_IMMUNE | ACTOR_PART_FLAG_NO_TARGET) EVT_EXEC_WAIT(N(EVS_ShyGuy_Init)) EVT_CALL(SetActorType, ACTOR_SELF, ACTOR_TYPE_SHY_GUY) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_TYPE_CHANGED, TRUE) @@ -950,7 +950,7 @@ EvtScript N(EVS_Attack_ThrowSpear) = { }; EvtScript N(EVS_GetAvailableColumn) = { - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar5) @@ -967,7 +967,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EVT_SET(LFlag4, TRUE) EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag1, FALSE) @@ -993,7 +993,7 @@ EvtScript N(EVS_GetAvailableColumn) = { EvtScript N(EVS_CountActiveSummoners) = { EVT_SET(LVar9, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1017,7 +1017,7 @@ EvtScript N(EVS_CountActiveSummoners) = { EVT_END_IF EVT_END_SWITCH EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_RETURN @@ -1027,7 +1027,7 @@ EvtScript N(EVS_CountActiveSummoners) = { EvtScript N(EVS_SwitchSpearStance) = { EVT_CALL(GetIndexFromHome, ACTOR_SELF, LVarA) EVT_SET(LFlag0, FALSE) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1036,7 +1036,7 @@ EvtScript N(EVS_SwitchSpearStance) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, TRUE) @@ -1098,7 +1098,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_EXEC_WAIT(N(EVS_SwitchSpearStance)) EVT_END_CASE_GROUP EVT_CASE_EQ(2) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(GetTargetListLength, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Attack_ThrowSpear)) diff --git a/src/battle/common/actor/spike_top.inc.c b/src/battle/common/actor/spike_top.inc.c index c3aacaabdc..b745f4118a 100644 --- a/src/battle/common/actor/spike_top.inc.c +++ b/src/battle/common/actor/spike_top.inc.c @@ -71,7 +71,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/common/actor/spiked_gloomba.inc.c b/src/battle/common/actor/spiked_gloomba.inc.c index 3d12e717fc..6e32c8cd33 100644 --- a/src/battle/common/actor/spiked_gloomba.inc.c +++ b/src/battle/common/actor/spiked_gloomba.inc.c @@ -51,7 +51,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/common/actor/spiked_goomba.inc.c b/src/battle/common/actor/spiked_goomba.inc.c index a02bc8e32e..90a29ff368 100644 --- a/src/battle/common/actor/spiked_goomba.inc.c +++ b/src/battle/common/actor/spiked_goomba.inc.c @@ -53,7 +53,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 24 }, diff --git a/src/battle/common/actor/spiny.inc.c b/src/battle/common/actor/spiny.inc.c index e98b646e45..587df7cdc5 100644 --- a/src/battle/common/actor/spiny.inc.c +++ b/src/battle/common/actor/spiny.inc.c @@ -94,14 +94,14 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 20 }, .opacity = 255, .idleAnimations = N(UprightAnims), .defenseTable = N(UprightDefense), - .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE | ACTOR_EVENT_FLAG_200000, + .eventFlags = ACTOR_EVENT_FLAG_FLIPABLE | ACTOR_EVENT_FLAG_ALT_SPIKY, .elementImmunityFlags = 0, .projectileTargetOffset = { 0, -4 }, }, @@ -260,7 +260,7 @@ EvtScript N(EVS_HandleEvent) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_ToppleTurns, 1) EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(ToppledDefense))) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(ToppledAnims))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_200000, FALSE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ALT_SPIKY, FALSE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, TRUE) EVT_USE_BUF(N(FlipPosOffsets)) EVT_LOOP(19) @@ -400,7 +400,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Toppled, 0) EVT_CALL(SetDefenseTable, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(UprightDefense))) EVT_CALL(SetIdleAnimations, ACTOR_SELF, PRT_MAIN, EVT_PTR(N(UprightAnims))) - EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_200000, TRUE) + EVT_CALL(SetPartEventBits, ACTOR_SELF, PRT_MAIN, ACTOR_EVENT_FLAG_ALT_SPIKY, TRUE) EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_FLIPPED, FALSE) EVT_END_IF EVT_CALL(EnableIdleScript, ACTOR_SELF, IDLE_SCRIPT_ENABLE) diff --git a/src/battle/common/actor/spy_guy.inc.c b/src/battle/common/actor/spy_guy.inc.c index 569dd6670c..978776b195 100644 --- a/src/battle/common/actor/spy_guy.inc.c +++ b/src/battle/common/actor/spy_guy.inc.c @@ -98,7 +98,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, diff --git a/src/battle/common/actor/stone_chomp.inc.c b/src/battle/common/actor/stone_chomp.inc.c index a02b992d58..412eec5745 100644 --- a/src/battle/common/actor/stone_chomp.inc.c +++ b/src/battle/common/actor/stone_chomp.inc.c @@ -125,7 +125,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION | ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_TARGET, .posOffset = { 0, 0, 0 }, .targetOffset = { -13, 40 }, @@ -137,7 +137,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, -14 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_1, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -149,7 +149,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_2, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -161,7 +161,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_3, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -173,7 +173,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_4, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -185,7 +185,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_5, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -197,7 +197,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_6, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -209,7 +209,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_7, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, @@ -221,7 +221,7 @@ ActorPartBlueprint N(ActorParts)[] = { .projectileTargetOffset = { 0, 0 }, }, { - .flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, + .flags = ACTOR_PART_FLAG_NO_DECORATIONS | ACTOR_PART_FLAG_TARGET_ONLY | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, .index = PRT_CHAIN_8, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 12 }, diff --git a/src/battle/common/actor/swooper.inc.c b/src/battle/common/actor/swooper.inc.c index dbefe82291..9fb37e9f9e 100644 --- a/src/battle/common/actor/swooper.inc.c +++ b/src/battle/common/actor/swooper.inc.c @@ -55,7 +55,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 29 }, diff --git a/src/battle/common/actor/swoopula.inc.c b/src/battle/common/actor/swoopula.inc.c index 8bed8d2e33..81f11be729 100644 --- a/src/battle/common/actor/swoopula.inc.c +++ b/src/battle/common/actor/swoopula.inc.c @@ -59,7 +59,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 29 }, @@ -564,14 +564,14 @@ EvtScript N(EVS_Flying_TakeTurn) = { EVT_WAIT(30) EVT_END_LOOP EVT_ELSE - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 0x7FFF) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_MASH_BUTTON, 32767) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) EVT_CALL(action_command_stop_leech_init) EVT_CALL(SetupMashMeter, 1, 30, 0, 0, 0, 0) EVT_WAIT(10) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) - EVT_CALL(action_command_stop_leech_start, 0, 0x7FFF, 3) + EVT_CALL(action_command_stop_leech_start, 0, 32767, 3) EVT_SET(LVarD, 0) EVT_LOOP(MAX_LEECH_COUNT) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) @@ -1014,14 +1014,14 @@ EvtScript N(EVS_TakeTurn) = { EVT_WAIT(30) EVT_END_LOOP EVT_ELSE - EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_03, 0x7FFF) + EVT_CALL(ShowMessageBox, BTL_MSG_ACTION_TIP_MASH_BUTTON, 32767) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_STOP_LEECH) EVT_CALL(action_command_stop_leech_init) EVT_CALL(SetupMashMeter, 1, 30, 0, 0, 0, 0) EVT_WAIT(10) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) - EVT_CALL(action_command_stop_leech_start, 0, 0x7FFF, 3) + EVT_CALL(action_command_stop_leech_start, 0, 32767, 3) EVT_SET(LVarD, 0) EVT_LOOP(MAX_LEECH_COUNT) EVT_CALL(SetAnimation, ACTOR_SELF, PRT_MAIN, ANIM_Swooper_Gray_Anim02) diff --git a/src/battle/common/actor/whacka.inc.c b/src/battle/common/actor/whacka.inc.c index 9606f8e116..f1ff71ef7a 100644 --- a/src/battle/common/actor/whacka.inc.c +++ b/src/battle/common/actor/whacka.inc.c @@ -64,7 +64,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 0, 30 }, @@ -116,7 +116,7 @@ EvtScript N(EVS_Init) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_SpawnedBump, FALSE) EVT_CALL(N(IsHitEightTimes)) EVT_IF_EQ(LVar0, 0) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_INVISIBLE | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) EVT_END_IF EVT_RETURN @@ -318,7 +318,7 @@ EvtScript N(EVS_Death) = { EVT_CALL(SetBattleFlagBits2, BS_FLAGS2_DROP_WHACKA_BUMP, TRUE) EVT_END_IF EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_MAIN, ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_DISABLED | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) + EVT_CALL(SetActorFlagBits, ACTOR_SELF, ACTOR_FLAG_INVISIBLE | ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(RemoveActor, ACTOR_SELF) EVT_RETURN EVT_END diff --git a/src/battle/common/actor/white_clubba.inc.c b/src/battle/common/actor/white_clubba.inc.c index 8ac33211bf..5f3a82a146 100644 --- a/src/battle/common/actor/white_clubba.inc.c +++ b/src/battle/common/actor/white_clubba.inc.c @@ -65,7 +65,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { -12, 32 }, diff --git a/src/battle/common/actor/white_magikoopa.inc.c b/src/battle/common/actor/white_magikoopa.inc.c index ea1375120c..2a43d5dafa 100644 --- a/src/battle/common/actor/white_magikoopa.inc.c +++ b/src/battle/common/actor/white_magikoopa.inc.c @@ -92,7 +92,7 @@ s32 N(StatusTable_Flying)[] = { ActorPartBlueprint N(GroundParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -119,7 +119,7 @@ ActorPartBlueprint N(FlyingParts)[] = { .projectileTargetOffset = { -5, -12 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -400,10 +400,10 @@ EvtScript N(EVS_KnockDown) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_BROOM, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -826,7 +826,7 @@ EvtScript N(EVS_Move_HealOne) = { // try to find a non-magikoopa actor in danger of being killed by the player EVT_SET(LV_LowestActor, 0) EVT_SET(LV_LowestHP, 9999) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -859,7 +859,7 @@ EvtScript N(EVS_Move_HealOne) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_NE(LV_LowestActor, 0) @@ -868,7 +868,7 @@ EvtScript N(EVS_Move_HealOne) = { // try to find any actor in danger of being killed by the player EVT_SET(LV_LowestActor, 0) EVT_SET(LV_LowestHP, 9999) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -911,14 +911,14 @@ EvtScript N(EVS_Move_HealOne) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF EVT_IF_NE(LV_LowestActor, 0) EVT_GOTO(100) EVT_END_IF // try to find the actor with lowest HP% - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(2) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -942,7 +942,7 @@ EvtScript N(EVS_Move_HealOne) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(2) EVT_END_IF EVT_CALL(GetEnemyMaxHP, ACTOR_SELF, LVarA) @@ -951,7 +951,7 @@ EvtScript N(EVS_Move_HealOne) = { EVT_SET(LV_LowestActor, ACTOR_SELF) EVT_GOTO(100) EVT_END_IF - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(3) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -966,7 +966,7 @@ EvtScript N(EVS_Move_HealOne) = { EVT_RETURN EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(3) EVT_END_IF EVT_EXEC_WAIT(N(EVS_Flee)) @@ -1121,7 +1121,7 @@ EvtScript N(EVS_Move_HealAll) = { EVT_CALL(SetAnimation, ACTOR_SELF, PRT_FLYING, ANIM_FlyingMagikoopa_White_Anim01) EVT_END_IF EVT_WAIT(5) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_SET(LFlag0, FALSE) @@ -1148,7 +1148,7 @@ EvtScript N(EVS_Move_HealAll) = { EVT_END_THREAD EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_CALL(WaitForBuffDone) @@ -1163,14 +1163,14 @@ EvtScript N(EVS_Move_HealAll) = { }; EvtScript N(EVS_TakeTurn) = { - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN EVT_END_IF EVT_SET(LVarA, 0) EVT_SET(LVarB, 0) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_SET(LFlag0, FALSE) @@ -1191,7 +1191,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_ADD(LVarB, 1) EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_MUL(LVarA, 100) diff --git a/src/battle/common/actor/yellow_magikoopa.inc.c b/src/battle/common/actor/yellow_magikoopa.inc.c index 73f0198b9d..479b4cde3f 100644 --- a/src/battle/common/actor/yellow_magikoopa.inc.c +++ b/src/battle/common/actor/yellow_magikoopa.inc.c @@ -92,7 +92,7 @@ s32 N(FlyingStatusTable)[] = { ActorPartBlueprint N(GroundParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_GROUND, .posOffset = { 0, 0, 0 }, .targetOffset = { 2, 35 }, @@ -119,7 +119,7 @@ ActorPartBlueprint N(FlyingParts)[] = { .projectileTargetOffset = { -5, -12 }, }, { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_FLYING, .posOffset = { 0, 0, 0 }, .targetOffset = { -10, 35 }, @@ -367,10 +367,10 @@ EvtScript N(EVS_KnockDown) = { EVT_IF_FLAG(LVar0, STATUS_FLAG_SHRINK) EVT_CALL(SetPartScale, ACTOR_SELF, PRT_BROOM, EVT_FLOAT(0.4), EVT_FLOAT(0.4), EVT_FLOAT(0.4)) EVT_END_IF - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_MULTI_TARGET, TRUE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_PRIMARY_TARGET, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_GROUND, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET, TRUE) - EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_MULTI_TARGET, FALSE) + EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_FLYING, ACTOR_PART_FLAG_PRIMARY_TARGET, FALSE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_USE_ABSOLUTE_POSITION, TRUE) EVT_CALL(SetPartFlagBits, ACTOR_SELF, PRT_BROOM, ACTOR_PART_FLAG_INVISIBLE, FALSE) EVT_CALL(GetActorPos, ACTOR_SELF, LVar0, LVar1, LVar2) @@ -800,7 +800,7 @@ EvtScript N(EVS_Init_Flying) = { EvtScript N(EVS_TakeTurn) = { EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -818,7 +818,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) @@ -826,7 +826,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(SetBattleVar, BTL_VAR_Magikoopa_LastIndexBoosted, -1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(CountPlayerTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_8000, LVar0) + EVT_CALL(CountTargets, ACTOR_SELF, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY, LVar0) EVT_IF_EQ(LVar0, 1) EVT_EXEC_WAIT(N(EVS_Flee)) EVT_RETURN diff --git a/src/battle/common/move/JumpSupport.inc.c b/src/battle/common/move/JumpSupport.inc.c index cb0a2e127f..dd45272cd2 100644 --- a/src/battle/common/move/JumpSupport.inc.c +++ b/src/battle/common/move/JumpSupport.inc.c @@ -8,7 +8,32 @@ s32 N(D_802A10F0)[] = { 7, 3, 6, 2, 5, 2, 4, 2, }; -#include "world/common/todo/UnkMoveFunc1.inc.c" +API_CALLABLE(N(UnkMoveFunc1)) { + BattleStatus* battleStatus = &gBattleStatus; + Actor* playerActor = battleStatus->playerActor; + f32 posX = playerActor->curPos.x; + f32 posY = playerActor->curPos.y; + f32 posZ = playerActor->curPos.z; + f32 goalX = playerActor->state.goalPos.x; + f32 goalY = playerActor->state.goalPos.y; + f32 goalZ = playerActor->state.goalPos.z; + + script->varTable[0] = (dist3D(posX, posY, posZ, goalX, goalY, goalZ) * 15.0f) / 100.0f; + + if (script->varTable[0] > 20) { + script->varTable[0] = 20; + } + + if (battleStatus->actionCommandMode != ACTION_COMMAND_MODE_NOT_LEARNED) { + if (script->varTable[0] < 6) { + script->varTable[0] = 6; + } + } else if (script->varTable[0] < 12) { + script->varTable[0] = 12; + } + + return ApiStatus_DONE2; +} EvtScript N(EVS_CheckForAPress) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_BeforeJump) @@ -309,7 +334,7 @@ EvtScript N(EVS_JumpSupport_L) = { EVT_CALL(SetJumpAnimations, ACTOR_PLAYER, 0, ANIM_Mario1_Jump, ANIM_Mario1_Sit, ANIM_Mario1_SpinJump) EVT_CALL(func_802752AC, LVarA, 0) EVT_WAIT(7) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(func_802752AC, 3, 1) @@ -336,7 +361,7 @@ EvtScript N(EVS_JumpSupport_M) = { EVT_CALL(func_80275F00, LVarA, 0) EVT_CALL(CloseActionCommandInfo) EVT_SET(LVar9, 0) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_IF_GT(LVar0, 0) EVT_SET(LVar9, 1) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB1_Stomp) diff --git a/src/battle/common/move/StarPowerSupport.inc.c b/src/battle/common/move/StarPowerSupport.inc.c index 876011c4ab..fc12f969a5 100644 --- a/src/battle/common/move/StarPowerSupport.inc.c +++ b/src/battle/common/move/StarPowerSupport.inc.c @@ -73,7 +73,7 @@ API_CALLABLE(N(SetPartnerWishAnim)) { s32 wishAnimIdx = evt_get_variable(script, *args++); AnimID anim = PartnerWishAnims[playerData->curPartner][wishAnimIdx]; - set_animation(ACTOR_PARTNER, 0, anim); + set_actor_anim(ACTOR_PARTNER, 0, anim); return ApiStatus_DONE2; } diff --git a/src/battle/common/stage/lib/DripVolumes.inc.c b/src/battle/common/stage/lib/DripVolumes.inc.c index 2bf1a74c72..057ec8088a 100644 --- a/src/battle/common/stage/lib/DripVolumes.inc.c +++ b/src/battle/common/stage/lib/DripVolumes.inc.c @@ -47,7 +47,7 @@ API_CALLABLE(N(CheckDripCollisionWithActors)) { actor = battleStatus->enemyActors[i]; - if (actor != NULL && !(actor->flags & ACTOR_FLAG_DISABLED)) { + if (actor != NULL && !(actor->flags & ACTOR_FLAG_INVISIBLE)) { xDiff = actor->curPos.x - model->center.x; yDiff = actor->curPos.y + actor->size.y - 1.5f - model->center.y; zDiff = actor->curPos.z - model->center.z; diff --git a/src/17FEB0.c b/src/battle/dmg_item.c similarity index 96% rename from src/17FEB0.c rename to src/battle/dmg_item.c index 447555126d..8f04bf0973 100644 --- a/src/17FEB0.c +++ b/src/battle/dmg_item.c @@ -53,7 +53,7 @@ HitResult calc_item_damage_enemy(void) { Actor* partner = battleStatus->partnerActor; s32 currentTargetPartID = battleStatus->curTargetPart; s32 partImmuneToElement; - s32 sp1C = FALSE; + s32 fearInflicted = FALSE; s32 actorClass; s32 isFireDamage = FALSE; s32 isWaterDamage = FALSE; @@ -115,8 +115,7 @@ HitResult calc_item_damage_enemy(void) { if (!(battleStatus->curAttackElement & DAMAGE_TYPE_REMOVE_BUFFS)) { if ((targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) || (target->transparentStatus == STATUS_KEY_TRANSPARENT) - || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800) - && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE) + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_BURIED && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) ) { return HIT_RESULT_MISS; } @@ -177,9 +176,9 @@ HitResult calc_item_damage_enemy(void) { dispatchEvent = EVENT_HIT_COMBO; hitResult = HIT_RESULT_HIT; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000) + if (!(targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) && !partImmuneToElement - && !(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4) + && !(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE) ) { target->curHP -= attackDamage; if (target->curHP <= 0) { @@ -192,7 +191,7 @@ HitResult calc_item_damage_enemy(void) { target->hpChangeCounter = 0; } - if (targetPart->flags & ACTOR_PART_FLAG_2000) { + if (targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) { dispatch_event_actor(target, dispatchEvent); show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -371,7 +370,6 @@ HitResult calc_item_damage_enemy(void) { dispatchEvent = EVENT_HIT; } } - } temp = target->actorBlueprint->spookChance; @@ -389,9 +387,9 @@ HitResult calc_item_damage_enemy(void) { { dispatchEvent = EVENT_SCARE_AWAY; hitResult = HIT_RESULT_HIT; - sp1C = TRUE; + fearInflicted = TRUE; gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_SHOW_PLAYER_DECORATIONS | BS_FLAGS1_ACTORS_VISIBLE; - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); wasStatusInflicted = TRUE; gBattleStatus.flags1 |= BS_FLAGS1_40; } else { @@ -402,15 +400,15 @@ HitResult calc_item_damage_enemy(void) { battleStatus->wasStatusInflicted = wasStatusInflicted; - if ((sp1C + if ((fearInflicted && (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200))) || ((gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) && !(gBattleStatus.flags1 & BS_FLAGS1_80)) ) { if (battleStatus->lastAttackDamage > 0) { - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - if (battleStatus->lastAttackDamage > 0 || (battleStatus->curAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS) && sp1C) { + if (battleStatus->lastAttackDamage > 0 || (battleStatus->curAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS) && fearInflicted) { if (gBattleStatus.flags1 & BS_FLAGS1_40) { show_action_rating(ACTION_RATING_NICE, target, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { @@ -433,7 +431,7 @@ HitResult calc_item_damage_enemy(void) { if (!(target->flags & ACTOR_FLAG_NO_DMG_POPUP)) { if (battleStatus->lastAttackDamage == 0) { - if (!sp1C && !wasStatusInflicted) { + if (!fearInflicted && !wasStatusInflicted) { show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } } else if (!partImmuneToElement) { @@ -442,14 +440,14 @@ HitResult calc_item_damage_enemy(void) { } else { show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } - if (!(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4)) { + if (!(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE)) { show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } } } if (battleStatus->lastAttackDamage > 0 && !partImmuneToElement) { - func_80267018(target, 1); + set_actor_flash_mode(target, 1); if (isFireDamage) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else if (isShockDamage) { @@ -461,7 +459,7 @@ HitResult calc_item_damage_enemy(void) { } } - if ((battleStatus->lastAttackDamage <= 0 && !wasStatusInflicted) || (targetPart->flags & ACTOR_FLAG_2000)) { + if ((battleStatus->lastAttackDamage <= 0 && !wasStatusInflicted) || (targetPart->flags & ACTOR_FLAG_DAMAGE_IMMUNE)) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } diff --git a/src/1AC760.c b/src/battle/dmg_partner.c similarity index 93% rename from src/1AC760.c rename to src/battle/dmg_partner.c index 9e1b5753ef..e77f295fd2 100644 --- a/src/1AC760.c +++ b/src/battle/dmg_partner.c @@ -106,7 +106,7 @@ HitResult calc_partner_test_enemy(void) { return HIT_RESULT_BACKFIRE; } - // specifal handling for air lift + // special handling for air lift if (battleStatus->curAttackElement & DAMAGE_TYPE_AIR_LIFT) { // check partner airlifting top-spiky enemy if (!(battleStatus->curAttackElement & DAMAGE_TYPE_NO_CONTACT)) { @@ -121,9 +121,9 @@ HitResult calc_partner_test_enemy(void) { } if (!(battleStatus->curAttackElement & DAMAGE_TYPE_NO_CONTACT) - && (part->eventFlags & ACTOR_EVENT_FLAG_200000) + && (part->eventFlags & ACTOR_EVENT_FLAG_ALT_SPIKY) && !(target->flags & ACTOR_FLAG_UPSIDE_DOWN) - && !(battleStatus->curAttackEventSuppression & SUPPRESS_EVENT_FLAG_80) + && !(battleStatus->curAttackEventSuppression & SUPPRESS_EVENT_ALT_SPIKY) ) { sfx_play_sound_at_position(SOUND_HIT_SPIKE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); @@ -164,7 +164,7 @@ HitResult calc_partner_damage_enemy(void) { Actor* partner = battleStatus->partnerActor; s32 currentTargetID = battleStatus->curTargetID; s32 currentTargetPartID = battleStatus->curTargetPart; - s32 retVal; + s32 hitResult = HIT_RESULT_HIT; s32 partImmuneToElement = FALSE; s32 isFireDamage = FALSE; s32 isWaterDamage = FALSE; @@ -199,13 +199,13 @@ HitResult calc_partner_damage_enemy(void) { target->lastDamageTaken = 0; if (gBattleStatus.flags1 & BS_FLAGS1_FORCE_HIT_IMMUNE) { - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; dispatchEvent = EVENT_ZERO_DAMAGE; sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY - || target->transparentStatus == STATUS_KEY_TRANSPARENT - || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800 && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) + if ((targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY) + || (target->transparentStatus == STATUS_KEY_TRANSPARENT) + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_BURIED && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) ) { return HIT_RESULT_MISS; } @@ -214,10 +214,12 @@ HitResult calc_partner_damage_enemy(void) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 1); show_next_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 0); + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { return HIT_RESULT_1; + } else { + return HIT_RESULT_HIT; } - return HIT_RESULT_HIT; } if (targetPart->elementalImmunities & battleStatus->curAttackElement) { @@ -247,10 +249,12 @@ HitResult calc_partner_damage_enemy(void) { } sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { return HIT_RESULT_1; + } else { + return HIT_RESULT_HIT; } - return HIT_RESULT_HIT; } // check touching fiery enemy @@ -282,17 +286,19 @@ HitResult calc_partner_damage_enemy(void) { ) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { return HIT_RESULT_1; + } else { + return HIT_RESULT_HIT; } - return HIT_RESULT_HIT; } // unknown alternate spiky #1 if (!(battleStatus->curAttackElement & DAMAGE_TYPE_NO_CONTACT) - && targetPart->eventFlags & ACTOR_EVENT_FLAG_200000 + && targetPart->eventFlags & ACTOR_EVENT_FLAG_ALT_SPIKY && !(target->flags & ACTOR_FLAG_UPSIDE_DOWN) - && !(battleStatus->curAttackEventSuppression & SUPPRESS_EVENT_FLAG_80) + && !(battleStatus->curAttackEventSuppression & SUPPRESS_EVENT_ALT_SPIKY) ) { sfx_play_sound_at_position(SOUND_HIT_SPIKE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_damage_event_partner_1(1, EVENT_SPIKE_CONTACT); @@ -319,10 +325,12 @@ HitResult calc_partner_damage_enemy(void) { ) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_event_actor(target, EVENT_EXPLODE_TRIGGER); + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { return HIT_RESULT_1; + } else { + return HIT_RESULT_HIT; } - return HIT_RESULT_HIT; } // check shock contact for airlift @@ -336,8 +344,9 @@ HitResult calc_partner_damage_enemy(void) { apply_shock_effect(partner); dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT); return HIT_RESULT_BACKFIRE; + } else { + return HIT_RESULT_HIT; } - return HIT_RESULT_HIT; } if (battleStatus->curAttackElement & DAMAGE_TYPE_FIRE) { @@ -433,11 +442,11 @@ HitResult calc_partner_damage_enemy(void) { target->hpChangeCounter = 0; if (!(battleStatus->curAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS)) { - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; dispatchEvent = EVENT_ZERO_DAMAGE; sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; if (target->curHP < 1) { dispatchEvent = EVENT_DEATH; } else { @@ -451,12 +460,12 @@ HitResult calc_partner_damage_enemy(void) { target->hpChangeCounter -= damageDealt; battleStatus->lastAttackDamage = 0; dispatchEvent = EVENT_HIT_COMBO; - retVal = 0; + hitResult = HIT_RESULT_HIT; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000) + if (!(targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && !partImmuneToElement - && !(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4) + && !(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE) ) { target->curHP -= damageDealt; @@ -471,7 +480,7 @@ HitResult calc_partner_damage_enemy(void) { target->hpChangeCounter = 0; } - if (targetPart->flags & ACTOR_PART_FLAG_2000) { + if (targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) { if (partner->staticStatus == STATUS_KEY_STATIC || !(target->staticStatus == STATUS_KEY_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) || battleStatus->curAttackElement & DAMAGE_TYPE_NO_CONTACT @@ -640,7 +649,7 @@ HitResult calc_partner_damage_enemy(void) { && dispatchEvent != EVENT_DEATH && dispatchEvent != EVENT_SPIN_SMASH_DEATH && dispatchEvent != EVENT_EXPLODE_TRIGGER - && !(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4) + && !(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE) ) { #define INFLICT_STATUS(STATUS_TYPE) \ if ((battleStatus->curAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \ @@ -681,17 +690,21 @@ HitResult calc_partner_damage_enemy(void) { ) { dispatchEvent = EVENT_SCARE_AWAY; wasStatusInflicted = TRUE; - retVal = 0; + hitResult = HIT_RESULT_HIT; tempBinary = TRUE; - gBattleStatus.flags1 |= (BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_SHOW_PLAYER_DECORATIONS | BS_FLAGS1_ACTORS_VISIBLE); - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + gBattleStatus.flags1 |= BS_FLAGS1_40; + gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; + gBattleStatus.flags1 |= BS_FLAGS1_10; + gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; + gBattleStatus.flags1 |= BS_FLAGS1_ACTORS_VISIBLE; + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { dispatchEvent = EVENT_IMMUNE; - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; } } else { dispatchEvent = EVENT_IMMUNE; - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; } } @@ -722,17 +735,21 @@ HitResult calc_partner_damage_enemy(void) { target->debuff == STATUS_KEY_STOP) && !(target->flags & ACTOR_FLAG_FLIPPED)) { dispatchEvent = EVENT_SCARE_AWAY; wasStatusInflicted = TRUE; - retVal = 0; + hitResult = HIT_RESULT_HIT; tempBinary = TRUE; - gBattleStatus.flags1 |= (BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10 | BS_FLAGS1_SHOW_PLAYER_DECORATIONS | BS_FLAGS1_ACTORS_VISIBLE); - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + gBattleStatus.flags1 |= BS_FLAGS1_40; + gBattleStatus.flags1 |= BS_FLAGS1_SP_EVT_ACTIVE; + gBattleStatus.flags1 |= BS_FLAGS1_10; + gBattleStatus.flags1 |= BS_FLAGS1_SHOW_PLAYER_DECORATIONS; + gBattleStatus.flags1 |= BS_FLAGS1_ACTORS_VISIBLE; + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { dispatchEvent = EVENT_IMMUNE; - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; } } else { dispatchEvent = EVENT_IMMUNE; - retVal = 2; + hitResult = HIT_RESULT_NO_DAMAGE; } } } @@ -752,19 +769,19 @@ HitResult calc_partner_damage_enemy(void) { show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } - if (!(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4)) { + if (!(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE)) { show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } } } if (tempBinary - && gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40) - || gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40) + && gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200) + || gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200) && !(gBattleStatus.flags1 & BS_FLAGS1_80) ) { if (battleStatus->lastAttackDamage > 0) { - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } if (battleStatus->lastAttackDamage > 0 || (battleStatus->curAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS && tempBinary)) { @@ -786,7 +803,7 @@ HitResult calc_partner_damage_enemy(void) { sfx_play_sound_at_position(partner->actorTypeData1[5], SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } - func_80267018(target, 1); + set_actor_flash_mode(target, 1); if (isFireDamage) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -802,7 +819,7 @@ HitResult calc_partner_damage_enemy(void) { if (battleStatus->lastAttackDamage < 1 && !(tempBinary || wasStatusInflicted) - || targetPart->flags & ACTOR_PART_FLAG_2000 + || targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE ) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -871,13 +888,12 @@ HitResult calc_partner_damage_enemy(void) { show_actor_health_bar(target); - if (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) { - if (retVal == 0) { - retVal = 1; + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + if (hitResult == HIT_RESULT_HIT) { + hitResult = HIT_RESULT_1; } - - if (retVal == 2) { - retVal = 3; + if (hitResult == HIT_RESULT_NO_DAMAGE) { + hitResult = HIT_RESULT_3; } } @@ -887,10 +903,10 @@ HitResult calc_partner_damage_enemy(void) { sfx_play_sound_at_position(SOUND_HIT_SHOCK, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); apply_shock_effect(partner); dispatch_damage_event_partner_1(1, EVENT_SHOCK_HIT); - return -1; + return HIT_RESULT_BACKFIRE; } - return retVal; + return hitResult; } s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) { @@ -946,12 +962,12 @@ s32 dispatch_damage_event_partner(s32 damageAmount, s32 event, s32 stopMotion) { battleStatus->lastAttackDamage); if (battleStatus->lastAttackDamage > 0) { - func_80267018(partner, 1); + set_actor_flash_mode(partner, 1); } partner->flags |= ACTOR_FLAG_HEALTH_BAR_HIDDEN; - flagCheck = (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) != 0; + flagCheck = (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) != 0; dispatch_event_partner(event); return flagCheck; } @@ -1271,12 +1287,12 @@ ApiStatus PartnerTestEnemy(Evt* script, s32 isInitialCall) { PlayerStatus* playerStatus = &gPlayerStatus; Bytecode* args = script->ptrReadPos; Actor* enemy = get_actor(script->owner1.enemyID); - s32 temp_s4; + s32 outVar; s32 flags; s32 damageResult; u8 statusChance; - temp_s4 = *args++; + outVar = *args++; gBattleStatus.curAttackElement = *args++; gBattleStatus.curAttackEventSuppression = *args++; gBattleStatus.curAttackStatus = *args++; @@ -1338,7 +1354,7 @@ ApiStatus PartnerTestEnemy(Evt* script, s32 isInitialCall) { return ApiStatus_FINISH; } - evt_set_variable(script, temp_s4, damageResult); + evt_set_variable(script, outVar, damageResult); return ApiStatus_DONE2; } @@ -1367,7 +1383,7 @@ ApiStatus DeletePartner(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus GetActionCommandResult(Evt* script, s32 isInitialCall) { +ApiStatus GetPartnerActionSuccess(Evt* script, s32 isInitialCall) { BattleStatus* battleStatus = &gBattleStatus; s32 var = *script->ptrReadPos; s32 actionSuccess = battleStatus->actionSuccess; diff --git a/src/19FAF0.c b/src/battle/dmg_player.c similarity index 92% rename from src/19FAF0.c rename to src/battle/dmg_player.c index 24bafdf7dd..e4c1135689 100644 --- a/src/19FAF0.c +++ b/src/battle/dmg_player.c @@ -201,9 +201,8 @@ HitResult calc_player_test_enemy(void) { } if (target->transparentStatus == STATUS_KEY_TRANSPARENT - || (targetPart->eventFlags & ACTOR_EVENT_FLAG_800) - && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) - { + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_BURIED && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) + ) { return HIT_RESULT_MISS; } @@ -258,7 +257,7 @@ HitResult calc_player_damage_enemy(void) { s32 isShockDamage; s32 isWaterDamage; s32 isIceDamage; - s32 tempBinary; + s32 wasSpecialHit; s32 wasStatusInflicted; s32 attackFxType; @@ -267,7 +266,7 @@ HitResult calc_player_damage_enemy(void) { isWaterDamage = FALSE; isShockDamage = FALSE; isIceDamage = FALSE; - tempBinary = FALSE; + wasSpecialHit = FALSE; partImmuneToElement = FALSE; wasStatusInflicted = FALSE; sp24 = FALSE; @@ -301,9 +300,8 @@ HitResult calc_player_damage_enemy(void) { } if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ILLUSORY - || (target->transparentStatus == STATUS_KEY_TRANSPARENT - || targetPart->eventFlags & ACTOR_EVENT_FLAG_800 - && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) + || target->transparentStatus == STATUS_KEY_TRANSPARENT + || (targetPart->eventFlags & ACTOR_EVENT_FLAG_BURIED && !(battleStatus->curAttackElement & DAMAGE_TYPE_QUAKE)) ) { return HIT_RESULT_MISS; } @@ -322,6 +320,7 @@ HitResult calc_player_damage_enemy(void) { partImmuneToElement = TRUE; } + // check jumping on spiky enemy if ((battleStatus->curAttackElement & DAMAGE_TYPE_JUMP) && (targetPart->eventFlags & ACTOR_EVENT_FLAG_SPIKY_TOP) && !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD)) @@ -332,6 +331,7 @@ HitResult calc_player_damage_enemy(void) { return HIT_RESULT_BACKFIRE; } + // check touching fiery enemy and explode on contact if (!(battleStatus->curAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH))) { if (targetPart->eventFlags & ACTOR_EVENT_FLAG_EXPLODE_ON_CONTACT) { sfx_play_sound_at_position(SOUND_HIT_PLAYER_FIRE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -352,6 +352,7 @@ HitResult calc_player_damage_enemy(void) { } } + // check explode on ignition if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->curAttackElement & DAMAGE_TYPE_FIRE && targetPart->eventFlags & (ACTOR_EVENT_FLAG_FIRE_EXPLODE | ACTOR_EVENT_FLAG_EXPLODE_ON_IGNITION) @@ -364,9 +365,10 @@ HitResult calc_player_damage_enemy(void) { return HIT_RESULT_HIT; } + // unknown alternate spiky #1 if (!(battleStatus->curAttackElement & (DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_SMASH)) - && targetPart->eventFlags & ACTOR_EVENT_FLAG_200000 - && !(battleStatus->curAttackEventSuppression & SUPPRESS_EVENT_FLAG_80) + && targetPart->eventFlags & ACTOR_EVENT_FLAG_ALT_SPIKY + && !(battleStatus->curAttackEventSuppression & SUPPRESS_EVENT_ALT_SPIKY) && !player_team_is_ability_active(player, ABILITY_SPIKE_SHIELD) ) { sfx_play_sound_at_position(SOUND_HIT_SPIKE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -442,14 +444,16 @@ HitResult calc_player_damage_enemy(void) { targetDefense += target->defenseBoost; } - if (targetPart->eventFlags & ACTOR_EVENT_FLAG_2000) { + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_EXTREME_DEFENSE) { targetDefense += 127; } currentAttackDamage = battleStatus->curAttackDamage; currentAttackDamage += count_power_plus(battleStatus->curAttackElement); - if (battleStatus->merleeAttackBoost > 0 && (gBattleStatus.flags1 & BS_FLAGS1_10 || battleStatus->curAttackElement & DAMAGE_TYPE_JUMP)) { + if (battleStatus->merleeAttackBoost > 0 + && (gBattleStatus.flags1 & BS_FLAGS1_10 || battleStatus->curAttackElement & DAMAGE_TYPE_JUMP) + ) { currentAttackDamage += battleStatus->merleeAttackBoost; } @@ -515,8 +519,9 @@ HitResult calc_player_damage_enemy(void) { } } - if (gBattleStatus.flags2 & BS_FLAGS2_HAS_RUSH && (gBattleStatus.flags1 & BS_FLAGS1_10 || - battleStatus->curAttackElement & DAMAGE_TYPE_JUMP)) { + if (gBattleStatus.flags2 & BS_FLAGS2_HAS_RUSH + && (gBattleStatus.flags1 & BS_FLAGS1_10 || battleStatus->curAttackElement & DAMAGE_TYPE_JUMP) + ) { if (battleStatus->rushFlags & RUSH_FLAG_POWER) { currentAttackDamage += 2; } @@ -527,10 +532,12 @@ HitResult calc_player_damage_enemy(void) { fx_radial_shimmer(9, state->goalPos.x, state->goalPos.y, state->goalPos.z, 0.5f, 20); } - if (!(gBattleStatus.flags2 & BS_FLAGS2_1000000) && player_team_is_ability_active(player, ABILITY_ALL_OR_NOTHING)) { + if (!(gBattleStatus.flags2 & BS_FLAGS2_IS_FIRST_STRIKE) + && player_team_is_ability_active(player, ABILITY_ALL_OR_NOTHING) + ) { currentAttackDamage++; - if (!(gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40))) { + if (!(gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200))) { sp24 = TRUE; currentAttackDamage = 0; targetDefense = 0; @@ -611,10 +618,10 @@ HitResult calc_player_damage_enemy(void) { hitResult = HIT_RESULT_HIT; target->hpChangeCounter -= currentAttackDamage; - if (!(targetPart->flags & ACTOR_PART_FLAG_2000) + if (!(targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) && !(gBattleStatus.flags1 & BS_FLAGS1_TUTORIAL_BATTLE) && !partImmuneToElement - && !(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4) + && !(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE) ) { target->curHP -= currentAttackDamage; @@ -629,7 +636,7 @@ HitResult calc_player_damage_enemy(void) { target->hpChangeCounter = 0; } - if (targetPart->flags & ACTOR_PART_FLAG_2000) { + if (targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) { if (!is_ability_active(ABILITY_ZAP_TAP) && player->staticStatus != STATUS_KEY_STATIC && (target->staticStatus == STATUS_KEY_STATIC || (targetPart->eventFlags & ACTOR_EVENT_FLAG_ELECTRIFIED)) @@ -642,7 +649,11 @@ HitResult calc_player_damage_enemy(void) { dispatch_damage_event_player_1(1, EVENT_SHOCK_HIT); return HIT_RESULT_BACKFIRE; } else { - dispatchEvent = (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) ? EVENT_ZERO_DAMAGE : EVENT_IMMUNE; + if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE)) { + dispatchEvent = EVENT_ZERO_DAMAGE; + } else { + dispatchEvent = EVENT_IMMUNE; + } sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); dispatch_event_actor(target, dispatchEvent); show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); @@ -695,7 +706,9 @@ HitResult calc_player_damage_enemy(void) { clear_part_pal_adjustment(targetPart); } + // check for special case damage events if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) { + // if damage is from Spin Smash, convert generic events to Spin Smash specific events if (battleStatus->curAttackElement & DAMAGE_TYPE_SPIN_SMASH) { PlayerData* playerData = &gPlayerData; @@ -726,6 +739,7 @@ HitResult calc_player_damage_enemy(void) { } } + // if damage is from Power Bounce, convert generic events to Power Bounce specific events if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) && !(battleStatus->curAttackElement & DAMAGE_TYPE_NO_CONTACT) && targetPart->eventFlags & ACTOR_EVENT_FLAG_POWER_BOUNCE @@ -751,6 +765,7 @@ HitResult calc_player_damage_enemy(void) { } } + // try generating fall trigger events if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) && (battleStatus->curAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP)) && targetPart->eventFlags & ACTOR_EVENT_FLAG_GROUNDABLE @@ -763,9 +778,10 @@ HitResult calc_player_damage_enemy(void) { dispatchEvent = EVENT_FALL_TRIGGER; } - tempBinary = TRUE; + wasSpecialHit = TRUE; } + // try generating flip trigger events if ((gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) && (battleStatus->curAttackElement & (DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP)) && targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE @@ -779,11 +795,12 @@ HitResult calc_player_damage_enemy(void) { } if (!(target->flags & ACTOR_FLAG_FLIPPED)) { - tempBinary = TRUE; + wasSpecialHit = TRUE; } } } + // try generating flip trigger events if (!(gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE) && battleStatus->curAttackElement & (DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_POW | DAMAGE_TYPE_JUMP) && targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE @@ -797,10 +814,11 @@ HitResult calc_player_damage_enemy(void) { } if (!(target->flags & ACTOR_FLAG_FLIPPED)) { - tempBinary = TRUE; + wasSpecialHit = TRUE; } } + // try generating shell crack events if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->curAttackElement & DAMAGE_TYPE_SHELL_CRACK && targetPart->eventFlags & ACTOR_EVENT_FLAG_FLIPABLE @@ -812,9 +830,10 @@ HitResult calc_player_damage_enemy(void) { if (dispatchEvent == EVENT_IMMUNE) { dispatchEvent = EVENT_SHELL_CRACK_HIT; } - tempBinary = TRUE; + wasSpecialHit = TRUE; } + // try generating burn events if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && (battleStatus->curAttackElement & (DAMAGE_TYPE_BLAST | DAMAGE_TYPE_FIRE)) ) { @@ -829,18 +848,19 @@ HitResult calc_player_damage_enemy(void) { isFireDamage = TRUE; } + // try inflicting status effects do { // TODO remove this do while if (gBattleStatus.flags1 & BS_FLAGS1_SP_EVT_ACTIVE && battleStatus->lastAttackDamage >= 0 && dispatchEvent != EVENT_DEATH && dispatchEvent != EVENT_SPIN_SMASH_DEATH && dispatchEvent != EVENT_EXPLODE_TRIGGER - && !(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4) + && !(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE) ) { #define INFLICT_STATUS(STATUS_TYPE) \ if ((battleStatus->curAttackStatus & STATUS_FLAG_##STATUS_TYPE) && \ try_inflict_status(target, STATUS_KEY_##STATUS_TYPE, STATUS_TURN_MOD_##STATUS_TYPE)) { \ - tempBinary = TRUE; \ + wasSpecialHit = TRUE; \ wasStatusInflicted = TRUE; \ } \ @@ -873,10 +893,8 @@ HitResult calc_player_damage_enemy(void) { if (!(target->flags & ACTOR_FLAG_NO_DMG_POPUP)) { if (battleStatus->lastAttackDamage == 0) { - if (!tempBinary) { - if (!wasStatusInflicted) { - show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); - } + if (!wasSpecialHit && !wasStatusInflicted) { + show_immune_bonk(state->goalPos.x, state->goalPos.y, state->goalPos.z, 0, 1, 3); } } else if (!partImmuneToElement) { if (battleStatus->curAttackElement & (DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_SMASH)) { @@ -885,23 +903,23 @@ HitResult calc_player_damage_enemy(void) { show_primary_damage_popup(state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage, 0); } - if (!(targetPart->targetFlags & ACTOR_PART_TARGET_FLAG_4)) { + if (!(targetPart->targetFlags & ACTOR_PART_TARGET_NO_DAMAGE)) { show_damage_fx(target, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); } } } - if (tempBinary && gBattleStatus.flags1 & BS_FLAGS1_40 || gBattleStatus.flags1 & BS_FLAGS1_40) { + if ((wasSpecialHit && gBattleStatus.flags1 & BS_FLAGS1_40) || gBattleStatus.flags1 & BS_FLAGS1_40) { if (!(gBattleStatus.flags1 & BS_FLAGS1_80)) { if (player->actorTypeData1[5]) { sfx_play_sound_at_position(player->actorTypeData1[5], SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } if (battleStatus->lastAttackDamage > 0) { - sfx_play_sound(SOUND_0231); + sfx_play_sound(SOUND_DAMAGE_STARS); } - if (battleStatus->lastAttackDamage > 0 || battleStatus->curAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS && tempBinary) { + if (battleStatus->lastAttackDamage > 0 || ((battleStatus->curAttackElement & DAMAGE_TYPE_STATUS_ALWAYS_HITS) && wasSpecialHit)) { if (!(battleStatus->curAttackElement & DAMAGE_TYPE_MULTI_BOUNCE)) { show_action_rating(ACTION_RATING_NICE, target, state->goalPos.x, state->goalPos.y, state->goalPos.z); } else { @@ -919,8 +937,8 @@ HitResult calc_player_damage_enemy(void) { func_80266970(target); } - if ((battleStatus->lastAttackDamage > 0 || tempBinary) && !partImmuneToElement) { - func_80267018(target, 1); + if ((battleStatus->lastAttackDamage > 0 || wasSpecialHit) && !partImmuneToElement) { + set_actor_flash_mode(target, 1); if (isFireDamage) { sfx_play_sound_at_position(SOUND_HIT_FIRE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); @@ -933,7 +951,7 @@ HitResult calc_player_damage_enemy(void) { } } - if (battleStatus->lastAttackDamage < 1 && !tempBinary && !sp20 || targetPart->flags & ACTOR_PART_FLAG_2000) { + if (battleStatus->lastAttackDamage < 1 && !wasSpecialHit && !sp20 || targetPart->flags & ACTOR_PART_FLAG_DAMAGE_IMMUNE) { sfx_play_sound_at_position(SOUND_IMMUNE, SOUND_SPACE_DEFAULT, state->goalPos.x, state->goalPos.y, state->goalPos.z); } @@ -1001,7 +1019,7 @@ HitResult calc_player_damage_enemy(void) { show_actor_health_bar(target); - if (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) { + if (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { if (hitResult == HIT_RESULT_HIT) { hitResult = HIT_RESULT_1; } @@ -1088,10 +1106,10 @@ s32 dispatch_damage_event_player(s32 damageAmount, s32 event, s32 arg2) { show_damage_fx(player, state->goalPos.x, state->goalPos.y, state->goalPos.z, battleStatus->lastAttackDamage); if (battleStatus->lastAttackDamage > 0) { - func_80267018(player, 1); + set_actor_flash_mode(player, 1); } - flags = (gBattleStatus.flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) != 0; + flags = (gBattleStatus.flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) != 0; dispatch_event_player(dispatchEvent); return flags; } @@ -1168,7 +1186,7 @@ ApiStatus func_80273444(Evt* script, s32 isInitialCall) { playerState->speed += var_f8 / playerState->moveTime; playerState->vel = (playerState->acceleration * playerState->moveTime * 0.5f) + (y / playerState->moveTime); - set_animation(0, 0, playerState->animJumpRise); + set_actor_anim(0, 0, playerState->animJumpRise); playerState->unk_24 = 90.0f; playerState->unk_28 = 180 / playerState->moveTime; playerState->unk_2C = playerState->goalPos.y; @@ -1179,7 +1197,7 @@ ApiStatus func_80273444(Evt* script, s32 isInitialCall) { } if (playerState->vel < 0.0f) { - set_animation(0, 0, playerState->animJumpFall); + set_actor_anim(0, 0, playerState->animJumpFall); } playerVel = playerState->vel; @@ -1264,12 +1282,12 @@ ApiStatus PlayerFallToGoal(Evt* script, s32 isInitialCall) { state->vel = 0.0f; state->acceleration = ((y / state->moveTime) - state->vel) / (-state->moveTime * 0.5); - set_animation(ACTOR_PLAYER, 0, state->animJumpRise); + set_actor_anim(ACTOR_PLAYER, 0, state->animJumpRise); script->functionTemp[0] = TRUE; } if (state->vel < 0.0f) { - set_animation(ACTOR_PLAYER, 0, state->animJumpFall); + set_actor_anim(ACTOR_PLAYER, 0, state->animJumpFall); } state->curPos.y += state->vel; @@ -1309,13 +1327,13 @@ ApiStatus PlayerLandJump(Evt* script, s32 isInitialCall) { if (walkMovement->vel > 0.0f) { if (walkMovement->animJumpRise != 0) { - set_animation(0, 0, walkMovement->animJumpRise); + set_actor_anim(0, 0, walkMovement->animJumpRise); } } if (walkMovement->vel < 0.0f) { if (walkMovement->animJumpFall != 0) { - set_animation(0, 0, walkMovement->animJumpFall); + set_actor_anim(0, 0, walkMovement->animJumpFall); } } @@ -1803,9 +1821,9 @@ ApiStatus func_80274A18(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - playerState->unk_30.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; - playerState->unk_30.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; - playerState->unk_30.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; + playerState->velStep.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; + playerState->velStep.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; + playerState->velStep.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; playerState->acceleration = PI_S / playerState->moveTime; playerState->vel = 0.0f; playerState->speed += temp / playerState->moveTime; @@ -1842,7 +1860,7 @@ ApiStatus func_80274A18(Evt* script, s32 isInitialCall) { acc2 = playerState->acceleration; playerState->vel = vel2 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.8 * acc2) + acc2); } - set_animation(0, 0, playerState->animJumpRise); + set_actor_anim(0, 0, playerState->animJumpRise); sfx_play_sound_at_position(SOUND_PLAYER_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); script->functionTemp[0] = 1; } @@ -1850,11 +1868,11 @@ ApiStatus func_80274A18(Evt* script, s32 isInitialCall) { switch (script->functionTemp[0]) { case 1: if (playerState->vel > PI_S / 2) { - set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpFall); } - playerState->curPos.x += playerState->unk_30.x; - playerState->curPos.y += playerState->unk_30.y; - playerState->curPos.z += playerState->unk_30.z; + playerState->curPos.x += playerState->velStep.x; + playerState->curPos.y += playerState->velStep.y; + playerState->curPos.z += playerState->velStep.z; playerState->unk_18.x = player->curPos.y; player->curPos.x = playerState->curPos.x; player->curPos.y = playerState->curPos.y + (playerState->bounceDivisor * sin_rad(playerState->vel)); @@ -1879,7 +1897,7 @@ ApiStatus func_80274A18(Evt* script, s32 isInitialCall) { player->curPos.y = playerState->goalPos.y; playerState->acceleration = 1.8f; playerState->vel = -(playerState->unk_18.x - playerState->unk_18.y); - set_animation(ACTOR_PLAYER, 0, playerState->animJumpLand); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpLand); return ApiStatus_DONE1; } break; @@ -1977,13 +1995,13 @@ ApiStatus func_802752AC(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } - playerState->unk_30.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; - playerState->unk_30.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; - playerState->unk_30.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; + playerState->velStep.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; + playerState->velStep.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; + playerState->velStep.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; playerState->acceleration = (PI_S / 2) / playerState->moveTime; playerState->vel = 0.0f; playerState->speed += temp / playerState->moveTime; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpRise); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpRise); sfx_play_sound_at_position(SOUND_PLAYER_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); playerState->unk_24 = 90.0f; playerState->bounceDivisor = 45.0f; @@ -2026,13 +2044,13 @@ ApiStatus func_802752AC(Evt* script, s32 isInitialCall) { if (playerState->moveTime == 0) { return ApiStatus_DONE2; } - playerState->unk_30.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; - playerState->unk_30.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; - playerState->unk_30.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; + playerState->velStep.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; + playerState->velStep.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; + playerState->velStep.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; playerState->vel = (PI_S / 2); playerState->acceleration = (PI_S / 4) / (playerState->moveTime + 1); playerState->speed += temp / playerState->moveTime; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpLand); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpLand); playerState->unk_24 = 90.0f; playerState->bounceDivisor = 45.0f; playerState->unk_28 = (360 / playerState->moveTime); @@ -2076,9 +2094,9 @@ ApiStatus func_802752AC(Evt* script, s32 isInitialCall) { acc6 = playerState->acceleration; playerState->vel = (vel6 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.01 * acc6) + acc6)); } - playerState->curPos.x += playerState->unk_30.x; - playerState->curPos.y += playerState->unk_30.y; - playerState->curPos.z += playerState->unk_30.z; + playerState->curPos.x += playerState->velStep.x; + playerState->curPos.y += playerState->velStep.y; + playerState->curPos.z += playerState->velStep.z; playerState->unk_18.x = player->curPos.y; player->curPos.x = playerState->curPos.x; player->curPos.y = playerState->curPos.y + (playerState->bounceDivisor * sin_rad(sin_rad(sin_rad(playerState->vel) * (PI_S / 2)) * (PI_S / 2))); @@ -2089,7 +2107,7 @@ ApiStatus func_802752AC(Evt* script, s32 isInitialCall) { playerState->moveTime--; if (playerState->moveTime == 0) { sfx_play_sound_at_position(SOUND_PLAYER_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); - set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpFall); player->rotPivotOffset.y = 14; player->rot.z -= 66.0f; playerState->moveTime = 7; @@ -2103,14 +2121,14 @@ ApiStatus func_802752AC(Evt* script, s32 isInitialCall) { if (playerState->moveTime == 0) { player->rot.z = 0.0f; player->rotPivotOffset.y = 0; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpLand); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpLand); return ApiStatus_DONE1; } break; case 11: - playerState->curPos.x += playerState->unk_30.x; - playerState->curPos.y += playerState->unk_30.y; - playerState->curPos.z += playerState->unk_30.z; + playerState->curPos.x += playerState->velStep.x; + playerState->curPos.y += playerState->velStep.y; + playerState->curPos.z += playerState->velStep.z; playerState->unk_18.x = player->curPos.y; player->curPos.x = playerState->curPos.x; player->curPos.y = playerState->curPos.y + (playerState->bounceDivisor * sin_rad(playerState->vel)); @@ -2135,7 +2153,7 @@ ApiStatus func_802752AC(Evt* script, s32 isInitialCall) { playerState->moveTime--; if (playerState->moveTime == 0) { player->curPos.y = playerState->goalPos.y; - set_animation(ACTOR_PLAYER, 0, 0x1000C); + set_actor_anim(ACTOR_PLAYER, 0, 0x1000C); return ApiStatus_DONE1; } break; @@ -2223,11 +2241,11 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { } playerState->acceleration = PI_S / playerState->moveTime; playerState->vel = 0.0f; - playerState->unk_30.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; - playerState->unk_30.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; - playerState->unk_30.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; + playerState->velStep.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; + playerState->velStep.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; + playerState->velStep.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; playerState->speed += temp / playerState->moveTime; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpFall); sfx_play_sound_at_position(SOUND_PLAYER_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); sfx_play_sound_at_position(SOUND_TORNADO_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); playerState->unk_18.x = 0.0f; @@ -2267,11 +2285,11 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { } playerState->acceleration = PI_S / playerState->moveTime; playerState->vel = 0.0f; - playerState->unk_30.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; - playerState->unk_30.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; - playerState->unk_30.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; + playerState->velStep.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; + playerState->velStep.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; + playerState->velStep.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; playerState->speed += temp / playerState->moveTime; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpRise); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpRise); sfx_play_sound_at_position(SOUND_PLAYER_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); sfx_play_sound_at_position(SOUND_TORNADO_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); playerState->unk_18.x = 0.0f; @@ -2292,7 +2310,7 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { break; case 20: playerState->moveTime = 1; - set_animation(ACTOR_PLAYER, 1, 0x1000C); + set_actor_anim(ACTOR_PLAYER, 1, 0x1000C); player->rot.y = 0.0f; playerState->unk_24 = 90.0f; playerState->bounceDivisor = fabsf(playerState->unk_18.x - playerState->unk_18.y) / 16.5; @@ -2322,11 +2340,11 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { } playerState->acceleration = PI_S / (playerState->moveTime + 1); playerState->vel = 0.0f; - playerState->unk_30.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; - playerState->unk_30.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; - playerState->unk_30.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; + playerState->velStep.x = (playerState->goalPos.x - playerState->curPos.x) / playerState->moveTime; + playerState->velStep.y = (playerState->goalPos.y - playerState->curPos.y) / playerState->moveTime; + playerState->velStep.z = (playerState->goalPos.z - playerState->curPos.z) / playerState->moveTime; playerState->speed += temp / playerState->moveTime; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpRise); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpRise); sfx_play_sound_at_position(SOUND_PLAYER_JUMP, SOUND_SPACE_DEFAULT, player->curPos.x, player->curPos.y, player->curPos.z); playerState->unk_24 = 90.0f; playerState->bounceDivisor = 45.0f; @@ -2349,9 +2367,9 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { temp_f22_4 = playerState->vel; temp_f20_4 = playerState->acceleration; playerState->vel = temp_f22_4 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53 * temp_f20_4) + temp_f20_4); - playerState->curPos.x += playerState->unk_30.x; - playerState->curPos.y += playerState->unk_30.y; - playerState->curPos.z += playerState->unk_30.z; + playerState->curPos.x += playerState->velStep.x; + playerState->curPos.y += playerState->velStep.y; + playerState->curPos.z += playerState->velStep.z; playerState->unk_18.x = player->curPos.y; player->curPos.x = playerState->curPos.x; player->curPos.y = playerState->curPos.y + (playerState->bounceDivisor * sin_rad(playerState->vel)); @@ -2373,9 +2391,9 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { temp_f22_6 = playerState->vel; temp_f20_7 = playerState->acceleration; playerState->vel = temp_f22_6 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53 * temp_f20_7) + temp_f20_7); - playerState->curPos.x += playerState->unk_30.x; - playerState->curPos.y += playerState->unk_30.y; - playerState->curPos.z += playerState->unk_30.z; + playerState->curPos.x += playerState->velStep.x; + playerState->curPos.y += playerState->velStep.y; + playerState->curPos.z += playerState->velStep.z; playerState->unk_18.x = player->curPos.y; player->curPos.x = playerState->curPos.x; player->curPos.y = playerState->curPos.y + (playerState->bounceDivisor * sin_rad(playerState->vel)); @@ -2386,7 +2404,7 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { playerState->unk_18.y = player->curPos.y; playerState->unk_24 += playerState->unk_28; playerState->unk_24 = clamp_angle(playerState->unk_24); - set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpFall); player->rot.y += 133.0f; player->rot.y = clamp_angle(player->rot.y); playerState->moveTime--; @@ -2395,7 +2413,7 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { playerState->vel = -(playerState->unk_18.x - playerState->unk_18.y); player->curPos.y = playerState->goalPos.y; player->rot.y = 0.0f; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpLand); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpLand); play_movement_dust_effects(2, player->curPos.x, player->curPos.y, player->curPos.z, player->yaw); return ApiStatus_DONE1; } @@ -2422,9 +2440,9 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { temp_f22_5 = playerState->vel; temp_f20_6 = playerState->acceleration; playerState->vel = temp_f22_5 + ((sin_rad(DEG_TO_RAD(playerState->unk_24)) * 0.53 * temp_f20_6) + temp_f20_6); - playerState->curPos.x += playerState->unk_30.x; - playerState->curPos.y += playerState->unk_30.y; - playerState->curPos.z += playerState->unk_30.z; + playerState->curPos.x += playerState->velStep.x; + playerState->curPos.y += playerState->velStep.y; + playerState->curPos.z += playerState->velStep.z; playerState->unk_18.x = player->curPos.y; player->curPos.x = playerState->curPos.x; player->curPos.y = playerState->curPos.y + (playerState->bounceDivisor * sin_rad(playerState->vel)); @@ -2435,14 +2453,14 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { playerState->unk_18.y = player->curPos.y; playerState->unk_24 += playerState->unk_28; playerState->unk_24 = clamp_angle(playerState->unk_24); - set_animation(ACTOR_PLAYER, 0, playerState->animJumpFall); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpFall); player->rot.y += 133.0f; player->rot.y = clamp_angle(player->rot.y); playerState->moveTime--; if (playerState->moveTime == 0) { player->curPos.y = playerState->goalPos.y; player->rot.y = 0.0f; - set_animation(ACTOR_PLAYER, 0, playerState->animJumpLand); + set_actor_anim(ACTOR_PLAYER, 0, playerState->animJumpLand); playerState->acceleration = 1.8f; playerState->vel = -(playerState->unk_18.x - playerState->unk_18.y); return ApiStatus_DONE1; @@ -2453,7 +2471,7 @@ ApiStatus func_80275F00(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus DidActionSucceed(Evt* script, s32 isInitialCall) { +ApiStatus GetPlayerActionSuccess(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 outVar = *args++; s32 actionSuccess = gBattleStatus.actionSuccess; diff --git a/src/battle/entity_model_icons.c b/src/battle/entity_model_icons.c new file mode 100644 index 0000000000..aba805227c --- /dev/null +++ b/src/battle/entity_model_icons.c @@ -0,0 +1,102 @@ +#include "common.h" +#include "entity.h" + +extern IMG_BIN ui_battle_menu_spirits_png[]; +extern PAL_BIN ui_battle_menu_spirits_pal[]; +extern IMG_BIN ui_battle_solid_star_png[]; +extern PAL_BIN ui_battle_solid_star_pal[]; + +#include "ui/battle/cursor_hand.png.inc.c" +#include "ui/battle/cursor_hand.pal.inc.c" + +Vtx BtlCursorModelVtx[] = { + {{{ -22, -6, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}}, + {{{ 9, -6, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}}, + {{{ 9, 25, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}}, + {{{ -22, 25, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}}, +}; + +Gfx BtlCursorModelGfx[] = { + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPPipeSync(), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsDPSetTexturePersp(G_TP_PERSP), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureFilter(G_TF_AVERAGE), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetTextureLUT(G_TT_RGBA16), + gsDPLoadTLUT_pal16(0, ui_battle_cursor_hand_pal), + gsDPLoadTextureTile_4b(ui_battle_cursor_hand_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD), + gsSPClearGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_SHADING_SMOOTH), + gsSPVertex(BtlCursorModelVtx, 4, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsSPEndDisplayList(), +}; + +EntityModelScript EMS_CursorIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlCursorModelGfx, RENDER_MODE_ALPHATEST); + +Vtx BtlBonkModelVtx[] = { + {{{ -16, -16, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}}, + {{{ 15, -16, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}}, + {{{ 15, 15, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}}, + {{{ -16, 15, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}}, +}; + +Gfx BtlBonkModelGfx[] = { + gsDPPipeSync(), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCombineMode(PM_CC_01, PM_CC_02), + gsDPSetTexturePersp(G_TP_PERSP), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureFilter(G_TF_AVERAGE), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetTextureLUT(G_TT_RGBA16), + gsDPLoadTLUT_pal16(0, ui_battle_menu_spirits_pal), + gsDPLoadTextureTile_4b(ui_battle_menu_spirits_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD), + gsSPClearGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_SHADING_SMOOTH), + gsSPVertex(BtlBonkModelVtx, 4, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +EntityModelScript EMS_BonkIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlBonkModelGfx, RENDER_MODE_2D); + +Vtx BtlStarModelVtx[] = { + {{{ -16, -16, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}}, + {{{ 15, -16, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}}, + {{{ 15, 15, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}}, + {{{ -16, 15, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}}, +}; + +Gfx BtlStarModelGfx[] = { + gsDPPipeSync(), + gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON), + gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA), + gsDPSetTexturePersp(G_TP_PERSP), + gsDPSetTextureDetail(G_TD_CLAMP), + gsDPSetTextureLOD(G_TL_TILE), + gsDPSetTextureLUT(G_TT_NONE), + gsDPSetTextureFilter(G_TF_AVERAGE), + gsDPSetTextureConvert(G_TC_FILT), + gsDPSetTextureLUT(G_TT_RGBA16), + gsDPLoadTLUT_pal16(0, ui_battle_solid_star_pal), + gsDPLoadTextureTile_4b(ui_battle_solid_star_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD), + gsSPClearGeometryMode(G_LIGHTING), + gsSPClearGeometryMode(G_SHADING_SMOOTH), + gsSPVertex(BtlStarModelVtx, 4, 0), + gsSP1Triangle(0, 1, 2, 0), + gsSP1Triangle(0, 2, 3, 0), + gsDPPipeSync(), + gsSPEndDisplayList(), +}; + +EntityModelScript EMS_StarIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlStarModelGfx, RENDER_MODE_ALPHATEST); diff --git a/src/18C790.c b/src/battle/level_up.c similarity index 99% rename from src/18C790.c rename to src/battle/level_up.c index be63332280..d81230837f 100644 --- a/src/18C790.c +++ b/src/battle/level_up.c @@ -501,7 +501,7 @@ void btl_state_update_celebration(void) { switch (gBattleSubState) { case BTL_SUBSTATE_CELEBRATE_INIT: if (battleStatus->pendingStarPoints <= 0) { - player->flags &= ~ACTOR_FLAG_8000000; + player->flags &= ~ACTOR_FLAG_SHOW_STATUS_ICONS; EndBattleRewardTotal = battleStatus->totalStarPoints * 100; pendingLevelUps = 0; D_8029FB50 = 0; @@ -522,7 +522,7 @@ void btl_state_update_celebration(void) { EndBattleRewardStep = 0; CelebrateSubstateTime = 1; gBattleSubState = BTL_SUBSTATE_CELEBRATE_LOAD_STAR_POINTS; - gBattleStatus.flags2 |= BS_FLAGS2_1; + gBattleStatus.flags2 |= BS_FLAGS2_AWARDING_STAR_POINTS; } break; case BTL_SUBSTATE_CELEBRATE_LOAD_STAR_POINTS: @@ -573,9 +573,9 @@ void btl_state_update_celebration(void) { if (battleStatus->totalStarPoints == 0) { if (EndBattleRewardStep == 0) { EndBattleRewardsDone = TRUE; - player->flags &= ~(ACTOR_FLAG_4000000 | ACTOR_FLAG_8000000); + player->flags &= ~(ACTOR_FLAG_USING_IDLE_ANIM | ACTOR_FLAG_SHOW_STATUS_ICONS); if (partner != NULL) { - partner->flags &= ~(ACTOR_FLAG_4000000 | ACTOR_FLAG_8000000); + partner->flags &= ~(ACTOR_FLAG_USING_IDLE_ANIM | ACTOR_FLAG_SHOW_STATUS_ICONS); } battleStatus->battlePhase = PHASE_CELEBRATE; script = start_script(&EVS_Mario_HandlePhase, EVT_PRIORITY_A, 0); @@ -1051,7 +1051,7 @@ void btl_state_update_celebration(void) { break; } - set_animation(0, 0, ANIM_MarioB1_AdjustCap); + set_actor_anim(0, 0, ANIM_MarioB1_AdjustCap); if (partner != NULL) { script = start_script(partner->takeTurnSource, EVT_PRIORITY_A, 0); @@ -1149,9 +1149,9 @@ void btl_state_update_celebration(void) { } bFadeToBlackAmt = 0; btl_cam_set_params(1, 270, 100, 8, 0, 0x2400, 0, 100); - set_animation(0, 0, ANIM_MarioB1_AdjustCap); + set_actor_anim(0, 0, ANIM_MarioB1_AdjustCap); if (partner != NULL) { - set_animation(ACTOR_PARTNER, 0, D_80284154[playerData->curPartner]); + set_actor_anim(ACTOR_PARTNER, 0, D_80284154[playerData->curPartner]); } CelebrateSubstateTime = 6; gBattleSubState = BTL_SUBSTATE_CELEBRATE_WALK_AWAY; @@ -1162,7 +1162,7 @@ void btl_state_update_celebration(void) { if (CelebrateSubstateTime != 0) { CelebrateSubstateTime--; if (CelebrateSubstateTime == 0) { - set_animation(0, 0, ANIM_Mario1_Walk); + set_actor_anim(0, 0, ANIM_Mario1_Walk); } } else { player->yaw = 0.0f; diff --git a/src/battle/move/hammer/attack.c b/src/battle/move/hammer/attack.c index 1b832564da..a3f4018cd7 100644 --- a/src/battle/move/hammer/attack.c +++ b/src/battle/move/hammer/attack.c @@ -50,17 +50,17 @@ EvtScript N(EVS_UseMove0_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -69,17 +69,17 @@ EvtScript N(EVS_UseMove0_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -92,7 +92,7 @@ EvtScript N(EVS_UseMove0_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -167,19 +167,19 @@ EvtScript N(EVS_UseMove1) = { EVT_SWITCH(LVar1) EVT_CASE_EQ(0) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_HAMMER_SWING_1) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_HAMMER_SWING_2) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_HAMMER_SWING_3) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -247,17 +247,17 @@ EvtScript N(EVS_UseMove2_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -272,17 +272,17 @@ EvtScript N(EVS_UseMove2_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -291,17 +291,17 @@ EvtScript N(EVS_UseMove2_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -314,7 +314,7 @@ EvtScript N(EVS_UseMove2_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/auto_smash.c b/src/battle/move/hammer/auto_smash.c index e30c77c074..19f5628227 100644 --- a/src/battle/move/hammer/auto_smash.c +++ b/src/battle/move/hammer/auto_smash.c @@ -49,17 +49,17 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -68,17 +68,17 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -91,7 +91,7 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/d_down_pound.c b/src/battle/move/hammer/d_down_pound.c index c58d4af037..3f22b72524 100644 --- a/src/battle/move/hammer/d_down_pound.c +++ b/src/battle/move/hammer/d_down_pound.c @@ -59,23 +59,23 @@ EvtScript N(UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_UseUltraHammer)) EVT_END_SWITCH EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_IGNORE_DEFENSE, 25, 0, LVar9, 16) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -84,23 +84,23 @@ EvtScript N(UseMove_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD EVT_END_SWITCH EVT_END_SWITCH - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_IF_GT(LVar0, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PLAYER_HAMMER_STRIKE) EVT_CALL(MoveBattleCamOver, 5) @@ -122,10 +122,10 @@ EvtScript N(UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVarA) + EVT_CALL(GetPlayerActionSuccess, LVarA) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(func_802A10A4_74AE34, LVar0, LVar1, LVar2) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_SMASH | DAMAGE_TYPE_IGNORE_DEFENSE, 25, 0, LVarF, 112) diff --git a/src/battle/move/hammer/hammer_charge_0.c b/src/battle/move/hammer/hammer_charge_0.c index 25f670d519..cdcd9701f4 100644 --- a/src/battle/move/hammer/hammer_charge_0.c +++ b/src/battle/move/hammer/hammer_charge_0.c @@ -77,23 +77,23 @@ EvtScript N(EVS_802A3348) = { EVT_EXEC_WAIT(N(EVS_UseBasicHammer)) EVT_END_SWITCH EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVar9, 16) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -102,17 +102,17 @@ EvtScript N(EVS_802A3348) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -125,7 +125,7 @@ EvtScript N(EVS_802A3348) = { EVT_RETURN EVT_END_IF EVT_SET(LFlag0, FALSE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/hammer_charge_1.c b/src/battle/move/hammer/hammer_charge_1.c index f3997e446a..4d4b889bbd 100644 --- a/src/battle/move/hammer/hammer_charge_1.c +++ b/src/battle/move/hammer/hammer_charge_1.c @@ -86,23 +86,23 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_EXEC_WAIT(N(EVS_UseBasicHammer)) EVT_END_SWITCH EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVar9, 16) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -111,17 +111,17 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -134,7 +134,7 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_RETURN EVT_END_IF EVT_SET(LFlag0, FALSE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/hammer_charge_2.c b/src/battle/move/hammer/hammer_charge_2.c index adf3a99996..a072f007d7 100644 --- a/src/battle/move/hammer/hammer_charge_2.c +++ b/src/battle/move/hammer/hammer_charge_2.c @@ -86,23 +86,23 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_EXEC_WAIT(N(EVS_UseBasicHammer)) EVT_END_SWITCH EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, LVar9, 16) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -111,17 +111,17 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -134,7 +134,7 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_RETURN EVT_END_IF EVT_SET(LFlag0, FALSE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/hammer_throw.c b/src/battle/move/hammer/hammer_throw.c index 9831a6b7b5..5785f41289 100644 --- a/src/battle/move/hammer/hammer_throw.c +++ b/src/battle/move/hammer/hammer_throw.c @@ -284,7 +284,7 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CALL(InitTargetIterator) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(DidActionSucceed, LVar3) + EVT_CALL(GetPlayerActionSuccess, LVar3) EVT_SWITCH(LVar3) EVT_CASE_GT(FALSE) EVT_THREAD @@ -320,7 +320,7 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_RETURN EVT_END_IF EVT_THREAD - EVT_CALL(DidActionSucceed, LVar3) + EVT_CALL(GetPlayerActionSuccess, LVar3) EVT_SWITCH(LVar3) EVT_CASE_GT(FALSE) EVT_CALL(SetVirtualEntityJumpGravity, LVarA, EVT_FLOAT(1.4)) @@ -336,23 +336,23 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CALL(DeleteVirtualEntity, LVarA) EVT_END_SWITCH EVT_END_THREAD - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -361,17 +361,17 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -388,7 +388,7 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CASE_EQ(2) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_D_DOWN_HIT_3) EVT_END_SWITCH - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/mega_quake.c b/src/battle/move/hammer/mega_quake.c index 78812fc621..07a999b080 100644 --- a/src/battle/move/hammer/mega_quake.c +++ b/src/battle/move/hammer/mega_quake.c @@ -82,10 +82,10 @@ EvtScript N(EVS_802A3238) = { EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 60, 8, 66, 30, 0, 0, 0, 0, 0) EVT_END_THREAD - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) - EVT_CALL(StartRumble, 11) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.3)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.5)) @@ -113,7 +113,7 @@ EvtScript N(EVS_802A3238) = { EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 1, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) EVT_END_THREAD EVT_CASE_DEFAULT - EVT_CALL(StartRumble, 11) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.24)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.2)) @@ -141,7 +141,7 @@ EvtScript N(EVS_802A3238) = { EVT_PLAY_EFFECT(EFFECT_SHOCKWAVE, 1, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) EVT_END_THREAD EVT_END_SWITCH - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_IF_GT(LVar0, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_46) EVT_CALL(MoveBattleCamOver, 5) @@ -188,7 +188,7 @@ EvtScript N(EVS_802A3238) = { EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_GOTO(11) EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) @@ -202,10 +202,10 @@ EvtScript N(EVS_802A3238) = { EVT_IF_LT(LVar9, LVar1) EVT_GOTO(10) EVT_END_IF - EVT_THREAD - EVT_WAIT(10) - EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) - EVT_END_THREAD + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) + EVT_END_THREAD EVT_WAIT(10) EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_B)) EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) diff --git a/src/battle/move/hammer/mega_smash.c b/src/battle/move/hammer/mega_smash.c index 480b32e31d..fc397f2935 100644 --- a/src/battle/move/hammer/mega_smash.c +++ b/src/battle/move/hammer/mega_smash.c @@ -34,7 +34,7 @@ EvtScript N(EVS_UseMove) = { }; EvtScript N(EVS_802A3188) = { - EVT_CALL(StartRumble, 11) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(3.0)) @@ -70,7 +70,7 @@ EvtScript N(UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/power_quake.c b/src/battle/move/hammer/power_quake.c index 5b192eccca..cd49ca56a9 100644 --- a/src/battle/move/hammer/power_quake.c +++ b/src/battle/move/hammer/power_quake.c @@ -53,10 +53,10 @@ EvtScript N(EVS_802A3168) = { EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 60, 8, 66, 30, 0, 0, 0, 0, 0) EVT_END_THREAD - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.24)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.2)) @@ -80,7 +80,7 @@ EvtScript N(EVS_802A3168) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 72, 8, 72, 30, 0, 0, 0, 0, 0) EVT_END_THREAD EVT_CASE_DEFAULT - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.2)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) @@ -102,7 +102,7 @@ EvtScript N(EVS_802A3168) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 96, 8, 72, 30, 0, 0, 0, 0, 0) EVT_END_THREAD EVT_END_SWITCH - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_IF_GT(LVar0, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_46) EVT_CALL(MoveBattleCamOver, 5) @@ -132,25 +132,25 @@ EvtScript N(EVS_802A3168) = { EVT_SET(LVar9, 0) EVT_CALL(InitTargetIterator) EVT_LABEL(10) - EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) - EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_QUAKE_HAMMER, 29, 0, 0, 16) - EVT_IF_EQ(LVar0, HIT_RESULT_MISS) - EVT_GOTO(11) - EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(FALSE) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) - EVT_CASE_DEFAULT - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) - EVT_END_SWITCH - EVT_LABEL(11) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) - EVT_ADD(LVar9, 1) - EVT_CALL(GetTargetListLength, LVar1) - EVT_IF_LT(LVar9, LVar1) - EVT_GOTO(10) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_QUAKE_HAMMER, 29, 0, 0, 16) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_GOTO(11) + EVT_END_IF + EVT_CALL(GetPlayerActionSuccess, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(FALSE) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) + EVT_CASE_DEFAULT + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) + EVT_END_SWITCH + EVT_LABEL(11) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) + EVT_ADD(LVar9, 1) + EVT_CALL(GetTargetListLength, LVar1) + EVT_IF_LT(LVar9, LVar1) + EVT_GOTO(10) + EVT_END_IF EVT_THREAD EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) diff --git a/src/battle/move/hammer/power_smash.c b/src/battle/move/hammer/power_smash.c index 126d9713cd..f05e287c52 100644 --- a/src/battle/move/hammer/power_smash.c +++ b/src/battle/move/hammer/power_smash.c @@ -34,7 +34,7 @@ EvtScript N(EVS_UseMove) = { }; EvtScript N(EVS_802A3188) = { - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.5)) @@ -65,7 +65,7 @@ EvtScript N(UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/quake_hammer.c b/src/battle/move/hammer/quake_hammer.c index 68364020fe..5b74501b42 100644 --- a/src/battle/move/hammer/quake_hammer.c +++ b/src/battle/move/hammer/quake_hammer.c @@ -53,10 +53,10 @@ EvtScript N(EVS_802A3168) = { EVT_WAIT(2) EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 1, LVar0, LVar1, LVar2, 60, 8, 66, 30, 0, 0, 0, 0, 0) EVT_END_CHILD_THREAD - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CHILD_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.2)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) @@ -75,7 +75,7 @@ EvtScript N(EVS_802A3168) = { EVT_PLAY_EFFECT(EFFECT_SMOKE_IMPACT, 0, LVar0, LVar1, LVar2, 72, 8, 24, 30, 0, 0, 0, 0, 0) EVT_END_CHILD_THREAD EVT_CASE_DEFAULT - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CHILD_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.1)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(0.5)) @@ -87,7 +87,7 @@ EvtScript N(EVS_802A3168) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(0.025390625)) EVT_END_CHILD_THREAD EVT_END_SWITCH - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_IF_GT(LVar0, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_46) EVT_CALL(MoveBattleCamOver, 5) @@ -117,25 +117,25 @@ EvtScript N(EVS_802A3168) = { EVT_SET(LVar9, 0) EVT_CALL(InitTargetIterator) EVT_LABEL(10) - EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) - EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_QUAKE_HAMMER, 29, 0, 0, 16) - EVT_IF_EQ(LVar0, HIT_RESULT_MISS) - EVT_GOTO(11) - EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(FALSE) - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) - EVT_CASE_DEFAULT - EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) - EVT_END_SWITCH - EVT_LABEL(11) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) - EVT_ADD(LVar9, 1) - EVT_CALL(GetTargetListLength, LVar1) - EVT_IF_LT(LVar9, LVar1) - EVT_GOTO(10) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) + EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_QUAKE_HAMMER, 29, 0, 0, 16) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_GOTO(11) + EVT_END_IF + EVT_CALL(GetPlayerActionSuccess, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(FALSE) + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarF, 112) + EVT_CASE_DEFAULT + EVT_CALL(PlayerDamageEnemy, LVar0, DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_QUAKE_HAMMER | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 25, 0, LVarE, 48) + EVT_END_SWITCH + EVT_LABEL(11) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) + EVT_ADD(LVar9, 1) + EVT_CALL(GetTargetListLength, LVar1) + EVT_IF_LT(LVar9, LVar1) + EVT_GOTO(10) + EVT_END_IF EVT_THREAD EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) diff --git a/src/battle/move/hammer/shell_crack.c b/src/battle/move/hammer/shell_crack.c index ce71745406..064fa5049a 100644 --- a/src/battle/move/hammer/shell_crack.c +++ b/src/battle/move/hammer/shell_crack.c @@ -47,7 +47,7 @@ EvtScript N(EVS_UseMove) = { }; EvtScript N(EVS_802A3248) = { - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(3.0)) @@ -86,7 +86,7 @@ EvtScript N(UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/shrink_smash.c b/src/battle/move/hammer/shrink_smash.c index 603a4c9c1b..efc80ab99f 100644 --- a/src/battle/move/hammer/shrink_smash.c +++ b/src/battle/move/hammer/shrink_smash.c @@ -47,17 +47,17 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -66,17 +66,17 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.3)) EVT_END_THREAD EVT_CASE_EQ(1) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_END_THREAD EVT_CASE_EQ(2) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.9)) EVT_END_THREAD @@ -89,7 +89,7 @@ EvtScript N(EVS_UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/hammer/spin_smash.c b/src/battle/move/hammer/spin_smash.c index ba704dfb27..dec52c2795 100644 --- a/src/battle/move/hammer/spin_smash.c +++ b/src/battle/move/hammer/spin_smash.c @@ -135,7 +135,7 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB2_SpinSmash1_Swing) EVT_WAIT(3) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_46) - EVT_CALL(StartRumble, 7) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MIN) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_SPIN_SMASH_1) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, 0, 16) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -145,7 +145,7 @@ EvtScript N(EVS_UseMove1_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(func_802A1000_737890) @@ -257,7 +257,7 @@ EvtScript N(EVS_UseMove2_Impl) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB2_SpinSmash2_Swing) EVT_WAIT(3) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_46) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_SPIN_SMASH_2) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, 0, 16) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -267,7 +267,7 @@ EvtScript N(EVS_UseMove2_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(func_802A1000_737890) @@ -377,7 +377,7 @@ EvtScript N(EVS_UseMove3_Impl) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_MarioB2_SpinSmash3_Swing) EVT_WAIT(3) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_46) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_SPIN_SMASH_3) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_SMASH, 25, 0, 0, 16) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -387,7 +387,7 @@ EvtScript N(EVS_UseMove3_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(func_802A1000_737890) diff --git a/src/battle/move/hammer/super_smash.c b/src/battle/move/hammer/super_smash.c index f99e747c6d..5817b8c046 100644 --- a/src/battle/move/hammer/super_smash.c +++ b/src/battle/move/hammer/super_smash.c @@ -34,7 +34,7 @@ EvtScript N(EVS_UseMove) = { }; EvtScript N(EVS_802A3188) = { - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(4.0)) @@ -66,7 +66,7 @@ EvtScript N(UseMove_Impl) = { EVT_EXEC_WAIT(N(EVS_Hammer_ReturnHome_C)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) diff --git a/src/battle/move/item/dizzy_dial.c b/src/battle/move/item/dizzy_dial.c index 1870ff5aad..97b49d00ed 100644 --- a/src/battle/move/item/dizzy_dial.c +++ b/src/battle/move/item/dizzy_dial.c @@ -66,7 +66,7 @@ EvtScript N(EVS_UseItem) = { EVT_END_THREAD EVT_CALL(N(AnimateDizzyDialCameraFX)) EVT_THREAD - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(4.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(3.0)) @@ -91,7 +91,7 @@ EvtScript N(EVS_UseItem) = { EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(30) diff --git a/src/battle/move/item/egg_missile.c b/src/battle/move/item/egg_missile.c index bdcb9be731..13bcbc24e5 100644 --- a/src/battle/move/item/egg_missile.c +++ b/src/battle/move/item/egg_missile.c @@ -179,7 +179,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(PlaySound, SOUND_EGG_MISSILE_BLAST) EVT_CALL(N(func_802A123C_71CF1C), LVar0, LVar1, LVar2) EVT_THREAD - EVT_CALL(StartRumble, 5) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_EXTREME) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.75)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 4, EVT_FLOAT(1.2)) diff --git a/src/battle/move/item/fire_flower.c b/src/battle/move/item/fire_flower.c index 863bb8ba46..23fc2c4e2f 100644 --- a/src/battle/move/item/fire_flower.c +++ b/src/battle/move/item/fire_flower.c @@ -67,20 +67,20 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(InitTargetIterator) EVT_LABEL(0) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(ItemCheckHit, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, LVar0, 0) - EVT_IF_EQ(LVar0, HIT_RESULT_MISS) - EVT_GOTO(1) - EVT_END_IF - EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) - EVT_CALL(GetItemPower, ITEM_FIRE_FLOWER, LVar0, LVar1) - EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_LABEL(1) - EVT_WAIT(5) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(0) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(ItemCheckHit, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, LVar0, 0) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetGoalPos, ACTOR_SELF, LVar0, LVar1, LVar2) + EVT_CALL(GetItemPower, ITEM_FIRE_FLOWER, LVar0, LVar1) + EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_LABEL(1) + EVT_WAIT(5) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) + EVT_IF_NE(LVar0, ITER_NO_MORE) + EVT_GOTO(0) + EVT_END_IF EVT_CALL(N(FadeBackgroundLighten)) EVT_WAIT(30) EVT_EXEC_WAIT(N(PlayerGoHome)) diff --git a/src/battle/move/item/fright_jar.c b/src/battle/move/item/fright_jar.c index af28e6fac8..624567edb9 100644 --- a/src/battle/move/item/fright_jar.c +++ b/src/battle/move/item/fright_jar.c @@ -57,7 +57,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(ItemSpookEnemy, LVar0, DAMAGE_TYPE_FEAR | DAMAGE_TYPE_STATUS_ALWAYS_HITS | DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_NO_CONTACT, 0, 100, 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(10) diff --git a/src/battle/move/item/insecticide_herb.c b/src/battle/move/item/insecticide_herb.c index 703161b5f8..baa4c3c128 100644 --- a/src/battle/move/item/insecticide_herb.c +++ b/src/battle/move/item/insecticide_herb.c @@ -23,7 +23,7 @@ API_CALLABLE(N(func_802A1280_72A9D0)) { Actor* enemy = get_actor(script->owner1.enemyID); Actor* target; - sfx_play_sound_at_position(SOUND_0231, SOUND_SPACE_DEFAULT, enemy->state.goalPos.x, enemy->state.goalPos.y, enemy->state.goalPos.z); + sfx_play_sound_at_position(SOUND_DAMAGE_STARS, SOUND_SPACE_DEFAULT, enemy->state.goalPos.x, enemy->state.goalPos.y, enemy->state.goalPos.z); target = get_actor(enemy->targetActorID); dispatch_event_actor(target, EVENT_SCARE_AWAY); diff --git a/src/battle/move/item/pow_block.c b/src/battle/move/item/pow_block.c index 3008b09b9d..0c39a92c36 100644 --- a/src/battle/move/item/pow_block.c +++ b/src/battle/move/item/pow_block.c @@ -76,7 +76,7 @@ EvtScript N(EVS_UseItem) = { EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, -30, 65, 20, 0, 0, 0) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, -40, 60, 20, 0, 0, 0) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, -40, 55, 20, 0, 0, 0) - EVT_CALL(StartRumble, 4) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(3.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(6.0)) @@ -116,7 +116,7 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_POW | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar3, BS_FLAGS1_SP_EVT_ACTIVE) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, -70, 60, 20, 0, 0, 0) diff --git a/src/battle/move/item/shooting_star.c b/src/battle/move/item/shooting_star.c index f874f9d50f..eb0171d109 100644 --- a/src/battle/move/item/shooting_star.c +++ b/src/battle/move/item/shooting_star.c @@ -111,7 +111,7 @@ EvtScript N(EVS_UseItem) = { EVT_THREAD EVT_LOOP(5) EVT_WAIT(15) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_END_LOOP EVT_END_THREAD @@ -132,7 +132,7 @@ EvtScript N(EVS_UseItem) = { EVT_LABEL(1) EVT_WAIT(10) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(20) diff --git a/src/battle/move/item/sleepy_sheep.c b/src/battle/move/item/sleepy_sheep.c index 2e0118b991..db0f900b7e 100644 --- a/src/battle/move/item/sleepy_sheep.c +++ b/src/battle/move/item/sleepy_sheep.c @@ -297,7 +297,7 @@ EvtScript N(EVS_UseItem) = { EVT_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_0364) EVT_LOOP(7) - EVT_CALL(StartRumble, 2) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_MIN) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) @@ -427,7 +427,7 @@ EvtScript N(EVS_UseItem) = { EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(30) diff --git a/src/battle/move/item/snowman_doll.c b/src/battle/move/item/snowman_doll.c index 48fb1d54eb..b26c5f70a2 100644 --- a/src/battle/move/item/snowman_doll.c +++ b/src/battle/move/item/snowman_doll.c @@ -49,23 +49,23 @@ EvtScript N(EVS_UseItem) = { EVT_THREAD EVT_WAIT(17) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_SNOWMAN_DOLL_JUMP) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_WAIT(46) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_SNOWMAN_DOLL_JUMP) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_WAIT(25) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_SNOWMAN_DOLL_JUMP) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_WAIT(25) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_SNOWMAN_DOLL_JUMP) - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_END_THREAD EVT_WAIT(15) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(2.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) @@ -84,7 +84,7 @@ EvtScript N(EVS_UseItem) = { EVT_WAIT(5) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) diff --git a/src/battle/move/item/stop_watch.c b/src/battle/move/item/stop_watch.c index af9d330737..a499ff825c 100644 --- a/src/battle/move/item/stop_watch.c +++ b/src/battle/move/item/stop_watch.c @@ -28,20 +28,20 @@ EvtScript N(EVS_UseItem) = { EVT_CALL(MoveBattleCamOver, 20) EVT_CALL(InitTargetIterator) EVT_LABEL(0) - EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(ItemCheckHit, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, LVar0, 0) - EVT_IF_EQ(LVar0, HIT_RESULT_MISS) - EVT_GOTO(1) - EVT_END_IF - EVT_CALL(GetItemPower, ITEM_STOP_WATCH, LVar0, LVar1) - EVT_CALL(MakeStatusField, LVar0, STATUS_FLAG_STOP, 100, LVar0) - EVT_CALL(ItemAfflictEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_STATUS_ALWAYS_HITS, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) - EVT_LABEL(1) - EVT_WAIT(5) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(0) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_SELF) + EVT_CALL(ItemCheckHit, LVar0, DAMAGE_TYPE_NO_CONTACT, 0, LVar0, 0) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetItemPower, ITEM_STOP_WATCH, LVar0, LVar1) + EVT_CALL(MakeStatusField, LVar0, STATUS_FLAG_STOP, 100, LVar0) + EVT_CALL(ItemAfflictEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_STATUS_ALWAYS_HITS, LVar0, 0, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_LABEL(1) + EVT_WAIT(5) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) + EVT_IF_NE(LVar0, ITER_NO_MORE) + EVT_GOTO(0) + EVT_END_IF EVT_CALL(N(FadeBackgroundLighten)) EVT_EXEC_WAIT(N(PlayerGoHome)) EVT_RETURN diff --git a/src/battle/move/item/thunder_bolt.c b/src/battle/move/item/thunder_bolt.c index cee5915e5f..0a989d302a 100644 --- a/src/battle/move/item/thunder_bolt.c +++ b/src/battle/move/item/thunder_bolt.c @@ -60,7 +60,7 @@ EvtScript N(EVS_UseItem) = { EVT_END_IF EVT_CALL(N(SpawnLightningFX)) EVT_WAIT(5) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_CALL(GetItemPower, ITEM_THUNDER_RAGE, LVar0, LVar1) EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, LVar0, BS_FLAGS1_SP_EVT_ACTIVE) diff --git a/src/battle/move/item/thunder_rage.c b/src/battle/move/item/thunder_rage.c index e21e61e307..87f0c97d69 100644 --- a/src/battle/move/item/thunder_rage.c +++ b/src/battle/move/item/thunder_rage.c @@ -61,7 +61,7 @@ EvtScript N(EVS_UseItem) = { EVT_END_IF EVT_CALL(N(SpawnLightningFX)) EVT_WAIT(5) - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(GetItemPower, ITEM_THUNDER_RAGE, LVar0, LVar1) @@ -69,7 +69,7 @@ EvtScript N(EVS_UseItem) = { EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) diff --git a/src/battle/move/jump/attack.c b/src/battle/move/jump/attack.c index e730f82670..1ca4417e25 100644 --- a/src/battle/move/jump/attack.c +++ b/src/battle/move/jump/attack.c @@ -28,13 +28,13 @@ API_CALLABLE(N(GetJumpDamage)) { extern EvtScript N(EVS_UseMove0_ImplA); extern EvtScript N(EVS_UseMove0_ImplB); extern EvtScript N(EVS_UseMove0_ImplC); -extern EvtScript N(EVS_802A4018); +extern EvtScript N(EVS_UseMove_Tutorial); EvtScript N(EVS_UseMove0) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(GetBattleFlags2, LVar0) - EVT_IF_FLAG(LVar0, BS_FLAGS2_200) - EVT_EXEC_WAIT(N(EVS_802A4018)) + EVT_IF_FLAG(LVar0, BS_FLAGS2_DOING_JUMP_TUTORIAL) + EVT_EXEC_WAIT(N(EVS_UseMove_Tutorial)) EVT_RETURN EVT_END_IF EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -72,7 +72,7 @@ EvtScript N(EVS_UseMove0_ImplA) = { EVT_IF_GT(LVar0, 0) EVT_WAIT(1) EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -123,7 +123,7 @@ EvtScript N(EVS_UseMove0_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -178,7 +178,7 @@ EvtScript N(EVS_UseMove0_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) @@ -342,7 +342,7 @@ EvtScript N(EVS_UseMove2_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -393,7 +393,7 @@ EvtScript N(EVS_UseMove2_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -450,7 +450,7 @@ EvtScript N(EVS_UseMove2_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) @@ -495,7 +495,7 @@ EvtScript N(EVS_UseMove2_ImplC) = { EVT_END }; -EvtScript N(EVS_802A4018) = { +EvtScript N(EVS_UseMove_Tutorial) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(EVS_JumpSupport_A)) @@ -526,7 +526,7 @@ EvtScript N(EVS_802A4018) = { EVT_IF_GT(LVar0, 0) EVT_WAIT(1) EVT_END_IF - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) diff --git a/src/battle/move/jump/auto_jump.c b/src/battle/move/jump/auto_jump.c index 705cce302f..4d8c79740e 100644 --- a/src/battle/move/jump/auto_jump.c +++ b/src/battle/move/jump/auto_jump.c @@ -47,7 +47,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -98,7 +98,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -153,7 +153,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) diff --git a/src/battle/move/jump/auto_multibounce.c b/src/battle/move/jump/auto_multibounce.c index f45e0a8369..97e858632b 100644 --- a/src/battle/move/jump/auto_multibounce.c +++ b/src/battle/move/jump/auto_multibounce.c @@ -40,7 +40,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -107,7 +107,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -139,7 +139,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_JUMP_COMBO_4) EVT_END_SWITCH EVT_CALL(SetActionResult, LVarE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(FALSE) EVT_CASE_OR_EQ(2) @@ -182,7 +182,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -254,7 +254,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -286,7 +286,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_JUMP_COMBO_4) EVT_END_SWITCH EVT_CALL(SetActionResult, LVarE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(FALSE) EVT_CASE_OR_EQ(2) @@ -329,7 +329,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -394,7 +394,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -426,7 +426,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_JUMP_COMBO_4) EVT_END_SWITCH EVT_CALL(SetActionResult, LVarE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(FALSE) EVT_CASE_OR_EQ(2) diff --git a/src/battle/move/jump/d_down_jump.c b/src/battle/move/jump/d_down_jump.c index 0c808823a6..0c575b399d 100644 --- a/src/battle/move/jump/d_down_jump.c +++ b/src/battle/move/jump/d_down_jump.c @@ -50,12 +50,12 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_Miss)) EVT_RETURN EVT_END_IF - EVT_CALL(DidActionSucceed, LVarA) + EVT_CALL(GetPlayerActionSuccess, LVarA) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(N(func_802A10E4_781A04), LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_D_DOWN_HIT_1) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -113,7 +113,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CALL(N(func_802A10E4_781A04), LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_D_DOWN_HIT_2) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -174,7 +174,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CALL(N(func_802A10E4_781A04), LVar0, LVar1, LVar2) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_D_DOWN_HIT_3) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) diff --git a/src/battle/move/jump/demo_power_bounce.c b/src/battle/move/jump/demo_power_bounce.c index a78785925b..5094362ae9 100644 --- a/src/battle/move/jump/demo_power_bounce.c +++ b/src/battle/move/jump/demo_power_bounce.c @@ -77,7 +77,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -149,7 +149,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -213,7 +213,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -285,7 +285,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -349,7 +349,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) @@ -417,7 +417,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) diff --git a/src/battle/move/jump/dizzy_stomp.c b/src/battle/move/jump/dizzy_stomp.c index 50c4890b0d..668a196d0e 100644 --- a/src/battle/move/jump/dizzy_stomp.c +++ b/src/battle/move/jump/dizzy_stomp.c @@ -34,7 +34,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -85,7 +85,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -140,7 +140,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) diff --git a/src/battle/move/jump/earthquake_jump.c b/src/battle/move/jump/earthquake_jump.c index 294c5d0677..f81b815603 100644 --- a/src/battle/move/jump/earthquake_jump.c +++ b/src/battle/move/jump/earthquake_jump.c @@ -89,7 +89,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_END_CHILD_THREAD EVT_WAIT(10) EVT_CALL(InitTargetIterator) - EVT_CALL(DidActionSucceed, LVarB) + EVT_CALL(GetPlayerActionSuccess, LVarB) EVT_SET(LVar9, 0) EVT_LABEL(1) EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) @@ -192,7 +192,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_CALL(InitTargetIterator) - EVT_CALL(DidActionSucceed, LVarB) + EVT_CALL(GetPlayerActionSuccess, LVarB) EVT_SET(LVar9, 0) EVT_LABEL(11) EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) @@ -309,7 +309,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_END_CHILD_THREAD EVT_WAIT(10) EVT_CALL(InitTargetIterator) - EVT_CALL(DidActionSucceed, LVarB) + EVT_CALL(GetPlayerActionSuccess, LVarB) EVT_SET(LVar9, 0) EVT_LABEL(1) EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) @@ -418,7 +418,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_CALL(InitTargetIterator) - EVT_CALL(DidActionSucceed, LVarB) + EVT_CALL(GetPlayerActionSuccess, LVarB) EVT_SET(LVar9, 0) EVT_LABEL(11) EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) @@ -535,7 +535,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_END_CHILD_THREAD EVT_WAIT(10) EVT_CALL(InitTargetIterator) - EVT_CALL(DidActionSucceed, LVarB) + EVT_CALL(GetPlayerActionSuccess, LVarB) EVT_SET(LVar9, 0) EVT_LABEL(1) EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) @@ -640,7 +640,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_CALL(InitTargetIterator) - EVT_CALL(DidActionSucceed, LVarB) + EVT_CALL(GetPlayerActionSuccess, LVarB) EVT_SET(LVar9, 0) EVT_LABEL(11) EVT_CALL(SetGoalToTarget, ACTOR_PLAYER) diff --git a/src/battle/move/jump/mega_jump.c b/src/battle/move/jump/mega_jump.c index a76310711b..3827c5baa0 100644 --- a/src/battle/move/jump/mega_jump.c +++ b/src/battle/move/jump/mega_jump.c @@ -6,9 +6,9 @@ #include "battle/common/move/JumpSupport.inc.c" -extern EvtScript N(EVS_UseMove_ImplA); -extern EvtScript N(EVS_UseMove_ImplB); -extern EvtScript N(EVS_UseMove_ImplC); +extern EvtScript N(EVS_UseMove_Basic); +extern EvtScript N(EVS_UseMove_Super); +extern EvtScript N(EVS_UseMove_Ultra); EvtScript N(EVS_UseMove) = { EVT_CALL(EnablePlayerBlur, ACTOR_BLUR_ENABLE) @@ -16,19 +16,19 @@ EvtScript N(EVS_UseMove) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplA)) + EVT_EXEC_WAIT(N(EVS_UseMove_Basic)) EVT_CASE_EQ(1) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplB)) + EVT_EXEC_WAIT(N(EVS_UseMove_Super)) EVT_CASE_EQ(2) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplC)) + EVT_EXEC_WAIT(N(EVS_UseMove_Ultra)) EVT_END_SWITCH EVT_CALL(EnablePlayerBlur, ACTOR_BLUR_DISABLE) EVT_RETURN EVT_END }; -EvtScript N(EVS_802A26B4) = { - EVT_CALL(StartRumble, 11) +EvtScript N(EVS_PlayQuakeFX) = { + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_MAX) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(3.0)) @@ -45,16 +45,16 @@ EvtScript N(EVS_802A26B4) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplA) = { +EvtScript N(EVS_UseMove_Basic) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_EXEC_WAIT(N(EVS_JumpSupport_Miss)) EVT_RETURN EVT_END_IF - EVT_EXEC_WAIT(N(EVS_802A26B4)) + EVT_EXEC_WAIT(N(EVS_PlayQuakeFX)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -73,16 +73,16 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplB) = { +EvtScript N(EVS_UseMove_Super) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_EXEC_WAIT(N(EVS_JumpSupport_Miss)) EVT_RETURN EVT_END_IF - EVT_EXEC_WAIT(N(EVS_802A26B4)) + EVT_EXEC_WAIT(N(EVS_PlayQuakeFX)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -101,16 +101,16 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplC) = { +EvtScript N(EVS_UseMove_Ultra) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_EXEC_WAIT(N(EVS_JumpSupport_Miss)) EVT_RETURN EVT_END_IF - EVT_EXEC_WAIT(N(EVS_802A26B4)) + EVT_EXEC_WAIT(N(EVS_PlayQuakeFX)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) diff --git a/src/battle/move/jump/multibounce.c b/src/battle/move/jump/multibounce.c index b468eb8150..27cb8e9306 100644 --- a/src/battle/move/jump/multibounce.c +++ b/src/battle/move/jump/multibounce.c @@ -11,9 +11,9 @@ s32 N(DifficultyTable)[] = { 7, 6, 5, 4, 3, 2, 1, 0 }; -extern EvtScript N(EVS_UseMove_ImplA); -extern EvtScript N(EVS_UseMove_ImplB); -extern EvtScript N(EVS_UseMove_ImplC); +extern EvtScript N(EVS_UseMove_Basic); +extern EvtScript N(EVS_UseMove_Super); +extern EvtScript N(EVS_UseMove_Ultra); EvtScript N(EVS_UseMove) = { EVT_CALL(ShowActionHud, TRUE) @@ -21,17 +21,17 @@ EvtScript N(EVS_UseMove) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplA)) + EVT_EXEC_WAIT(N(EVS_UseMove_Basic)) EVT_CASE_EQ(1) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplB)) + EVT_EXEC_WAIT(N(EVS_UseMove_Super)) EVT_CASE_EQ(2) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplC)) + EVT_EXEC_WAIT(N(EVS_UseMove_Ultra)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(EVS_UseMove_ImplA) = { +EvtScript N(EVS_UseMove_Basic) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_CALL(SetActionDifficultyTable, EVT_PTR(N(DifficultyTable))) @@ -53,7 +53,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -120,7 +120,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -152,7 +152,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_JUMP_COMBO_4) EVT_END_SWITCH EVT_CALL(SetActionResult, LVarE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(FALSE) EVT_CASE_OR_EQ(2) @@ -182,7 +182,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplB) = { +EvtScript N(EVS_UseMove_Super) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_CALL(SetActionDifficultyTable, EVT_PTR(N(DifficultyTable))) @@ -204,7 +204,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -276,7 +276,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -308,7 +308,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_JUMP_COMBO_4) EVT_END_SWITCH EVT_CALL(SetActionResult, LVarE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(FALSE) EVT_CASE_OR_EQ(2) @@ -338,7 +338,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplC) = { +EvtScript N(EVS_UseMove_Ultra) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_CALL(SetActionDifficultyTable, EVT_PTR(N(DifficultyTable))) @@ -360,7 +360,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -425,7 +425,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -457,7 +457,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_JUMP_COMBO_4) EVT_END_SWITCH EVT_CALL(SetActionResult, LVarE) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_OR_EQ(FALSE) EVT_CASE_OR_EQ(2) diff --git a/src/battle/move/jump/power_bounce.c b/src/battle/move/jump/power_bounce.c index 26180e5530..fdb01afe8d 100644 --- a/src/battle/move/jump/power_bounce.c +++ b/src/battle/move/jump/power_bounce.c @@ -96,7 +96,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -169,7 +169,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -238,7 +238,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -311,7 +311,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) @@ -380,7 +380,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) @@ -449,7 +449,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_SET(LFlag0, TRUE) EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_IF_EQ(LFlag0, FALSE) diff --git a/src/battle/move/jump/power_jump.c b/src/battle/move/jump/power_jump.c index 7d99d12998..6fc5c5ec06 100644 --- a/src/battle/move/jump/power_jump.c +++ b/src/battle/move/jump/power_jump.c @@ -28,7 +28,7 @@ EvtScript N(EVS_UseMove) = { }; EvtScript N(EVS_802A26B4) = { - EVT_CALL(StartRumble, 9) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_HEAVY) EVT_CHILD_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.5)) @@ -48,7 +48,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_END_IF EVT_EXEC_WAIT(N(EVS_802A26B4)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -76,7 +76,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_END_IF EVT_EXEC_WAIT(N(EVS_802A26B4)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -104,7 +104,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_END_IF EVT_EXEC_WAIT(N(EVS_802A26B4)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) diff --git a/src/battle/move/jump/shrink_stomp.c b/src/battle/move/jump/shrink_stomp.c index 5f918fce02..5a1eb621b2 100644 --- a/src/battle/move/jump/shrink_stomp.c +++ b/src/battle/move/jump/shrink_stomp.c @@ -7,26 +7,26 @@ #include "battle/common/move/JumpSupport.inc.c" -extern EvtScript N(EVS_UseMove_ImplA); -extern EvtScript N(EVS_UseMove_ImplB); -extern EvtScript N(EVS_UseMove_ImplC); +extern EvtScript N(EVS_UseMove_Basic); +extern EvtScript N(EVS_UseMove_Super); +extern EvtScript N(EVS_UseMove_Ultra); EvtScript N(EVS_UseMove) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplA)) + EVT_EXEC_WAIT(N(EVS_UseMove_Basic)) EVT_CASE_EQ(1) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplB)) + EVT_EXEC_WAIT(N(EVS_UseMove_Super)) EVT_CASE_EQ(2) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplC)) + EVT_EXEC_WAIT(N(EVS_UseMove_Ultra)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(EVS_UseMove_ImplA) = { +EvtScript N(EVS_UseMove_Basic) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -34,7 +34,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -77,7 +77,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplB) = { +EvtScript N(EVS_UseMove_Super) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -85,7 +85,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_ACTOR_JUMPED_2) @@ -132,7 +132,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplC) = { +EvtScript N(EVS_UseMove_Ultra) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -140,7 +140,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(PlaySoundAtActor, ACTOR_PLAYER, SOUND_ACTOR_JUMPED_3) diff --git a/src/battle/move/jump/sleep_stomp.c b/src/battle/move/jump/sleep_stomp.c index 9654a276f0..a313b527ab 100644 --- a/src/battle/move/jump/sleep_stomp.c +++ b/src/battle/move/jump/sleep_stomp.c @@ -7,26 +7,26 @@ #include "battle/common/move/JumpSupport.inc.c" -extern EvtScript N(EVS_UseMove_ImplA); -extern EvtScript N(EVS_UseMove_ImplB); -extern EvtScript N(EVS_UseMove_ImplC); +extern EvtScript N(EVS_UseMove_Basic); +extern EvtScript N(EVS_UseMove_Super); +extern EvtScript N(EVS_UseMove_Ultra); EvtScript N(EVS_UseMove) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar1) EVT_CASE_EQ(0) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplA)) + EVT_EXEC_WAIT(N(EVS_UseMove_Basic)) EVT_CASE_EQ(1) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplB)) + EVT_EXEC_WAIT(N(EVS_UseMove_Super)) EVT_CASE_EQ(2) - EVT_EXEC_WAIT(N(EVS_UseMove_ImplC)) + EVT_EXEC_WAIT(N(EVS_UseMove_Ultra)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(EVS_UseMove_ImplA) = { +EvtScript N(EVS_UseMove_Basic) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -34,7 +34,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -77,7 +77,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplB) = { +EvtScript N(EVS_UseMove_Super) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -85,7 +85,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -132,7 +132,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_END }; -EvtScript N(EVS_UseMove_ImplC) = { +EvtScript N(EVS_UseMove_Ultra) = { EVT_EXEC_WAIT(N(EVS_JumpSupport_K)) EVT_CALL(PlayerTestEnemy, LVar0, DAMAGE_TYPE_JUMP, 0, 0, 1, 0) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) @@ -140,7 +140,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) diff --git a/src/battle/move/jump/super_jump.c b/src/battle/move/jump/super_jump.c index ebc3e94788..8d005ef7a6 100644 --- a/src/battle/move/jump/super_jump.c +++ b/src/battle/move/jump/super_jump.c @@ -28,7 +28,7 @@ EvtScript N(EVS_UseMove) = { }; EvtScript N(EVS_802A26B4) = { - EVT_CALL(StartRumble, 10) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_EXTREME) EVT_THREAD EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(4.0)) @@ -50,7 +50,7 @@ EvtScript N(EVS_UseMove_ImplA) = { EVT_END_IF EVT_EXEC_WAIT(N(EVS_802A26B4)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_1, SOUND_NONE) @@ -78,7 +78,7 @@ EvtScript N(EVS_UseMove_ImplB) = { EVT_END_IF EVT_EXEC_WAIT(N(EVS_802A26B4)) EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_2, SOUND_NONE) @@ -105,7 +105,7 @@ EvtScript N(EVS_UseMove_ImplC) = { EVT_RETURN EVT_END_IF EVT_WAIT(1) - EVT_CALL(DidActionSucceed, LVar0) + EVT_CALL(GetPlayerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(FALSE) EVT_CALL(SetActorSounds, ACTOR_PLAYER, ACTOR_SOUND_HURT, SOUND_ACTOR_JUMPED_3, SOUND_NONE) diff --git a/src/battle/move/star_power/chill_out.c b/src/battle/move/star_power/chill_out.c index 6f4650d46f..9121359f24 100644 --- a/src/battle/move/star_power/chill_out.c +++ b/src/battle/move/star_power/chill_out.c @@ -50,7 +50,7 @@ API_CALLABLE(N(CanChillOutHit)) { return ApiStatus_DONE2; } - if (target->flags & ACTOR_FLAG_2000) { + if (target->flags & ACTOR_FLAG_DAMAGE_IMMUNE) { return ApiStatus_DONE2; } @@ -80,15 +80,15 @@ API_CALLABLE(N(InflictChillOutHit)) { return ApiStatus_DONE2; } - if (target->flags & ACTOR_FLAG_2000) { + if (target->flags & ACTOR_FLAG_DAMAGE_IMMUNE) { return ApiStatus_DONE2; } - if (targetPart->eventFlags & ACTOR_PART_FLAG_40000) { + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_ENCHANTED) { return ApiStatus_DONE2; } - if (targetPart->eventFlags & ACTOR_PART_FLAG_80000) { + if (targetPart->eventFlags & ACTOR_EVENT_FLAG_STAR_ROD_ENCHANTED) { return ApiStatus_DONE2; } @@ -160,7 +160,7 @@ EvtScript N(EVS_UsePower) = { EVT_END_IF EVT_LABEL(11) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_LOOP(30) @@ -183,7 +183,7 @@ EvtScript N(EVS_UsePower) = { EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(5) diff --git a/src/battle/move/star_power/lullaby.c b/src/battle/move/star_power/lullaby.c index 6df4abad64..2dc569911b 100644 --- a/src/battle/move/star_power/lullaby.c +++ b/src/battle/move/star_power/lullaby.c @@ -56,7 +56,7 @@ EvtScript N(EVS_UsePower) = { EVT_LABEL(1) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(5) diff --git a/src/battle/move/star_power/peach_beam.c b/src/battle/move/star_power/peach_beam.c index c682b16c1a..ae4bb923d8 100644 --- a/src/battle/move/star_power/peach_beam.c +++ b/src/battle/move/star_power/peach_beam.c @@ -29,7 +29,7 @@ EvtScript N(EVS_UsePower) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_PEACH_BEAM | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_LOOP(0) diff --git a/src/battle/move/star_power/star_beam.c b/src/battle/move/star_power/star_beam.c index 45fa9e8625..c9a60b9d4a 100644 --- a/src/battle/move/star_power/star_beam.c +++ b/src/battle/move/star_power/star_beam.c @@ -29,7 +29,7 @@ EvtScript N(EVS_UsePower) = { EVT_CALL(SetGoalToTarget, ACTOR_SELF) EVT_CALL(ItemDamageEnemy, LVar0, DAMAGE_TYPE_REMOVE_BUFFS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, 0, BS_FLAGS1_SP_EVT_ACTIVE) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_LOOP(0) diff --git a/src/battle/move/star_power/star_storm.c b/src/battle/move/star_power/star_storm.c index c9e45065ad..ca078c3356 100644 --- a/src/battle/move/star_power/star_storm.c +++ b/src/battle/move/star_power/star_storm.c @@ -67,7 +67,7 @@ EvtScript N(EVS_UsePower) = { EVT_LOOP(10) EVT_WAIT(7) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(1.0)) - EVT_CALL(StartRumble, 8) + EVT_CALL(StartRumble, BTL_RUMBLE_PLAYER_LIGHT) EVT_END_LOOP EVT_END_THREAD EVT_WAIT(90) @@ -84,7 +84,7 @@ EvtScript N(EVS_UsePower) = { EVT_LABEL(1) EVT_WAIT(10) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(20) diff --git a/src/battle/move/star_power/time_out.c b/src/battle/move/star_power/time_out.c index a290510077..2edad910c1 100644 --- a/src/battle/move/star_power/time_out.c +++ b/src/battle/move/star_power/time_out.c @@ -29,7 +29,7 @@ EvtScript N(EVS_UsePower) = { EVT_WAIT(5) EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(5) diff --git a/src/battle/move/star_power/up_and_away.c b/src/battle/move/star_power/up_and_away.c index 73e392e182..244c6962e9 100644 --- a/src/battle/move/star_power/up_and_away.c +++ b/src/battle/move/star_power/up_and_away.c @@ -60,7 +60,7 @@ API_CALLABLE(N(ShouldTargetBeCaptured)) { return ApiStatus_DONE2; } - if (targetActor->flags & ACTOR_FLAG_2000) { + if (targetActor->flags & ACTOR_FLAG_DAMAGE_IMMUNE) { return ApiStatus_DONE2; } @@ -168,7 +168,7 @@ EvtScript N(EVS_UsePower) = { EVT_END_SWITCH EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF EVT_WAIT(70) diff --git a/src/battle/partner/bombette.c b/src/battle/partner/bombette.c index 8d2345406f..ec829deb7f 100644 --- a/src/battle/partner/bombette.c +++ b/src/battle/partner/bombette.c @@ -13,27 +13,23 @@ extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandleEvent); extern EvtScript N(EVS_HandlePhase); -extern EvtScript N(celebrate); -extern EvtScript N(executeAction); -extern EvtScript N(firstStrikeBodySlam); -extern EvtScript N(firstStrike); -extern EvtScript N(runAway); -extern EvtScript N(runAwayFail); -extern EvtScript N(bodySlam); -extern EvtScript N(bomb); +extern EvtScript N(EVS_Celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Attack_FirstStrike); +extern EvtScript N(EVS_FirstStrike); +extern EvtScript N(EVS_RunAway); +extern EvtScript N(EVS_RunAwayFail); +extern EvtScript N(EVS_Attack_BodySlam); +extern EvtScript N(EVS_Attack_Bomb); enum N(ActorPartIDs) { - PRT_MAIN = 1, + PRT_MAIN = 1, }; enum N(ActorVars) { AVAR_Unk_0 = 0, }; -enum N(ActorParams) { - DMG_UNK = 0, -}; - enum { LF_MashEnded = LFlag0, LF_MashStarted = LFlag2, @@ -127,7 +123,7 @@ API_CALLABLE(N(GetBombDamage)) { s32 damage = 0; switch (partnerActor->actorBlueprint->level) { - case 0: + case PARTNER_RANK_NORMAL: if (mashResult <= 35) { damage = 1; } else if (mashResult <= 60) { @@ -140,7 +136,7 @@ API_CALLABLE(N(GetBombDamage)) { damage = 5; } break; - case 1: + case PARTNER_RANK_SUPER: if (mashResult <= 35) { damage = 1; } else if (mashResult <= 60) { @@ -153,7 +149,7 @@ API_CALLABLE(N(GetBombDamage)) { damage = 6; } break; - case 2: + case PARTNER_RANK_ULTRA: if (mashResult <= 35) { damage = 1; } else if (mashResult <= 60) { @@ -168,11 +164,10 @@ API_CALLABLE(N(GetBombDamage)) { break; } - - if (!(mashResult < 100)) { - script->varTable[0] = 1; + if (mashResult > 99) { + script->varTable[0] = TRUE; } else { - script->varTable[0] = 0; + script->varTable[0] = FALSE; } script->varTable[15] = damage; @@ -188,7 +183,7 @@ API_CALLABLE(N(GetPowerBombDamage)) { s32 damage = 0; switch (partnerActor->actorBlueprint->level) { - case 1: + case PARTNER_RANK_SUPER: if (mashResult <= 35) { damage = 1; } else if (mashResult <= 60) { @@ -201,7 +196,7 @@ API_CALLABLE(N(GetPowerBombDamage)) { damage = 6; } break; - case 2: + case PARTNER_RANK_ULTRA: if (mashResult <= 35) { damage = 1; } else if (mashResult <= 60) { @@ -213,13 +208,13 @@ API_CALLABLE(N(GetPowerBombDamage)) { } else { damage = 7; } + break; } - - if (!(mashResult < 100)) { - script->varTable[0] = 1; + if (mashResult > 99) { + script->varTable[0] = TRUE; } else { - script->varTable[0] = 0; + script->varTable[0] = FALSE; } script->varTable[15] = damage; @@ -235,7 +230,7 @@ API_CALLABLE(N(GetMegaBombDamage)) { s32 damage = 0; switch (partnerActor->actorBlueprint->level) { - case 2: + case PARTNER_RANK_ULTRA: if (mashResult <= 35) { damage = 1; } else if (mashResult <= 60) { @@ -250,8 +245,7 @@ API_CALLABLE(N(GetMegaBombDamage)) { break; } - - if (!(mashResult < 100)) { + if (mashResult > 99) { script->varTable[0] = TRUE; } else { script->varTable[0] = FALSE; @@ -604,21 +598,21 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_FIRST_STRIKE) - EVT_EXEC_WAIT(N(firstStrike)) + EVT_EXEC_WAIT(N(EVS_FirstStrike)) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) - EVT_EXEC_WAIT(N(runAway)) + EVT_EXEC_WAIT(N(EVS_RunAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) - EVT_EXEC_WAIT(N(runAwayFail)) + EVT_EXEC_WAIT(N(EVS_RunAwayFail)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BattleBombette_CelebrateLoop) EVT_SET_CONST(LVar2, ANIM_BattleBombette_Celebrate) @@ -628,7 +622,7 @@ EvtScript N(celebrate) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -641,37 +635,37 @@ EvtScript N(executeAction) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BODY_SLAM1) - EVT_EXEC_WAIT(N(bodySlam)) + EVT_EXEC_WAIT(N(EVS_Attack_BodySlam)) EVT_CASE_EQ(MOVE_BODY_SLAM2) - EVT_EXEC_WAIT(N(bodySlam)) + EVT_EXEC_WAIT(N(EVS_Attack_BodySlam)) EVT_CASE_EQ(MOVE_BODY_SLAM3) - EVT_EXEC_WAIT(N(bodySlam)) + EVT_EXEC_WAIT(N(EVS_Attack_BodySlam)) EVT_CASE_EQ(MOVE_BOMB) - EVT_EXEC_WAIT(N(bomb)) + EVT_EXEC_WAIT(N(EVS_Attack_Bomb)) EVT_CASE_EQ(MOVE_POWER_BOMB) - EVT_EXEC_WAIT(N(bomb)) + EVT_EXEC_WAIT(N(EVS_Attack_Bomb)) EVT_CASE_EQ(MOVE_MEGA_BOMB) - EVT_EXEC_WAIT(N(bomb)) + EVT_EXEC_WAIT(N(EVS_Attack_Bomb)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(firstStrike) = { +EvtScript N(EVS_FirstStrike) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BODY_SLAM1) - EVT_EXEC_WAIT(N(firstStrikeBodySlam)) + EVT_EXEC_WAIT(N(EVS_Attack_FirstStrike)) EVT_CASE_EQ(MOVE_BODY_SLAM2) - EVT_EXEC_WAIT(N(firstStrikeBodySlam)) + EVT_EXEC_WAIT(N(EVS_Attack_FirstStrike)) EVT_CASE_EQ(MOVE_BODY_SLAM3) - EVT_EXEC_WAIT(N(firstStrikeBodySlam)) + EVT_EXEC_WAIT(N(EVS_Attack_FirstStrike)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(runAway) = { +EvtScript N(EVS_RunAway) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BattleBombette_Run) EVT_EXEC_WAIT(EVS_Partner_RunAway) @@ -679,7 +673,7 @@ EvtScript N(runAway) = { EVT_END }; -EvtScript N(runAwayFail) = { +EvtScript N(EVS_RunAwayFail) = { EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE) EVT_CALL(SetGoalToHome, ACTOR_PARTNER) EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(6.0)) @@ -810,7 +804,7 @@ EvtScript N(animHold) = { EVT_END }; -EvtScript N(bodySlam) = { +EvtScript N(EVS_Attack_BodySlam) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_BODY_SLAM) EVT_CALL(action_command_body_slam_init) EVT_CALL(SetupMashMeter, 1, 100, 0, 0, 0, 0) @@ -939,7 +933,7 @@ EvtScript N(bodySlam) = { EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, 0, 0, 0) EVT_WAIT(2) EVT_CALL(CloseActionCommandInfo) - EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_2020) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) @@ -988,7 +982,7 @@ EvtScript N(bodySlam) = { EVT_SET(LVarF, 5) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_2020) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_IF_GT(LVar0, 0) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(AddGoalPos, ACTOR_PARTNER, -10, 0, 0) @@ -1023,7 +1017,7 @@ EvtScript N(bodySlam) = { EVT_END }; -EvtScript N(bomb) = { +EvtScript N(EVS_Attack_Bomb) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_BOMB) EVT_CALL(action_command_bomb_init) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -1135,7 +1129,7 @@ EvtScript N(bomb) = { EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_BOMB) EVT_IF_GT(LVarA, 0) - EVT_CALL(StartRumble, 4) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.75)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(4.5)) @@ -1147,7 +1141,7 @@ EvtScript N(bomb) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 6, EVT_FLOAT(0.45)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 8, EVT_FLOAT(0.15)) EVT_ELSE - EVT_CALL(StartRumble, 4) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.4)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(2.4)) @@ -1161,7 +1155,7 @@ EvtScript N(bomb) = { EVT_END_IF EVT_CASE_EQ(MOVE_POWER_BOMB) EVT_IF_GT(LVarA, 0) - EVT_CALL(StartRumble, 5) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_EXTREME) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.75)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(4.5)) @@ -1173,7 +1167,7 @@ EvtScript N(bomb) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 6, EVT_FLOAT(0.45)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 8, EVT_FLOAT(0.15)) EVT_ELSE - EVT_CALL(StartRumble, 5) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_EXTREME) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.4)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.6)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(2.4)) @@ -1187,7 +1181,7 @@ EvtScript N(bomb) = { EVT_END_IF EVT_CASE_EQ(MOVE_MEGA_BOMB) EVT_IF_GT(LVarA, 0) - EVT_CALL(StartRumble, 6) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_MAX) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(1.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(4.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(6.0)) @@ -1199,7 +1193,7 @@ EvtScript N(bomb) = { EVT_CALL(ShakeCam, CAM_BATTLE, 0, 6, EVT_FLOAT(0.6)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 8, EVT_FLOAT(0.2)) EVT_ELSE - EVT_CALL(StartRumble, 6) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_MAX) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 1, EVT_FLOAT(0.5)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(2.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) @@ -1258,48 +1252,48 @@ EvtScript N(bomb) = { EVT_CASE_EQ(MOVE_POWER_BOMB) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_BOMBETTE_BLAST_LV1) EVT_LABEL(5) - EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) - EVT_IF_EQ(LVar0, 6) - EVT_GOTO(6) - EVT_END_IF - EVT_CALL(GetActionSuccessCopy, LVar0) - EVT_CALL(N(GetPowerBombDamage), LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_SET(LF_MashEnded, 1) - EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_END_SWITCH - EVT_LABEL(6) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(5) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) + EVT_IF_EQ(LVar0, 6) + EVT_GOTO(6) + EVT_END_IF + EVT_CALL(GetActionSuccessCopy, LVar0) + EVT_CALL(N(GetPowerBombDamage), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(0) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_SET(LF_MashEnded, 1) + EVT_CASE_DEFAULT + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_END_SWITCH + EVT_LABEL(6) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) + EVT_IF_NE(LVar0, ITER_NO_MORE) + EVT_GOTO(5) + EVT_END_IF EVT_CASE_EQ(MOVE_MEGA_BOMB) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_BOMBETTE_BLAST_LV3) EVT_LABEL(10) - EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) - EVT_IF_EQ(LVar0, 6) - EVT_GOTO(11) - EVT_END_IF - EVT_CALL(GetActionSuccessCopy, LVar0) - EVT_CALL(N(GetMegaBombDamage), LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_SET(LF_MashEnded, 1) - EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_END_SWITCH - EVT_LABEL(11) - EVT_WAIT(5) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(10) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) + EVT_IF_EQ(LVar0, 6) + EVT_GOTO(11) + EVT_END_IF + EVT_CALL(GetActionSuccessCopy, LVar0) + EVT_CALL(N(GetMegaBombDamage), LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(0) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_SET(LF_MashEnded, 1) + EVT_CASE_DEFAULT + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_BLAST | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_END_SWITCH + EVT_LABEL(11) + EVT_WAIT(5) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) + EVT_IF_NE(LVar0, ITER_NO_MORE) + EVT_GOTO(10) + EVT_END_IF EVT_END_SWITCH EVT_IF_GT(LF_MashEnded, 0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) @@ -1347,7 +1341,7 @@ EvtScript N(bomb) = { EVT_END }; -EvtScript N(firstStrikeBodySlam) = { +EvtScript N(EVS_Attack_FirstStrike) = { EVT_CALL(InitTargetIterator) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(AddGoalPos, ACTOR_PARTNER, -20, 0, 0) @@ -1376,7 +1370,7 @@ EvtScript N(firstStrikeBodySlam) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_03) EVT_CALL(MoveBattleCamOver, 8) EVT_THREAD - EVT_CALL(StartRumble, 4) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_HEAVY) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 2, EVT_FLOAT(0.75)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 5, EVT_FLOAT(3.0)) EVT_CALL(ShakeCam, CAM_BATTLE, 0, 10, EVT_FLOAT(4.5)) diff --git a/src/battle/partner/bow.c b/src/battle/partner/bow.c index 4b2e190b36..1fb309379b 100644 --- a/src/battle/partner/bow.c +++ b/src/battle/partner/bow.c @@ -13,8 +13,8 @@ extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandlePhase); extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Init); -extern EvtScript N(executeAction); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); extern EvtScript N(smack); @@ -53,7 +53,7 @@ API_CALLABLE(N(ApplyOuttaSight)) { ActorPart* playerActorPartTable = gBattleStatus.playerActor->partsTable; gBattleStatus.outtaSightActive = 1; - if (!(gBattleStatus.flags2 & BS_FLAGS2_2)) { + if (!(gBattleStatus.flags2 & BS_FLAGS2_PLAYER_TURN_USED)) { gBattleStatus.outtaSightActive = -1; } @@ -313,9 +313,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -325,7 +325,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Celebrate) EVT_WAIT(36) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_Idle) @@ -367,7 +367,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar0) @@ -532,7 +532,7 @@ EvtScript N(smack) = { EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, EVT_FLOAT(-0.5), 0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(GetActionCommandResult, LVarB) + EVT_CALL(GetPartnerActionSuccess, LVarB) EVT_CALL(func_80269600, LVarD) EVT_LABEL(0) EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) @@ -628,7 +628,7 @@ EvtScript N(smack) = { EVT_WAIT(2) EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_HURT, SOUND_2019, 0) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE) @@ -653,8 +653,8 @@ EvtScript N(smack) = { }; EvtScript N(outtaSight) = { - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, TRUE) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_4000000, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_NO_INACTIVE_ANIM, TRUE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_USING_IDLE_ANIM, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_19) EVT_CALL(SetBattleCamTarget, -129, 28, 0) EVT_CALL(SetBattleCamOffsetZ, 15) @@ -714,7 +714,7 @@ EvtScript N(outtaSight) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 30) EVT_CALL(N(ApplyOuttaSight)) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_NO_INACTIVE_ANIM, FALSE) EVT_RETURN EVT_END }; @@ -943,11 +943,11 @@ EvtScript N(spook) = { EVT_LABEL(10) EVT_WAIT(5) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) @@ -1044,10 +1044,10 @@ EvtScript N(fanSmack) = { EVT_CALL(SetActorDispOffset, ACTOR_PARTNER, EVT_FLOAT(-0.5), 0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(GetActionCommandResult, LVarB) + EVT_CALL(GetPartnerActionSuccess, LVarB) EVT_CALL(func_80269600, LVarD) EVT_LABEL(0) - EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, 1, BS_FLAGS1_10) + EVT_CALL(PartnerTestEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleBow_FanSmackOnce) EVT_CALL(CloseActionCommandInfo) @@ -1107,16 +1107,16 @@ EvtScript N(fanSmack) = { EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_HURT, SOUND_201A, 0) EVT_IF_EQ(LVarE, 1) EVT_IF_GT(LVarB, 99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_10) EVT_ELSE - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarC, BS_FLAGS1_10) EVT_END_IF EVT_GOTO(1) EVT_ELSE EVT_IF_GT(LVarB, 99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarC, BS_FLAGS1_40) EVT_ELSE - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, 0) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarC, 0) EVT_END_IF EVT_GOTO(1) EVT_END_IF @@ -1168,12 +1168,12 @@ EvtScript N(fanSmack) = { EVT_WAIT(2) EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_HURT, SOUND_201A, 0) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarC, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarC, BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarC, BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_THREAD EVT_IF_EQ(LVarE, 1) diff --git a/src/battle/partner/goombario.c b/src/battle/partner/goombario.c index 9f72fb2647..06d6eeb2b0 100644 --- a/src/battle/partner/goombario.c +++ b/src/battle/partner/goombario.c @@ -14,24 +14,24 @@ static b32 N(isCharged); extern s32 N(powerBounceChance); extern EvtScript N(EVS_Init); -extern EvtScript N(celebrate); -extern EvtScript N(executeAction); -extern EvtScript N(firstStrike); -extern EvtScript N(runAway); -extern EvtScript N(runAwayFail); -extern EvtScript N(headbonk1); -extern EvtScript N(headbonk2); -extern EvtScript N(headbonk3); -extern EvtScript N(multibonk); -extern EvtScript N(tattle); -extern EvtScript N(charge); +extern EvtScript N(EVS_Celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_FirstStrike); +extern EvtScript N(EVS_RunAway); +extern EvtScript N(EVS_RunAwayFail); +extern EvtScript N(EVS_Attack_Headbonk1); +extern EvtScript N(EVS_Attack_Headbonk2); +extern EvtScript N(EVS_Attack_Headbonk3); +extern EvtScript N(EVS_Move_Multibonk); +extern EvtScript N(EVS_Move_Tattle); +extern EvtScript N(EVS_Move_Charge); extern EvtScript N(EVS_HandleEvent); extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandlePhase); extern EvtScript N(EVS_TakeTurn); enum N(ActorPartIDs) { - PRT_MAIN = 1, + PRT_MAIN = 1, }; API_CALLABLE(N(GetReturnMoveTime)) { @@ -124,9 +124,9 @@ API_CALLABLE(N(JumpOnTarget)) { return ApiStatus_DONE2; } - state->unk_30.x = (state->goalPos.x - state->curPos.x) / state->moveTime; - state->unk_30.y = (state->goalPos.y - state->curPos.y) / state->moveTime; - state->unk_30.z = (state->goalPos.z - state->curPos.z) / state->moveTime; + state->velStep.x = (state->goalPos.x - state->curPos.x) / state->moveTime; + state->velStep.y = (state->goalPos.y - state->curPos.y) / state->moveTime; + state->velStep.z = (state->goalPos.z - state->curPos.z) / state->moveTime; state->acceleration = PI_S / state->moveTime; state->vel = 0.0f; state->speed += temp / state->moveTime; @@ -164,20 +164,20 @@ API_CALLABLE(N(JumpOnTarget)) { acc4 = state->acceleration; state->vel = vel4 + ((sin_rad(DEG_TO_RAD(state->unk_24)) * 0.8 * acc4) + acc4); } - set_animation(ACTOR_PARTNER, 1, state->animJumpRise); + set_actor_anim(ACTOR_PARTNER, PRT_MAIN, state->animJumpRise); script->functionTemp[0] = 1; } switch (script->functionTemp[0]) { case 1: if (state->vel > PI_S / 2) { - set_animation(ACTOR_PARTNER, 1, state->animJumpFall); + set_actor_anim(ACTOR_PARTNER, PRT_MAIN, state->animJumpFall); } oldActorX = actor->curPos.x; oldActorY = actor->curPos.y; - state->curPos.x += state->unk_30.x; - state->curPos.y = state->curPos.y + state->unk_30.y; - state->curPos.z = state->curPos.z + state->unk_30.z; + state->curPos.x += state->velStep.x; + state->curPos.y += state->velStep.y; + state->curPos.z += state->velStep.z; state->unk_18.x = actor->curPos.y; actor->curPos.x = state->curPos.x; actor->curPos.y = state->curPos.y + (state->bounceDivisor * sin_rad(state->vel)); @@ -205,7 +205,7 @@ API_CALLABLE(N(JumpOnTarget)) { actor->curPos.y = state->goalPos.y; state->acceleration = 1.8f; state->vel = -(state->unk_18.x - state->unk_18.y); - set_animation(ACTOR_PARTNER, 1, state->animJumpLand); + set_actor_anim(ACTOR_PARTNER, PRT_MAIN, state->animJumpLand); return ApiStatus_DONE1; } break; @@ -265,11 +265,11 @@ API_CALLABLE(N(OnMissHeadbonk)) { } if (partner->state.vel > 0.0f) { - set_animation(ACTOR_PARTNER, 0, partner->state.animJumpRise); + set_actor_anim(ACTOR_PARTNER, 0, partner->state.animJumpRise); } if (partner->state.vel < 0.0f) { - set_animation(ACTOR_PARTNER, 0, partner->state.animJumpFall); + set_actor_anim(ACTOR_PARTNER, 0, partner->state.animJumpFall); } partner->state.curPos.y = (partner->state.curPos.y + partner->state.vel); @@ -282,8 +282,7 @@ API_CALLABLE(N(OnMissHeadbonk)) { if (partner->curPos.y < 10.0f) { partner->curPos.y = 10.0f; - play_movement_dust_effects(2, partner->curPos.x, partner->curPos.y, partner->curPos.z, - partner->yaw); + play_movement_dust_effects(2, partner->curPos.x, partner->curPos.y, partner->curPos.z, partner->yaw); sfx_play_sound(SOUND_LAND_SOFTLY); return ApiStatus_DONE1; @@ -643,21 +642,21 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_FIRST_STRIKE) - EVT_EXEC_WAIT(N(firstStrike)) + EVT_EXEC_WAIT(N(EVS_FirstStrike)) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) - EVT_EXEC_WAIT(N(runAway)) + EVT_EXEC_WAIT(N(EVS_RunAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) - EVT_EXEC_WAIT(N(runAwayFail)) + EVT_EXEC_WAIT(N(EVS_RunAwayFail)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_CelebrateLoop) EVT_SET_CONST(LVar2, ANIM_BattleGoombario_Celebrate) @@ -667,7 +666,7 @@ EvtScript N(celebrate) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_CALL(ShowActionHud, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) @@ -683,36 +682,36 @@ EvtScript N(executeAction) = { EVT_END_SWITCH EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_HEADBONK1) - EVT_EXEC_WAIT(N(headbonk1)) + EVT_EXEC_WAIT(N(EVS_Attack_Headbonk1)) EVT_CASE_EQ(MOVE_HEADBONK2) - EVT_EXEC_WAIT(N(headbonk2)) + EVT_EXEC_WAIT(N(EVS_Attack_Headbonk2)) EVT_CASE_EQ(MOVE_HEADBONK3) - EVT_EXEC_WAIT(N(headbonk3)) + EVT_EXEC_WAIT(N(EVS_Attack_Headbonk3)) EVT_CASE_EQ(MOVE_TATTLE) - EVT_EXEC_WAIT(N(tattle)) + EVT_EXEC_WAIT(N(EVS_Move_Tattle)) EVT_CASE_EQ(MOVE_CHARGE) - EVT_EXEC_WAIT(N(charge)) + EVT_EXEC_WAIT(N(EVS_Move_Charge)) EVT_CASE_EQ(MOVE_MULTIBONK) - EVT_EXEC_WAIT(N(multibonk)) + EVT_EXEC_WAIT(N(EVS_Move_Multibonk)) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(firstStrike) = { +EvtScript N(EVS_FirstStrike) = { EVT_RETURN EVT_END }; -EvtScript N(runAway) = { - EVT_SET_CONST(LVar0, 0x1) +EvtScript N(EVS_RunAway) = { + EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BattleGoombario_Run) EVT_EXEC_WAIT(EVS_Partner_RunAway) EVT_RETURN EVT_END }; -EvtScript N(runAwayFail) = { +EvtScript N(EVS_RunAwayFail) = { EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE) EVT_CALL(SetGoalToHome, ACTOR_PARTNER) EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(6.0)) @@ -729,7 +728,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_PLAYER_BEGIN) - EVT_IF_EQ(GF_Tutorial_SwapTurnOrder, 0) + EVT_IF_FALSE(GF_Tutorial_SwapTurnOrder) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_14) EVT_CALL(BattleCamTargetActor, ACTOR_SELF) @@ -760,7 +759,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_WAIT(1) EVT_CALL(SetActorYaw, ACTOR_PLAYER, 0) EVT_WAIT(5) - EVT_SET(GF_Tutorial_SwapTurnOrder, 1) + EVT_SET(GF_Tutorial_SwapTurnOrder, TRUE) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, TRUE) EVT_END_IF EVT_END_SWITCH @@ -924,7 +923,7 @@ EvtScript N(calcJumpTime) = { EVT_END }; -EvtScript N(headbonk1) = { +EvtScript N(EVS_Attack_Headbonk1) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) @@ -963,7 +962,7 @@ EvtScript N(headbonk1) = { EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(N(GetChargeAmount)) @@ -1009,7 +1008,7 @@ EvtScript N(headbonk1) = { EVT_END_THREAD EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) - EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0281) + EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_GOOMBARIO_HEADBONK) EVT_CALL(N(JumpOnTarget), LVarA, 3) EVT_CHILD_THREAD EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.1), EVT_FLOAT(0.8), EVT_FLOAT(1.0)) @@ -1029,7 +1028,7 @@ EvtScript N(headbonk1) = { EVT_END }; -EvtScript N(headbonk2) = { +EvtScript N(EVS_Attack_Headbonk2) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) @@ -1068,7 +1067,7 @@ EvtScript N(headbonk2) = { EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(N(GetChargeAmount)) @@ -1115,7 +1114,7 @@ EvtScript N(headbonk2) = { EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(EnableActorBlur, ACTOR_PARTNER, ACTOR_BLUR_ENABLE) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) - EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0281) + EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_GOOMBARIO_HEADBONK) EVT_CALL(N(JumpOnTarget), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_PARTNER, ACTOR_BLUR_RESET) EVT_CHILD_THREAD @@ -1136,7 +1135,7 @@ EvtScript N(headbonk2) = { EVT_END }; -EvtScript N(headbonk3) = { +EvtScript N(EVS_Attack_Headbonk3) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) @@ -1175,7 +1174,7 @@ EvtScript N(headbonk3) = { EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(N(GetChargeAmount)) @@ -1231,7 +1230,7 @@ EvtScript N(headbonk3) = { EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(EnableActorBlur, ACTOR_PARTNER, ACTOR_BLUR_ENABLE) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) - EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0281) + EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_GOOMBARIO_HEADBONK) EVT_CALL(N(JumpOnTarget), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_PARTNER, ACTOR_BLUR_RESET) EVT_CHILD_THREAD @@ -1256,7 +1255,7 @@ s32 N(actionCommandTable)[] = { 7, 6, 5, 4, 3, 2, 1, 0 }; s32 N(powerBounceChance) = 200; -EvtScript N(multibonk) = { +EvtScript N(EVS_Move_Multibonk) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_JUMP) EVT_CALL(action_command_jump_init) EVT_EXEC_WAIT(N(runToTarget)) @@ -1295,7 +1294,7 @@ EvtScript N(multibonk) = { EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(N(GetChargeAmount)) @@ -1372,7 +1371,7 @@ EvtScript N(multibonk) = { EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(EnableActorBlur, ACTOR_PARTNER, ACTOR_BLUR_ENABLE) EVT_CALL(SetJumpAnimations, ACTOR_PARTNER, 0, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk, ANIM_BattleGoombario_Headbonk) - EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_0281) + EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_GOOMBARIO_HEADBONK) EVT_CALL(N(JumpOnTarget), LVarA, 3) EVT_CALL(EnableActorBlur, ACTOR_PARTNER, ACTOR_BLUR_RESET) EVT_SUB(LVarD, 1) @@ -1388,7 +1387,7 @@ EvtScript N(multibonk) = { EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_CHILD_THREAD EVT_WAIT(1) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_IF_EQ(LFlag0, FALSE) @@ -1428,7 +1427,7 @@ EvtScript N(multibonk) = { EVT_END }; -EvtScript N(tattle) = { +EvtScript N(EVS_Move_Tattle) = { EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 30) EVT_CALL(SetActorSpeed, ACTOR_PARTNER, EVT_FLOAT(6.0)) @@ -1442,7 +1441,7 @@ EvtScript N(tattle) = { EVT_CALL(N(OpenTattleWindow)) EVT_WAIT(12) EVT_CALL(SetCamEnabled, CAM_TATTLE, TRUE) - EVT_CALL(SetCamFlag80, CAM_TATTLE, FALSE) + EVT_CALL(SetCamNoDraw, CAM_TATTLE, FALSE) EVT_CALL(SetCamPerspective, CAM_TATTLE, CAM_UPDATE_MODE_6, 25, 16, 1024) EVT_CALL(SetCamViewport, CAM_TATTLE, 137, 95, 138, 99) EVT_CALL(GetOwnerTarget, LVarA, LVarB) @@ -1454,7 +1453,7 @@ EvtScript N(tattle) = { EVT_CALL(func_802CABE8, CAM_TATTLE, 0, LVar3, 100, 4) EVT_WAIT(2) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_TATTLE_WINDOW_OPEN) - EVT_CALL(SetCamFlag80, CAM_TATTLE, TRUE) + EVT_CALL(SetCamNoDraw, CAM_TATTLE, TRUE) EVT_WAIT(10) EVT_CALL(N(GetTattleMessage)) EVT_CALL(ActorSpeak, LVar0, ACTOR_SELF, PRT_MAIN, ANIM_BattleGoombario_Talk, ANIM_BattleGoombario_Idle) @@ -1475,7 +1474,7 @@ EvtScript N(tattle) = { EVT_END }; -EvtScript N(charge) = { +EvtScript N(EVS_Move_Charge) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_55) EVT_WAIT(10) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleGoombario_PreHeadbonk) diff --git a/src/battle/partner/goompa.c b/src/battle/partner/goompa.c index 90746b09dc..cceb8131dd 100644 --- a/src/battle/partner/goompa.c +++ b/src/battle/partner/goompa.c @@ -8,10 +8,10 @@ extern EvtScript N(EVS_Init); extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandleEvent); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); -extern EvtScript N(executeAction); +extern EvtScript N(EVS_ExecuteAction); enum N(ActorPartIDs) { PRT_MAIN = 1, @@ -71,7 +71,7 @@ ActorPartBlueprint N(ActorParts)[] = { }; ActorBlueprint NAMESPACE = { - .flags = ACTOR_PART_FLAG_200000, + .flags = ACTOR_FLAG_NO_ATTACK, .type = ACTOR_TYPE_GOOMBARIO, .maxHP = 99, .partCount = ARRAY_COUNT(N(ActorParts)), @@ -151,9 +151,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -163,7 +163,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Goompa_Celebrate) EVT_SET_CONST(LVar2, ANIM_Goompa_Walk) @@ -191,7 +191,7 @@ EvtScript N(runAwayFail) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_RETURN EVT_END }; diff --git a/src/battle/partner/kooper.c b/src/battle/partner/kooper.c index cfec4a8def..dbad40ed14 100644 --- a/src/battle/partner/kooper.c +++ b/src/battle/partner/kooper.c @@ -15,8 +15,8 @@ extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandleEvent); extern EvtScript N(EVS_HandlePhase); extern EvtScript N(firstStrike); -extern EvtScript N(executeAction); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); extern EvtScript N(shellToss); @@ -91,7 +91,7 @@ API_CALLABLE(N(SetTargetsYaw)) { for (i = 0; i < actor->targetListLength; i++) { x = actor->curPos.x; target = &actor->targetData[actor->targetIndexList[i]]; - targetX = target->posA.x; + targetX = target->truePos.x; targetActor = get_actor(target->actorID); if (targetActor != NULL) { @@ -359,9 +359,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CASE_EQ(PHASE_FIRST_STRIKE) EVT_EXEC_WAIT(N(firstStrike)) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -371,7 +371,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BattleKooper_Celebrate) EVT_SET_CONST(LVar2, ANIM_BattleKooper_Walk) @@ -407,7 +407,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -680,12 +680,12 @@ EvtScript N(shellToss) = { EVT_RETURN EVT_END_IF EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 0) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) EVT_SWITCH(LVar0) @@ -820,43 +820,43 @@ EvtScript N(powerShell) = { EVT_CALL(RemoveActorDecoration, ACTOR_SELF, PRT_ZERO, 1) EVT_END_THREAD EVT_SET(LFlag0, FALSE) - EVT_LABEL(10) - EVT_WAIT(1) - EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(GetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) - EVT_IF_GT(LVar0, LVar3) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) - EVT_IF_EQ(LVar0, 6) - EVT_GOTO(12) - EVT_END_IF - EVT_IF_EQ(LFlag0, FALSE) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_LABEL(10) + EVT_WAIT(1) + EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) + EVT_CALL(GetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) + EVT_IF_GT(LVar0, LVar3) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) + EVT_IF_EQ(LVar0, 6) + EVT_GOTO(12) + EVT_END_IF + EVT_IF_EQ(LFlag0, FALSE) + EVT_CALL(GetPartnerActionSuccess, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) + EVT_CASE_DEFAULT + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) + EVT_END_SWITCH + EVT_END_IF + EVT_SET(LFlag0, TRUE) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CASE_DEFAULT - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH - EVT_END_IF - EVT_SET(LFlag0, TRUE) - EVT_CALL(GetActionCommandResult, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_END_SWITCH - EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) - EVT_LABEL(12) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar2) - EVT_IF_NE(LVar2, -1) - EVT_GOTO(10) - EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) + EVT_LABEL(12) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar2) + EVT_IF_NE(LVar2, ITER_NO_MORE) + EVT_GOTO(10) + EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) @@ -865,12 +865,12 @@ EvtScript N(powerShell) = { EVT_END_SWITCH EVT_END_IF EVT_LABEL(11) - EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Unk_0, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_WAIT(1) - EVT_GOTO(11) - EVT_END_IF - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Unk_0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(11) + EVT_END_IF + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_EXEC_WAIT(N(EVS_ReturnHome)) @@ -976,56 +976,56 @@ EvtScript N(dizzyShell) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Unk_0, 0) EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_WAIT(1) - EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(GetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) - EVT_IF_GT(LVar0, LVar3) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) - EVT_IF_EQ(LVar0, HIT_RESULT_MISS) - EVT_GOTO(12) - EVT_END_IF - EVT_IF_EQ(LFlag0, FALSE) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_WAIT(1) + EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) + EVT_CALL(GetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) + EVT_IF_GT(LVar0, LVar3) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_GOTO(12) + EVT_END_IF + EVT_IF_EQ(LFlag0, FALSE) + EVT_CALL(GetPartnerActionSuccess, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(99) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) + EVT_CASE_DEFAULT + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) + EVT_END_SWITCH + EVT_END_IF + EVT_SET(LFlag0, TRUE) + EVT_CALL(GetActionQuality, LVarF) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) - EVT_CASE_GT(99) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) - EVT_CASE_DEFAULT - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) - EVT_END_SWITCH - EVT_END_IF - EVT_SET(LFlag0, TRUE) - EVT_CALL(GetActionQuality, LVarF) - EVT_CALL(GetActionCommandResult, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(0) - EVT_IF_EQ(LVar9, 1) - EVT_IF_EQ(LVarF, 100) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, - SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 254, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CASE_GT(0) + EVT_IF_EQ(LVar9, 1) + EVT_IF_EQ(LVarF, 100) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, + SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 254, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_ELSE + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_END_IF EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_IF - EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), LVarF, 0, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_END_IF - EVT_CASE_DEFAULT - EVT_IF_EQ(LVar9, 1) - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_ELSE - EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_END_IF - EVT_END_SWITCH - EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) - EVT_LABEL(12) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar2) - EVT_IF_NE(LVar2, -1) - EVT_GOTO(10) - EVT_END_IF + EVT_CASE_DEFAULT + EVT_IF_EQ(LVar9, 1) + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_ELSE + EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_MULTIPLE_POPUPS | DAMAGE_TYPE_STATUS_ALWAYS_HITS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, DMG_STATUS_ALWAYS(STATUS_FLAG_DIZZY, 3), 255, 0, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) + EVT_LABEL(12) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar2) + EVT_IF_NE(LVar2, ITER_NO_MORE) + EVT_GOTO(10) + EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) @@ -1034,11 +1034,11 @@ EvtScript N(dizzyShell) = { EVT_END_SWITCH EVT_END_IF EVT_LABEL(11) - EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Unk_0, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_WAIT(1) - EVT_GOTO(11) - EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Unk_0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(11) + EVT_END_IF EVT_WAIT(15) EVT_CALL(PartnerYieldTurn) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ExitShell) @@ -1084,7 +1084,7 @@ EvtScript N(fireShell) = { EVT_WAIT(1) EVT_CALL(ModifyActorDecoration, ACTOR_PARTNER, -1, 0, 10, 10, 255, 0) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Unk_1, 1) - EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, SPR_PAL_BattleKooper, SPR_PAL_BattleKooper, 1, 10, 1000, 10, 0, 0) EVT_CALL(EnableActorPaletteEffects, ACTOR_PARTNER, 0, TRUE) EVT_SET(LVar6, SPR_PAL_BattleKooper) @@ -1100,7 +1100,7 @@ EvtScript N(fireShell) = { EVT_SET(LVar9, 80 * DT) EVT_SET(LVar7, SPR_PAL_BattleKooper_Red4) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF @@ -1109,7 +1109,7 @@ EvtScript N(fireShell) = { EVT_SET(LVar9, 60 * DT) EVT_SET(LVar7, SPR_PAL_BattleKooper_Red3) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF @@ -1118,7 +1118,7 @@ EvtScript N(fireShell) = { EVT_SET(LVar9, 40 * DT) EVT_SET(LVar7, SPR_PAL_BattleKooper_Red2) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF @@ -1127,7 +1127,7 @@ EvtScript N(fireShell) = { EVT_SET(LVar9, 35 * DT) EVT_SET(LVar7, SPR_PAL_BattleKooper_Red1) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF @@ -1136,7 +1136,7 @@ EvtScript N(fireShell) = { EVT_SET(LVar9, 30 * DT) EVT_SET(LVar7, SPR_PAL_BattleKooper) EVT_IF_NE(LVar6, LVar7) - EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetActorPaletteEffect, ACTOR_PARTNER, -1, ACTOR_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetActorPaletteSwapParams, ACTOR_PARTNER, -1, LVar6, LVar7, 1, 10, 1000, 10, 0, 0) EVT_SET(LVar6, LVar7) EVT_END_IF @@ -1222,43 +1222,43 @@ EvtScript N(fireShell) = { EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Unk_0, 0) EVT_SET(LFlag0, FALSE) EVT_LABEL(10) - EVT_WAIT(1) - EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(GetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) - EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) - EVT_IF_GT(LVar0, LVar3) - EVT_GOTO(10) - EVT_END_IF - EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) - EVT_IF_EQ(LVar0, 6) - EVT_GOTO(12) - EVT_END_IF - EVT_IF_EQ(LFlag0, FALSE) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_WAIT(1) + EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) + EVT_CALL(GetGoalPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar3, LVar4, LVar5) + EVT_IF_GT(LVar0, LVar3) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) + EVT_IF_EQ(LVar0, 6) + EVT_GOTO(12) + EVT_END_IF + EVT_IF_EQ(LFlag0, FALSE) + EVT_CALL(GetPartnerActionSuccess, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_GT(99) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) + EVT_CASE_DEFAULT + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) + EVT_END_SWITCH + EVT_END_IF + EVT_SET(LFlag0, TRUE) + EVT_CALL(GetActionQuality, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CASE_DEFAULT - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_END_SWITCH - EVT_END_IF - EVT_SET(LFlag0, TRUE) - EVT_CALL(GetActionQuality, LVar0) - EVT_CALL(GetActionCommandResult, LVar0) - EVT_SWITCH(LVar0) - EVT_CASE_GT(99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_40 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_FIRE | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) - EVT_END_SWITCH - EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) - EVT_LABEL(12) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) - EVT_GOTO(10) - EVT_END_IF + EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) + EVT_LABEL(12) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) + EVT_IF_NE(LVar0, ITER_NO_MORE) + EVT_GOTO(10) + EVT_END_IF EVT_IF_EQ(LFlag0, FALSE) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) @@ -1267,11 +1267,11 @@ EvtScript N(fireShell) = { EVT_END_SWITCH EVT_END_IF EVT_LABEL(11) - EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Unk_0, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_WAIT(1) - EVT_GOTO(11) - EVT_END_IF + EVT_CALL(GetActorVar, ACTOR_SELF, AVAR_Unk_0, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_WAIT(1) + EVT_GOTO(11) + EVT_END_IF EVT_WAIT(15) EVT_CALL(PartnerYieldTurn) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleKooper_ExitShell) @@ -1346,7 +1346,7 @@ EvtScript N(shellTossOnFirstStrike) = { EVT_CASE_EQ(MOVE_SHELL_TOSS3) EVT_SET(LVarF, 3) EVT_END_SWITCH - EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_10) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) EVT_CASE_EQ(MOVE_SHELL_TOSS1) diff --git a/src/battle/partner/lakilester.c b/src/battle/partner/lakilester.c index 4b05eee865..fbdfd2eda6 100644 --- a/src/battle/partner/lakilester.c +++ b/src/battle/partner/lakilester.c @@ -16,8 +16,8 @@ extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandlePhase); extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Init); -extern EvtScript N(executeAction); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); extern EvtScript N(spinyFlip); @@ -276,9 +276,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -288,7 +288,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BattleLakilester_Celebrate) EVT_SET_CONST(LVar2, ANIM_BattleLakilester_Walk) @@ -324,7 +324,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_CALL(ShowActionHud, TRUE) EVT_SWITCH(LVar0) @@ -449,8 +449,8 @@ API_CALLABLE(N(SpinyFlipActionCommand)) { partnerState->goalPos.x, partnerState->goalPos.y); partnerState->speed = 0.0f; - partnerState->unk_30.x = 0.0f; - partnerState->unk_30.y = 0.0f; + partnerState->velStep.x = 0.0f; + partnerState->velStep.y = 0.0f; sTargetMarkRotation = 0; D_8023D294 = 0; sAimingTimer = 30; @@ -541,10 +541,10 @@ API_CALLABLE(N(SpinyFlipActionCommand)) { sAimingTimer = 0; } if (sAimingTimer == 60) { - set_animation(ACTOR_PARTNER, 0, ANIM_BattleLakilester_HoldSpiny); + set_actor_anim(ACTOR_PARTNER, 0, ANIM_BattleLakilester_HoldSpiny); } if (sAimingTimer == 30) { - set_animation(ACTOR_PARTNER, 0, ANIM_BattleLakilester_StrainHoldSpiny); + set_actor_anim(ACTOR_PARTNER, 0, ANIM_BattleLakilester_StrainHoldSpiny); } if (sAimingTimer != 0) { sAimingTimer--; @@ -1065,31 +1065,31 @@ EvtScript N(spinySurge) = { EVT_END_IF EVT_CALL(InitTargetIterator) EVT_LABEL(0) - EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) - EVT_IF_EQ(LVar0, HIT_RESULT_MISS) - EVT_GOTO(12) - EVT_END_IF - EVT_CALL(GetActionCommandResult, LVarA) - EVT_CALL(N(GetSpinySurgeDamage)) - EVT_SWITCH(LVar0) - EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) - EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) - EVT_END_SWITCH - EVT_SWITCH(LVar0) - EVT_CASE_GT(0) - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) - EVT_CASE_DEFAULT - EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) - EVT_END_SWITCH - EVT_WAIT(6) - EVT_LABEL(12) - EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) - EVT_IF_NE(LVar1, -1) - EVT_GOTO(0) - EVT_END_IF + EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) + EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 2, BS_FLAGS1_10) + EVT_IF_EQ(LVar0, HIT_RESULT_MISS) + EVT_GOTO(12) + EVT_END_IF + EVT_CALL(GetPartnerActionSuccess, LVarA) + EVT_CALL(N(GetSpinySurgeDamage)) + EVT_SWITCH(LVar0) + EVT_CASE_GT(0) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CASE_DEFAULT + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SPINY_SURGE | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, 0, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_END_SWITCH + EVT_SWITCH(LVar0) + EVT_CASE_GT(0) + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) + EVT_CASE_DEFAULT + EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_51) + EVT_END_SWITCH + EVT_WAIT(6) + EVT_LABEL(12) + EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar1) + EVT_IF_NE(LVar1, ITER_NO_MORE) + EVT_GOTO(0) + EVT_END_IF EVT_WAIT(30) EVT_LABEL(13) EVT_SWITCH(LVar0) @@ -1109,7 +1109,7 @@ EvtScript N(spinySurge) = { EvtScript N(cloudNine_normal) = { EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_SHOW_PLAYER_DECORATIONS, FALSE) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, TRUE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_NO_INACTIVE_ANIM, TRUE) EVT_CALL(LoadActionCommand, ACTION_COMMAND_WATER_BLOCK) EVT_CALL(action_command_water_block_init, 2) EVT_CALL(SetActionHudPrepareTime, 50) @@ -1160,13 +1160,13 @@ EvtScript N(cloudNine_normal) = { EVT_WAIT(3) EVT_CALL(AddBattleCamZoom, 50) EVT_CALL(MoveBattleCamOver, 5) - EVT_CALL(GetActionCommandResult, LVarA) + EVT_CALL(GetPartnerActionSuccess, LVarA) EVT_IF_GT(LVarA, 0) EVT_CALL(N(RemoveCloudNineFX)) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_201D) EVT_CALL(N(CloudNineFX)) EVT_CALL(N(ApplyCloudNine)) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_8000000, TRUE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_SHOW_STATUS_ICONS, TRUE) EVT_END_IF EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleLakilester_CloudNineEnd) @@ -1200,7 +1200,7 @@ EvtScript N(cloudNine_normal) = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Run) EVT_CALL(PlayerRunToGoal, 0) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Idle) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_NO_INACTIVE_ANIM, FALSE) EVT_END_THREAD EVT_THREAD EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) @@ -1275,7 +1275,7 @@ EvtScript N(cloudNine_immobile) = { EVT_WAIT(3) EVT_CALL(AddBattleCamZoom, 50) EVT_CALL(MoveBattleCamOver, 5) - EVT_CALL(GetActionCommandResult, LVarA) + EVT_CALL(GetPartnerActionSuccess, LVarA) EVT_IF_GT(LVarA, 0) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_201D) EVT_CALL(N(CloudNineFX)) @@ -1489,7 +1489,7 @@ API_CALLABLE(N(ProcessHurricane)) { script->functionTemp[2] = 0; partnerState->moveArcAmplitude = 0; - set_animation(ACTOR_PARTNER, -1, ANIM_BattleLakilester_HurricaneInhale); + set_actor_anim(ACTOR_PARTNER, -1, ANIM_BattleLakilester_HurricaneInhale); break; case STATE_DISABLED: sHuffPuffBreathEffect->data.huffPuffBreath->pos.x = NPC_DISPOSE_POS_X; @@ -1516,7 +1516,7 @@ API_CALLABLE(N(ProcessHurricane)) { } partnerState->moveArcAmplitude = 1; - set_animation(ACTOR_PARTNER, -1, ANIM_BattleLakilester_HurricaneExhale); + set_actor_anim(ACTOR_PARTNER, -1, ANIM_BattleLakilester_HurricaneExhale); break; } @@ -1773,7 +1773,7 @@ EvtScript N(hurricane) = { EVT_END_IF EVT_LABEL(11) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_WAIT(34) diff --git a/src/battle/partner/parakarry.c b/src/battle/partner/parakarry.c index d183c59e2f..2e7c00771d 100644 --- a/src/battle/partner/parakarry.c +++ b/src/battle/partner/parakarry.c @@ -30,8 +30,8 @@ extern EvtScript N(EVS_HandlePhase); extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Init); extern EvtScript N(firstStrike); -extern EvtScript N(executeAction); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); extern EvtScript N(skyDive); @@ -787,9 +787,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CASE_EQ(PHASE_FIRST_STRIKE) EVT_EXEC_WAIT(N(firstStrike)) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -799,7 +799,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_BattleParakarry_Celebrate) EVT_SET_CONST(LVar2, ANIM_BattleParakarry_Walk) @@ -809,7 +809,7 @@ EvtScript N(celebrate) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar0) @@ -987,7 +987,7 @@ EvtScript N(skyDive) = { EVT_CALL(EnableActorBlur, ACTOR_PARTNER, ACTOR_BLUR_DISABLE) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleParakarry_PostDive) EVT_WAIT(2) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) @@ -1067,7 +1067,7 @@ EvtScript N(shellShot) = { EVT_CALL(N(GetShellShotDamage)) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_EXPLODE_CONTACT | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_HIT_RATTLE) EVT_CASE_DEFAULT EVT_SET(LVar0, HIT_RESULT_NO_DAMAGE) @@ -1263,22 +1263,22 @@ EvtScript N(airRaid) = { EVT_IF_EQ(LVar0, 6) EVT_GOTO(11) EVT_END_IF - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_HIT_RATTLE) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_MULTIPLE_POPUPS, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_NONE) EVT_WAIT(5) EVT_LABEL(11) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_04) diff --git a/src/battle/partner/sushie.c b/src/battle/partner/sushie.c index 762f7ec03d..1c10419486 100644 --- a/src/battle/partner/sushie.c +++ b/src/battle/partner/sushie.c @@ -15,8 +15,8 @@ extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandlePhase); extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Init); -extern EvtScript N(executeAction); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); extern EvtScript N(bellyFlop); @@ -194,7 +194,7 @@ API_CALLABLE(N(PlayWaterBlockFX)) { remove_effect(effect); } - battleStatus->waterBlockEffect = fx_water_block(0, posX, posY, posZ, 1.5f, 0); + battleStatus->waterBlockEffect = fx_water_block(FX_WATER_BLOCK_CREATE, posX, posY, posZ, 1.5f, 0); return ApiStatus_DONE2; } @@ -551,9 +551,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -563,7 +563,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleSushie_Celebrate) EVT_WAIT(36) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleSushie_Idle) @@ -597,7 +597,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -761,7 +761,7 @@ EvtScript N(bellyFlop) = { EVT_END_IF EVT_END_LOOP EVT_THREAD - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_CALL(UseBattleCamPreset, BTL_CAM_PRESET_52) EVT_CALL(MoveBattleCamOver, 20) EVT_END_THREAD @@ -777,7 +777,7 @@ EvtScript N(bellyFlop) = { EVT_CALL(SetActorRotation, ACTOR_PARTNER, 0, 0, 20) EVT_END_THREAD EVT_THREAD - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_IF_GT(LVar0, 0) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) EVT_SWITCH(LVar2) @@ -856,7 +856,7 @@ EvtScript N(bellyFlop) = { EVT_END_THREAD EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_SUSHIE_BELLY_FLOP) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_IF_GT(LVar0, 0) EVT_THREAD EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleSushie_Jump) @@ -910,7 +910,7 @@ EvtScript N(bellyFlop) = { EVT_WAIT(3) EVT_CALL(SetActorScale, ACTOR_PARTNER, EVT_FLOAT(1.0), EVT_FLOAT(1.0), EVT_FLOAT(1.0)) EVT_END_THREAD - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_JUMP, SUPPRESS_EVENT_SPIKY_FRONT, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) @@ -1061,7 +1061,7 @@ EvtScript N(waterBlock) = { EVT_CALL(action_command_water_block_start, 0, 100, 3) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleSushie_HoldWater) EVT_WAIT(110) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_IF_EQ(LVar0, 0) EVT_SET(LVarA, LVar0) EVT_GOTO(10) @@ -1105,7 +1105,7 @@ EvtScript N(waterBlock) = { EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_CALL(N(PlayWaterBlockFX), LVar0, LVar1, LVar2) EVT_WAIT(30) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_CALL(N(ApplyWaterBlock)) EVT_SET(LVarA, LVar0) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) @@ -1216,7 +1216,7 @@ EvtScript N(tidalWave) = { EVT_WAIT(5) EVT_LABEL(10) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP diff --git a/src/battle/partner/twink.c b/src/battle/partner/twink.c index a61f78ccd0..8f919a9444 100644 --- a/src/battle/partner/twink.c +++ b/src/battle/partner/twink.c @@ -10,8 +10,8 @@ extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandleEvent); extern EvtScript N(EVS_HandlePhase); -extern EvtScript N(executeAction); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); @@ -125,7 +125,7 @@ EvtScript N(EVS_Init) = { EVT_END_IF EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Unk_0, 0) EVT_CALL(SetActorVar, ACTOR_SELF, AVAR_Unk_1, EVT_PTR(N(DefenseTable))) - EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_9) + EVT_CALL(AddActorDecoration, ACTOR_SELF, PRT_MAIN, 0, ACTOR_DECORATION_SPARKLES) EVT_CALL(ModifyActorDecoration, ACTOR_SELF, PRT_MAIN, 0, 0, 0, 0, 0) EVT_RETURN EVT_END @@ -184,9 +184,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -196,7 +196,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_SET_CONST(LVar0, PRT_MAIN) EVT_SET_CONST(LVar1, ANIM_Twink_Fly) EVT_SET_CONST(LVar2, ANIM_Twink_Fly) @@ -231,7 +231,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(EnableIdleScript, ACTOR_PARTNER, IDLE_SCRIPT_DISABLE) EVT_CALL(UseIdleAnimation, ACTOR_PARTNER, FALSE) EVT_CALL(SetActorSounds, ACTOR_PARTNER, ACTOR_SOUND_FLY, SOUND_207F, SOUND_TWINK_FLY_B) diff --git a/src/battle/partner/watt.c b/src/battle/partner/watt.c index 6620ac0ecc..cdfbca925f 100644 --- a/src/battle/partner/watt.c +++ b/src/battle/partner/watt.c @@ -16,8 +16,8 @@ extern EvtScript N(EVS_Idle); extern EvtScript N(EVS_HandlePhase); extern EvtScript N(EVS_TakeTurn); extern EvtScript N(EVS_Init); -extern EvtScript N(executeAction); -extern EvtScript N(celebrate); +extern EvtScript N(EVS_ExecuteAction); +extern EvtScript N(EVS_Celebrate); extern EvtScript N(runAway); extern EvtScript N(runAwayFail); extern EvtScript N(electroDash); @@ -72,7 +72,7 @@ API_CALLABLE(N(WattFXUpdate)) { x = partner->curPos.x + partner->headOffset.x; y = partner->curPos.y + partner->headOffset.y + partner->verticalRenderOffset + 12.0f; z = partner->curPos.z + partner->headOffset.z; - if ((gBattleStatus.flags2 & (BS_FLAGS2_10 | BS_FLAGS2_4)) == BS_FLAGS2_4) { + if ((gBattleStatus.flags2 & (BS_FLAGS2_10 | BS_FLAGS2_PARTNER_TURN_USED)) == BS_FLAGS2_PARTNER_TURN_USED) { y = NPC_DISPOSE_POS_Y; } @@ -361,8 +361,8 @@ API_CALLABLE(N(ApplyTurboCharge)) { battleStatus->buffEffect->data.partnerBuff->unk_0C[FX_BUFF_DATA_TURBO_CHARGE].turnsLeft = battleStatus->turboChargeTurnsLeft; } - if (gBattleStatus.flags2 & BS_FLAGS2_2) { - gBattleStatus.flags2 |= BS_FLAGS2_100; + if (gBattleStatus.flags2 & BS_FLAGS2_PLAYER_TURN_USED) { + gBattleStatus.flags2 |= BS_FLAGS2_STORED_TURBO_CHARGE_TURN; } return ApiStatus_DONE2; @@ -489,7 +489,7 @@ s32 N(StatusTable)[] = { ActorPartBlueprint N(ActorParts)[] = { { - .flags = ACTOR_PART_FLAG_MULTI_TARGET, + .flags = ACTOR_PART_FLAG_PRIMARY_TARGET, .index = PRT_MAIN, .posOffset = { 0, 0, 0 }, .targetOffset = { 10, 22 }, @@ -626,9 +626,9 @@ EvtScript N(EVS_TakeTurn) = { EVT_CALL(GetBattlePhase, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(PHASE_EXECUTE_ACTION) - EVT_EXEC_WAIT(N(executeAction)) + EVT_EXEC_WAIT(N(EVS_ExecuteAction)) EVT_CASE_EQ(PHASE_CELEBRATE) - EVT_EXEC_WAIT(N(celebrate)) + EVT_EXEC_WAIT(N(EVS_Celebrate)) EVT_CASE_EQ(PHASE_RUN_AWAY_START) EVT_EXEC_WAIT(N(runAway)) EVT_CASE_EQ(PHASE_RUN_AWAY_FAIL) @@ -638,7 +638,7 @@ EvtScript N(EVS_TakeTurn) = { EVT_END }; -EvtScript N(celebrate) = { +EvtScript N(EVS_Celebrate) = { EVT_CALL(N(WattFXEnable)) EVT_CALL(N(WattFXSetEffect), 1) EVT_SET_CONST(LVar0, PRT_MAIN) @@ -681,7 +681,7 @@ EvtScript N(EVS_HandlePhase) = { EVT_END }; -EvtScript N(executeAction) = { +EvtScript N(EVS_ExecuteAction) = { EVT_CALL(ShowActionHud, TRUE) EVT_CALL(SetBattleFlagBits, BS_FLAGS1_4000, FALSE) EVT_CALL(GetMenuSelection, LVar0, LVar1, LVar2) @@ -757,7 +757,7 @@ EvtScript N(charge) = { EVT_CALL(N(SetBackgroundAlpha), LVar9) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_IDLE) EVT_RETURN EVT_END }; @@ -904,7 +904,7 @@ EvtScript N(electroDash) = { EVT_CALL(StopLoopingSoundAtActor, ACTOR_PARTNER, 0) EVT_CALL(SetDamageSource, DMG_SRC_ELECTRO_DASH) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_Strain) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_ATTACK) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_ATTACK) EVT_CALL(SetGoalToTarget, ACTOR_PARTNER) EVT_CALL(AddGoalPos, ACTOR_PARTNER, -5, 0, 0) EVT_CALL(FlyToGoal, ACTOR_PARTNER, 5, 0, EASING_LINEAR) @@ -942,12 +942,12 @@ EvtScript N(electroDash) = { EVT_SET(LVarE, 1) EVT_SET(LVarF, 5) EVT_END_SWITCH - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarF, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) EVT_CASE_DEFAULT - EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_FLAG_80, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) + EVT_CALL(PartnerDamageEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_IGNORE_DEFENSE, SUPPRESS_EVENT_SPIKY_TOP | SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_SHOCK_CONTACT | SUPPRESS_EVENT_ALT_SPIKY, 0, LVarE, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE) EVT_END_SWITCH EVT_CALL(PartnerYieldTurn) EVT_SWITCH(LVar0) @@ -997,7 +997,7 @@ EvtScript N(powerShock) = { EVT_CALL(N(UnkBackgroundFunc3)) EVT_SET(LVar9, 0) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_StrainBigger) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_ATTACK) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_ATTACK) EVT_THREAD EVT_LOOP(75 * DT) EVT_ADD(LVar9, 3) @@ -1006,7 +1006,7 @@ EvtScript N(powerShock) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(75 * DT) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_IDLE) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_028A) EVT_THREAD EVT_SETF(LVar0, EVT_FLOAT(1.0)) @@ -1057,7 +1057,7 @@ EvtScript N(powerShock) = { EVT_RETURN EVT_END_IF EVT_CALL(GetActionQuality, LVarF) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(0) EVT_CALL(PartnerAfflictEnemy, LVar0, DAMAGE_TYPE_SHOCK | DAMAGE_TYPE_NO_CONTACT | DAMAGE_TYPE_STATUS_ALWAYS_HITS, 0, DMG_STATUS_ALWAYS(STATUS_FLAG_PARALYZE, 3), 254, 0, BS_FLAGS1_10 | BS_FLAGS1_SP_EVT_ACTIVE | BS_FLAGS1_40) @@ -1091,7 +1091,7 @@ EvtScript N(8023AE8C) = { EVT_CALL(LoadActionCommand, ACTION_COMMAND_WATER_BLOCK) EVT_CALL(action_command_water_block_init, 1) EVT_CALL(SetActionHudPrepareTime, 0) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, TRUE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_NO_INACTIVE_ANIM, TRUE) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, FALSE) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_UsePower) EVT_WAIT(5) @@ -1151,7 +1151,7 @@ EvtScript N(8023AE8C) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_GROW) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_CALL(N(ApplyTurboCharge)) EVT_SET(LVarE, LVarF) EVT_IF_GT(LVarA, 0) @@ -1167,7 +1167,7 @@ EvtScript N(8023AE8C) = { EVT_CALL(ShowVariableMessageBox, BTL_MSG_TURBO_CHARGE_BEGIN, 60, LVarA) EVT_END_IF EVT_CALL(WaitForMessageBoxDone) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_NO_INACTIVE_ANIM, FALSE) EVT_RETURN EVT_END }; @@ -1222,7 +1222,7 @@ EvtScript N(8023B450) = { EVT_CALL(UseBattleCamPreset, BTL_CAM_DEFAULT) EVT_CALL(MoveBattleCamOver, 10) EVT_CALL(PlaySoundAtActor, ACTOR_PARTNER, SOUND_GROW) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_CALL(N(ApplyTurboCharge)) EVT_SET(LVarE, LVarF) EVT_IF_GT(LVarA, 0) @@ -1238,7 +1238,7 @@ EvtScript N(8023B450) = { EVT_CALL(ShowVariableMessageBox, BTL_MSG_TURBO_CHARGE_BEGIN, 60, LVarA) EVT_END_IF EVT_CALL(WaitForMessageBoxDone) - EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_20000000, FALSE) + EVT_CALL(SetActorFlagBits, ACTOR_PLAYER, ACTOR_FLAG_NO_INACTIVE_ANIM, FALSE) EVT_RETURN EVT_END }; @@ -1295,7 +1295,7 @@ EvtScript N(megaShock) = { EVT_CALL(MoveBattleCamOver, 90 * DT) EVT_CALL(func_8024ECF8, BTL_CAM_MODEY_0, BTL_CAM_MODEX_0, TRUE) EVT_CALL(SetAnimation, ACTOR_PARTNER, -1, ANIM_BattleWatt_StrainBigger) - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_ATTACK) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_ATTACK) EVT_CALL(N(WattFXDisable)) EVT_CALL(GetActionQuality, LVar1) EVT_WAIT(90 * DT) @@ -1308,7 +1308,7 @@ EvtScript N(megaShock) = { EVT_WAIT(1) EVT_END_LOOP EVT_END_THREAD - EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, PAL_ADJUST_WATT_IDLE) + EVT_CALL(SetActorPaletteEffect, ACTOR_SELF, PRT_MAIN, ACTOR_PAL_ADJUST_WATT_IDLE) EVT_CALL(InitTargetIterator) EVT_THREAD EVT_CALL(GetActorPos, ACTOR_PARTNER, LVar0, LVar1, LVar2) @@ -1347,7 +1347,7 @@ EvtScript N(megaShock) = { EVT_CALL(N(MegaShockFX), LVar0, LVar1, LVar2, LVar3) EVT_LOOP(0) EVT_CALL(SetGoalToTarget, ACTOR_SELF) - EVT_CALL(GetActionCommandResult, LVarF) + EVT_CALL(GetPartnerActionSuccess, LVarF) EVT_CALL(PartnerTestEnemy, LVar0, 0, SUPPRESS_EVENT_SPIKY_FRONT | SUPPRESS_EVENT_BURN_CONTACT, 0, 1, BS_FLAGS1_10) EVT_IF_EQ(LVar0, HIT_RESULT_MISS) EVT_GOTO(11) @@ -1359,7 +1359,7 @@ EvtScript N(megaShock) = { EVT_END_IF EVT_LABEL(11) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_BREAK_LOOP EVT_END_IF EVT_WAIT(5) @@ -1367,7 +1367,7 @@ EvtScript N(megaShock) = { EVT_CALL(N(WattFXEnable)) EVT_CALL(PartnerYieldTurn) EVT_WAIT(30) - EVT_CALL(GetActionCommandResult, LVar0) + EVT_CALL(GetPartnerActionSuccess, LVar0) EVT_SWITCH(LVar0) EVT_CASE_GT(99) EVT_EXEC_WAIT(N(returnHome2)) diff --git a/src/battle/partner_dma.c b/src/battle/partner_dma.c new file mode 100644 index 0000000000..d01c22a51b --- /dev/null +++ b/src/battle/partner_dma.c @@ -0,0 +1,39 @@ + +#include "common.h" +#include "battle/battle.h" +#include "ld_addrs.h" + +extern ActorBlueprint battle_partner_goombario; +extern ActorBlueprint battle_partner_kooper; +extern ActorBlueprint battle_partner_bombette; +extern ActorBlueprint battle_partner_parakarry; +extern ActorBlueprint battle_partner_goompa; +extern ActorBlueprint battle_partner_watt; +extern ActorBlueprint battle_partner_sushie; +extern ActorBlueprint battle_partner_lakilester; +extern ActorBlueprint battle_partner_bow; +extern ActorBlueprint battle_partner_twink; + +#define BATTLE_PARTNER_ENTRY(name, Y) \ + { \ + (u32)battle_partner_##name##_ROM_START, \ + (u32)battle_partner_##name##_ROM_END, \ + battle_partner_##name##_VRAM, \ + &battle_partner_##name, \ + Y \ + } + +PartnerDMAData bPartnerDmaTable[] = { + {}, + BATTLE_PARTNER_ENTRY(goombario, 0), + BATTLE_PARTNER_ENTRY(kooper, 0), + BATTLE_PARTNER_ENTRY(bombette, 0), + BATTLE_PARTNER_ENTRY(parakarry, 30), + BATTLE_PARTNER_ENTRY(goompa, 0), + BATTLE_PARTNER_ENTRY(watt, 20), + BATTLE_PARTNER_ENTRY(sushie, 0), + BATTLE_PARTNER_ENTRY(lakilester, 10), + BATTLE_PARTNER_ENTRY(bow, 20), + {}, + BATTLE_PARTNER_ENTRY(twink, 30), +}; diff --git a/src/18F340.c b/src/battle/player_events.c similarity index 97% rename from src/18F340.c rename to src/battle/player_events.c index c361e9e2d5..8f35c3d871 100644 --- a/src/18F340.c +++ b/src/battle/player_events.c @@ -17,7 +17,7 @@ extern EvtScript EVS_Player_SimpleHit; extern EvtScript EVS_Player_ComplexHit; extern EvtScript EVS_Player_NoDamageHit; -extern PlayerCelebrationAnimOptions D_80280FC0; +extern PlayerCelebrationAnimOptions bPlayerCelebrations; BSS s32 D_8029FB90; BSS f32 D_8029FB94; @@ -37,7 +37,7 @@ void btl_set_player_idle_anims(void) { if (battleStatus->flags2 & BS_FLAGS2_PEACH_BATTLE) { actorPart->idleAnimations = bPeachIdleAnims; - set_animation(0, 0, ANIM_Peach1_Walk); + set_actor_anim(0, 0, ANIM_Peach1_Walk); } else if (!battleStatus->outtaSightActive) { actorPart->idleAnimations = bMarioIdleAnims; } @@ -67,7 +67,7 @@ API_CALLABLE(ActivateDefend) { deduct_current_move_fp(); gBattleStatus.flags1 |= BS_FLAGS1_PLAYER_DEFENDING; actorPart->idleAnimations = bMarioDefendAnims; - set_animation(0, 0, ANIM_Mario1_Crouch); + set_actor_anim(0, 0, ANIM_Mario1_Crouch); return ApiStatus_DONE2; } @@ -85,7 +85,7 @@ API_CALLABLE(DoesMarioStatusPreventHappyAnimation) { } API_CALLABLE(ChoosePlayerCelebrationAnim) { - PlayerCelebrationAnimOptions* pcao = &D_80280FC0; + PlayerCelebrationAnimOptions* pcao = &bPlayerCelebrations; PlayerData* playerData = &gPlayerData; s32 temp; s32 i; @@ -157,7 +157,7 @@ API_CALLABLE(DetermineAutoRunAwaySuccess) { } API_CALLABLE(func_80260E38) { - btl_show_battle_message(BTL_MSG_ACTION_TIP_03, 60); + btl_show_battle_message(BTL_MSG_ACTION_TIP_MASH_BUTTON, 60); return ApiStatus_DONE2; } @@ -468,7 +468,7 @@ API_CALLABLE(HasMerleeCastsLeft) { return ApiStatus_DONE2; } -API_CALLABLE(func_802619E8) { +API_CALLABLE(SpawnTurnEndFX) { Bytecode* args = script->ptrReadPos; s32 x = evt_get_variable(script, *args++); s32 y = evt_get_variable(script, *args++); @@ -495,7 +495,7 @@ API_CALLABLE(func_802619E8) { return ApiStatus_DONE2; } -API_CALLABLE(func_80261B40) { +API_CALLABLE(RemoveTurnEndFX) { if (script->varTable[10] > 0) { hud_element_free(D_8029FBAC); } @@ -505,7 +505,7 @@ API_CALLABLE(func_80261B40) { return ApiStatus_DONE2; } -API_CALLABLE(FXRecoverHP) { +API_CALLABLE(SpawnRecoverHeartFX) { Bytecode* args = script->ptrReadPos; s32 var1 = evt_get_variable(script, *args++); s32 var2 = evt_get_variable(script, *args++); @@ -516,7 +516,7 @@ API_CALLABLE(FXRecoverHP) { return ApiStatus_DONE2; } -API_CALLABLE(FXRecoverFP) { +API_CALLABLE(SpawnRecoverFlowerFX) { Bytecode* args = script->ptrReadPos; s32 var1 = evt_get_variable(script, *args++); s32 var2 = evt_get_variable(script, *args++); @@ -547,8 +547,8 @@ API_CALLABLE(IncrementPlayerFP) { return ApiStatus_DONE2; } -API_CALLABLE(func_80261D98) { - inflict_status_set_duration(get_actor(script->owner1.actorID), 4, 0, 1); +API_CALLABLE(InflictDizzyAttackStatus) { + inflict_status_set_duration(get_actor(script->owner1.actorID), STATUS_KEY_DIZZY, 0, 1); btl_update_ko_status(); return ApiStatus_DONE2; } @@ -561,7 +561,7 @@ API_CALLABLE(GetLostHammerAndBootsLevel) { return ApiStatus_DONE2; } -API_CALLABLE(func_80261DF4) { +API_CALLABLE(DropAbilityItem) { ItemEntity* item = get_item_entity(script->varTable[10]); if (isInitialCall) { @@ -607,10 +607,10 @@ API_CALLABLE(func_80261DF4) { return ApiStatus_BLOCK; } -API_CALLABLE(func_80261FB4) { +API_CALLABLE(PlayerGatherAbilityItem) { ItemEntity* item = get_item_entity(script->varTable[10]); Actor* player = gBattleStatus.playerActor; - s32 ft1; + s32 interpAmt; f32 deltaX; f32 deltaY; f32 deltaZ; @@ -622,20 +622,20 @@ API_CALLABLE(func_80261FB4) { switch (script->functionTemp[0]) { case 0: - ft1 = script->functionTemp[1]; + interpAmt = script->functionTemp[1]; deltaX = player->curPos.x - item->pos.x; deltaY = player->curPos.y + 12.0f - item->pos.y; deltaZ = player->curPos.z - 5.0f - item->pos.z; - item->pos.x += deltaX / ft1; - item->pos.y += deltaY / ft1; - item->pos.z += deltaZ / ft1; + item->pos.x += deltaX / interpAmt; + item->pos.y += deltaY / interpAmt; + item->pos.z += deltaZ / interpAmt; item->pos.y += dist2D(item->pos.x, item->pos.y, player->curPos.x, player->curPos.y + 12.0f) / 5.0f; if (script->functionTemp[1] == 1) { - script->functionTemp[0] = script->functionTemp[1]; + script->functionTemp[0] = 1; } script->functionTemp[1]--; @@ -646,12 +646,11 @@ API_CALLABLE(func_80261FB4) { return ApiStatus_BLOCK; } -API_CALLABLE(func_802620F8) { - // TODO get type correct - s32* temp_v1 = &D_8029FBB0[script->varTable[14]]; +API_CALLABLE(AbilityItemUnkDelay) { + s32* delayCounter = &D_8029FBB0[script->varTable[14]]; - if (*temp_v1 != 0) { - (*temp_v1)--; + if (*delayCounter != 0) { + (*delayCounter)--; return ApiStatus_BLOCK; } @@ -1627,7 +1626,7 @@ EvtScript EVS_MerleeAttackBonus = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Land) EVT_WAIT(4) EVT_CALL(SetAnimation, ACTOR_SELF, 0, ANIM_Mario1_Idle) - EVT_CALL(ShowMessageBox, 0, 60) + EVT_CALL(ShowMessageBox, BTL_MSG_MERLEE_ATK_UP, 60) EVT_CALL(WaitForMessageBoxDone) EVT_EXEC_WAIT(EVS_MerleeRunOut) EVT_RETURN @@ -1681,7 +1680,7 @@ EvtScript EVS_MerleeDefenseBonus = { EVT_WAIT(4) EVT_CALL(SetAnimation, ACTOR_SELF, 0, ANIM_Mario1_Idle) EVT_END_IF - EVT_CALL(ShowMessageBox, 1, 60) + EVT_CALL(ShowMessageBox, BTL_MSG_MERLEE_DEF_UP, 60) EVT_CALL(WaitForMessageBoxDone) EVT_EXEC_WAIT(EVS_MerleeRunOut) EVT_RETURN @@ -1730,7 +1729,7 @@ EvtScript EVS_MerleeExpBonus = { EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_Land) EVT_WAIT(4) EVT_CALL(SetAnimation, ACTOR_SELF, 0, ANIM_Mario1_Idle) - EVT_CALL(ShowMessageBox, 2, 60) + EVT_CALL(ShowMessageBox, BTL_MSG_MERLEE_EXP_UP, 60) EVT_CALL(WaitForMessageBoxDone) EVT_EXEC_WAIT(EVS_MerleeRunOut) EVT_RETURN @@ -1742,19 +1741,19 @@ EvtScript EVS_PlayerHappy = { EVT_CALL(UseBattleCamPresetWait, BTL_CAM_DEFAULT) EVT_CALL(SetAnimation, ACTOR_PLAYER, 0, ANIM_Mario1_ThumbsUp) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) - EVT_CALL(func_802619E8, LVar0, LVar1, LVar2) + EVT_CALL(SpawnTurnEndFX, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 0) EVT_ADD(LVar1, 35) EVT_SET(LVar3, LVarA) EVT_ADD(LVar3, LVarB) EVT_IF_GT(LVar3, 0) - EVT_CALL(FXRecoverHP, LVar0, LVar1, LVar2, LVar3) + EVT_CALL(SpawnRecoverHeartFX, LVar0, LVar1, LVar2, LVar3) EVT_END_IF EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar0, 20) EVT_ADD(LVar1, 25) EVT_IF_GT(LVarC, 0) - EVT_CALL(FXRecoverFP, LVar0, LVar1, LVar2, LVarC) + EVT_CALL(SpawnRecoverFlowerFX, LVar0, LVar1, LVar2, LVarC) EVT_END_IF EVT_SET(LVar3, LVarA) EVT_ADD(LVar3, LVarB) @@ -1785,7 +1784,7 @@ EvtScript EVS_PlayerHappy = { EVT_END_IF EVT_WAIT(30) EVT_CALL(SetAnimation, ACTOR_SELF, 0, ANIM_Mario1_Idle) - EVT_CALL(func_80261B40) + EVT_CALL(RemoveTurnEndFX) EVT_CALL(UseIdleAnimation, ACTOR_PLAYER, TRUE) EVT_RETURN EVT_END @@ -1798,7 +1797,7 @@ EvtScript EVS_ApplyDizzyAttack = { EVT_CALL(SetActorRotation, ACTOR_ENEMY0, 0, LVar0, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(func_80261D98) + EVT_CALL(InflictDizzyAttackStatus) EVT_CALL(SetActorRotation, ACTOR_ENEMY0, 0, 0, 0) EVT_RETURN EVT_END @@ -1813,10 +1812,10 @@ EvtScript EVS_PlayerRegainAbility = { EVT_END_LOOP EVT_CALL(GetLostHammerAndBootsLevel) EVT_SWITCH(LVarA) - EVT_CASE_EQ(2) + EVT_CASE_EQ(BTL_MENU_TYPE_ITEMS) EVT_SET(LVarE, 0) EVT_SET(LVarA, ITEM_MENU_ITEMS) - EVT_CASE_EQ(1) + EVT_CASE_EQ(BTL_MENU_TYPE_SMASH) EVT_SET(LVarE, 1) EVT_SWITCH(LVarC) EVT_CASE_EQ(0) @@ -1826,7 +1825,7 @@ EvtScript EVS_PlayerRegainAbility = { EVT_CASE_EQ(2) EVT_SET(LVarA, ITEM_MENU_HAMMER3) EVT_END_SWITCH - EVT_CASE_EQ(0) + EVT_CASE_EQ(BTL_MENU_TYPE_JUMP) EVT_SET(LVarE, 2) EVT_SWITCH(LVarB) EVT_CASE_EQ(0) @@ -1842,9 +1841,9 @@ EvtScript EVS_PlayerRegainAbility = { EVT_ADD(LVar1, 150) EVT_CALL(MakeItemEntity, LVarA, LVarF, LVar1, LVar2, 1, 0) EVT_SET(LVarA, LVar0) - EVT_CALL(func_80261DF4) - EVT_CALL(func_802620F8) - EVT_CALL(func_80261FB4) + EVT_CALL(DropAbilityItem) + EVT_CALL(AbilityItemUnkDelay) + EVT_CALL(PlayerGatherAbilityItem) EVT_CALL(GetActorPos, ACTOR_PLAYER, LVar0, LVar1, LVar2) EVT_ADD(LVar1, 20) EVT_PLAY_EFFECT(EFFECT_STARS_SHIMMER, 0, LVar0, LVar1, LVar2, 30, 30, 10, 30) diff --git a/src/battle/popup_messages.c b/src/battle/popup_messages.c new file mode 100644 index 0000000000..eebf9b1590 --- /dev/null +++ b/src/battle/popup_messages.c @@ -0,0 +1,1641 @@ +#include "common.h" +#include "effects.h" +#include "entity.h" +#include "battle/battle.h" +#include "battle/action_cmd.h" + +extern EntityModelScript EMS_BonkIcon; + + // all keyed by number of lines in the message (1 or 2) +s16 BattleMessage_BoxSizesY[] = { 28, 40 }; +s16 BattleMessage_TextOffsetsY[] = { 0, -2 }; +s16 BattleMessage_BoxOffsetsY[] = { 0, -12 }; + +//TODO Vec3f[] +f32 D_802835DC[] = { + 0.0f, 4.5f, 0.0f, + 1.0f, 4.0f, 0.0f, + 2.0f, 3.0f, 0.0f, + 3.0f, 2.0f, 0.0f, + 3.5f, 1.0f, 0.0f, + 4.0f, 0.0f, 0.0f, + 4.5f, 0.0f, 0.0f, + 5.0f, 0.0f, 0.0f, + 4.5f, 0.0f, 0.0f, + 4.0f, 0.0f, 0.0f, + 3.5f, -1.0f, 0.0f, + 3.0f, -2.0f, 0.0f, + 2.0f, -3.0f, 0.0f, + 1.0f, -4.0f, 0.0f, + 0.0f, -4.5f, 0.0f, +}; + +Vec3f D_80283690[] = { + { 1.0f, 1.0f, 1.0f }, + { 0.8f, 0.8f, 0.8f }, + { 0.9f, 0.9f, 0.9f }, + { 1.1f, 1.1f, 1.1f }, + { 1.0f, 1.0f, 1.0f }, + { 0.8f, 0.8f, 0.8f }, + { 0.9f, 0.9f, 0.9f }, + { 1.1f, 1.1f, 1.1f }, + { 1.0f, 1.0f, 1.0f }, + { 0.8f, 0.8f, 0.8f }, + { 0.9f, 0.9f, 0.9f }, + { 1.1f, 1.1f, 1.1f }, + { 1.0f, 1.0f, 1.0f }, + { 0.8f, 0.8f, 0.8f }, + { 0.9f, 0.9f, 0.9f }, +}; + +EntityModelScript* BonkModelScripts[] = { + NULL, + &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, + &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, +}; + +s32 BattleMessages[] = { + [BTL_MSG_MERLEE_ATK_UP] MSG_Menus_Merlee_IncreaseAttack, + [BTL_MSG_MERLEE_DEF_UP] MSG_Menus_Merlee_DecreaseDamage, + [BTL_MSG_MERLEE_EXP_UP] MSG_Menus_Merlee_IncreaseStarPoints, + [BTL_MSG_MERLEE_DONE] MSG_Menus_Merlee_Exhausted, + [BTL_MSG_CHARGE_HAMMER] MSG_Menus_ChargeHammer, + [BTL_MSG_CHARGE_HAMMER_MORE] MSG_Menus_ChargeHammerMore, + [BTL_MSG_CHARGE_JUMP] MSG_Menus_ChargeJump, + [BTL_MSG_CHARGE_JUMP_MORE] MSG_Menus_ChargeJumpMore, + [BTL_MSG_CANT_CHARGE] MSG_Menus_ChargeMaxedOut, + [BTL_MSG_ENEMY_MISSED] MSG_Menus_EnemyMissed, + + // player status effects + [BTL_MSG_PLAYER_DAZED] MSG_Menus_PlayerDazed, + [BTL_MSG_PLAYER_ASLEEP] MSG_Menus_PlayerAsleep, + [BTL_MSG_PLAYER_FROZEN] MSG_Menus_PlayerFrozen, + [BTL_MSG_PLAYER_POISONED] MSG_Menus_PlayerPoisoned, + [BTL_MSG_PLAYER_SHRUNK] MSG_Menus_PlayerShrunk, + [BTL_MSG_PLAYER_PARALYZED] MSG_Menus_PlayerParalyzed, + [BTL_MSG_PLAYER_CHARGED] MSG_Menus_PlayerElectricCharge, + [BTL_MSG_PLAYER_TRANSPARENT] MSG_Menus_PlayerTransparent, + + // enemy status effects + [BTL_MSG_ENEMY_DAZED] MSG_Menus_EnemyDazed, + [BTL_MSG_ENEMY_ASLEEP] MSG_Menus_EnemyAsleep, + [BTL_MSG_ENEMY_FROZEN] MSG_Menus_EnemyFrozen, + [BTL_MSG_ENEMY_POISONED] MSG_Menus_EnemyPoisoned, + [BTL_MSG_ENEMY_SHRUNK] MSG_Menus_EnemyShrunk, + [BTL_MSG_ENEMY_PARALYZED] MSG_Menus_EnemyParalyzed, + [BTL_MSG_ENEMY_ELECTRIFIED] MSG_Menus_EnemyElectrified, + [BTL_MSG_ENEMY_CANT_MOVE] MSG_Menus_EnemyCantMove, + + [BTL_MSG_STAR_POWER_RECHARGED] MSG_Menus_StarEnergyRecharged, + [BTL_MSG_STAR_POWER_MAXED] MSG_Menus_StarEnergyMaxedOut, + [BTL_MSG_STAR_POWER_FILLED] MSG_Menus_StarEnergyFilled, + [BTL_MSG_ATTACK_UP] MSG_Menus_AttackUp, + [BTL_MSG_DEFENCE_UP] MSG_Menus_DefenseUp, + [BTL_MSG_HEAL_ONE] MSG_Menus_HealOne, + [BTL_MSG_HEAL_ALL] MSG_Menus_HealAll, + + [BTL_MSG_ENEMY_TRANSPARENT] MSG_Menus_EnemyTransparent, + [BTL_MSG_ENEMY_CHARGED] MSG_Menus_EnemyElectricCharge, + [BTL_MSG_PARTNER_INJURED] MSG_Menus_PartnerInjured, + [BTL_MSG_CHARGE_GOOMBARIO] MSG_Menus_ChargeGoombario, + [BTL_MSG_CHARGE_GOOMBARIO_MORE] MSG_Menus_ChargeGoombarioMore, + [BTL_MSG_WATER_BLOCK_BEGIN] MSG_Menus_WaterBlockBegin, + [BTL_MSG_WATER_BLOCK_END] MSG_Menus_WaterBlockEnd, + [BTL_MSG_CLOUD_NINE_BEGIN] MSG_Menus_CloudNineBegin, + [BTL_MSG_CLOUD_NINE_END] MSG_Menus_CloudNineEnd, + [BTL_MSG_TURBO_CHARGE_BEGIN] MSG_Menus_TurboChargeBegin, + [BTL_MSG_TURBO_CHARGE_END] MSG_Menus_TurboChargeEnd, + [BTL_MSG_CHILL_OUT_BEGIN] MSG_Menus_ChillOutBegin, + [BTL_MSG_UNUSED_CLOUD_NINE] MSG_Menus_CloudNineBegin, + + // move action command tips + [BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING] MSG_Menus_MoveTip_PressBeforeLanding, + [BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED] MSG_Menus_MoveTip_PushLeftWithTiming, + [BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE] MSG_Menus_MoveTip_PressBeforeStriking, + [BTL_MSG_ACTION_TIP_MASH_BUTTON] MSG_Menus_MoveTip_PressRepeatedly, + [BTL_MSG_ACTION_TIP_MASH_LEFT] MSG_Menus_MoveTip_PushLeftRepeatedly, + [BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM] MSG_Menus_MoveTip_PushLeftToAim, + [BTL_MSG_ACTION_TIP_UNUSED_1] MSG_Menus_MoveTip_PressBeforeLanding, + [BTL_MSG_ACTION_TIP_UNUSED_2] MSG_Menus_MoveTip_PressBeforeLanding, + [BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN] MSG_Menus_MoveTip_PressAsShown, + [BTL_MSG_ACTION_TIP_NOT_USED_1] MSG_Menus_MoveTip_NOT_USED_1, + [BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING] MSG_Menus_MoveTip_PressAsLightsUp, + [BTL_MSG_ACTION_TIP_NOT_USED_2] MSG_Menus_MoveTip_NOT_USED_2, + [BTL_MSG_ACTION_TIP_MASH_BOTH] MSG_Menus_MoveTip_PressBothRepeatedly, + [BTL_MSG_ACTION_TIP_UNUSED_3] MSG_Menus_MoveTip_PressBeforeLanding, + [BTL_MSG_ACTION_TIP_HOLD_THEN_TAP] MSG_Menus_MoveTip_HoldThenTap, + [BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE] MSG_Menus_MoveTip_HoldThenRelease, + [BTL_MSG_ACTION_TIP_MOVE_TO_AIM] MSG_Menus_MoveTip_MoveToAim, + [BTL_MSG_ACTION_TIP_UNUSED_4] MSG_Menus_MoveTip_PressBeforeLanding, + [BTL_MSG_ACTION_TIP_BREAK_FREE] MSG_Menus_MoveTip_PressToRunAway, + [BTL_MSG_ACTION_TIP_REDUCE_DAMAGE] MSG_Menus_MoveTip_PressToReduceDamage, + [BTL_MSG_ACTION_TIP_NOT_USED_3] MSG_Menus_MoveTip_NOT_USED_3, + + // no targets available + [BTL_MSG_NO_JUMP_TARGET] MSG_Menus_Battle_NoTarget_Jump, + [BTL_MSG_NO_HAMMER_TARGET] MSG_Menus_Battle_NoTarget_Hammer, + [BTL_MSG_NO_ITEM_TARGET] MSG_Menus_Battle_NoTarget_Item, + [BTL_MSG_46] MSG_NONE, + [BTL_MSG_47] MSG_NONE, + + // errors and warnings + [BTL_MSG_CANT_SELECT_NOW] MSG_Menus_Battle_CantSelectNow, + [BTL_MSG_HAMMER_DISABLED_1] MSG_Menus_Battle_CantUseHammer, + [BTL_MSG_HAMMER_DISABLED_2] MSG_Menus_Battle_CantUseHammer, + [BTL_MSG_HAMMER_DISABLED_3] MSG_Menus_Battle_CantUseHammer, + [BTL_MSG_JUMP_DISABLED_1] MSG_Menus_Battle_CantUseJump, + [BTL_MSG_JUMP_DISABLED_2] MSG_Menus_Battle_CantUseJump, + [BTL_MSG_JUMP_DISABLED_3] MSG_Menus_Battle_CantUseJump, + [BTL_MSG_ITEMS_DISABLED] MSG_Menus_Battle_CantUseItems, + [BTL_MSG_CANT_SWITCH] MSG_Menus_Battle_CantSwitch, + [BTL_MSG_CANT_MOVE] MSG_Menus_Battle_CantMove, + [BTL_MSG_CANT_SWITCH_UNUSED] MSG_Menus_Battle_CantSwitch, + [BTL_MSG_CANT_MOVE_UNUSED] MSG_Menus_Battle_CantMove, + [BTL_MSG_CANT_SELECT_NOW_ALT] MSG_Menus_Battle_CantSelectNow, +}; + +s32 bActorMessages[] = { + MSG_Menus_Party_Mario, + MSG_Menus_Party_Goombario, + MSG_Menus_Party_Kooper, + MSG_Menus_Party_Bombette, + MSG_Menus_Party_Parakarry, + MSG_Menus_Party_Goompa, + MSG_Menus_Party_Watt, + MSG_Menus_Party_Sushie, + MSG_Menus_Party_Lakilester, + MSG_Menus_Party_Bow, + MSG_Menus_Party_Goombaria, + MSG_Menus_Party_Twink, + MSG_Menus_Party_Peach +}; + +PopupMessage* bPopupMessage = NULL; + +BSS PopupMessage popupMessages[32]; +BSS s16 BattlePopupMessageVar; +BSS s16 HID_BattleMessage1; +BSS s16 HID_BattleMessage2; +BSS s16 HID_BattleMessage3; +BSS s16 HID_BattleMessage4; +BSS b16 D_8029F64A; +BSS b16 D_8029F64C; +BSS s16 D_8029F64E; +BSS s16 D_8029F650; + +extern HudScript HES_AimReticle; +extern HudScript HES_AimTarget; +extern HudScript HES_CDownButton; +extern HudScript HES_CLeftButton; +extern HudScript HES_CRightButton; +extern HudScript HES_CUpButton; +extern HudScript HES_Item_MenuBoots1; +extern HudScript HES_Item_MenuBoots2; +extern HudScript HES_Item_MenuBoots3; +extern HudScript HES_Item_MenuHammer1; +extern HudScript HES_Item_MenuHammer2; +extern HudScript HES_Item_MenuHammer3; +extern HudScript HES_Item_MenuItems; +extern HudScript HES_MashBButton2; +extern HudScript HES_MashCDownButton1; +extern HudScript HES_MashCLeftButton; +extern HudScript HES_MashCRightButton1; +extern HudScript HES_MashCUpButton; +extern HudScript HES_RotateStickCW; +extern HudScript HES_StickBackAndForth; +extern HudScript HES_StickTapLeft; +extern HudScript HES_StickTapRight; +extern HudScript HES_TimingBlink; + +void btl_bonk_update(void* data); +void btl_bonk_render(void* data); +void btl_bonk_setup_gfx(void* data); +void btl_update_message_popup(void* popup); +void btl_show_message_popup(void* popup); + +void btl_popup_messages_init(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { + PopupMessage* popup = &popupMessages[i]; + popup->active = FALSE; + popup->message = NULL; + } +} + +void btl_popup_messages_delete(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { + PopupMessage* popup = &popupMessages[i]; + if (popup->message != NULL) { + heap_free(popup->message); + popup->message = NULL; + } + popup->active = FALSE; + } +} + +void btl_popup_messages_update(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { + PopupMessage* popup = &popupMessages[i]; + if (popup->active && popup->updateFunc != NULL) { + popup->updateFunc(popup); + } + } +} + +void btl_popup_messages_draw_world_geometry(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { + PopupMessage* popup = &popupMessages[i]; + if (popup->active && popup->renderWorldFunc != NULL) { + popup->renderWorldFunc(popup); + } + } +} + +void btl_popup_messages_draw_ui(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { + PopupMessage* popup = &popupMessages[i]; + if (popup->active && popup->renderUIFunc != NULL) { + popup->renderUIFunc(popup); + } + } +} + +PopupMessage* btl_create_popup(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { + PopupMessage* popup = &popupMessages[i]; + if (!popup->active) { + popup->active = TRUE; + return popup; + } + } + + return NULL; +} + +void free_popup(PopupMessage* popup) { + if (popup->message != NULL) { + heap_free(popup->message); + popup->message = NULL; + } + popup->active = FALSE; +} + +void show_immune_bonk(f32 x, f32 y, f32 z, s32 numStars, s32 arg4, s32 arg5) { + BattleStatus* battleStatus = &gBattleStatus; + PopupMessage* popup; + Message* message; + EntityModelScript** modelScript; + f32 var_f20; + f32 baseScale; + f32* f1; + f32* f2; + f32* f3; + s32 arg5mod8; + s32 iMod8; + s32 sign; + s32 cond; + s32 one; + s32 two; + s32 i; + + baseScale = 1.0f; + cond = FALSE; + var_f20 = 1.0f; + if (numStars < 1) { + numStars = 1; + cond = TRUE; + baseScale = 0.4f; + var_f20 = 0.7f; + } + + if (battleStatus->flags1 & (BS_FLAGS1_40 | BS_FLAGS1_200)) { + baseScale *= 2.0; + } + + popup = btl_create_popup(); + if (popup != NULL) { + sign = 1; + if (arg5 < 0) { + arg5 = -arg5; + sign = -1; + } + + while (TRUE) { + if (arg5 > 5) { + arg5 -= 5; + } else { + break; + } + } + + battleStatus->unk_90 = 0; + popup->updateFunc = btl_bonk_update; + popup->renderWorldFunc = btl_bonk_render; + popup->unk_00 = 0; + popup->renderUIFunc = NULL; + popup->messageIndex = 1; + popup->active |= 0x10; + message = popup->message = heap_malloc(numStars * sizeof(*popup->message)); + ASSERT (popup->message != NULL); + + for (i = 0; i < numStars; i++, message++) { + modelScript = &BonkModelScripts[numStars]; + message->unk_00 = TRUE; + message->entityModelIndex = load_entity_model(*modelScript); + set_entity_model_flags(message->entityModelIndex, ENTITY_MODEL_FLAG_HIDDEN); + bind_entity_model_setupGfx(message->entityModelIndex, message, btl_bonk_setup_gfx); + message->pos.x = x; + message->pos.y = y; + message->pos.z = z; + arg5mod8 = arg5 % 8; + arg5++; + + one = 1; + two = 2; + + f1 = &D_802835DC[arg5mod8 * 3]; + f2 = &D_802835DC[arg5mod8 * 3 + one]; + f3 = &D_802835DC[arg5mod8 * 3 + two]; + message->vel.x = 2.0 * *f1 * sign * var_f20; + message->vel.y = 2.0 * *f2 * var_f20; + message->vel.z = 2.0 * *f3 * var_f20; + message->accel.x = *f1 * sign * var_f20; + message->accel.y = *f2 * var_f20; + message->accel.z = *f3 * var_f20; + + iMod8 = (i % 8); + message->scale = D_80283690[iMod8].x * baseScale; + message->rotZ = 0; + message->rotVelZ = sign * 107; + message->rotY = clamp_angle(180.0f - gCameras[CAM_BATTLE].curYaw); + message->appearTime = 14; + message->unk_24 = arg4; + message->deleteTime = 240; + if (cond) { + message->deleteTime = 10; + } + message->unk_48 = 255.0f; + } + } +} + +void btl_bonk_update(void* data) { + PopupMessage* popup = data; + Message* message = popup->message; + s32 found = FALSE; + s32 i; + + for (i = 0; i < popup->messageIndex; i++, message++) { + if (message->unk_00) { + s32 modelIdx = message->entityModelIndex; + + found = TRUE; + if (message->unk_24 != 0) { + message->unk_24--; + if (message->unk_24 == 0) { + clear_entity_model_flags(modelIdx, MODEL_FLAG_20); + } + exec_entity_model_commandlist(modelIdx); + break; + } + + exec_entity_model_commandlist(modelIdx); + if (message->appearTime >= 0) { + message->pos.x += message->vel.x; + message->pos.y += message->vel.y; + message->pos.z += message->vel.z; + } + message->rotY = clamp_angle(180.0f - gCameras[CAM_BATTLE].curYaw); + message->rotZ += message->rotVelZ; + message->rotZ = clamp_angle(message->rotZ); + message->rotVelZ *= 0.8; + if (message->appearTime < 10) { + message->accel.x *= 0.5; + message->accel.y *= 0.5; + message->accel.z *= 0.5; + message->vel.x = message->accel.x; + message->vel.y = message->accel.y; + message->vel.z = message->accel.z; + } + + message->appearTime--; + if (message->appearTime < 0) { + message->deleteTime--; + if (message->deleteTime < 0) { + free_entity_model_by_index(modelIdx); + message->unk_00 = FALSE; + } + } + } + } + + if (!found) { + heap_free(popup->message); + popup->message = NULL; + free_popup(popup); + } +} + +void btl_bonk_render(void* data) { + PopupMessage* popup = data; + Message* message = popup->message; + Matrix4f sp18; + Matrix4f mtxRotX; + Matrix4f mtxRotY; + Matrix4f mtxRotZ; + Matrix4f sp118; + Matrix4f sp158; + Matrix4f sp198; + Matrix4f mtxScale; + Mtx sp218; + s32 i; + + for (i = 0; i < popup->messageIndex; i++, message++) { + if (message->unk_00) { + if (message->unk_24 != 0) { + break; + } else { + s32 modelIdx = message->entityModelIndex; + + guTranslateF(sp18, message->pos.x, message->pos.y, message->pos.z); + guRotateF(mtxRotX, 0.0f, 1.0f, 0.0f, 0.0f); + guRotateF(mtxRotY, message->rotY, 0.0f, 1.0f, 0.0f); + guRotateF(mtxRotZ, message->rotZ, 0.0f, 0.0f, 1.0f); + guScaleF(mtxScale, message->scale, message->scale, message->scale); + guMtxCatF(mtxRotZ, mtxRotX, sp158); + guMtxCatF(sp158, mtxRotY, sp118); + guMtxCatF(mtxScale, sp118, sp158); + guMtxCatF(sp158, sp18, sp198); + guMtxF2L(sp198, &sp218); + draw_entity_model_A(modelIdx, &sp218); + } + } + } +} + +void btl_bonk_setup_gfx(void* data) { + Message* message = data; + s32 alphaAmt = message->deleteTime; + + if (alphaAmt > 10) { + alphaAmt = 10; + } + gDPSetPrimColor(gMainGfxPos++, 0, 0, 0, 0, 0, (alphaAmt * 255) / 10); +} + +void btl_bonk_cleanup(void) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(popupMessages); i++) { + PopupMessage* popup = &popupMessages[i]; + + if (popup->active != 0 && (popup->active & 0x10)) { + Message* message = popup->message; + s32 j; + + for (j = 0; j < popup->messageIndex; j++, message++) { + if (message->unk_00) { + message->unk_24 = 0; + message->appearTime = 1; + message->deleteTime = 20; + } + } + } + } +} + +ApiStatus ShowImmuneBonk(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 x = evt_get_variable(script, *args++); + s32 y = evt_get_variable(script, *args++); + s32 z = evt_get_variable(script, *args++); + s32 arg4 = evt_get_variable(script, *args++); + s32 arg5 = evt_get_variable(script, *args++); + s32 arg6 = evt_get_variable(script, *args++); + + show_immune_bonk(x, y, z, arg4, arg5, arg6); + return ApiStatus_DONE2; +} + +ApiStatus ForceImmuneBonkCleanup(Evt* script, s32 isInitialCall) { + btl_bonk_cleanup(); + return ApiStatus_DONE2; +} + +// show a popup message bubble with a message selected from BattleMessages +void btl_show_battle_message(s32 messageIndex, s32 duration) { + PopupMessage* popup = btl_create_popup(); + + if (popup != NULL) { + popup->updateFunc = btl_update_message_popup; + popup->renderUIFunc = btl_show_message_popup; + popup->unk_00 = 0; + popup->renderWorldFunc = NULL; + popup->messageIndex = messageIndex; + popup->duration = duration; + popup->showMsgState = BTL_MSG_STATE_INIT; + popup->needsInit = TRUE; + popup->message = NULL; + BattlePopupMessageVar = 0; + bPopupMessage = popup; + D_8029F64A = FALSE; + D_8029F64C = FALSE; + D_8029F64E = 0; + D_8029F650 = 0; + } +} + +// show a popup message bubble with a message selected from BattleMessages +void btl_show_variable_battle_message(s32 messageIndex, s32 duration, s32 varValue) { + PopupMessage* popup = btl_create_popup(); + + if (popup != NULL) { + popup->updateFunc = btl_update_message_popup; + popup->renderUIFunc = btl_show_message_popup; + popup->unk_00 = 0; + popup->renderWorldFunc = NULL; + popup->messageIndex = messageIndex; + popup->duration = duration; + popup->showMsgState = BTL_MSG_STATE_INIT; + popup->needsInit = TRUE; + popup->message = NULL; + BattlePopupMessageVar = varValue; + bPopupMessage = popup; + D_8029F64A = FALSE; + D_8029F64C = FALSE; + D_8029F64E = 0; + D_8029F650 = 0; + } +} + +s32 btl_is_popup_displayed(void) { + return bPopupMessage != NULL; +} + +void btl_set_popup_duration(s32 duration) { + PopupMessage* popup = bPopupMessage; + + if (D_8029F64A && popup != NULL) { + popup->duration = duration; + } +} + +void func_8024FAE8(void) { + D_8029F64C = TRUE; +} + +void func_8024FAFC(void) { + D_8029F64C = FALSE; +} + +void close_action_command_instruction_popup(void) { + PopupMessage* popup = bPopupMessage; + + if (popup != NULL + && popup->messageIndex <= BTL_MSG_LAST_ACTION_TIP + && popup->messageIndex >= BTL_MSG_FIRST_ACTION_TIP + ) { + popup->duration = 0; + } +} + +void btl_update_message_popup(void* data) { + PopupMessage* popup = data; + BattleStatus* battleStatus = &gBattleStatus; + s32 shouldDisposeWindow = FALSE; + + s32 actionCommandMode; + + switch (popup->messageIndex) { + case BTL_MSG_MERLEE_ATK_UP: + case BTL_MSG_MERLEE_DEF_UP: + case BTL_MSG_MERLEE_EXP_UP: + case BTL_MSG_MERLEE_DONE: + case BTL_MSG_CHARGE_HAMMER: + case BTL_MSG_CHARGE_HAMMER_MORE: + case BTL_MSG_CHARGE_JUMP: + case BTL_MSG_CHARGE_JUMP_MORE: + case BTL_MSG_CANT_CHARGE: + case BTL_MSG_ENEMY_MISSED: + case BTL_MSG_PLAYER_DAZED: + case BTL_MSG_PLAYER_ASLEEP: + case BTL_MSG_PLAYER_FROZEN: + case BTL_MSG_PLAYER_POISONED: + case BTL_MSG_PLAYER_SHRUNK: + case BTL_MSG_PLAYER_PARALYZED: + case BTL_MSG_PLAYER_CHARGED: + case BTL_MSG_PLAYER_TRANSPARENT: + case BTL_MSG_ENEMY_DAZED: + case BTL_MSG_ENEMY_ASLEEP: + case BTL_MSG_ENEMY_FROZEN: + case BTL_MSG_ENEMY_POISONED: + case BTL_MSG_ENEMY_SHRUNK: + case BTL_MSG_ENEMY_PARALYZED: + case BTL_MSG_ENEMY_ELECTRIFIED: + case BTL_MSG_ENEMY_CANT_MOVE: + case BTL_MSG_STAR_POWER_RECHARGED: + case BTL_MSG_STAR_POWER_MAXED: + case BTL_MSG_STAR_POWER_FILLED: + case BTL_MSG_ATTACK_UP: + case BTL_MSG_DEFENCE_UP: + case BTL_MSG_HEAL_ONE: + case BTL_MSG_HEAL_ALL: + case BTL_MSG_ENEMY_TRANSPARENT: + case BTL_MSG_ENEMY_CHARGED: + case BTL_MSG_PARTNER_INJURED: + case BTL_MSG_CHARGE_GOOMBARIO: + case BTL_MSG_CHARGE_GOOMBARIO_MORE: + case BTL_MSG_WATER_BLOCK_BEGIN: + case BTL_MSG_WATER_BLOCK_END: + case BTL_MSG_CLOUD_NINE_BEGIN: + case BTL_MSG_CLOUD_NINE_END: + case BTL_MSG_TURBO_CHARGE_BEGIN: + case BTL_MSG_TURBO_CHARGE_END: + case BTL_MSG_CHILL_OUT_BEGIN: + case BTL_MSG_UNUSED_CLOUD_NINE: + case BTL_MSG_CANT_SWITCH: + case BTL_MSG_CANT_MOVE: + case BTL_MSG_CANT_SWITCH_UNUSED: + case BTL_MSG_CANT_MOVE_UNUSED: + case BTL_MSG_CANT_SELECT_NOW_ALT: + switch (popup->showMsgState) { + default: + break; + case BTL_MSG_STATE_INIT: + popup->showMsgState = BTL_MSG_STATE_1; + break; + case BTL_MSG_STATE_1: + popup->showMsgState = BTL_MSG_STATE_2; + break; + case BTL_MSG_STATE_2: + if (battleStatus->curButtonsPressed & (BUTTON_A | BUTTON_B)) { + popup->duration = 0; + } + + if (popup->duration != 0) { + popup->duration--; + } else { + popup->showMsgState = BTL_MSG_STATE_3; + } + break; + case BTL_MSG_STATE_3: + popup->showMsgState = BTL_MSG_STATE_4; + break; + case BTL_MSG_STATE_4: + shouldDisposeWindow = TRUE; + break; + } + break; + // move action command tips + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING: + case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED: + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE: + case BTL_MSG_ACTION_TIP_MASH_BUTTON: + case BTL_MSG_ACTION_TIP_MASH_LEFT: + case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM: + case BTL_MSG_ACTION_TIP_UNUSED_1: + case BTL_MSG_ACTION_TIP_UNUSED_2: + case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN: + case BTL_MSG_ACTION_TIP_NOT_USED_1: + case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING: + case BTL_MSG_ACTION_TIP_NOT_USED_2: + case BTL_MSG_ACTION_TIP_MASH_BOTH: + case BTL_MSG_ACTION_TIP_UNUSED_3: + case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP: + case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE: + case BTL_MSG_ACTION_TIP_MOVE_TO_AIM: + case BTL_MSG_ACTION_TIP_UNUSED_4: + case BTL_MSG_ACTION_TIP_BREAK_FREE: + case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE: + case BTL_MSG_ACTION_TIP_NOT_USED_3: + actionCommandMode = battleStatus->actionCommandMode; + D_8029F64A = TRUE; + if (actionCommandMode == ACTION_COMMAND_MODE_NOT_LEARNED) { + D_8029F64A = FALSE; + shouldDisposeWindow = TRUE; + break; + } + + switch (popup->showMsgState) { + case BTL_MSG_STATE_INIT: + gBattleStatus.flags1 |= BS_FLAGS1_4000; + gBattleStatus.flags1 &= ~BS_FLAGS1_10000; + switch (popup->messageIndex) { + case BTL_MSG_ACTION_TIP_MASH_LEFT: + HID_BattleMessage1 = hud_element_create(&HES_StickNeutral); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED: + HID_BattleMessage1 = hud_element_create(&HES_StickNeutral); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_TimingReady); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + break; + case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM: + HID_BattleMessage1 = hud_element_create(&HES_StickNeutral); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_AimTarget); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + hud_element_create_transform_B(HID_BattleMessage2); + break; + case BTL_MSG_ACTION_TIP_UNUSED_1: + HID_BattleMessage1 = hud_element_create(&HES_CUpButton); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_CDownButton); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + + HID_BattleMessage3 = hud_element_create(&HES_CLeftButton); + hud_element_set_flags(HID_BattleMessage3, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage3, -100, -100); + + HID_BattleMessage4 = hud_element_create(&HES_CRightButton); + hud_element_set_flags(HID_BattleMessage4, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage4, -100, -100); + break; + case BTL_MSG_ACTION_TIP_UNUSED_2: + HID_BattleMessage1 = hud_element_create(&HES_StickNeutral); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN: + HID_BattleMessage1 = hud_element_create(&HES_AButton); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_BButton); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + + HID_BattleMessage3 = hud_element_create(&HES_CDownButton); + hud_element_set_flags(HID_BattleMessage3, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage3, -100, -100); + break; + case BTL_MSG_ACTION_TIP_NOT_USED_1: + HID_BattleMessage1 = hud_element_create(&HES_StickNeutral); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING: + HID_BattleMessage1 = hud_element_create(&HES_TimingReady); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_AButton); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + break; + case BTL_MSG_ACTION_TIP_NOT_USED_2: + HID_BattleMessage1 = hud_element_create(&HES_AButton); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + HID_BattleMessage2 = hud_element_create(&HES_BButton); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_ACTION_TIP_MASH_BOTH: + HID_BattleMessage1 = hud_element_create(&HES_AButton); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_BButton); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + break; + case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE: + HID_BattleMessage1 = hud_element_create(&HES_TimingReady); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_AButtonDown); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + break; + case BTL_MSG_ACTION_TIP_MOVE_TO_AIM: + HID_BattleMessage1 = hud_element_create(&HES_StickNeutral); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + + HID_BattleMessage2 = hud_element_create(&HES_AimTarget); + hud_element_set_flags(HID_BattleMessage2, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage2, -100, -100); + hud_element_create_transform_B(HID_BattleMessage2); + + HID_BattleMessage3 = hud_element_create(&HES_AimReticle); + hud_element_set_flags(HID_BattleMessage3, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage3, -100, -100); + hud_element_create_transform_B(HID_BattleMessage3); + break; + case BTL_MSG_ACTION_TIP_BREAK_FREE: + case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE: + HID_BattleMessage1 = hud_element_create(&HES_AButton); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + // fallthrough + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING: + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE: + case BTL_MSG_ACTION_TIP_MASH_BUTTON: + case BTL_MSG_ACTION_TIP_UNUSED_3: + case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP: + case BTL_MSG_ACTION_TIP_UNUSED_4: + case BTL_MSG_ACTION_TIP_NOT_USED_3: + HID_BattleMessage1 = hud_element_create(&HES_AButton); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + } + popup->showMsgState = BTL_MSG_STATE_1; + break; + case BTL_MSG_STATE_1: // show the message + if (gBattleStatus.flags1 & BS_FLAGS1_10000) { + gBattleStatus.flags1 &= ~BS_FLAGS1_4000; + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); + popup->duration = 0; + popup->showMsgState = BTL_MSG_STATE_2; + break; + } + + if (!(gBattleStatus.flags1 & BS_FLAGS1_4000) + && (actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL) + ) { + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT); + switch (popup->messageIndex) { + case BTL_MSG_ACTION_TIP_MASH_BUTTON: + hud_element_set_script(HID_BattleMessage1, &HES_MashAButton); + break; + case BTL_MSG_ACTION_TIP_MASH_LEFT: + hud_element_set_script(HID_BattleMessage1, &HES_StickMashLeft); + break; + case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED: + hud_element_set_script(HID_BattleMessage1, &HES_StickTapLeft); + hud_element_set_script(HID_BattleMessage2, &HES_TimingBlink); + break; + case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM: + hud_element_set_script(HID_BattleMessage1, &HES_StickTapLeft); + hud_element_set_script(HID_BattleMessage2, &HES_AimTarget); + break; + case BTL_MSG_ACTION_TIP_UNUSED_1: + hud_element_set_script(HID_BattleMessage1, &HES_MashCUpButton); + hud_element_set_script(HID_BattleMessage2, &HES_MashCDownButton1); + hud_element_set_script(HID_BattleMessage3, &HES_MashCLeftButton); + hud_element_set_script(HID_BattleMessage4, &HES_MashCRightButton1); + break; + case BTL_MSG_ACTION_TIP_UNUSED_2: + hud_element_set_script(HID_BattleMessage1, &HES_StickBackAndForth); + break; + case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN: + hud_element_set_script(HID_BattleMessage1, &HES_PressAButton); + hud_element_set_script(HID_BattleMessage2, &HES_PressBButton); + hud_element_set_script(HID_BattleMessage3, &HES_PressCDownButton); + break; + case BTL_MSG_ACTION_TIP_NOT_USED_1: + hud_element_set_script(HID_BattleMessage1, &HES_RotateStickCW); + break; + case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING: + hud_element_set_script(HID_BattleMessage1, &HES_TimingBlink); + hud_element_set_script(HID_BattleMessage2, &HES_MashAButton); + break; + case BTL_MSG_ACTION_TIP_NOT_USED_2: + hud_element_set_script(HID_BattleMessage1, &HES_MashAButton); + hud_element_set_script(HID_BattleMessage2, &HES_MashBButton2); + break; + case BTL_MSG_ACTION_TIP_MASH_BOTH: + hud_element_set_script(HID_BattleMessage1, &HES_MashAButton); + hud_element_set_script(HID_BattleMessage2, &HES_MashBButton1); + break; + case BTL_MSG_ACTION_TIP_UNUSED_3: + hud_element_set_script(HID_BattleMessage1, &HES_MashAButton); + break; + case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE: + hud_element_set_script(HID_BattleMessage1, &HES_TimingBlink); + hud_element_set_script(HID_BattleMessage2, &HES_PressAButton); + break; + case BTL_MSG_ACTION_TIP_MOVE_TO_AIM: + hud_element_set_script(HID_BattleMessage1, &HES_StickTapRight); + break; + case BTL_MSG_ACTION_TIP_UNUSED_4: + hud_element_set_script(HID_BattleMessage1, &HES_MashAButton); + break; + case BTL_MSG_ACTION_TIP_BREAK_FREE: + case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE: + hud_element_set_script(HID_BattleMessage1, &HES_PressAButton); + // fallthrough + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING: + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE: + case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP: + case BTL_MSG_ACTION_TIP_NOT_USED_3: + hud_element_set_script(HID_BattleMessage1, &HES_PressAButton); + break; + } + if (popup->duration != -1) { + popup->duration = 30; + } + popup->showMsgState = BTL_MSG_STATE_2; + break; + } + break; + case BTL_MSG_STATE_2: // show message + if ((actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL) + || (gBattleStatus.flags1 & BS_FLAGS1_10000) + ) { + s16* duration; + + if (D_8029F64E < 192) { + if (!D_8029F64C) { + D_8029F64E += 10; + if (D_8029F64E > 192) { + D_8029F64E = 192; + } + } else { + break; + } + } + + gWindows[WINDOW_ID_BATTLE_POPUP].pos.y = D_8029F64E + D_8029F650; + + if (popup->duration == -1) { + break; + } + + if (popup->duration != 0) { + popup->duration--; + break; + } + + switch (popup->messageIndex) { + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING: + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE: + case BTL_MSG_ACTION_TIP_MASH_BUTTON: + case BTL_MSG_ACTION_TIP_MASH_LEFT: + case BTL_MSG_ACTION_TIP_UNUSED_2: + case BTL_MSG_ACTION_TIP_NOT_USED_1: + case BTL_MSG_ACTION_TIP_UNUSED_3: + case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP: + case BTL_MSG_ACTION_TIP_UNUSED_4: + case BTL_MSG_ACTION_TIP_BREAK_FREE: + case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE: + case BTL_MSG_ACTION_TIP_NOT_USED_3: + hud_element_free(HID_BattleMessage1); + break; + case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED: + case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM: + case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING: + case BTL_MSG_ACTION_TIP_NOT_USED_2: + case BTL_MSG_ACTION_TIP_MASH_BOTH: + case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE: + hud_element_free(HID_BattleMessage1); + hud_element_free(HID_BattleMessage2); + break; + case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN: + case BTL_MSG_ACTION_TIP_MOVE_TO_AIM: + hud_element_free(HID_BattleMessage1); + hud_element_free(HID_BattleMessage2); + hud_element_free(HID_BattleMessage3); + break; + case BTL_MSG_ACTION_TIP_UNUSED_1: + hud_element_free(HID_BattleMessage1); + hud_element_free(HID_BattleMessage2); + hud_element_free(HID_BattleMessage3); + hud_element_free(HID_BattleMessage4); + break; + } + D_8029F64A = FALSE; + shouldDisposeWindow = TRUE; + } + break; + } + break; + case BTL_MSG_NO_JUMP_TARGET: + case BTL_MSG_NO_HAMMER_TARGET: + case BTL_MSG_NO_ITEM_TARGET: + case BTL_MSG_46: + case BTL_MSG_47: + case BTL_MSG_CANT_SELECT_NOW: + switch (popup->showMsgState) { + default: + break; + case BTL_MSG_STATE_INIT: + popup->showMsgState = BTL_MSG_STATE_1; + break; + case BTL_MSG_STATE_1: + popup->showMsgState = BTL_MSG_STATE_2; + break; + case BTL_MSG_STATE_2: + if (battleStatus->curButtonsPressed & (BUTTON_A | BUTTON_B)) { + popup->duration = 0; + } + + if (popup->duration != 0) { + popup->duration--; + } else { + popup->showMsgState = BTL_MSG_STATE_3; + } + break; + case BTL_MSG_STATE_3: + popup->showMsgState = BTL_MSG_STATE_4; + break; + case BTL_MSG_STATE_4: + shouldDisposeWindow = TRUE; + break; + } + break; + case BTL_MSG_HAMMER_DISABLED_1: + case BTL_MSG_HAMMER_DISABLED_2: + case BTL_MSG_HAMMER_DISABLED_3: + case BTL_MSG_JUMP_DISABLED_1: + case BTL_MSG_JUMP_DISABLED_2: + case BTL_MSG_JUMP_DISABLED_3: + case BTL_MSG_ITEMS_DISABLED: + switch (popup->showMsgState) { + case BTL_MSG_STATE_INIT: + switch (popup->messageIndex) { + case BTL_MSG_HAMMER_DISABLED_1: + HID_BattleMessage1 = hud_element_create(&HES_Item_MenuHammer1); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_HAMMER_DISABLED_2: + HID_BattleMessage1 = hud_element_create(&HES_Item_MenuHammer2); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_HAMMER_DISABLED_3: + HID_BattleMessage1 = hud_element_create(&HES_Item_MenuHammer3); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_JUMP_DISABLED_1: + HID_BattleMessage1 = hud_element_create(&HES_Item_MenuBoots1); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_JUMP_DISABLED_2: + HID_BattleMessage1 = hud_element_create(&HES_Item_MenuBoots2); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_JUMP_DISABLED_3: + HID_BattleMessage1 = hud_element_create(&HES_Item_MenuBoots3); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + case BTL_MSG_ITEMS_DISABLED: + HID_BattleMessage1 = hud_element_create(&HES_Item_MenuItems); + hud_element_set_flags(HID_BattleMessage1, HUD_ELEMENT_FLAG_80); + hud_element_set_render_pos(HID_BattleMessage1, -100, -100); + break; + } + popup->showMsgState = BTL_MSG_STATE_1; + break; + case BTL_MSG_STATE_1: + if (popup->duration != 0) { + popup->duration--; + break; + } + shouldDisposeWindow = TRUE; + hud_element_free(HID_BattleMessage1); + break; + } + break; + } + if (shouldDisposeWindow) { + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE); + bPopupMessage = NULL; + free_popup(popup); + } +} + +void btl_message_popup_draw_content(void* data, s32 x, s32 y) { + PopupMessage* popup = data; + s32 messageID; + s32 msgLinesIdx; + s32 opacity; + + x += 15; + y += 6; + + switch (popup->messageIndex) { + case BTL_MSG_MERLEE_ATK_UP: + case BTL_MSG_MERLEE_DEF_UP: + case BTL_MSG_MERLEE_EXP_UP: + case BTL_MSG_MERLEE_DONE: + case BTL_MSG_CANT_CHARGE: + case BTL_MSG_ENEMY_MISSED: + case BTL_MSG_PLAYER_DAZED: + case BTL_MSG_PLAYER_ASLEEP: + case BTL_MSG_PLAYER_FROZEN: + case BTL_MSG_PLAYER_POISONED: + case BTL_MSG_PLAYER_SHRUNK: + case BTL_MSG_PLAYER_PARALYZED: + case BTL_MSG_PLAYER_CHARGED: + case BTL_MSG_PLAYER_TRANSPARENT: + case BTL_MSG_ENEMY_DAZED: + case BTL_MSG_ENEMY_ASLEEP: + case BTL_MSG_ENEMY_FROZEN: + case BTL_MSG_ENEMY_POISONED: + case BTL_MSG_ENEMY_SHRUNK: + case BTL_MSG_ENEMY_PARALYZED: + case BTL_MSG_ENEMY_ELECTRIFIED: + case BTL_MSG_ENEMY_CANT_MOVE: + case BTL_MSG_STAR_POWER_RECHARGED: + case BTL_MSG_STAR_POWER_MAXED: + case BTL_MSG_STAR_POWER_FILLED: + case BTL_MSG_PARTNER_INJURED: + case BTL_MSG_CHARGE_GOOMBARIO: + case BTL_MSG_CHARGE_GOOMBARIO_MORE: + case BTL_MSG_WATER_BLOCK_BEGIN: + case BTL_MSG_WATER_BLOCK_END: + case BTL_MSG_CLOUD_NINE_BEGIN: + case BTL_MSG_CLOUD_NINE_END: + case BTL_MSG_TURBO_CHARGE_BEGIN: + case BTL_MSG_TURBO_CHARGE_END: + case BTL_MSG_CHILL_OUT_BEGIN: + case BTL_MSG_UNUSED_CLOUD_NINE: + case BTL_MSG_NO_JUMP_TARGET: + case BTL_MSG_NO_HAMMER_TARGET: + case BTL_MSG_NO_ITEM_TARGET: + case BTL_MSG_46: + case BTL_MSG_47: + case BTL_MSG_CANT_SELECT_NOW: + case BTL_MSG_CANT_SWITCH: + case BTL_MSG_CANT_SWITCH_UNUSED: + case BTL_MSG_CANT_MOVE_UNUSED: + case BTL_MSG_CANT_SELECT_NOW_ALT: + messageID = BattleMessages[popup->messageIndex]; + msgLinesIdx = get_msg_lines(messageID) - 1; + y += BattleMessage_TextOffsetsY[msgLinesIdx]; + draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0); + break; + case BTL_MSG_CHARGE_HAMMER: + case BTL_MSG_CHARGE_HAMMER_MORE: + case BTL_MSG_CHARGE_JUMP: + case BTL_MSG_CHARGE_JUMP_MORE: + case BTL_MSG_ATTACK_UP: + case BTL_MSG_DEFENCE_UP: + case BTL_MSG_HEAL_ONE: + case BTL_MSG_HEAL_ALL: + case BTL_MSG_ENEMY_TRANSPARENT: + case BTL_MSG_ENEMY_CHARGED: + messageID = BattleMessages[popup->messageIndex]; + msgLinesIdx = get_msg_lines(messageID) - 1; + y += BattleMessage_TextOffsetsY[msgLinesIdx]; + set_message_value(BattlePopupMessageVar, 0); + draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0); + break; + case BTL_MSG_CANT_MOVE: + messageID = BattleMessages[popup->messageIndex]; + msgLinesIdx = get_msg_lines(messageID) - 1; + y += BattleMessage_TextOffsetsY[msgLinesIdx]; + set_message_msg(bActorMessages[BattlePopupMessageVar], 0); + draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0); + break; + case BTL_MSG_HAMMER_DISABLED_1: + case BTL_MSG_HAMMER_DISABLED_2: + case BTL_MSG_HAMMER_DISABLED_3: + case BTL_MSG_JUMP_DISABLED_1: + case BTL_MSG_JUMP_DISABLED_2: + case BTL_MSG_JUMP_DISABLED_3: + case BTL_MSG_ITEMS_DISABLED: + messageID = BattleMessages[popup->messageIndex]; + draw_msg(messageID, x + 29, y + 6, 255, MSG_PAL_0F, 0); + hud_element_set_render_pos(HID_BattleMessage1, x + 13, y + 14); + hud_element_draw_clipped(HID_BattleMessage1); + break; + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING: + case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED: + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE: + case BTL_MSG_ACTION_TIP_MASH_BUTTON: + case BTL_MSG_ACTION_TIP_MASH_LEFT: + case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM: + case BTL_MSG_ACTION_TIP_UNUSED_1: + case BTL_MSG_ACTION_TIP_UNUSED_2: + case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN: + case BTL_MSG_ACTION_TIP_NOT_USED_1: + case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING: + case BTL_MSG_ACTION_TIP_NOT_USED_2: + case BTL_MSG_ACTION_TIP_MASH_BOTH: + case BTL_MSG_ACTION_TIP_UNUSED_3: + case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP: + case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE: + case BTL_MSG_ACTION_TIP_MOVE_TO_AIM: + case BTL_MSG_ACTION_TIP_UNUSED_4: + case BTL_MSG_ACTION_TIP_BREAK_FREE: + case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE: + case BTL_MSG_ACTION_TIP_NOT_USED_3: + opacity = 255; + if (popup->showMsgState < BTL_MSG_STATE_2) { + opacity = 160; + } + if (popup->messageIndex == BTL_MSG_ACTION_TIP_UNUSED_3) { + opacity = 255; + } + + x -= 11; + y -= 6; + messageID = BattleMessages[popup->messageIndex]; + msgLinesIdx = get_msg_lines(messageID) - 1; + y += BattleMessage_TextOffsetsY[msgLinesIdx]; + draw_msg(messageID, x + 11, y + 6, opacity, MSG_PAL_0F, 0); + + switch (popup->messageIndex) { + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING: + hud_element_set_render_pos(HID_BattleMessage1, x + 65, y + 14); + hud_element_set_scale(HID_BattleMessage1, 0.5f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + break; + case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED: + hud_element_set_render_pos(HID_BattleMessage1, x + 55, y + 14); + hud_element_set_scale(HID_BattleMessage1, 0.6f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + + hud_element_set_render_pos(HID_BattleMessage2, x + 73, y + 31); + hud_element_set_alpha(HID_BattleMessage2, opacity); + hud_element_draw_clipped(HID_BattleMessage2); + break; + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE: + hud_element_set_render_pos(HID_BattleMessage1, x + 64, y + 14); + hud_element_set_scale(HID_BattleMessage1, 0.5f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + break; + case BTL_MSG_ACTION_TIP_MASH_BUTTON: + hud_element_set_render_pos(HID_BattleMessage1, x + 67, y + 14); + hud_element_set_scale(HID_BattleMessage1, 0.5f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + break; + case BTL_MSG_ACTION_TIP_MASH_LEFT: + hud_element_set_render_pos(HID_BattleMessage1, x + 56, y + 14); + hud_element_set_scale(HID_BattleMessage1, 0.6f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + break; + case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM: + hud_element_set_render_pos(HID_BattleMessage1, x + 65, y + 13); + hud_element_set_scale(HID_BattleMessage1, 0.6f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + + hud_element_set_render_pos(HID_BattleMessage2, x + 146, y + 32); + hud_element_set_scale(HID_BattleMessage2, 0.8f); + hud_element_set_alpha(HID_BattleMessage2, opacity); + func_80144218(HID_BattleMessage2); + break; + case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN: + hud_element_set_render_pos(HID_BattleMessage1, x + 86, y + 13); + hud_element_set_scale(HID_BattleMessage1, 0.5f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + + hud_element_set_render_pos(HID_BattleMessage2, x + 64, y + 13); + hud_element_set_scale(HID_BattleMessage2, 0.5f); + hud_element_set_alpha(HID_BattleMessage2, opacity); + hud_element_draw_clipped(HID_BattleMessage2); + + hud_element_set_render_pos(HID_BattleMessage3, x + 108, y + 13); + hud_element_set_scale(HID_BattleMessage3, 0.5f); + hud_element_set_alpha(HID_BattleMessage3, opacity); + hud_element_draw_clipped(HID_BattleMessage3); + break; + case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING: + hud_element_set_render_pos(HID_BattleMessage1, x + 105, y + 13); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + + hud_element_set_render_pos(HID_BattleMessage2, x + 65, y + 14); + hud_element_set_scale(HID_BattleMessage2, 0.5f); + hud_element_set_alpha(HID_BattleMessage2, opacity); + hud_element_draw_clipped(HID_BattleMessage2); + break; + case BTL_MSG_ACTION_TIP_MASH_BOTH: + hud_element_set_render_pos(HID_BattleMessage1, x + 63, y + 14); + hud_element_set_scale(HID_BattleMessage1, 0.5f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + + hud_element_set_render_pos(HID_BattleMessage2, x + 84, y + 14); + hud_element_set_scale(HID_BattleMessage2, 0.5f); + hud_element_set_alpha(HID_BattleMessage2, opacity); + hud_element_draw_clipped(HID_BattleMessage2); + break; + case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP: + hud_element_set_render_pos(HID_BattleMessage1, x + 124, y + 14); + hud_element_set_scale(HID_BattleMessage1, 0.5f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + break; + case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE: + hud_element_set_render_pos(HID_BattleMessage1, x + 56, y + 31); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + + hud_element_set_render_pos(HID_BattleMessage2, x + 53, y + 14); + hud_element_set_scale(HID_BattleMessage2, 0.5f); + hud_element_set_alpha(HID_BattleMessage2, opacity); + hud_element_draw_clipped(HID_BattleMessage2); + break; + case BTL_MSG_ACTION_TIP_MOVE_TO_AIM: + hud_element_set_render_pos(HID_BattleMessage1, x + 107, y + 13); + hud_element_set_scale(HID_BattleMessage1, 0.6f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + + hud_element_set_render_pos(HID_BattleMessage2, x + 210, y + 15); + hud_element_set_scale(HID_BattleMessage2, 0.8f); + hud_element_set_alpha(HID_BattleMessage2, opacity); + func_80144218(HID_BattleMessage2); + + hud_element_set_render_pos(HID_BattleMessage3, x + 56, y + 15); + hud_element_set_scale(HID_BattleMessage3, 0.8f); + hud_element_set_alpha(HID_BattleMessage3, opacity); + func_80144218(HID_BattleMessage3); + break; + case BTL_MSG_ACTION_TIP_BREAK_FREE: + case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE: + hud_element_set_render_pos(HID_BattleMessage1, x + 64, y + 13); + hud_element_set_scale(HID_BattleMessage1, 0.5f); + hud_element_set_alpha(HID_BattleMessage1, opacity); + hud_element_draw_clipped(HID_BattleMessage1); + break; + } + break; + } +} + +void btl_show_message_popup(void* data) { + PopupMessage* popup = data; + s32 numLines; + s32 posX; + s32 posY = 80; + s32 width; + s32 msgWidth; + s32 height; + + switch (popup->messageIndex) { + case BTL_MSG_MERLEE_ATK_UP: + case BTL_MSG_MERLEE_DEF_UP: + case BTL_MSG_MERLEE_EXP_UP: + case BTL_MSG_MERLEE_DONE: + case BTL_MSG_CANT_CHARGE: + case BTL_MSG_ENEMY_MISSED: + case BTL_MSG_PLAYER_DAZED: + case BTL_MSG_PLAYER_ASLEEP: + case BTL_MSG_PLAYER_FROZEN: + case BTL_MSG_PLAYER_POISONED: + case BTL_MSG_PLAYER_SHRUNK: + case BTL_MSG_PLAYER_PARALYZED: + case BTL_MSG_PLAYER_CHARGED: + case BTL_MSG_PLAYER_TRANSPARENT: + case BTL_MSG_ENEMY_DAZED: + case BTL_MSG_ENEMY_ASLEEP: + case BTL_MSG_ENEMY_FROZEN: + case BTL_MSG_ENEMY_POISONED: + case BTL_MSG_ENEMY_SHRUNK: + case BTL_MSG_ENEMY_PARALYZED: + case BTL_MSG_ENEMY_ELECTRIFIED: + case BTL_MSG_ENEMY_CANT_MOVE: + case BTL_MSG_STAR_POWER_RECHARGED: + case BTL_MSG_STAR_POWER_MAXED: + case BTL_MSG_STAR_POWER_FILLED: + case BTL_MSG_PARTNER_INJURED: + case BTL_MSG_CHARGE_GOOMBARIO: + case BTL_MSG_CHARGE_GOOMBARIO_MORE: + case BTL_MSG_WATER_BLOCK_BEGIN: + case BTL_MSG_WATER_BLOCK_END: + case BTL_MSG_CLOUD_NINE_BEGIN: + case BTL_MSG_CLOUD_NINE_END: + case BTL_MSG_TURBO_CHARGE_BEGIN: + case BTL_MSG_TURBO_CHARGE_END: + case BTL_MSG_CHILL_OUT_BEGIN: + case BTL_MSG_UNUSED_CLOUD_NINE: + case BTL_MSG_NO_JUMP_TARGET: + case BTL_MSG_NO_HAMMER_TARGET: + case BTL_MSG_NO_ITEM_TARGET: + case BTL_MSG_46: + case BTL_MSG_47: + case BTL_MSG_CANT_SELECT_NOW: + case BTL_MSG_CANT_SWITCH: + case BTL_MSG_CANT_SWITCH_UNUSED: + case BTL_MSG_CANT_MOVE_UNUSED: + case BTL_MSG_CANT_SELECT_NOW_ALT: + if (popup->needsInit) { + s32 messageID; + + popup->needsInit = FALSE; + messageID = BattleMessages[popup->messageIndex]; + msgWidth = get_msg_width(messageID, 0) + 30; + posX = 160 - (msgWidth / 2); + width = msgWidth; + numLines = get_msg_lines(messageID) - 1; + height = BattleMessage_BoxSizesY[numLines]; + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, btl_message_popup_draw_content, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); + } + break; + case BTL_MSG_HAMMER_DISABLED_1: + case BTL_MSG_HAMMER_DISABLED_2: + case BTL_MSG_HAMMER_DISABLED_3: + case BTL_MSG_JUMP_DISABLED_1: + case BTL_MSG_JUMP_DISABLED_2: + case BTL_MSG_JUMP_DISABLED_3: + case BTL_MSG_ITEMS_DISABLED: + if (popup->needsInit) { + popup->needsInit = FALSE; + msgWidth = get_msg_width(BattleMessages[popup->messageIndex], 0) + 55; + posX = 160 - (msgWidth / 2); + width = msgWidth; + height = 40; + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, btl_message_popup_draw_content, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); + } + break; + case BTL_MSG_CHARGE_HAMMER: + case BTL_MSG_CHARGE_HAMMER_MORE: + case BTL_MSG_CHARGE_JUMP: + case BTL_MSG_CHARGE_JUMP_MORE: + case BTL_MSG_ATTACK_UP: + case BTL_MSG_DEFENCE_UP: + case BTL_MSG_HEAL_ONE: + case BTL_MSG_HEAL_ALL: + case BTL_MSG_ENEMY_TRANSPARENT: + case BTL_MSG_ENEMY_CHARGED: + if (popup->needsInit) { + s32 messageID; + + popup->needsInit = FALSE; + messageID = BattleMessages[popup->messageIndex]; + set_message_value(BattlePopupMessageVar, 0); + msgWidth = get_msg_width(messageID, 0) + 31; + posX = 160 - (msgWidth / 2); + width = msgWidth; + numLines = get_msg_lines(messageID) - 1; + height = BattleMessage_BoxSizesY[numLines]; + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, btl_message_popup_draw_content, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); + } + break; + case BTL_MSG_CANT_MOVE: + if (popup->needsInit) { + s32 messageID; + + popup->needsInit = FALSE; + messageID = BattleMessages[popup->messageIndex]; + set_message_msg(bActorMessages[BattlePopupMessageVar], 0); + msgWidth = get_msg_width(messageID, 0) + 31; + posX = 160 - (msgWidth / 2); + width = msgWidth; + numLines = get_msg_lines(messageID) - 1; + height = BattleMessage_BoxSizesY[numLines]; + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, btl_message_popup_draw_content, popup, -1); + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); + } + break; + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING: + case BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED: + case BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE: + case BTL_MSG_ACTION_TIP_MASH_BUTTON: + case BTL_MSG_ACTION_TIP_MASH_LEFT: + case BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM: + case BTL_MSG_ACTION_TIP_UNUSED_1: + case BTL_MSG_ACTION_TIP_UNUSED_2: + case BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN: + case BTL_MSG_ACTION_TIP_NOT_USED_1: + case BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING: + case BTL_MSG_ACTION_TIP_NOT_USED_2: + case BTL_MSG_ACTION_TIP_MASH_BOTH: + case BTL_MSG_ACTION_TIP_UNUSED_3: + case BTL_MSG_ACTION_TIP_HOLD_THEN_TAP: + case BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE: + case BTL_MSG_ACTION_TIP_MOVE_TO_AIM: + case BTL_MSG_ACTION_TIP_UNUSED_4: + case BTL_MSG_ACTION_TIP_BREAK_FREE: + case BTL_MSG_ACTION_TIP_REDUCE_DAMAGE: + case BTL_MSG_ACTION_TIP_NOT_USED_3: + if (popup->needsInit) { + s32 messageID; + + popup->needsInit = FALSE; + messageID = BattleMessages[popup->messageIndex]; + msgWidth = get_msg_width(messageID, 0) + 31; + posX = 160 - (msgWidth / 2); + posY = 192; + width = msgWidth; + numLines = get_msg_lines(messageID) - 1; + height = BattleMessage_BoxSizesY[numLines]; + if (popup->messageIndex == BTL_MSG_ACTION_TIP_UNUSED_3) { + posY = 120; + D_8029F64C = TRUE; + } + D_8029F64E = posY; + D_8029F650 = BattleMessage_BoxOffsetsY[numLines]; + + posY = D_8029F64E + D_8029F650; + set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, btl_message_popup_draw_content, popup, -1); + if (popup->messageIndex == BTL_MSG_ACTION_TIP_UNUSED_3) { + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW); + } else { + set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_DARKENED); + } + } + break; + } +} + +ApiStatus ShowMessageBox(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 messageIndex = evt_get_variable(script, *args++); + s32 duration = evt_get_variable(script, *args++); + + btl_show_battle_message(messageIndex, duration); + return ApiStatus_DONE2; +} + +ApiStatus ShowVariableMessageBox(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 messageIndex = evt_get_variable(script, *args++); + s32 duration = evt_get_variable(script, *args++); + s32 varValue = evt_get_variable(script, *args++); + + btl_show_variable_battle_message(messageIndex, duration, varValue); + return ApiStatus_DONE2; +} + +ApiStatus IsMessageBoxDisplayed(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 outVar = *args++; + + evt_set_variable(script, outVar, btl_is_popup_displayed()); + return ApiStatus_DONE2; +} + +ApiStatus WaitForMessageBoxDone(Evt* script, s32 isInitialCall) { + return !btl_is_popup_displayed() * ApiStatus_DONE2; +} + +ApiStatus ForceCloseMessageBox(Evt* script, s32 isInitialCall) { + if (bPopupMessage != NULL) { + bPopupMessage->duration = 0; + } + return ApiStatus_DONE2; +} + +ApiStatus SetMessageBoxDuration(Evt* script, s32 isInitialCall) { + btl_set_popup_duration(evt_get_variable(script, *script->ptrReadPos)); + return ApiStatus_DONE2; +} + +ApiStatus func_80251434(Evt* script, s32 isInitialCall) { + func_8024FAE8(); + return ApiStatus_DONE2; +} + +ApiStatus func_80251454(Evt* script, s32 isInitialCall) { + func_8024FAFC(); + return ApiStatus_DONE2; +} + +void apply_shock_effect(Actor* actor) { + ActorPart* part = actor->partsTable; + + while (part != NULL) { + if (!(part->flags & ACTOR_PART_FLAG_INVISIBLE) + && part->idleAnimations != NULL + && !(part->flags & ACTOR_PART_FLAG_SKIP_SHOCK_EFFECT) + ) { + f32 x = part->curPos.x; + f32 y = part->curPos.y + (actor->size.y / 10); + f32 z = part->curPos.z; + s32 f1 = (part->size.x + (part->size.x / 4)) * actor->scalingFactor; + s32 f2 = (part->size.y - 2) * actor->scalingFactor; + + if (actor->flags & ACTOR_FLAG_HALF_HEIGHT) { + y -= actor->size.y / 2; + } + + fx_flashing_box_shockwave(0, x, y, z, f1, f2); + } + part = part->nextPart; + } +} diff --git a/src/battle/btl_evt_library.c b/src/battle/standard_events.c similarity index 98% rename from src/battle/btl_evt_library.c rename to src/battle/standard_events.c index d74dfa1d22..b1efb10691 100644 --- a/src/battle/btl_evt_library.c +++ b/src/battle/standard_events.c @@ -452,7 +452,7 @@ EvtScript EVS_Partner_BurnHit = { EVT_CALL(GetDamageIntensity) EVT_SWITCH(LVar0) EVT_CASE_EQ(DAMAGE_INTENSITY_LIGHT) - EVT_CALL(StartRumble, 3) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_LIGHT) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0) @@ -482,7 +482,7 @@ EvtScript EVS_Partner_BurnHit = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_MEDIUM) - EVT_CALL(StartRumble, 3) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_LIGHT) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 4, 0) @@ -512,7 +512,7 @@ EvtScript EVS_Partner_BurnHit = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_HEAVY) - EVT_CALL(StartRumble, 4) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_HEAVY) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 6, 0) @@ -542,7 +542,7 @@ EvtScript EVS_Partner_BurnHit = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_EXTREME) - EVT_CALL(StartRumble, 5) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_EXTREME) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) @@ -591,7 +591,7 @@ EvtScript EVS_Partner_Hit_Impl = { EVT_CALL(GetDamageIntensity) EVT_SWITCH(LVar0) EVT_CASE_EQ(DAMAGE_INTENSITY_LIGHT) - EVT_CALL(StartRumble, 3) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_LIGHT) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0) @@ -621,7 +621,7 @@ EvtScript EVS_Partner_Hit_Impl = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_MEDIUM) - EVT_CALL(StartRumble, 3) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_LIGHT) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 4, 0) @@ -651,7 +651,7 @@ EvtScript EVS_Partner_Hit_Impl = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_HEAVY) - EVT_CALL(StartRumble, 4) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_HEAVY) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 6, 0) @@ -681,7 +681,7 @@ EvtScript EVS_Partner_Hit_Impl = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_EXTREME) - EVT_CALL(StartRumble, 5) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_EXTREME) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) @@ -723,7 +723,7 @@ EvtScript EVS_Partner_Hit_Impl = { // Internal script for animating a partner hit by a crushing attack EvtScript EVS_Partner_Crushed_Impl = { - EVT_CALL(StartRumble, 6) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_MAX) EVT_SETF(LVar0, EVT_FLOAT(1.0)) EVT_SETF(LVar1, EVT_FLOAT(1.0)) EVT_LOOP(10) @@ -824,7 +824,7 @@ EvtScript EVS_Player_Hit_Impl = { EVT_CALL(GetDamageIntensity) EVT_SWITCH(LVar0) EVT_CASE_EQ(DAMAGE_INTENSITY_LIGHT) - EVT_CALL(StartRumble, 3) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_LIGHT) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0) @@ -854,7 +854,7 @@ EvtScript EVS_Player_Hit_Impl = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_MEDIUM) - EVT_CALL(StartRumble, 3) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_LIGHT) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 4, 0) @@ -884,7 +884,7 @@ EvtScript EVS_Player_Hit_Impl = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_HEAVY) - EVT_CALL(StartRumble, 4) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_HEAVY) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 1, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 6, 0) @@ -914,7 +914,7 @@ EvtScript EVS_Player_Hit_Impl = { EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 0, 0) EVT_WAIT(10) EVT_CASE_EQ(DAMAGE_INTENSITY_EXTREME) - EVT_CALL(StartRumble, 5) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_EXTREME) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 3, 0) EVT_WAIT(1) EVT_CALL(SetActorDispOffset, ACTOR_SELF, 0, 8, 0) @@ -955,7 +955,7 @@ EvtScript EVS_Player_Hit_Impl = { }; EvtScript EVS_Player_Crushed_Impl = { - EVT_CALL(StartRumble, 6) + EVT_CALL(StartRumble, BTL_RUMBLE_HIT_MAX) EVT_SETF(LVar0, EVT_FLOAT(1.0)) EVT_SETF(LVar1, EVT_FLOAT(1.0)) EVT_LOOP(10) @@ -1142,7 +1142,7 @@ EvtScript EVS_Player_NoDamageHit = { EvtScript EVS_ForceNextTarget = { EVT_CALL(GetOwnerID, LVarA) - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1153,10 +1153,10 @@ EvtScript EVS_ForceNextTarget = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(0) EVT_END_IF - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(1) EVT_CALL(GetOwnerTarget, LVar0, LVar1) @@ -1167,16 +1167,16 @@ EvtScript EVS_ForceNextTarget = { EVT_END_IF EVT_END_IF EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(1) EVT_END_IF - EVT_CALL(EnemyCreateTargetList, TARGET_FLAG_2 | TARGET_FLAG_8000) + EVT_CALL(CreateHomeTargetList, TARGET_FLAG_2 | TARGET_FLAG_PRIMARY_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(2) EVT_CALL(GetOwnerTarget, LVar0, LVar1) EVT_CALL(SetActorFlagBits, LVar0, ACTOR_FLAG_NO_ATTACK | ACTOR_FLAG_NO_DMG_APPLY, TRUE) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_NE(LVar0, -1) + EVT_IF_NE(LVar0, ITER_NO_MORE) EVT_GOTO(2) EVT_END_IF EVT_RETURN @@ -1799,7 +1799,7 @@ EvtScript EVS_Enemy_ScareAway = { }; EvtScript EVS_Enemy_SpinSmash_HitNext = { - EVT_CALL(PlayerCreateTargetList, TARGET_FLAG_4 | TARGET_FLAG_10000) + EVT_CALL(CreateCurrentPosTargetList, TARGET_FLAG_GROUND | TARGET_FLAG_ALLOW_TARGET_ONLY) EVT_CALL(InitTargetIterator) EVT_LABEL(0) EVT_CALL(GetOwnerID, LVar1) @@ -1810,7 +1810,7 @@ EvtScript EVS_Enemy_SpinSmash_HitNext = { EVT_END_IF EVT_LABEL(1) EVT_CALL(ChooseNextTarget, ITER_NEXT, LVar0) - EVT_IF_EQ(LVar0, -1) + EVT_IF_EQ(LVar0, ITER_NO_MORE) EVT_GOTO(10) EVT_END_IF EVT_CALL(GetOwnerTarget, LVar0, LVar9) diff --git a/src/battle/use_items.c b/src/battle/use_items.c index 705d62dce5..9d9bfb1294 100644 --- a/src/battle/use_items.c +++ b/src/battle/use_items.c @@ -120,7 +120,7 @@ API_CALLABLE(LoadItemScript) { while (TRUE) { if (playerData->invItems[i] == itemID) { - playerData->invItems[i] = 0; + playerData->invItems[i] = ITEM_NONE; break; } i++; @@ -170,10 +170,10 @@ API_CALLABLE(LoadMysteryItemScript) { s32* itemPtr; s32 i; - battleStatus->curTargetListFlags = item->targetFlags | TARGET_FLAG_8000; + battleStatus->curTargetListFlags = item->targetFlags | TARGET_FLAG_PRIMARY_ONLY; battleStatus->curAttackElement = 0; - player_create_target_list(actor); + create_current_pos_target_list(actor); target = &actor->targetData[actor->targetIndexList[0]]; battleStatus->curTargetID = target->actorID; diff --git a/src/8800.c b/src/cam_main.c similarity index 94% rename from src/8800.c rename to src/cam_main.c index 04f1282dd5..acf935a2cf 100644 --- a/src/8800.c +++ b/src/cam_main.c @@ -80,7 +80,7 @@ void update_cameras(void) { guOrthoF(cam->perspectiveMatrix, -w * 0.5, w * 0.5, -h * 0.5, h * 0.5, -1000.0f, 1000.0f, 1.0f); } - get_screen_coords(0, cam->targetPos.x, cam->targetPos.y, cam->targetPos.z, &sx, &sy, &sz); + get_screen_coords(CAM_DEFAULT, cam->targetPos.x, cam->targetPos.y, cam->targetPos.z, &sx, &sy, &sz); cam->targetScreenCoords.x = sx; cam->targetScreenCoords.y = sy; cam->targetScreenCoords.z = sz; @@ -111,7 +111,7 @@ void render_frame(s32 isSecondPass) { Camera* camera = &gCameras[camID]; u16 matrixListPos; - if (camera->flags == 0 || (camera->flags & (CAMERA_FLAG_80 | CAMERA_FLAG_DISABLED))) { + if (camera->flags == 0 || (camera->flags & (CAMERA_FLAG_NO_DRAW | CAMERA_FLAG_DISABLED))) { continue; } @@ -192,8 +192,8 @@ void render_frame(s32 isSecondPass) { camera->unkMatrix = &gDisplayContext->matrixStack[gMatrixListPos]; matrixListPos = gMatrixListPos++; guRotate(&gDisplayContext->matrixStack[matrixListPos], -camera->trueRot.x, 0.0f, 1.0f, 0.0f); - camera->vpAlt.vp.vtrans[0] = camera->vp.vp.vtrans[0] + gGameStatusPtr->unk_82.x; - camera->vpAlt.vp.vtrans[1] = camera->vp.vp.vtrans[1] + gGameStatusPtr->unk_82.y; + camera->vpAlt.vp.vtrans[0] = camera->vp.vp.vtrans[0] + gGameStatusPtr->altViewportOffset.x; + camera->vpAlt.vp.vtrans[1] = camera->vp.vp.vtrans[1] + gGameStatusPtr->altViewportOffset.y; if (!(camera->flags & CAMERA_FLAG_ORTHO)) { if (gCurrentCamID != CAM_3) { @@ -358,7 +358,7 @@ Camera* initialize_next_camera(CameraInitData* initData) { ASSERT(camID < ARRAY_COUNT(gCameras)); - camera->flags = initData->flags | (CAMERA_FLAG_1 | CAMERA_FLAG_LEAD_PLAYER); + camera->flags = initData->flags | CAMERA_FLAG_INITIALIZED | CAMERA_FLAG_LEAD_PLAYER; camera->moveFlags = 0; camera->lookAt_eye.x = 0; camera->lookAt_eye.y = 0; @@ -380,7 +380,7 @@ Camera* initialize_next_camera(CameraInitData* initData) { camera->zoomPercent = 100; set_cam_viewport(camID, initData->viewStartX, initData->viewStartY, initData->viewWidth, initData->viewHeight); camera->unk_212 = -1; - camera->unk_530 = 1; + camera->unk_530 = TRUE; camera->bgColor[0] = 0; camera->bgColor[1] = 0; camera->bgColor[2] = 0; @@ -395,17 +395,17 @@ Camera* initialize_next_camera(CameraInitData* initData) { camera->unk_9C = 0; camera->fpDoPreRender = NULL; camera->fpDoPostRender = NULL; - camera->leadAmount = 0; - camera->unk_510 = 0.0f; - camera->unk_514 = 0.0f; - camera->unk_518 = 0.0f; - camera->unk_51C = 0; - camera->unk_524 = 0.0f; - camera->unk_528 = 0.0f; + camera->leadAmount = 0.0f; + camera->targetLeadAmount = 0.0f; + camera->leadInterpAlpha = 0.0f; + camera->accumulatedStickLead = 0.0f; + camera->increasingLeadInterp = FALSE; + camera->leadUnkX = 0.0f; + camera->leadUnkZ = 0.0f; camera->unk_52C = 0; - camera->aabbForZoneBelow = 0; + camera->leadControlSettings = NULL; camera->panActive = FALSE; - camera->followPlayer = 0; + camera->followPlayer = FALSE; camera->unk_C4 = 1000.0f; camera->unk_520 = 0.2f; camera->moveSpeed = 1.0f; @@ -436,8 +436,8 @@ void set_cam_viewport(s16 id, s16 x, s16 y, s16 width, s16 height) { camera->vpAlt.vp.vscale[2] = 0x1FF; camera->vpAlt.vp.vscale[3] = 0; - camera->vpAlt.vp.vtrans[0] = gGameStatusPtr->unk_82.x + 4 * (s16) ((u16) camera->viewportStartX + (camera->viewportW / 2)); - camera->vpAlt.vp.vtrans[1] = gGameStatusPtr->unk_82.y + 4 * (s16) ((u16) camera->viewportStartY + (camera->viewportH / 2)); + camera->vpAlt.vp.vtrans[0] = gGameStatusPtr->altViewportOffset.x + 4 * (s16) ((u16) camera->viewportStartX + (camera->viewportW / 2)); + camera->vpAlt.vp.vtrans[1] = gGameStatusPtr->altViewportOffset.y + 4 * (s16) ((u16) camera->viewportStartY + (camera->viewportH / 2)); camera->vpAlt.vp.vtrans[2] = 0x200; camera->vpAlt.vp.vtrans[3] = 0; } diff --git a/src/camera.c b/src/cam_math.c similarity index 56% rename from src/camera.c rename to src/cam_math.c index 89cf3b16d2..98fa50159a 100644 --- a/src/camera.c +++ b/src/cam_math.c @@ -218,9 +218,9 @@ s32 calculate_line_segment_intersection(f32 A1x, f32 A1z, f32 A2x, f32 A2z, f32 return TRUE; } -s32 func_800328A4(CameraControlSettings* camSettings, f32 x, f32 z) { +s32 func_800328A4(CameraControlSettings* camSettings, f32 Px, f32 Pz) { f32 product1, product2; - f32 delta, p1, p2, p3, p4; + f32 delta, dot1x, dot1z, dot2x, dot2z; if (camSettings == NULL) { return 0; @@ -228,21 +228,21 @@ s32 func_800328A4(CameraControlSettings* camSettings, f32 x, f32 z) { if (camSettings->type != CAM_CONTROL_CONSTAIN_BETWEEN_POINTS) { return 0; } - delta = x - camSettings->points.two.Ax; - p1 = (camSettings->points.two.Bx - camSettings->points.two.Ax) * delta; - delta = z - camSettings->points.two.Az; - p2 = (camSettings->points.two.Bz - camSettings->points.two.Az) * delta; + // dot product of AB and AP + delta = Px - camSettings->points.two.Ax; + dot1x = (camSettings->points.two.Bx - camSettings->points.two.Ax) * delta; + delta = Pz - camSettings->points.two.Az; + dot1z = (camSettings->points.two.Bz - camSettings->points.two.Az) * delta; - delta = x - camSettings->points.two.Bx; - p3 = (camSettings->points.two.Bx - camSettings->points.two.Ax) * delta; - - delta = z - camSettings->points.two.Bz; - p4 = (camSettings->points.two.Bz - camSettings->points.two.Az) * delta; - - product1 = p1 + p2; - product2 = p3 + p4; + // dot product of AB and BP + delta = Px - camSettings->points.two.Bx; + dot2x = (camSettings->points.two.Bx - camSettings->points.two.Ax) * delta; + delta = Pz - camSettings->points.two.Bz; + dot2z = (camSettings->points.two.Bz - camSettings->points.two.Az) * delta; + product1 = dot1x + dot1z; + product2 = dot2x + dot2z; if (product1 < 0 && product2 < 0) { return -1; @@ -253,21 +253,21 @@ s32 func_800328A4(CameraControlSettings* camSettings, f32 x, f32 z) { return 0; } -void func_80032970(Camera* camera, f32 arg1) { +void update_camera_lead_amount(Camera* camera, f32 candidateLeadAmount) { f32 stickX; f32 deltaLeadAmount; - s32 flags = camera->flags & CAMERA_FLAG_1000; - s32 a2 = flags != 0; + s32 flags = camera->flags & CAMERA_FLAG_SUPRESS_LEADING; + s32 ignoreStickInput = flags != 0; if (camera->curController != NULL && camera->curController->type == CAM_CONTROL_FIXED_POS_AND_ORIENTATION) { - a2 = TRUE; + ignoreStickInput = TRUE; } - if (a2) { + if (ignoreStickInput) { stickX = 0.0f; - camera->unk_51C = TRUE; - camera->unk_514 = 1.0f; - camera->unk_510 = 0.0f; + camera->increasingLeadInterp = TRUE; + camera->leadInterpAlpha = 1.0f; + camera->targetLeadAmount = 0.0f; } else { if (gPlayerStatusPtr->animFlags & PA_FLAG_RIDING_PARTNER) { stickX = gPartnerStatus.stickX; @@ -284,69 +284,78 @@ void func_80032970(Camera* camera, f32 arg1) { if (stickX != 0.0f) { if (stickX < 0.0f) { - if (camera->unk_518 > 0.0f) { - camera->unk_518 = stickX; + if (camera->accumulatedStickLead > 0.0f) { + // reversing direction + camera->accumulatedStickLead = stickX; } else { - camera->unk_518 += stickX; + camera->accumulatedStickLead += stickX; } - if (camera->unk_518 <= -300.0f) { - camera->unk_51C = TRUE; - if (camera->unk_510 > 0.0f) { - camera->unk_514 = 0.0f; + if (camera->accumulatedStickLead <= -300.0f) { + // max accumulation + camera->increasingLeadInterp = TRUE; + if (camera->targetLeadAmount > 0.0f) { + camera->leadInterpAlpha = 0.0f; } - camera->unk_510 = -arg1; - camera->unk_518 = -300.0f; + camera->targetLeadAmount = -candidateLeadAmount; + camera->accumulatedStickLead = -300.0f; } } else { - if (camera->unk_518 < 0.0f) { - camera->unk_518 = stickX; + if (camera->accumulatedStickLead < 0.0f) { + // reversing direction + camera->accumulatedStickLead = stickX; } else { - camera->unk_518 += stickX; + camera->accumulatedStickLead += stickX; } - if (camera->unk_518 >= 300.0f) { - camera->unk_51C = TRUE; - if (camera->unk_510 < 0.0f) { - camera->unk_514 = 0.0f; + if (camera->accumulatedStickLead >= 300.0f) { + // max accumulation + camera->increasingLeadInterp = TRUE; + if (camera->targetLeadAmount < 0.0f) { + camera->leadInterpAlpha = 0.0f; } - camera->unk_510 = arg1; - camera->unk_518 = 300.0f; + camera->targetLeadAmount = candidateLeadAmount; + camera->accumulatedStickLead = 300.0f; } } } - if (camera->unk_51C) { - camera->unk_514 += 0.01f; - if (camera->unk_514 > 1.0f) { - camera->unk_514 = 1.0f; + if (camera->increasingLeadInterp) { + camera->leadInterpAlpha += 0.01f; + if (camera->leadInterpAlpha > 1.0f) { + camera->leadInterpAlpha = 1.0f; } } - if (camera->unk_510 - camera->leadAmount == 0.0f) { - camera->unk_514 = 0.0f; - camera->unk_51C = FALSE; + // determine ratio to interp leadAmount by + if (camera->targetLeadAmount - camera->leadAmount == 0.0f) { + camera->leadInterpAlpha = 0.0f; + camera->increasingLeadInterp = FALSE; } - deltaLeadAmount = (camera->unk_510 - camera->leadAmount) * camera->unk_514; - if (camera->unk_510 - camera->leadAmount > 0.0f) { - if (camera->unk_510 - camera->leadAmount < 0.1) { - deltaLeadAmount = camera->unk_510 - camera->leadAmount; + deltaLeadAmount = (camera->targetLeadAmount - camera->leadAmount) * camera->leadInterpAlpha; + if (camera->targetLeadAmount - camera->leadAmount > 0.0f) { + // snap small changes + if (camera->targetLeadAmount - camera->leadAmount < 0.1) { + deltaLeadAmount = camera->targetLeadAmount - camera->leadAmount; } + // clamp large changes to 3.0 if (deltaLeadAmount > 3.0f) { deltaLeadAmount = 3.0f; } } else { - if (camera->unk_510 - camera->leadAmount > -0.1) { - deltaLeadAmount = camera->unk_510 - camera->leadAmount; + // snap small changes + if (camera->targetLeadAmount - camera->leadAmount > -0.1) { + deltaLeadAmount = camera->targetLeadAmount - camera->leadAmount; } + // clamp large changes to -3.0 if (deltaLeadAmount < -3.0f) { deltaLeadAmount = -3.0f; } } - if (stickX != 0.0f || a2) { + if (stickX != 0.0f || ignoreStickInput) { camera->leadAmount += deltaLeadAmount; } else { - camera->unk_514 = 0.0f; + camera->leadInterpAlpha = 0.0f; } } @@ -360,45 +369,53 @@ void func_80032C64(Camera* camera) { s32 s2; f32 X, Y, Z, W; f32 product; - f32 newPosX, newPosZ; + f32 newPosX, newPosY, newPosZ; Collider* zone; - s32 cond; - f32 dist; - f32 sp44, sp48, sp4C; + s32 constrainToZoneTriangles; + f32 minDistSq; + f32 intX, intZ, intDistSq; f32 deltaPosX, deltaPosZ; f32 f24, f22, cosYaw, sinYaw; rotationRad = camera->trueRot.x / 180.0f * PI; leadAmount = camera->leadAmount; - s2 = 0; - cos_rad(rotationRad); - sin_rad(rotationRad); - settings3 = settings = test_ray_zone(camera->targetPos.x, camera->targetPos.y + 10.0f, camera->targetPos.z, NULL); + newPosX = camera->targetPos.x + leadAmount * cos_rad(rotationRad); + newPosZ = camera->targetPos.z + leadAmount * sin_rad(rotationRad); + newPosY = camera->targetPos.y + 10.0f; + settings3 = settings = test_ray_zone(camera->targetPos.x, newPosY, camera->targetPos.z, NULL); + + s2 = 0; if (settings != NULL) { - if (settings->type == CAM_CONTROL_CONSTRAIN_TO_LINE || settings->type == CAM_CONTROL_LOOK_AT_POINT_CONSTAIN_TO_LINE || (s2 = func_800328A4(settings, camera->targetPos.x, camera->targetPos.z))) { + if (settings->type == CAM_CONTROL_CONSTRAIN_TO_LINE + || settings->type == CAM_CONTROL_LOOK_AT_POINT_CONSTAIN_TO_LINE + || (s2 = func_800328A4(settings, camera->targetPos.x, camera->targetPos.z)) != 0 + ) { if (camera->unk_530) { guPerspectiveF(camera->perspectiveMatrix, &camera->perspNorm, camera->vfov, - (f32)camera->viewportW / (f32)camera->viewportH, camera->nearClip, camera->farClip, 1.0f); + (f32)camera->viewportW / (f32)camera->viewportH, camera->nearClip, camera->farClip, 1.0f); guMtxCatF(camera->viewMtxPlayer, camera->perspectiveMatrix, camera->perspectiveMatrix); transform_point(camera->perspectiveMatrix, camera->targetPos.x, camera->targetPos.y, camera->targetPos.z, - 1.0f, &X, &Y, &Z, &W); + 1.0f, &X, &Y, &Z, &W); if (W == 0.0f) { W = 1.0f; } W = 1.0f / W; X *= W; camera->unk_52C = (X > 0.0f) ? 1 : (X < 0.0f) ? -1 : 0; - camera->unk_530 = 0; + camera->unk_530 = FALSE; } else { - CameraControlSettings* aabbForZoneBelow = camera->aabbForZoneBelow; + CameraControlSettings* leadSettings = camera->leadControlSettings; - if (!(aabbForZoneBelow != NULL && (aabbForZoneBelow->type == CAM_CONTROL_CONSTRAIN_TO_LINE || aabbForZoneBelow->type == CAM_CONTROL_LOOK_AT_POINT_CONSTAIN_TO_LINE || func_800328A4(settings, camera->unk_524, camera->unk_528) != 0))) { - if (aabbForZoneBelow != NULL && s2 != 0) { + if (leadSettings == NULL + || !(leadSettings->type == CAM_CONTROL_CONSTRAIN_TO_LINE + || leadSettings->type == CAM_CONTROL_LOOK_AT_POINT_CONSTAIN_TO_LINE + || func_800328A4(settings, camera->leadUnkX, camera->leadUnkZ) != 0)) { + if (leadSettings != NULL && s2 != 0) { camera->unk_52C = s2; } else { - f24 = cosYaw = camera->targetPos.x - camera->unk_524; - f22 = camera->targetPos.z - camera->unk_528; + f24 = cosYaw = camera->targetPos.x - camera->leadUnkX; + f22 = camera->targetPos.z - camera->leadUnkZ; cosYaw = -cos_deg(camera->curYaw); sinYaw = -sin_deg(camera->curYaw); product = f24 * cosYaw + f22 * sinYaw; @@ -408,84 +425,103 @@ void func_80032C64(Camera* camera) { } if (leadAmount > 0.0f && camera->unk_52C > 0 || leadAmount < 0.0f && camera->unk_52C < 0) { - camera->unk_514 = 0.0f; + camera->leadInterpAlpha = 0.0f; camera->leadAmount = 0.0f; } - camera->aabbForZoneBelow = settings3; - camera->unk_524 = camera->targetPos.x; - camera->unk_528 = camera->targetPos.z; + camera->leadControlSettings = settings3; + camera->leadUnkX = camera->targetPos.x; + camera->leadUnkZ = camera->targetPos.z; return; } } camera->unk_52C = 0; - camera->aabbForZoneBelow = settings3; - camera->unk_524 = camera->targetPos.x; - camera->unk_528 = camera->targetPos.z; + camera->leadControlSettings = settings3; + camera->leadUnkX = camera->targetPos.x; + camera->leadUnkZ = camera->targetPos.z; newPosX = camera->targetPos.x + leadAmount * cos_rad(rotationRad); newPosZ = camera->targetPos.z + leadAmount * sin_rad(rotationRad); - settings = test_ray_zone(newPosX, camera->targetPos.y + 10.0f, newPosZ, &zone); + newPosY = camera->targetPos.y + 10.0f; + settings = test_ray_zone(newPosX, newPosY, newPosZ, &zone); if (settings != NULL) { - if (settings->type == CAM_CONTROL_CONSTRAIN_TO_LINE || settings->type == CAM_CONTROL_LOOK_AT_POINT_CONSTAIN_TO_LINE || func_800328A4(camera->aabbForZoneBelow, newPosX, newPosZ) != 0) { - cond = TRUE; - dist = SQ(1000.0f); - if (camera->aabbForZoneBelow != NULL && camera->aabbForZoneBelow->type == CAM_CONTROL_CONSTAIN_BETWEEN_POINTS) { - settings2 = camera->aabbForZoneBelow; - cond = FALSE; + if (settings->type == CAM_CONTROL_CONSTRAIN_TO_LINE + || settings->type == CAM_CONTROL_LOOK_AT_POINT_CONSTAIN_TO_LINE + || func_800328A4(camera->leadControlSettings, newPosX, newPosZ) != 0 + ) { + constrainToZoneTriangles = TRUE; + minDistSq = SQ(1000.0f); + + // clamp lead amount to the points when using CAM_CONTROL_CONSTAIN_BETWEEN_POINTS + if (camera->leadControlSettings != NULL && camera->leadControlSettings->type == CAM_CONTROL_CONSTAIN_BETWEEN_POINTS) { + settings2 = camera->leadControlSettings; + constrainToZoneTriangles = FALSE; deltaPosX = settings2->points.two.Bx - settings2->points.two.Ax; deltaPosZ = settings2->points.two.Bz - settings2->points.two.Az; - if (calculate_line_segment_intersection(settings2->points.two.Ax, settings2->points.two.Az, settings2->points.two.Ax - deltaPosZ, settings2->points.two.Az + deltaPosX, - camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < SQ(1000.0f)) { - dist = sp4C; + if (calculate_line_segment_intersection(settings2->points.two.Ax, settings2->points.two.Az, + settings2->points.two.Ax - deltaPosZ, settings2->points.two.Az + deltaPosX, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &intX, &intZ, &intDistSq) + && intDistSq < minDistSq + ) { + minDistSq = intDistSq; } do { - if (calculate_line_segment_intersection(settings2->points.two.Bx, settings2->points.two.Bz, settings2->points.two.Bx - deltaPosZ, settings2->points.two.Bz + deltaPosX, - camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { - dist = sp4C; + if (calculate_line_segment_intersection(settings2->points.two.Bx, settings2->points.two.Bz, + settings2->points.two.Bx - deltaPosZ, settings2->points.two.Bz + deltaPosX, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &intX, &intZ, &intDistSq) + && intDistSq < minDistSq + ) { + minDistSq = intDistSq; } } while (0); // TODO find better match } - if (cond) { + if (constrainToZoneTriangles) { for (i = 0; i < zone->numTriangles; i++) { if (calculate_segment_intersection(zone->triangleTable[i].v1->x, zone->triangleTable[i].v1->z, - zone->triangleTable[i].v2->x, zone->triangleTable[i].v2->z, - camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { - dist = sp4C; + zone->triangleTable[i].v2->x, zone->triangleTable[i].v2->z, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &intX, &intZ, &intDistSq) + && intDistSq < minDistSq + ) { + minDistSq = intDistSq; } if (calculate_segment_intersection(zone->triangleTable[i].v2->x, zone->triangleTable[i].v2->z, - zone->triangleTable[i].v3->x, zone->triangleTable[i].v3->z, - camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { - dist = sp4C; + zone->triangleTable[i].v3->x, zone->triangleTable[i].v3->z, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &intX, &intZ, &intDistSq) + && intDistSq < minDistSq + ) { + minDistSq = intDistSq; } if (calculate_segment_intersection(zone->triangleTable[i].v3->x, zone->triangleTable[i].v3->z, - zone->triangleTable[i].v1->x, zone->triangleTable[i].v1->z, - camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &sp44, &sp48, &sp4C) && sp4C < dist) { - dist = sp4C; + zone->triangleTable[i].v1->x, zone->triangleTable[i].v1->z, + camera->targetPos.x, camera->targetPos.z, newPosX, newPosZ, &intX, &intZ, &intDistSq) + && intDistSq < minDistSq + ) { + minDistSq = intDistSq; } } } - if (dist == SQ(1000.0f) || dist == 0) { + if (minDistSq == SQ(1000.0f) || minDistSq == 0.0f) { camera->leadAmount = 0.0f; } else { - camera->leadAmount = (camera->leadAmount > 0.0f) ? sqrtf(dist) : -sqrtf(dist); + camera->leadAmount = abs(camera->leadAmount > 0.0f) ? sqrtf(minDistSq) : -sqrtf(minDistSq); } - camera->unk_514 = 0.0f; + camera->leadInterpAlpha = 0.0f; } } } void create_camera_leadplayer_matrix(Camera* camera) { - f32 xTemp = camera->lookAt_eye.x - camera->lookAt_obj.x; - f32 yTemp = camera->lookAt_eye.y - camera->lookAt_obj.y; - f32 zTemp = camera->lookAt_eye.z - camera->lookAt_obj.z; - f32 dist = sqrtf(SQ(xTemp) + SQ(yTemp) + SQ(zTemp)); + f32 dx = camera->lookAt_eye.x - camera->lookAt_obj.x; + f32 dy = camera->lookAt_eye.y - camera->lookAt_obj.y; + f32 dz = camera->lookAt_eye.z - camera->lookAt_obj.z; + f32 dist = sqrtf(SQ(dx) + SQ(dy) + SQ(dz)); f32 theta = ((camera->vfov * 0.5f) / 180.0f) * PI; - f32 distSinTheta = dist * sin_rad(theta); + f32 distTanTheta = dist * sin_rad(theta); + distTanTheta /= cos_rad(theta); - func_80032970(camera, (((distSinTheta / cos_rad(theta)) * camera->viewportW) / camera->viewportH) * camera->unk_520); + update_camera_lead_amount(camera, (distTanTheta * camera->viewportW / camera->viewportH) * camera->unk_520); func_80032C64(camera); guTranslateF(camera->viewMtxLeading, -camera->leadAmount, 0.0f, 0.0f); } diff --git a/src/cam_mode_0.c b/src/cam_mode_0.c new file mode 100644 index 0000000000..015203a495 --- /dev/null +++ b/src/cam_mode_0.c @@ -0,0 +1,28 @@ +#include "common.h" +#include "camera.h" + +// implementation for CAM_UPDATE_MODE_INIT +// simple camera based on lookAt_eye and lookAt_obj with no blending or interpolation +void update_camera_mode_0(Camera* camera) { + f32 dx; + f32 dy; + f32 dz; + + if (camera->needsInit) { + camera->lookAt_obj.x = 0.0f; + camera->lookAt_obj.y = 0.0f; + camera->lookAt_obj.z = 0.0f; + camera->needsInit = FALSE; + camera->lookAt_eye.x = camera->lookAt_obj.x; + camera->lookAt_eye.y = camera->lookAt_obj.y; + camera->lookAt_eye.z = camera->lookAt_obj.z - (1000.0f / D_8009A5EC); + } + + camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); + dx = camera->lookAt_obj.x - camera->lookAt_eye.x; + dy = camera->lookAt_obj.y - camera->lookAt_eye.y; + dz = camera->lookAt_obj.z - camera->lookAt_eye.z; + camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, dx, dz); + dx = -sqrtf(SQ(dx) + SQ(dz)); + camera->curPitch = atan2(0.0f, 0.0f, dy, dx); +} diff --git a/src/cam_mode_1.c b/src/cam_mode_1.c new file mode 100644 index 0000000000..48c1027317 --- /dev/null +++ b/src/cam_mode_1.c @@ -0,0 +1,148 @@ +#include "common.h" +#include "camera.h" + +// implementation for CAM_UPDATE_UNUSED_1 +void update_camera_mode_1(Camera* camera) { + f32 sinBoom, cosBoom; + f32 f20; + f32 boomYaw; + f32 deltaX, deltaY, deltaZ; + f32 deltaX2, deltaY2, deltaZ2; + f32 x3, y3, z3; + f32 x2, y2, z2; + f32 new_var2; + f32 tmp1; + + if (camera->needsInit) { + camera->needsInit = FALSE; + + deltaX = camera->lookAt_obj_target.x; + deltaZ2 = camera->lookAt_obj_target.z; + + deltaX2 = camera->targetPos.x; + deltaZ = camera->targetPos.z; + + camera->curBoomYaw = camera->auxPitch; + camera->curBoomLength = camera->lookAt_dist * 100 / D_8009A5EC; + camera->curYOffset = camera->auxBoomPitch * 20 / D_8009A5EC; + + f20 = atan2(deltaX, deltaZ2, deltaX2, deltaZ); + if ((dist2D(deltaX, deltaZ2, deltaX2, deltaZ) < camera->auxBoomLength * 100 / D_8009A5EC)) { + f20 = camera->trueRot.x; + camera->trueRot.x = f20; + } else { + camera->trueRot.x = f20; + } + camera->trueRot.y = f20; + + camera->lookAt_obj.x = camera->lookAt_obj_target.x; + camera->lookAt_obj.y = camera->lookAt_obj_target.y + camera->curYOffset; + camera->lookAt_obj.z = camera->lookAt_obj_target.z; + + boomYaw = DEG_TO_RAD(camera->curBoomYaw); + sinBoom = sin_rad(boomYaw); + + deltaX = 0.0f; + deltaY = 0.0f; + new_var2 = -deltaY; + cosBoom = cos_rad(boomYaw); + boomYaw = new_var2; + deltaZ = camera->curBoomLength; + + deltaX2 = deltaX; + deltaY2 = new_var2; + deltaZ2 = deltaZ; + + deltaX = deltaX2; + deltaY = cosBoom * -deltaY2 + deltaZ2 * sinBoom; + deltaZ = sinBoom * deltaY2 + deltaZ2 * cosBoom; + + boomYaw = DEG_TO_RAD(f20); + deltaZ2 = deltaZ; + sinBoom = sin_rad(boomYaw); + cosBoom = cos_rad(boomYaw); + + deltaX2 = cosBoom * deltaX - deltaZ * sinBoom; + deltaY2 = deltaY; + deltaZ = sinBoom * deltaX + deltaZ * cosBoom; + + camera->lookAt_eye.x = camera->lookAt_obj.x + deltaX2; + camera->lookAt_eye.y = camera->lookAt_obj.y + deltaY2; + camera->lookAt_eye.z = camera->lookAt_obj.z + deltaZ; + } + tmp1 = camera->lookAt_obj_target.y; + + x3 = camera->lookAt_obj_target.x; + y3 = tmp1; + z3 = camera->lookAt_obj_target.z; + + camera->curBoomYaw = camera->auxPitch; + camera->curBoomLength = camera->lookAt_dist * 100 / D_8009A5EC; + camera->curYOffset = camera->auxBoomPitch * 20 / D_8009A5EC; + + y3 += camera->curYOffset; + + x3 -= camera->lookAt_obj.x; + y3 -= camera->lookAt_obj.y; + z3 -= camera->lookAt_obj.z; + + deltaX = camera->lookAt_obj_target.x; + deltaY = camera->lookAt_obj_target.y; + deltaZ2 = camera->lookAt_obj_target.z; + + deltaX2 = camera->targetPos.x; + deltaY2 = camera->targetPos.y; + deltaZ = camera->targetPos.z; + + camera->lookAt_obj.x += x3 * 0.5f; + camera->lookAt_obj.y += y3 / 10.0f; + camera->lookAt_obj.z += z3 * 0.5f; + + f20 = atan2(deltaX, deltaZ2, deltaX2, deltaZ); + if ((dist2D(deltaX, deltaZ2, deltaX2, deltaZ) < camera->auxBoomLength * 100 / D_8009A5EC)) { + f20 = camera->trueRot.x; + } else { + camera->trueRot.x = f20; + } + camera->trueRot.y -= get_clamped_angle_diff(f20, camera->trueRot.y) / 10.0f; + f20 = camera->trueRot.y; + + boomYaw = DEG_TO_RAD(camera->curBoomYaw); + sinBoom = sin_rad(boomYaw); + cosBoom = cos_rad(boomYaw); + + deltaX = 0.0f; + deltaY = 0.0f; + deltaZ = camera->curBoomLength; + + deltaX2 = deltaX; + deltaY2 = -deltaY; + deltaZ2 = deltaZ; + + deltaX = deltaX2; + deltaY = -deltaY2; + deltaY = (cosBoom * deltaY) + (deltaZ2 * sinBoom); + deltaZ = sinBoom * deltaY2 + deltaZ2 * cosBoom; + deltaY2 = deltaY; + + boomYaw = DEG_TO_RAD((f20)); + deltaZ2 = deltaZ; + sinBoom = sin_rad(boomYaw); + cosBoom = cos_rad(boomYaw); + + deltaX2 = cosBoom * deltaX - deltaZ * sinBoom; + deltaZ = sinBoom * deltaX + deltaZ * cosBoom; + + camera->lookAt_eye.x = camera->lookAt_obj.x + deltaX2; + camera->lookAt_eye.y = camera->lookAt_obj.y + deltaY2; + camera->lookAt_eye.z = camera->lookAt_obj.z + deltaZ; + + camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); + + deltaX = camera->lookAt_obj.x - camera->lookAt_eye.x; + deltaY = camera->lookAt_obj.y - camera->lookAt_eye.y; + deltaZ2 = camera->lookAt_obj.z - camera->lookAt_eye.z; + + camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, deltaX, deltaZ2); + camera->curPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf((deltaX * deltaX) + (deltaZ2 * deltaZ2))); +} diff --git a/src/9d10_len_1080.c b/src/cam_mode_2.c similarity index 60% rename from src/9d10_len_1080.c rename to src/cam_mode_2.c index 5f2a66c350..8aea1b117d 100644 --- a/src/9d10_len_1080.c +++ b/src/cam_mode_2.c @@ -1,6 +1,7 @@ #include "common.h" #include "camera.h" +// implementation for CAM_UPDATE_UNUSED_4 void update_camera_mode_4(Camera* camera) { f32 sinBoom; f32 cosBoom; @@ -104,6 +105,7 @@ void update_camera_mode_4(Camera* camera) { camera->curPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf(SQ(deltaX) + SQ(deltaZ))); } +// implementation for CAM_UPDATE_MODE_2 void update_camera_mode_2(Camera *camera) { f32 cosBoom; f32 sinBoom; @@ -266,172 +268,3 @@ void update_camera_mode_2(Camera *camera) { camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, deltaX, deltaZ); camera->curPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf(SQ(deltaX) + SQ(deltaZ))); } - -void update_camera_mode_1(Camera* camera) { - f32 sinBoom, cosBoom; - f32 f20; - f32 boomYaw; - f32 deltaX, deltaY, deltaZ; - f32 deltaX2, deltaY2, deltaZ2; - f32 x3, y3, z3; - f32 x2, y2, z2; - f32 new_var2; - f32 tmp1; - - if (camera->needsInit) { - camera->needsInit = FALSE; - - deltaX = camera->lookAt_obj_target.x; - deltaZ2 = camera->lookAt_obj_target.z; - - deltaX2 = camera->targetPos.x; - deltaZ = camera->targetPos.z; - - camera->curBoomYaw = camera->auxPitch; - camera->curBoomLength = camera->lookAt_dist * 100 / D_8009A5EC; - camera->curYOffset = camera->auxBoomPitch * 20 / D_8009A5EC; - - f20 = atan2(deltaX, deltaZ2, deltaX2, deltaZ); - if ((dist2D(deltaX, deltaZ2, deltaX2, deltaZ) < camera->auxBoomLength * 100 / D_8009A5EC)) { - f20 = camera->trueRot.x; - camera->trueRot.x = f20; - } else { - camera->trueRot.x = f20; - } - camera->trueRot.y = f20; - - camera->lookAt_obj.x = camera->lookAt_obj_target.x; - camera->lookAt_obj.y = camera->lookAt_obj_target.y + camera->curYOffset; - camera->lookAt_obj.z = camera->lookAt_obj_target.z; - - boomYaw = DEG_TO_RAD(camera->curBoomYaw); - sinBoom = sin_rad(boomYaw); - - deltaX = 0.0f; - deltaY = 0.0f; - new_var2 = -deltaY; - cosBoom = cos_rad(boomYaw); - boomYaw = new_var2; - deltaZ = camera->curBoomLength; - - deltaX2 = deltaX; - deltaY2 = new_var2; - deltaZ2 = deltaZ; - - deltaX = deltaX2; - deltaY = cosBoom * -deltaY2 + deltaZ2 * sinBoom; - deltaZ = sinBoom * deltaY2 + deltaZ2 * cosBoom; - - boomYaw = DEG_TO_RAD(f20); - deltaZ2 = deltaZ; - sinBoom = sin_rad(boomYaw); - cosBoom = cos_rad(boomYaw); - - deltaX2 = cosBoom * deltaX - deltaZ * sinBoom; - deltaY2 = deltaY; - deltaZ = sinBoom * deltaX + deltaZ * cosBoom; - - camera->lookAt_eye.x = camera->lookAt_obj.x + deltaX2; - camera->lookAt_eye.y = camera->lookAt_obj.y + deltaY2; - camera->lookAt_eye.z = camera->lookAt_obj.z + deltaZ; - } - tmp1 = camera->lookAt_obj_target.y; - - x3 = camera->lookAt_obj_target.x; - y3 = tmp1; - z3 = camera->lookAt_obj_target.z; - - camera->curBoomYaw = camera->auxPitch; - camera->curBoomLength = camera->lookAt_dist * 100 / D_8009A5EC; - camera->curYOffset = camera->auxBoomPitch * 20 / D_8009A5EC; - - y3 += camera->curYOffset; - - x3 -= camera->lookAt_obj.x; - y3 -= camera->lookAt_obj.y; - z3 -= camera->lookAt_obj.z; - - deltaX = camera->lookAt_obj_target.x; - deltaY = camera->lookAt_obj_target.y; - deltaZ2 = camera->lookAt_obj_target.z; - - deltaX2 = camera->targetPos.x; - deltaY2 = camera->targetPos.y; - deltaZ = camera->targetPos.z; - - camera->lookAt_obj.x += x3 * 0.5f; - camera->lookAt_obj.y += y3 / 10.0f; - camera->lookAt_obj.z += z3 * 0.5f; - - f20 = atan2(deltaX, deltaZ2, deltaX2, deltaZ); - if ((dist2D(deltaX, deltaZ2, deltaX2, deltaZ) < camera->auxBoomLength * 100 / D_8009A5EC)) { - f20 = camera->trueRot.x; - } else { - camera->trueRot.x = f20; - } - camera->trueRot.y -= get_clamped_angle_diff(f20, camera->trueRot.y) / 10.0f; - f20 = camera->trueRot.y; - - boomYaw = DEG_TO_RAD(camera->curBoomYaw); - sinBoom = sin_rad(boomYaw); - cosBoom = cos_rad(boomYaw); - - deltaX = 0.0f; - deltaY = 0.0f; - deltaZ = camera->curBoomLength; - - deltaX2 = deltaX; - deltaY2 = -deltaY; - deltaZ2 = deltaZ; - - deltaX = deltaX2; - deltaY = -deltaY2; - deltaY = (cosBoom * deltaY) + (deltaZ2 * sinBoom); - deltaZ = sinBoom * deltaY2 + deltaZ2 * cosBoom; - deltaY2 = deltaY; - - boomYaw = DEG_TO_RAD((f20)); - deltaZ2 = deltaZ; - sinBoom = sin_rad(boomYaw); - cosBoom = cos_rad(boomYaw); - - deltaX2 = cosBoom * deltaX - deltaZ * sinBoom; - deltaZ = sinBoom * deltaX + deltaZ * cosBoom; - - camera->lookAt_eye.x = camera->lookAt_obj.x + deltaX2; - camera->lookAt_eye.y = camera->lookAt_obj.y + deltaY2; - camera->lookAt_eye.z = camera->lookAt_obj.z + deltaZ; - - camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); - - deltaX = camera->lookAt_obj.x - camera->lookAt_eye.x; - deltaY = camera->lookAt_obj.y - camera->lookAt_eye.y; - deltaZ2 = camera->lookAt_obj.z - camera->lookAt_eye.z; - - camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, deltaX, deltaZ2); - camera->curPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf((deltaX * deltaX) + (deltaZ2 * deltaZ2))); -} - -void update_camera_mode_0(Camera* camera) { - f32 dx; - f32 dy; - f32 dz; - - if (camera->needsInit) { - camera->lookAt_obj.x = 0.0f; - camera->lookAt_obj.y = 0.0f; - camera->lookAt_obj.z = 0.0f; - camera->needsInit = FALSE; - camera->lookAt_eye.x = camera->lookAt_obj.x; - camera->lookAt_eye.y = camera->lookAt_obj.y; - camera->lookAt_eye.z = camera->lookAt_obj.z - (1000.0f / D_8009A5EC); - } - - camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); - dx = camera->lookAt_obj.x - camera->lookAt_eye.x; - dy = camera->lookAt_obj.y - camera->lookAt_eye.y; - dz = camera->lookAt_obj.z - camera->lookAt_eye.z; - camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, dx, dz); - dx = -sqrtf(SQ(dx) + SQ(dz)); - camera->curPitch = atan2(0.0f, 0.0f, dy, dx); -} diff --git a/src/cam_mode_5.c b/src/cam_mode_5.c new file mode 100644 index 0000000000..8b894cb45b --- /dev/null +++ b/src/cam_mode_5.c @@ -0,0 +1,103 @@ +#include "common.h" + +void cam_interp_lookat_pos(Camera* camera, f32 arg1, f32 arg2, s16 arg3); +void func_8003034C(Camera* camera); + +// implementation for CAM_UPDATE_UNUSED_5 +void update_camera_mode_5(Camera* camera) { + PlayerStatus* playerStatus = &gPlayerStatus; + f32 lookXDelta, lookYDelta, lookZDelta; + + camera->curBoomYaw = 18.0f; + camera->curBoomLength = 690.0f; + camera->curYOffset = 47.0f; + + if (camera->needsInit) { + camera->unk_550 = 0.0f; + camera->unk_70 = 0.0f; + camera->trueRot.x = 0.0f; + camera->needsInit = FALSE; + camera->unk_554 = 0; + camera->lookAt_obj.x = camera->targetPos.x; + camera->lookAt_obj.y = camera->targetPos.y + camera->curYOffset; + camera->lookAt_obj.z = camera->targetPos.z; + cam_interp_lookat_pos(camera, 0.0f, 0.0f, FALSE); + } else { + f32 maxInterpSpeed = (playerStatus->curSpeed * 1.5f) + 1.0f; + f32 interpRate = (playerStatus->curSpeed * 0.05f) + 0.05f; + + camera->lookAt_obj_target.x = camera->targetPos.x + camera->unk_550; + camera->lookAt_obj_target.y = camera->targetPos.y + camera->curYOffset; + camera->lookAt_obj_target.z = camera->targetPos.z; + func_8003034C(camera); + if (!(camera->moveFlags & CAMERA_MOVE_IGNORE_PLAYER_Y)) { + cam_interp_lookat_pos(camera, interpRate, maxInterpSpeed, FALSE); + } else { + lookXDelta = maxInterpSpeed; // needed to match + + cam_interp_lookat_pos(camera, interpRate, lookXDelta, TRUE); + } + } + + camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); + lookXDelta = camera->lookAt_obj.x - camera->lookAt_eye.x; + lookYDelta = camera->lookAt_obj.y - camera->lookAt_eye.y; + lookZDelta = camera->lookAt_obj.z - camera->lookAt_eye.z; + camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, lookXDelta, lookZDelta); + camera->curPitch = atan2(0.0f, 0.0f, lookYDelta, -sqrtf(SQ(lookXDelta) + SQ(lookZDelta))); +} + +void cam_interp_lookat_pos(Camera* camera, f32 interpAmtXZ, f32 maxDeltaXZ, s16 lockPosY) { + f32 xDelta = (camera->lookAt_obj_target.x - camera->lookAt_obj.x) * interpAmtXZ; + f32 theta; + f32 cosTheta; + f32 sinTheta; + + if (xDelta < -maxDeltaXZ) { + xDelta = -maxDeltaXZ; + } + if (xDelta > maxDeltaXZ) { + xDelta = maxDeltaXZ; + } + + camera->lookAt_obj.x = camera->lookAt_eye.x = camera->lookAt_obj.x + xDelta; + + theta = DEG_TO_RAD(camera->curBoomYaw); + cosTheta = cos_rad(DEG_TO_RAD(camera->curBoomYaw)); + camera->lookAt_obj.z += (camera->lookAt_obj_target.z - camera->lookAt_obj.z) * interpAmtXZ; + camera->lookAt_eye.z = camera->lookAt_obj.z + (camera->curBoomLength * cosTheta); + + if (!lockPosY) { + sinTheta = sin_rad(theta); + camera->lookAt_obj.y += (camera->lookAt_obj_target.y - camera->lookAt_obj.y) * 0.125f; + camera->lookAt_eye.y = camera->lookAt_obj.y + (camera->curBoomLength * sinTheta); + } +} + +void func_8003034C(Camera* camera) { + PlayerStatus* playerStatus = &gPlayerStatus; + + if (fabsf(get_clamped_angle_diff(playerStatus->curYaw, 90.0f)) < 45.0f) { + if (camera->unk_556 == 0) { + if (camera->unk_554 <= 0) { + camera->unk_550 = 35.0f; + } else { + camera->unk_554--; + } + } else { + camera->unk_554 = 15; + camera->unk_556 = 0; + } + } else if (fabsf(get_clamped_angle_diff(playerStatus->curYaw, 270.0f)) < 45.0f) { + if (camera->unk_556 == 1) { + if (camera->unk_554 <= 0) { + camera->unk_550 = -35.0f; + } else { + camera->unk_554--; + } + } else { + camera->unk_554 = 15; + camera->unk_556 = 1; + } + } +} diff --git a/src/ad90_len_2880.c b/src/cam_mode_6.c similarity index 98% rename from src/ad90_len_2880.c rename to src/cam_mode_6.c index fbb59d9376..272e200f38 100644 --- a/src/ad90_len_2880.c +++ b/src/cam_mode_6.c @@ -1,5 +1,6 @@ #include "common.h" +// implementation for CAM_UPDATE_MODE_6 void update_camera_mode_6(Camera* camera) { f32 sinBoom; f32 cosBoom; diff --git a/src/cam_mode_unused.c b/src/cam_mode_unused.c new file mode 100644 index 0000000000..58add36d19 --- /dev/null +++ b/src/cam_mode_unused.c @@ -0,0 +1,72 @@ +#include "common.h" + +void update_camera_mode_unused(Camera* camera) { + PlayerStatus* playerStatus = &gPlayerStatus; + f32 sinBoom; + f32 cosBoom; + f32 deltaX; + f32 deltaY; + f32 deltaZ; + f32 deltaX2; + f32 deltaY2; + f32 deltaZ2; + f32 boomYaw; + + if (camera->needsInit || camera->isChangingMap) { + camera->needsInit = FALSE; + camera->isChangingMap = FALSE; + camera->auxPitch = 0; + camera->auxBoomLength = 100; + camera->lookAt_dist = 100; + camera->auxBoomPitch = 0; + camera->auxBoomYaw = 0; + camera->lookAt_obj.x = camera->lookAt_obj_target.x; + camera->lookAt_obj.y = camera->lookAt_obj_target.y; + camera->lookAt_obj.z = camera->lookAt_obj_target.z; + } + + if (!(playerStatus->flags & (PS_FLAG_FALLING | PS_FLAG_JUMPING))) { + camera->lookAt_obj_target.y = playerStatus->pos.y + 60.0f; + } + camera->lookAt_obj_target.x = playerStatus->pos.x; + camera->lookAt_obj_target.z = playerStatus->pos.z + 400.0f; + + if (camera->auxPitch == 0) { + camera->lookAt_obj.x = camera->lookAt_obj_target.x; + camera->lookAt_obj.y = camera->lookAt_obj_target.y; + camera->lookAt_obj.z = camera->lookAt_obj_target.z; + camera->trueRot.x = camera->auxBoomYaw; + camera->curBoomYaw = camera->auxBoomPitch; + camera->curBoomLength = camera->auxBoomLength; + camera->vfov = (10000 / camera->lookAt_dist) / 4; + boomYaw = DEG_TO_RAD(camera->curBoomYaw); + sinBoom = sin_rad(boomYaw); + cosBoom = cos_rad(boomYaw); + deltaX = 0.0f; + deltaY = 0.0f; + deltaZ = camera->curBoomLength; + deltaX2 = deltaX; + deltaY2 = deltaY; + boomYaw = deltaX = -deltaY2; + deltaZ2 = deltaZ; + deltaX = deltaX2; + deltaY = cosBoom * deltaY2 + deltaZ2 * sinBoom; + deltaZ = sinBoom * boomYaw + deltaZ2 * cosBoom; + boomYaw = DEG_TO_RAD(camera->trueRot.x); + sinBoom = sin_rad(boomYaw); + cosBoom = cos_rad(boomYaw); + deltaZ2 = cosBoom * deltaX - deltaZ * sinBoom; + deltaX2 = cosBoom * deltaX - deltaZ * sinBoom; + deltaY2 = deltaY; + deltaZ2 = sinBoom * deltaX + deltaZ * cosBoom; + camera->lookAt_eye.x = camera->lookAt_obj.x + deltaX2; + camera->lookAt_eye.y = camera->lookAt_obj.y + deltaY2; + camera->lookAt_eye.z = camera->lookAt_obj.z + deltaZ2; + } + camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); + deltaX = camera->lookAt_obj.x - camera->lookAt_eye.x; + deltaY = camera->lookAt_obj.y - camera->lookAt_eye.y; + deltaZ = camera->lookAt_obj.z - camera->lookAt_eye.z; + camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, deltaX, deltaZ); + camera->curPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf(SQ(deltaX) + SQ(deltaZ))); +} diff --git a/src/B0E0.c b/src/cam_mode_zone_interp.c similarity index 83% rename from src/B0E0.c rename to src/cam_mode_zone_interp.c index abee907d62..a905050a83 100644 --- a/src/B0E0.c +++ b/src/cam_mode_zone_interp.c @@ -10,179 +10,6 @@ SHIFT_BSS f32 D_800A08EC; void cam_interp_lookat_pos(Camera* camera, f32 arg1, f32 arg2, s16 arg3); void func_8003034C(Camera* camera); -void update_camera_mode_unused(Camera* camera) { - PlayerStatus* playerStatus = &gPlayerStatus; - f32 sinBoom; - f32 cosBoom; - f32 deltaX; - f32 deltaY; - f32 deltaZ; - f32 deltaX2; - f32 deltaY2; - f32 deltaZ2; - f32 boomYaw; - - if (camera->needsInit || camera->isChangingMap) { - camera->needsInit = FALSE; - camera->isChangingMap = FALSE; - camera->auxPitch = 0; - camera->auxBoomLength = 100; - camera->lookAt_dist = 100; - camera->auxBoomPitch = 0; - camera->auxBoomYaw = 0; - camera->lookAt_obj.x = camera->lookAt_obj_target.x; - camera->lookAt_obj.y = camera->lookAt_obj_target.y; - camera->lookAt_obj.z = camera->lookAt_obj_target.z; - } - - if (!(playerStatus->flags & (PS_FLAG_FALLING | PS_FLAG_JUMPING))) { - camera->lookAt_obj_target.y = playerStatus->pos.y + 60.0f; - } - camera->lookAt_obj_target.x = playerStatus->pos.x; - camera->lookAt_obj_target.z = playerStatus->pos.z + 400.0f; - - if (camera->auxPitch == 0) { - camera->lookAt_obj.x = camera->lookAt_obj_target.x; - camera->lookAt_obj.y = camera->lookAt_obj_target.y; - camera->lookAt_obj.z = camera->lookAt_obj_target.z; - camera->trueRot.x = camera->auxBoomYaw; - camera->curBoomYaw = camera->auxBoomPitch; - camera->curBoomLength = camera->auxBoomLength; - camera->vfov = (10000 / camera->lookAt_dist) / 4; - boomYaw = DEG_TO_RAD(camera->curBoomYaw); - sinBoom = sin_rad(boomYaw); - cosBoom = cos_rad(boomYaw); - deltaX = 0.0f; - deltaY = 0.0f; - deltaZ = camera->curBoomLength; - deltaX2 = deltaX; - deltaY2 = deltaY; - boomYaw = deltaX = -deltaY2; - deltaZ2 = deltaZ; - deltaX = deltaX2; - deltaY = cosBoom * deltaY2 + deltaZ2 * sinBoom; - deltaZ = sinBoom * boomYaw + deltaZ2 * cosBoom; - boomYaw = DEG_TO_RAD(camera->trueRot.x); - sinBoom = sin_rad(boomYaw); - cosBoom = cos_rad(boomYaw); - deltaZ2 = cosBoom * deltaX - deltaZ * sinBoom; - deltaX2 = cosBoom * deltaX - deltaZ * sinBoom; - deltaY2 = deltaY; - deltaZ2 = sinBoom * deltaX + deltaZ * cosBoom; - camera->lookAt_eye.x = camera->lookAt_obj.x + deltaX2; - camera->lookAt_eye.y = camera->lookAt_obj.y + deltaY2; - camera->lookAt_eye.z = camera->lookAt_obj.z + deltaZ2; - } - camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); - deltaX = camera->lookAt_obj.x - camera->lookAt_eye.x; - deltaY = camera->lookAt_obj.y - camera->lookAt_eye.y; - deltaZ = camera->lookAt_obj.z - camera->lookAt_eye.z; - camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, deltaX, deltaZ); - camera->curPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf(SQ(deltaX) + SQ(deltaZ))); -} - -//TODO CODE SPLIT? - -void update_camera_mode_5(Camera* camera) { - PlayerStatus* playerStatus = &gPlayerStatus; - f32 lookXDelta, lookYDelta, lookZDelta; - - camera->curBoomYaw = 18.0f; - camera->curBoomLength = 690.0f; - camera->curYOffset = 47.0f; - - if (camera->needsInit) { - camera->unk_550 = 0.0f; - camera->unk_70 = 0.0f; - camera->trueRot.x = 0.0f; - camera->needsInit = FALSE; - camera->unk_554 = 0; - camera->lookAt_obj.x = camera->targetPos.x; - camera->lookAt_obj.y = camera->targetPos.y + camera->curYOffset; - camera->lookAt_obj.z = camera->targetPos.z; - cam_interp_lookat_pos(camera, 0.0f, 0.0f, FALSE); - } else { - f32 maxInterpSpeed = (playerStatus->curSpeed * 1.5f) + 1.0f; - f32 interpRate = (playerStatus->curSpeed * 0.05f) + 0.05f; - - camera->lookAt_obj_target.x = camera->targetPos.x + camera->unk_550; - camera->lookAt_obj_target.y = camera->targetPos.y + camera->curYOffset; - camera->lookAt_obj_target.z = camera->targetPos.z; - func_8003034C(camera); - if (!(camera->moveFlags & CAMERA_MOVE_IGNORE_PLAYER_Y)) { - cam_interp_lookat_pos(camera, interpRate, maxInterpSpeed, FALSE); - } else { - lookXDelta = maxInterpSpeed; // needed to match - - cam_interp_lookat_pos(camera, interpRate, lookXDelta, TRUE); - } - } - - camera->curYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z); - lookXDelta = camera->lookAt_obj.x - camera->lookAt_eye.x; - lookYDelta = camera->lookAt_obj.y - camera->lookAt_eye.y; - lookZDelta = camera->lookAt_obj.z - camera->lookAt_eye.z; - camera->curBlendedYawNegated = -atan2(0.0f, 0.0f, lookXDelta, lookZDelta); - camera->curPitch = atan2(0.0f, 0.0f, lookYDelta, -sqrtf(SQ(lookXDelta) + SQ(lookZDelta))); -} - -void cam_interp_lookat_pos(Camera* camera, f32 interpAmtXZ, f32 maxDeltaXZ, s16 lockPosY) { - f32 xDelta = (camera->lookAt_obj_target.x - camera->lookAt_obj.x) * interpAmtXZ; - f32 theta; - f32 cosTheta; - f32 sinTheta; - - if (xDelta < -maxDeltaXZ) { - xDelta = -maxDeltaXZ; - } - if (xDelta > maxDeltaXZ) { - xDelta = maxDeltaXZ; - } - - camera->lookAt_obj.x = camera->lookAt_eye.x = camera->lookAt_obj.x + xDelta; - - theta = DEG_TO_RAD(camera->curBoomYaw); - cosTheta = cos_rad(DEG_TO_RAD(camera->curBoomYaw)); - camera->lookAt_obj.z += (camera->lookAt_obj_target.z - camera->lookAt_obj.z) * interpAmtXZ; - camera->lookAt_eye.z = camera->lookAt_obj.z + (camera->curBoomLength * cosTheta); - - if (!lockPosY) { - sinTheta = sin_rad(theta); - camera->lookAt_obj.y += (camera->lookAt_obj_target.y - camera->lookAt_obj.y) * 0.125f; - camera->lookAt_eye.y = camera->lookAt_obj.y + (camera->curBoomLength * sinTheta); - } -} - -void func_8003034C(Camera* camera) { - PlayerStatus* playerStatus = &gPlayerStatus; - - if (fabsf(get_clamped_angle_diff(playerStatus->curYaw, 90.0f)) < 45.0f) { - if (camera->unk_556 == 0) { - if (camera->unk_554 <= 0) { - camera->unk_550 = 35.0f; - } else { - camera->unk_554--; - } - } else { - camera->unk_554 = 15; - camera->unk_556 = 0; - } - } else if (fabsf(get_clamped_angle_diff(playerStatus->curYaw, 270.0f)) < 45.0f) { - if (camera->unk_556 == 1) { - if (camera->unk_554 <= 0) { - camera->unk_550 = -35.0f; - } else { - camera->unk_554--; - } - } else { - camera->unk_554 = 15; - camera->unk_556 = 1; - } - } -} - -//TODO CODE SPLIT? - void func_80030450(Camera* camera) { } @@ -792,50 +619,51 @@ void update_camera_zone_interp(Camera* camera) { camera->curController = NULL; camera->prevController = NULL; camera->linearInterp = 0.0f; - camera->unk_494 = 0.0f; - camera->savedTargetY = targetY; + camera->yinterpGoal = 0.0f; + camera->yinterpCur = targetY; camera->unk_98 = 0; camera->unk_9C = 0; camera->prevTargetPos.x = 0.0f; camera->prevTargetPos.y = 0.0f; camera->prevTargetPos.z = 0.0f; - camera->prevPrevFollowFlags = 0; - camera->prevFollowFlags = 0; + camera->prevPrevFollowPlayer = FALSE; + camera->prevFollowPlayer = FALSE; camera->panPhase = 0.0f; D_800A08DC = 0.0f; D_800A08E0 = 0.0f; camera->interpAlpha = 1.0f; - camera->unk_498 = 1.0f; + camera->yinterpAlpha = 1.0f; camera->linearInterpScale = 1.0f; } tempX = targetX; if (camera->moveFlags & CAMERA_MOVE_IGNORE_PLAYER_Y) { - camera->unk_498 = 0.0f; - } else if (camera->unk_494 != targetY) { - camera->unk_494 = targetY; - camera->unk_498 = 0.0f; + camera->yinterpAlpha = 0.0f; + } else if (camera->yinterpGoal != targetY) { + camera->yinterpGoal = targetY; + camera->yinterpAlpha = 0.0f; } - if (targetY < camera->unk_494 && targetY <= camera->savedTargetY) { - camera->unk_494 = targetY; - camera->unk_498 = 1.0f; + // always follow player moving down with no interp + if (targetY < camera->yinterpGoal && targetY <= camera->yinterpCur) { + camera->yinterpGoal = targetY; + camera->yinterpAlpha = 1.0f; } - camera->unk_498 += (1.01 - camera->unk_498) / camera->unk_49C; + camera->yinterpAlpha += (1.01 - camera->yinterpAlpha) / camera->yinterpRate; - if (camera->unk_498 > 1.0) { - camera->unk_498 = 1.0f; + if (camera->yinterpAlpha > 1.0) { + camera->yinterpAlpha = 1.0f; } if (camera->moveFlags & CAMERA_MOVE_FLAG_4) { - camera->unk_498 += 0.3; - if (camera->unk_498 >= 1.0) { - camera->unk_498 = 1.0f; + camera->yinterpAlpha += 0.3; + if (camera->yinterpAlpha >= 1.0) { + camera->yinterpAlpha = 1.0f; } } if (!(camera->moveFlags & CAMERA_MOVE_FLAG_2)) { - camera->savedTargetY += (camera->unk_494 - camera->savedTargetY) * camera->unk_498; + camera->yinterpCur += (camera->yinterpGoal - camera->yinterpCur) * camera->yinterpAlpha; } tempZ = targetZ; @@ -920,8 +748,8 @@ void update_camera_zone_interp(Camera* camera) { camera->linearInterp = 0.0f; camera->panActive = FALSE; camera->linearInterpScale = camera->moveSpeed; - camera->prevPrevFollowFlags = camera->prevFollowFlags; - camera->prevFollowFlags = camera->followPlayer; + camera->prevPrevFollowPlayer = camera->prevFollowPlayer; + camera->prevFollowPlayer = camera->followPlayer; camera->prevPrevMovePos.x = camera->prevMovePos.x; camera->prevPrevMovePos.y = camera->prevMovePos.y; camera->prevPrevMovePos.z = camera->prevMovePos.z; @@ -931,24 +759,24 @@ void update_camera_zone_interp(Camera* camera) { } } - if (camera->prevPrevFollowFlags) { + if (camera->prevPrevFollowPlayer) { posX = camera->prevPrevMovePos.x; posY = camera->prevPrevMovePos.y; posZ = camera->prevPrevMovePos.z; } else { posX = tempX; - posY = camera->savedTargetY; + posY = camera->yinterpCur; posZ = tempZ; } - if (camera->prevFollowFlags) { - camera->savedTargetY = camera->prevMovePos.y; + if (camera->prevFollowPlayer) { + camera->yinterpCur = camera->prevMovePos.y; tX = camera->prevMovePos.x; - tY = camera->savedTargetY; + tY = camera->yinterpCur; tZ = camera->prevMovePos.z; } else { tX = tempX; - tY = camera->savedTargetY; + tY = camera->yinterpCur; tZ = tempZ; } diff --git a/src/common/ActorJumpToPos.inc.c b/src/common/ActorJumpToPos.inc.c index 6dcd8bf11a..6363211700 100644 --- a/src/common/ActorJumpToPos.inc.c +++ b/src/common/ActorJumpToPos.inc.c @@ -15,10 +15,10 @@ API_CALLABLE(N(ActorJumpToPos)) { } if (actor->state.vel > 0.0f) { - set_animation(ACTOR_SELF, 1, actor->state.animJumpRise); + set_actor_anim(ACTOR_SELF, 1, actor->state.animJumpRise); } if (actor->state.vel < 0.0f) { - set_animation(ACTOR_SELF, 1, actor->state.animJumpFall); + set_actor_anim(ACTOR_SELF, 1, actor->state.animJumpFall); } actor->state.curPos.y += actor->state.vel; diff --git a/src/draw_img_util.c b/src/draw_img_util.c new file mode 100644 index 0000000000..e01d427d0c --- /dev/null +++ b/src/draw_img_util.c @@ -0,0 +1,488 @@ +#include "common.h" + +s32 draw_image_with_clipping(IMG_PTR raster, u32 width, u32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, + u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight); + +s32 draw_ci_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, s32 bitDepth, PAL_PTR palette, s16 posX, + s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity) { + s32 ret = 1; + + gDPPipeSync(gMainGfxPos++); + gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE); + gDPSetTextureFilter(gMainGfxPos++, G_TF_POINT); + gDPSetTexturePersp(gMainGfxPos++, G_TP_NONE); + + if (opacity == 255) { + gDPSetRenderMode(gMainGfxPos++, G_RM_TEX_EDGE, G_RM_TEX_EDGE2); + gDPSetCombineMode(gMainGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA); + } else if (opacity == 0) { + return ret; + } else { + gDPSetRenderMode(gMainGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); + gDPSetCombineMode(gMainGfxPos++, PM_CC_02, PM_CC_02); + gDPSetPrimColor(gMainGfxPos++, 0, 0, 0, 0, 0, opacity); + } + + if (fmt == G_IM_FMT_CI) { + gDPSetTextureLUT(gMainGfxPos++, G_TT_RGBA16); + if (bitDepth == G_IM_SIZ_4b) { + gDPLoadTLUT_pal16(gMainGfxPos++, 0, palette); + } else { + gDPLoadTLUT_pal256(gMainGfxPos++, palette); + } + } else { + gDPSetTextureLUT(gMainGfxPos++, G_TT_NONE); + } + ret = draw_image_with_clipping(raster, width, height, fmt, bitDepth, posX, posY, clipULx, clipULy, clipLRx, clipRLy); + gDPPipeSync(gMainGfxPos++); + return ret; +} + +typedef struct Rect2b { + /* 0x00 */ s16 ulx; + /* 0x02 */ s16 uly; + /* 0x04 */ s16 lrx; + /* 0x06 */ s16 lry; +} Rect2b; // size = 0x08 + +s32 draw_image_with_clipping(IMG_PTR raster, u32 width, u32 height, s32 fmt, s32 bitDepth, + s16 posX, s16 posY, + u16 clipX, u16 clipY, + u16 clipWidth, u16 clipHeight) { + Rect2b texRect; + Rect2b drawRect; + u8 stopDrawing; + u8 stopDrawingLine; + s8 zero = 0; // required to match + + u16 texOffsetX, texOffsetY; + + if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { + return FALSE; + } + if (clipX >= (s16)(posX + width)) { + return FALSE; + } + if (clipY >= (s16)(posY + height)) { + return FALSE; + } + + texRect.uly = 0; + drawRect.uly = posY; + stopDrawing = FALSE; + + while (TRUE) { + texRect.lry = texRect.uly + 31; + drawRect.lry = drawRect.uly + 32; + texOffsetY = 0; + if (drawRect.lry <= clipY) { + do { + texRect.uly += 32; + drawRect.uly = drawRect.lry; + drawRect.lry += 32; + } while (drawRect.lry < clipY); + texRect.lry = texRect.uly + 31; + } + + if (drawRect.uly < clipY) { + texOffsetY = abs(posY - clipY); + drawRect.uly = clipY; + } + + if (drawRect.lry >= clipY + clipHeight) { + texRect.lry = clipY + clipHeight - posY - 1; + stopDrawing = TRUE; + drawRect.lry = clipY + clipHeight; + } + + if (texRect.lry + 1 >= height) { + texRect.lry = height - 1; + drawRect.lry = texRect.lry + posY + 1; + stopDrawing = TRUE; + } + + texRect.ulx = zero; + drawRect.ulx = posX; + stopDrawingLine = FALSE; + + while (TRUE) { + texRect.lrx = texRect.ulx + 63; + drawRect.lrx = drawRect.ulx + 64; + texOffsetX = 0; + + if (drawRect.lrx <= clipX) { + do { + texRect.ulx += 64; + drawRect.ulx = drawRect.lrx; + drawRect.lrx += 64; + } while (drawRect.lrx < clipX); + texRect.lrx = texRect.ulx + 63; + } + + if (drawRect.ulx < clipX) { + texOffsetX = abs(posX - clipX); + drawRect.ulx = clipX; + } + + if (drawRect.lrx >= clipX + clipWidth) { + texRect.lrx = clipX + clipWidth - posX - 1; + stopDrawingLine = TRUE; + drawRect.lrx = clipX + clipWidth; + } + + if (texRect.lrx + 1 >= width) { + texRect.lrx = width - 1; + drawRect.lrx = texRect.lrx + posX + 1; + stopDrawingLine = TRUE; + } + + if (bitDepth == G_IM_SIZ_4b) { + gDPLoadTextureTile_4b(gMainGfxPos++, raster, fmt, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); + } else if (bitDepth == G_IM_SIZ_16b) { + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_16b, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); + } else if (bitDepth == G_IM_SIZ_8b) { + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_8b, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); + } + + gSPTextureRectangle(gMainGfxPos++, drawRect.ulx * 4, drawRect.uly * 4, drawRect.lrx * 4, drawRect.lry * 4, + 0, texOffsetX * 32, texOffsetY * 32, 1024, 1024); + + if (stopDrawingLine) { + break; + } + texRect.ulx += 64; + drawRect.ulx = drawRect.lrx; + } + + if (stopDrawing) { + break; + } + texRect.uly += 32; + drawRect.uly = drawRect.lry; + } + + return TRUE; +} + +s32 draw_tiled_image(IMG_PTR raster, u32 width, u32 height, u8 fmt, u8 bitDepth, + s16 posX, s16 posY, + u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight, + f32 scaleX, f32 scaleY) { + Rect texRect; + Rect drawRect; + s32 dsdx, dtdy; + s32 texOffsetX, texOffsetY; + u8 stopDrawing; + u8 stopDrawingLine; + + if (scaleX < 0.01 || scaleY < 0.01) { + return 0; + } + + if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { + return 0; + } + + if (clipX >= (s16)(posX + width * scaleX)) { + return 0; + } + + if (clipY >= (s16)(posY + height * scaleY)) { + return 0; + } + + stopDrawing = 0; + texRect.uly = 0; + drawRect.uly = posY; + dsdx = 1.0f / scaleX * 1024.0f; + dtdy = 1.0f / scaleY * 1024.0f; + while (TRUE) { + texRect.lry = texRect.uly + 31; + drawRect.lry = drawRect.uly + (scaleY * 32.0 + 0.5); + texOffsetY = 0; + if (drawRect.lry <= clipY) { + do { + texRect.uly += 32; + drawRect.uly = drawRect.lry; + drawRect.lry += scaleY * 32.0f; + } while (drawRect.lry < clipY); + texRect.lry = texRect.uly + 31; + } + + if (drawRect.uly < clipY) { + drawRect.uly = clipY; + texOffsetY = abs(posY - clipY) / scaleY * 32.0f; + } + + if ((u32)(texRect.lry + 1) >= height) { + texRect.lry = height - 1; + stopDrawing = 1; + drawRect.lry = posY + (s16)(texRect.lry * scaleY); + drawRect.lry += scaleY; + } + + if (drawRect.lry > clipY + clipHeight) { + drawRect.lry = clipY + clipHeight; + if (!stopDrawing) { + drawRect.lry = clipY + clipHeight; + stopDrawing = 1; + } + } + + stopDrawingLine = 0; + texRect.ulx = 0; + drawRect.ulx = posX; + while (TRUE) { + texRect.lrx = texRect.ulx + 63; + drawRect.lrx = drawRect.ulx + (scaleX * 64.0 + 0.3); + texOffsetX = 0; + + if (drawRect.lrx <= clipX) { + do { + texRect.ulx += 64; + drawRect.ulx = drawRect.lrx; + drawRect.lrx += scaleX * 64.0f; + } while (drawRect.lrx < clipX); + texRect.lrx = texRect.ulx + 63; + } + + if (drawRect.ulx < clipX) { + drawRect.ulx = clipX; + texOffsetX = abs(posX - clipX) / scaleX * 32.0f; + } + + if ((u32)(texRect.lrx + 1) >= width) { + texRect.lrx = width - 1; + stopDrawingLine = TRUE; + drawRect.lrx = posX + (s16)(texRect.lrx * scaleX); + drawRect.lrx = drawRect.lrx + scaleX + 0.3; + } + + if (drawRect.lrx > clipX + clipWidth) { + drawRect.lrx = clipX + clipWidth; + stopDrawingLine = TRUE; + } + + if (bitDepth == G_IM_SIZ_16b) { + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_16b, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); + } else if (bitDepth == G_IM_SIZ_4b) { + gDPLoadTextureTile_4b(gMainGfxPos++, raster, fmt, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); + } + + gSPTextureRectangle(gMainGfxPos++, drawRect.ulx * 4, drawRect.uly * 4, (drawRect.lrx - stopDrawingLine) * 4, drawRect.lry * 4, + 0, texOffsetX, texOffsetY, dsdx, dtdy); + + if (stopDrawingLine) { + break; + } + texRect.ulx += 64; + drawRect.ulx = drawRect.lrx; + }; + + if (stopDrawing) { + break; + } + texRect.uly += 32; + drawRect.uly = drawRect.lry; + }; + + return 1; +} + +s32 integer_log(s32 number, u32 base) { + f32 fNumber = number; + s32 ret = 1; + + while (TRUE) { + fNumber /= base; + if (fNumber <= 1.0) { + return ret; + } + + ret++; + } +} + +s32 draw_adjustable_tiled_image(IMG_PTR raster, u32 width, u32 height, u8 fmt, u8 bitDepth, + s16 posX, s16 posY, + u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight, + f32 scaleX, f32 scaleY) { + Rect texRect; + Rect drawRect; + u16 overlap; + s32 dsdx, dtdy; + s32 texOffsetX, texOffsetY; + u8 stopDrawing; + + u16 masks, maskt; + + u16 texelNum; + u16 lineHeight; + + f32 temp; + + if (scaleX < 0.01 || scaleY < 0.01) { + return 0; + } + + if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { + return 0; + } + + if (clipX >= (s16)(posX + width * scaleX)) { + return 0; + } + + if (clipY >= (s16)(posY + height * scaleY)) { + return 0; + } + if (bitDepth == G_IM_SIZ_4b) { + if (fmt == G_IM_FMT_IA || fmt == G_IM_FMT_I) { + texelNum = 0x2000; + } else if (fmt == G_IM_FMT_CI) { + texelNum = 0x1000; + } else { + return 0; + } + } else if (bitDepth == G_IM_SIZ_8b) { + if (fmt == G_IM_FMT_IA || fmt == G_IM_FMT_I) { + texelNum = 0x1000; + } else if (fmt == G_IM_FMT_CI) { + texelNum = 0x800; + } else { + return 0; + } + } else if (bitDepth == G_IM_SIZ_16b) { + if (fmt == G_IM_FMT_RGBA) { + texelNum = 0x800; + } else if (fmt == G_IM_FMT_IA) { + texelNum = 0x800; + } else { + return 0; + } + } else if (bitDepth == G_IM_SIZ_32b) { + if (fmt == G_IM_FMT_RGBA) { + texelNum = 0x400; + } else { + return 0; + } + } else { + return 0; + } + + dsdx = 1.0f / scaleX * 1024.0f; + dtdy = 1.0f / scaleY * 1024.0f; + lineHeight = texelNum / width; + if (lineHeight > height) { + lineHeight = height; + } else if (lineHeight <= 1) { + return 0; + } + if (scaleY <= 1.0) { + overlap = 0; + } else { + overlap = scaleY; + } + + masks = integer_log(width, 2); + maskt = integer_log(height, 2); + + stopDrawing = 0; + + texRect.ulx = 0; + texRect.uly = 0; + drawRect.ulx = posX; + drawRect.uly = posY; + + while (TRUE) { + texRect.lrx = width - 1; + texRect.lry = texRect.uly + lineHeight - 1; + drawRect.lry = drawRect.uly + lineHeight * scaleY; + drawRect.lrx = (s16)(drawRect.ulx + width * scaleX); + + + texOffsetX = texOffsetY = 0; + + if (drawRect.lry <= clipY) { + do { + texRect.uly += lineHeight; + drawRect.uly = drawRect.lry; + drawRect.lry += lineHeight * scaleY; + } while (drawRect.lry < clipY); + texRect.lry = texRect.uly + lineHeight - 1; + } + + if (drawRect.uly < clipY) { + drawRect.uly = clipY; + temp = abs(posY - clipY); + temp /= scaleY; + texOffsetY = temp * 32.0f; + } + if (texRect.lry + 1 == height){ + stopDrawing = 1; + } else if (height < texRect.lry + 1) { + s32 temp; + texRect.lry = height - 1; + temp = height * scaleY; + stopDrawing = 1; + drawRect.lry = drawRect.uly + temp; + } + + if (drawRect.lry >= clipY + clipHeight) { + if (!stopDrawing) { + drawRect.lry = clipY + clipHeight; + stopDrawing = 1; + } else if (drawRect.lry > clipY + clipHeight) { + drawRect.lry = clipY + clipHeight; + } + } + if (drawRect.ulx < clipX) { + drawRect.ulx = clipX; + temp = abs(posX - clipX); + temp /= scaleX; + texOffsetX = temp * 32.0f; + } + if (drawRect.lrx >= clipX + clipWidth) { + drawRect.lrx = clipX + clipWidth; + } + + if (bitDepth == G_IM_SIZ_4b) { + gDPLoadTextureTile_4b(gMainGfxPos++, raster, fmt, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); + } else if (bitDepth == G_IM_SIZ_8b) { + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_8b, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); + } else if (bitDepth == G_IM_SIZ_16b) { + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_16b, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); + } else if (bitDepth == G_IM_SIZ_32b) { + gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_32b, width, height, + texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, + G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); + } + gSPTextureRectangle(gMainGfxPos++, drawRect.ulx * 4, drawRect.uly * 4, drawRect.lrx * 4, drawRect.lry * 4, + 0, texOffsetX, texOffsetY, dsdx, dtdy); + + if (stopDrawing) { + break; + } + + texRect.uly += lineHeight - overlap; + drawRect.uly = drawRect.lry - overlap * scaleY; + }; + + return 1; +} diff --git a/src/effects/aura.c b/src/effects/aura.c index 4a06975e31..195f98ba23 100644 --- a/src/effects/aura.c +++ b/src/effects/aura.c @@ -13,18 +13,47 @@ extern Gfx D_09002428_37A3A8[]; extern Gfx D_09002440_37A3C0[]; extern Gfx D_09002458_37A3D8[]; -Gfx* D_E0076E90[] = { D_090023E0_37A360, D_090023E0_37A360, D_09002440_37A3C0, D_09002440_37A3C0 }; -Gfx* D_E0076EA0[] = { D_090023F8_37A378, D_090023F8_37A378, D_09002458_37A3D8, D_09002458_37A3D8 }; -Gfx* D_E0076EB0[] = { D_090023B0_37A330, D_090023B0_37A330, D_09002410_37A390, D_09002410_37A390 }; -Gfx* D_E0076EC0[] = { D_090023C8_37A348, D_090023C8_37A348, D_09002428_37A3A8, D_09002428_37A3A8 }; -Gfx* D_E0076ED0[] = { D_09002000_379F80, D_09002000_379F80, D_090020E8_37A068, D_090021D0_37A150 }; +Gfx* D_E0076E90[] = { + [FX_AURA_CAPTURE] D_090023E0_37A360, + [FX_AURA_RED] D_090023E0_37A360, + [FX_AURA_BLUE] D_09002440_37A3C0, + [FX_AURA_GOLD] D_09002440_37A3C0 +}; + +Gfx* D_E0076EA0[] = { + [FX_AURA_CAPTURE] D_090023F8_37A378, + [FX_AURA_RED] D_090023F8_37A378, + [FX_AURA_BLUE] D_09002458_37A3D8, + [FX_AURA_GOLD] D_09002458_37A3D8 +}; + +Gfx* D_E0076EB0[] = { + [FX_AURA_CAPTURE] D_090023B0_37A330, + [FX_AURA_RED] D_090023B0_37A330, + [FX_AURA_BLUE] D_09002410_37A390, + [FX_AURA_GOLD] D_09002410_37A390 +}; + +Gfx* D_E0076EC0[] = { + [FX_AURA_CAPTURE] D_090023C8_37A348, + [FX_AURA_RED] D_090023C8_37A348, + [FX_AURA_BLUE] D_09002428_37A3A8, + [FX_AURA_GOLD] D_09002428_37A3A8 +}; + +Gfx* D_E0076ED0[] = { + [FX_AURA_CAPTURE] D_09002000_379F80, + [FX_AURA_RED] D_09002000_379F80, + [FX_AURA_BLUE] D_090020E8_37A068, + [FX_AURA_GOLD] D_090021D0_37A150 +}; void aura_appendGfx(void* argEffect); void aura_init(EffectInstance* effect); void aura_update(EffectInstance* effect); void aura_render(EffectInstance* effect); -void aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance** outEffect) { +void aura_main(s32 type, f32 posX, f32 posY, f32 posZ, f32 scale, EffectInstance** outEffect) { EffectBlueprint bp; EffectBlueprint* bpPtr = &bp; EffectInstance* effect; @@ -55,14 +84,14 @@ void aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance* part->unk_4C = zero; part->fadeTime = 100; - part->type = arg0; + part->type = type; part->lifeTime = 0; part->primA = 0; - part->posA.x = arg1; - part->posA.y = arg2; - part->posA.z = arg3; + part->posA.x = posX; + part->posA.y = posY; + part->posA.z = posZ; - switch (arg0) { + switch (type) { case 0: part->primR = 75; part->primG = 75; @@ -71,9 +100,9 @@ void aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance* part->envG = 247; part->engB = 155; part->engA = 0; - part->scale.x = arg4 * 2.0; - part->scale.y = arg4 * 0.6; - part->unk_24 = arg4; + part->scale.x = scale * 2.0; + part->scale.y = scale * 0.6; + part->unk_24 = scale; part->unk_38 = -0.9f; part->unk_44 = 0.04f; part->unk_3C = 0.04f; @@ -91,9 +120,9 @@ void aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance* part->envG = 0; part->engB = 0; part->engA = 0; - part->scale.x = arg4; - part->scale.y = arg4; - part->unk_24 = arg4; + part->scale.x = scale; + part->scale.y = scale; + part->unk_24 = scale; part->unk_38 = zero; part->unk_50 = zero; part->unk_44 = 0.04f; @@ -111,9 +140,9 @@ void aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance* part->engB = 255; part->envG = 0; part->engA = 81; - part->scale.x = arg4; - part->scale.y = arg4; - part->unk_24 = arg4; + part->scale.x = scale; + part->scale.y = scale; + part->unk_24 = scale; part->unk_38 = zero; part->unk_50 = zero; part->unk_44 = 0.04f; @@ -131,9 +160,9 @@ void aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance* part->engB = 255; part->envG = 0; part->engA = 63; - part->scale.x = arg4; - part->scale.y = arg4; - part->unk_24 = arg4; + part->scale.x = scale; + part->scale.y = scale; + part->unk_24 = scale; part->unk_38 = 0.0f; part->unk_50 = 0.0f; part->unk_44 = 0.04f; @@ -185,13 +214,13 @@ void aura_update(EffectInstance* effect) { fadeTime = data->fadeTime; lifeTime = data->lifeTime; - if (type < 2) { + if (type < FX_AURA_BLUE) { if (lifeTime <= 10) { data->primA += (128 - data->primA) * 0.5; } } else { if (lifeTime <= 10) { - data->primA = (lifeTime * 0xFF) / 10; + data->primA = (lifeTime * 255) / 10; } } @@ -199,7 +228,7 @@ void aura_update(EffectInstance* effect) { data->primA *= 0.5; } - if (type == 0) { + if (type == FX_AURA_CAPTURE) { data->unk_38 += (data->unk_3C - data->unk_38) * 0.02; data->unk_44 += (data->unk_48 - data->unk_44) * 0.02; data->scale.x += (data->unk_24 - data->scale.x) * 0.04; @@ -275,7 +304,7 @@ void aura_appendGfx(void* argEffect) { gSPDisplayList(gMainGfxPos++, D_E0076ED0[type]); guTranslateF(translateMtx, data->posB.x, data->posB.y, data->posB.z); - if (type == 2) { + if (type == FX_AURA_BLUE) { guRotateF(tempMtx, data->renderYaw, 0.0f, 1.0f, 0.0f); } else { guRotateF(tempMtx, -gCameras[gCurrentCameraID].curYaw, 0.0f, 1.0f, 0.0f); @@ -283,7 +312,7 @@ void aura_appendGfx(void* argEffect) { guMtxCatF(tempMtx, translateMtx, transformMtx); guScaleF(tempMtx, data->scale.x, data->scale.y, 1.0f); guMtxCatF(tempMtx, transformMtx, transformMtx); - if (type == 0) { + if (type == FX_AURA_CAPTURE) { guTranslateF(tempMtx, (-(data->scale.x - data->unk_24) / data->unk_24) * 10.0f, 0.0f, 0.0f); guMtxCatF(tempMtx, transformMtx, transformMtx); } @@ -294,7 +323,7 @@ void aura_appendGfx(void* argEffect) { gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW); guTranslateF(translateMtx, data->posA.x, data->posA.y, data->posA.z); - if (type == 2) { + if (type == FX_AURA_BLUE) { guRotateF(tempMtx, data->renderYaw, 0.0f, 1.0f, 0.0f); } else { guRotateF(tempMtx, -gCameras[gCurrentCameraID].curYaw, 0.0f, 1.0f, 0.0f); @@ -302,7 +331,7 @@ void aura_appendGfx(void* argEffect) { guMtxCatF(tempMtx, translateMtx, transformMtx); guScaleF(tempMtx, data->scale.x, data->scale.y, 1.0f); guMtxCatF(tempMtx, transformMtx, transformMtx); - if (type == 0) { + if (type == FX_AURA_CAPTURE) { guTranslateF(tempMtx, (-(data->scale.x - data->unk_24) / data->unk_24) * 10.0f, 0.0f, 0.0f); guMtxCatF(tempMtx, transformMtx, transformMtx); } diff --git a/src/effects/partner_buff.c b/src/effects/partner_buff.c index 6caadfcc41..d21f00f10f 100644 --- a/src/effects/partner_buff.c +++ b/src/effects/partner_buff.c @@ -70,9 +70,9 @@ EffectInstance* partner_buff_main(s32 useRandomValues, f32 arg1, f32 arg2, f32 a part->unk_0C[i].stateTimer = 0; } - part->unk_02 = 0; + part->visible = FALSE; if (useRandomValues == 1) { - part->unk_02 = 1; + part->visible = TRUE; } return effect; @@ -220,7 +220,7 @@ void func_E011A700(EffectInstance* effect) { f32 x, y; s32 i; - if (data->unk_02 != 0) { + if (data->visible) { gDPPipeSync(gMainGfxPos++); gSPSegment(gMainGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); diff --git a/src/effects/water_block.c b/src/effects/water_block.c index ad4969abb8..ea81bd918c 100644 --- a/src/effects/water_block.c +++ b/src/effects/water_block.c @@ -2,57 +2,53 @@ #include "effects_internal.h" typedef struct WaterBlockVtxData { - /* 0x00 */ s8 unk_00; - /* 0x01 */ s8 unk_01; - /* 0x02 */ s8 unk_02; - /* 0x04 */ s16 unk_04; - /* 0x06 */ s16 unk_06; - /* 0x08 */ u8 unk_08; - /* 0x09 */ u8 unk_09; - /* 0x0A */ u8 unk_0A; + /* 0x00 */ Vec3b pos; + /* 0x04 */ s16 normX; + /* 0x06 */ s16 normY; + /* 0x08 */ Color_RGB8 color; } WaterBlockVtxData; // size = 0xC WaterBlockVtxData D_E00B4CF0[] = { - { 25, 4, -25, 1025, 72, 176, 176, 176}, - { 22, 0, -22, 963, 0, 176, 176, 176}, - {-22, 0, -22, 61, 0, 176, 176, 176}, - {-25, 4, -25, 1, 72, 176, 176, 176}, - { 25, 46, -25, 1025, 951, 176, 176, 176}, - {-25, 46, -25, 1, 951, 176, 176, 176}, - { 22, 50, -22, 890, 997, 174, 208, 216}, - {-22, 50, -22, 133, 997, 174, 208, 216}, - {-22, 50, 22, 133, 997, 174, 208, 216}, - { 22, 50, 22, 890, 997, 174, 208, 216}, - {-22, 0, -22, 133, 25, 148, 165, 176}, - { 22, 0, -22, 890, 25, 148, 165, 176}, - { 22, 0, 22, 890, 25, 148, 165, 176}, - {-22, 0, 22, 133, 25, 148, 165, 176}, - {-22, 50, 22, 963, 1021, 120, 110, 136}, - {-22, 50, -22, 61, 1021, 120, 110, 136}, - {-25, 46, -25, 0, 951, 120, 110, 136}, - {-25, 46, 25, 1024, 951, 120, 110, 136}, - {-25, 4, -25, 0, 72, 120, 110, 136}, - {-25, 4, 25, 1024, 72, 120, 110, 136}, - {-22, 0, -22, 61, 0, 120, 110, 136}, - {-22, 0, 22, 963, 0, 120, 110, 136}, - {-22, 50, -22, 61, 1021, 176, 176, 176}, - { 22, 50, -22, 963, 1021, 176, 176, 176}, - { 22, 0, 22, 963, 0, 120, 110, 136}, - { 22, 0, -22, 61, 0, 120, 110, 136}, - { 25, 4, -25, 0, 72, 120, 110, 136}, - { 25, 4, 25, 1024, 72, 120, 110, 136}, - { 25, 46, -25, 0, 951, 120, 110, 136}, - { 25, 46, 25, 1024, 951, 120, 110, 136}, - { 22, 50, -22, 61, 1021, 120, 110, 136}, - {-22, 0, 22, 61, 0, 240, 240, 240}, - { 25, 4, 25, 1025, 72, 240, 240, 240}, - { 25, 46, 25, 1025, 951, 240, 240, 240}, - { 22, 50, 22, 963, 1021, 120, 110, 136}, - { 22, 0, 22, 963, 0, 240, 240, 240}, - {-25, 4, 25, 1, 72, 240, 240, 240}, - {-25, 46, 25, 1, 951, 240, 240, 240}, - { 22, 50, 22, 963, 1021, 240, 240, 240}, - {-22, 50, 22, 61, 1021, 240, 240, 240}, + {{ 25, 4, -25 }, 1025, 72, { 176, 176, 176 }}, + {{ 22, 0, -22 }, 963, 0, { 176, 176, 176 }}, + {{-22, 0, -22 }, 61, 0, { 176, 176, 176 }}, + {{-25, 4, -25 }, 1, 72, { 176, 176, 176 }}, + {{ 25, 46, -25 }, 1025, 951, { 176, 176, 176 }}, + {{-25, 46, -25 }, 1, 951, { 176, 176, 176 }}, + {{ 22, 50, -22 }, 890, 997, { 174, 208, 216 }}, + {{-22, 50, -22 }, 133, 997, { 174, 208, 216 }}, + {{-22, 50, 22 }, 133, 997, { 174, 208, 216 }}, + {{ 22, 50, 22 }, 890, 997, { 174, 208, 216 }}, + {{-22, 0, -22 }, 133, 25, { 148, 165, 176 }}, + {{ 22, 0, -22 }, 890, 25, { 148, 165, 176 }}, + {{ 22, 0, 22 }, 890, 25, { 148, 165, 176 }}, + {{-22, 0, 22 }, 133, 25, { 148, 165, 176 }}, + {{-22, 50, 22 }, 963, 1021, { 120, 110, 136 }}, + {{-22, 50, -22 }, 61, 1021, { 120, 110, 136 }}, + {{-25, 46, -25 }, 0, 951, { 120, 110, 136 }}, + {{-25, 46, 25 }, 1024, 951, { 120, 110, 136 }}, + {{-25, 4, -25 }, 0, 72, { 120, 110, 136 }}, + {{-25, 4, 25 }, 1024, 72, { 120, 110, 136 }}, + {{-22, 0, -22 }, 61, 0, { 120, 110, 136 }}, + {{-22, 0, 22 }, 963, 0, { 120, 110, 136 }}, + {{-22, 50, -22 }, 61, 1021, { 176, 176, 176 }}, + {{ 22, 50, -22 }, 963, 1021, { 176, 176, 176 }}, + {{ 22, 0, 22 }, 963, 0, { 120, 110, 136 }}, + {{ 22, 0, -22 }, 61, 0, { 120, 110, 136 }}, + {{ 25, 4, -25 }, 0, 72, { 120, 110, 136 }}, + {{ 25, 4, 25 }, 1024, 72, { 120, 110, 136 }}, + {{ 25, 46, -25 }, 0, 951, { 120, 110, 136 }}, + {{ 25, 46, 25 }, 1024, 951, { 120, 110, 136 }}, + {{ 22, 50, -22 }, 61, 1021, { 120, 110, 136 }}, + {{-22, 0, 22 }, 61, 0, { 240, 240, 240 }}, + {{ 25, 4, 25 }, 1025, 72, { 240, 240, 240 }}, + {{ 25, 46, 25 }, 1025, 951, { 240, 240, 240 }}, + {{ 22, 50, 22 }, 963, 1021, { 120, 110, 136 }}, + {{ 22, 0, 22 }, 963, 0, { 240, 240, 240 }}, + {{-25, 4, 25 }, 1, 72, { 240, 240, 240 }}, + {{-25, 46, 25 }, 1, 951, { 240, 240, 240 }}, + {{ 22, 50, 22 }, 963, 1021, { 240, 240, 240 }}, + {{-22, 50, 22 }, 61, 1021, { 240, 240, 240 }}, }; extern Gfx D_09000300_3B6EF0[]; @@ -66,7 +62,7 @@ void water_block_update(EffectInstance* effect); void water_block_render(EffectInstance* effect); void water_block_appendGfx(void* effect); -EffectInstance* water_block_main(s32 arg0, f32 x, f32 y, f32 z, f32 arg4, s32 arg5) { +EffectInstance* water_block_main(s32 type, f32 x, f32 y, f32 z, f32 arg4, s32 duration) { EffectBlueprint bp; EffectBlueprint* bpPtr = &bp; EffectInstance* effect; @@ -87,22 +83,22 @@ EffectInstance* water_block_main(s32 arg0, f32 x, f32 y, f32 z, f32 arg4, s32 ar data = effect->data.waterBlock = general_heap_malloc(sizeof(*data)); ASSERT(data != NULL); - data->unk_00 = arg0; - data->unk_14 = 0; - if (arg5 <= 0) { - data->unk_10 = 1000; + data->type = type; + data->lifetime = 0; + if (duration <= 0) { + data->timeLeft = 1000; } else { - data->unk_10 = arg5; + data->timeLeft = duration; } - data->unk_24 = 0; + data->color.a = 0; data->pos.x = x; data->pos.y = y; data->pos.z = z; data->unk_2C = arg4; - data->unk_18 = 47; - data->unk_1C = 127; - data->unk_20 = 255; + data->color.r = 47; + data->color.g = 127; + data->color.b = 255; data->unk_30 = 0.0f; data->unk_34 = 0.0f; @@ -120,60 +116,60 @@ EFFECT_DEF_WATER_SPLASH(water_splash_main); void water_block_update(EffectInstance* effect) { WaterBlockFXData *data; f32 temp_f20; - s32 temp_a0; - s32 temp_s0; - s32 temp_v1_3; + s32 type; + s32 time; + s32 timeLeft; s32 i; data = effect->data.waterBlock; - temp_a0 = data->unk_00; + type = data->type; if (effect->flags & FX_INSTANCE_FLAG_DISMISS) { - if (temp_a0 == 1) { + if (type == FX_WATER_BLOCK_DESTROY) { effect->flags = effect->flags & ~FX_INSTANCE_FLAG_DISMISS; - data->unk_10 = 4; + data->timeLeft = 4; } else { effect->flags = effect->flags & ~FX_INSTANCE_FLAG_DISMISS; - data->unk_10 = 16; + data->timeLeft = 16; } } - if (data->unk_10 < 1000) { - data->unk_10--; + if (data->timeLeft < 1000) { + data->timeLeft--; } - data->unk_14++; - if (data->unk_14 > 324000) { - data->unk_14 = 256; + data->lifetime++; + if (data->lifetime > 90 * 60 * 60) { + data->lifetime = 256; } - temp_v1_3 = data->unk_10; - if (temp_v1_3 < 0) { - if (temp_a0 == 1) { + timeLeft = data->timeLeft; + if (timeLeft < 0) { + if (type == FX_WATER_BLOCK_DESTROY) { load_effect(EFFECT_WATER_SPLASH); - water_splash_main(0, data->pos.x, data->pos.y + 24.0f, data->pos.z, 2.0f, 0x1E); - water_splash_main(1, data->pos.x, data->pos.y + 24.0f, data->pos.z, 2.0f, 0x1E); + water_splash_main(0, data->pos.x, data->pos.y + 24.0f, data->pos.z, 2.0f, 30); + water_splash_main(1, data->pos.x, data->pos.y + 24.0f, data->pos.z, 2.0f, 30); } remove_effect(effect); return; } - temp_s0 = data->unk_14; - if (temp_a0 == 0) { - if (temp_v1_3 < 16) { - data->unk_24 = temp_v1_3 * 16; - data->unk_28 = temp_v1_3 * 16; + + time = data->lifetime; + if (type == FX_WATER_BLOCK_CREATE) { + if (timeLeft < 16) { + data->color.a = timeLeft * 16; + data->alpha = timeLeft * 16; } - if (temp_s0 < 16) { - data->unk_24 = (temp_s0 * 16) + 15; - data->unk_28 = (temp_s0 * 16) + 15; + if (time < 16) { + data->color.a = (time * 16) + 15; + data->alpha = (time * 16) + 15; } - } else if (temp_s0 < 4) { - data->unk_24 = (temp_s0 * 64) + 63; - data->unk_28 = (temp_s0 * 64) + 63; + } else if (time < 4) { + data->color.a = (time * 64) + 63; + data->alpha = (time * 64) + 63; } - - data->unk_1C = sin_deg((temp_s0 * 6) + temp_s0) * 32.0f + 127.0f; - temp_f20 = (f32)temp_s0 * 0.01; + data->color.g = sin_deg((time * 6) + time) * 32.0f + 127.0f; + temp_f20 = (f32)time * 0.01; data->unk_30 = (sin_deg(temp_f20 * 6.0f) * 32.0f * sin_deg(temp_f20)) + 256.0f + (cos_deg(2.0f * temp_f20) * 32.0f) + (cos_deg(temp_f20) * 32.0f); data->unk_34 += 0.2; if (data->unk_34 >= 128.0f) { @@ -221,12 +217,12 @@ void water_block_appendGfx(void *effect) { Matrix4f sp20; Matrix4f sp60; WaterBlockFXData* data = ((EffectInstance*)effect)->data.waterBlock; - s32 spA4 = data->unk_24; - Vtx* spA8; + s32 alpha = data->color.a; + Vtx* vtxBase; EffectInstance* effectTemp = effect; - WaterBlockVtxData* var_s6; - Vtx* var_fp; - s32 temp_s0; + WaterBlockVtxData* vtxData; + Vtx* curVtx; + s32 timePhase; s32 i; gDPPipeSync(gMainGfxPos++); @@ -237,44 +233,44 @@ void water_block_appendGfx(void *effect) { gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPBranchList(gMainGfxPos, &gMainGfxPos[81]); - spA8 = (Vtx*)++gMainGfxPos; + vtxBase = (Vtx*)++gMainGfxPos; gMainGfxPos = &gMainGfxPos[80]; - temp_s0 = gGameStatusPtr->frameCounter * 4; + timePhase = gGameStatusPtr->frameCounter * 4; - for (var_s6 = D_E00B4CF0, i = 0, var_fp = spA8; i < 40; i++, var_s6++, var_fp++) { - f32 x = var_s6->unk_00 * 10; - f32 y = var_s6->unk_01 * 10; - f32 z = var_s6->unk_02 * 10; + for (vtxData = D_E00B4CF0, i = 0, curVtx = vtxBase; i < ARRAY_COUNT(D_E00B4CF0); i++, vtxData++, curVtx++) { + f32 x = vtxData->pos.x * 10; + f32 y = vtxData->pos.y * 10; + f32 z = vtxData->pos.z * 10; if (y != 0.0f) { - f32 dx = sin_deg(temp_s0 + effect_simple_rand(1000, (x + (y * 10.0f) + (z * 100.0f)))) * 20.0f; - f32 dy = sin_deg(temp_s0 + effect_simple_rand(1000, ((x * 10.0f) + (y * 100.0f) + z))) * 20.0f; - f32 dz = sin_deg(temp_s0 + effect_simple_rand(1000, ((x * 100.0f) + y + (z * 10.0f)))) * 20.0f; + f32 dx = sin_deg(timePhase + effect_simple_rand(1000, (x + (y * 10.0f) + (z * 100.0f)))) * 20.0f; + f32 dy = sin_deg(timePhase + effect_simple_rand(1000, ((x * 10.0f) + (y * 100.0f) + z))) * 20.0f; + f32 dz = sin_deg(timePhase + effect_simple_rand(1000, ((x * 100.0f) + y + (z * 10.0f)))) * 20.0f; x += dx; y += dy; z += dz; } - var_fp->v.ob[0] = x; - var_fp->v.ob[1] = y; - var_fp->v.ob[2] = z; + curVtx->v.ob[0] = x; + curVtx->v.ob[1] = y; + curVtx->v.ob[2] = z; - var_fp->v.tc[0] = var_s6->unk_04; - var_fp->v.tc[1] = var_s6->unk_06; + curVtx->v.tc[0] = vtxData->normX; + curVtx->v.tc[1] = vtxData->normY; - var_fp->v.cn[0] = var_s6->unk_08; - var_fp->v.cn[1] = var_s6->unk_09; - var_fp->v.cn[2] = var_s6->unk_0A; - var_fp->v.cn[3] = 80; + curVtx->v.cn[0] = vtxData->color.r; + curVtx->v.cn[1] = vtxData->color.g; + curVtx->v.cn[2] = vtxData->color.b; + curVtx->v.cn[3] = 80; } guScaleF(sp20, 0.1f, 0.1f, 0.1f); guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); - gDPSetEnvColor(gMainGfxPos++, 0, 0, 255, data->unk_28); - gDPSetPrimColor(gMainGfxPos++, 0, 0, 255, 255, 255, spA4); + gDPSetEnvColor(gMainGfxPos++, 0, 0, 255, data->alpha); + gDPSetPrimColor(gMainGfxPos++, 0, 0, 255, 255, 255, alpha); gSPDisplayList(gMainGfxPos++, D_090003B0_3B6FA0); for (i = 0; i < NUM_WATER_BLOCK_COMPONENTS; i++) { @@ -288,15 +284,15 @@ void water_block_appendGfx(void *effect) { } gSPDisplayList(gMainGfxPos++, D_09000300_3B6EF0); - gDPSetPrimColor(gMainGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, spA4 * 0.3); + gDPSetPrimColor(gMainGfxPos++, 0, 0, data->color.r, data->color.g, data->color.b, alpha * 0.3); gSPClearGeometryMode(gMainGfxPos++, G_CULL_BOTH); gSPSetGeometryMode(gMainGfxPos++, G_CULL_BACK); - gSPVertex(gMainGfxPos++, spA8, 30, 0); + gSPVertex(gMainGfxPos++, vtxBase, 30, 0); gSPDisplayList(gMainGfxPos++, D_090004D8_3B70C8); - gSPVertex(gMainGfxPos++, &spA8[28], 12, 0); + gSPVertex(gMainGfxPos++, &vtxBase[28], 12, 0); gSPDisplayList(gMainGfxPos++, D_09000538_3B7128) gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW); diff --git a/src/entity.c b/src/entity.c index 2f7a605ebc..c1400e5cc4 100644 --- a/src/entity.c +++ b/src/entity.c @@ -153,7 +153,7 @@ void update_entities(void) { entity->rot.y = -gCameras[gCurrentCameraID].curYaw; } - if (!gGameStatusPtr->disableScripts) { + if (gGameStatusPtr->debugScripts == DEBUG_SCRIPTS_NONE) { if (entity->updateScriptCallback != NULL) { entity->updateScriptCallback(entity); } @@ -784,7 +784,7 @@ void load_area_specific_entity_data(void) { } } -void clear_entity_data(s32 arg0) { +void clear_entity_data(b32 arg0) { s32 i; D_801516FC = 1; @@ -1521,9 +1521,9 @@ s32 create_entity_shadow(Entity* entity, f32 x, f32 y, f32 z) { s16 shadowIndex; if (bpFlags & ENTITY_FLAG_FIXED_SHADOW_SIZE) { - type = (bpFlags & ENTITY_FLAG_SQUARE_SHADOW) ? 2 : 3; + type = (bpFlags & ENTITY_FLAG_CIRCULAR_SHADOW) ? SHADOW_FIXED_CIRCLE : SHADOW_FIXED_SQUARE; } else { - type = (bpFlags & ENTITY_FLAG_SQUARE_SHADOW) ? 0 : 1; + type = (bpFlags & ENTITY_FLAG_CIRCULAR_SHADOW) ? SHADOW_VARYING_CIRCLE : SHADOW_VARYING_SQUARE; } shadowIndex = create_shadow_type(type, x, y, z); @@ -1540,19 +1540,19 @@ s32 create_shadow_type(s32 type, f32 x, f32 y, f32 z) { s32 shadowIndex; switch (type) { - case 2: + case SHADOW_FIXED_CIRCLE: isFixedSize = TRUE; - case 0: + case SHADOW_VARYING_CIRCLE: bp = &CircularShadowA; break; - case 3: + case SHADOW_FIXED_SQUARE: isFixedSize = TRUE; - case 1: + case SHADOW_VARYING_SQUARE: bp = &SquareShadow; break; - case 5: + case SHADOW_FIXED_ALT_CIRCLE: isFixedSize = TRUE; - case 4: + case SHADOW_VARYING_ALT_CIRCLE: bp = &CircularShadowB; break; } diff --git a/src/entity/Signpost.c b/src/entity/Signpost.c index c0bdc34747..4a64e25e88 100644 --- a/src/entity/Signpost.c +++ b/src/entity/Signpost.c @@ -28,7 +28,7 @@ EntityScript Entity_Signpost_Script = { EntityModelScript Entity_Signpost_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_Signpost_Render, RENDER_MODE_SURFACE_OPA); EntityBlueprint Entity_Signpost = { - .flags = ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE, + .flags = ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE, .typeDataSize = sizeof(SignpostData), .renderCommandList = Entity_Signpost_RenderScript, .modelAnimationNodes = NULL, diff --git a/src/entity/Switch.c b/src/entity/Switch.c index 03a9fbb282..da52e411b5 100644 --- a/src/entity/Switch.c +++ b/src/entity/Switch.c @@ -539,7 +539,7 @@ EntityBlueprint Entity_RedSwitch = { }; EntityBlueprint Entity_BlueSwitch = { - .flags = ENTITY_FLAG_8000 | ENTITY_FLAG_ALWAYS_FACE_CAMERA | ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_DYNAMIC_SHADOW, + .flags = ENTITY_FLAG_8000 | ENTITY_FLAG_ALWAYS_FACE_CAMERA | ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_DYNAMIC_SHADOW, .typeDataSize = sizeof(SwitchData), .renderCommandList = Entity_BlueSwitch_RenderScript, .modelAnimationNodes = 0, @@ -552,7 +552,7 @@ EntityBlueprint Entity_BlueSwitch = { }; EntityBlueprint Entity_HugeBlueSwitch = { - .flags = ENTITY_FLAG_8000 | ENTITY_FLAG_ALWAYS_FACE_CAMERA | ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_DYNAMIC_SHADOW, + .flags = ENTITY_FLAG_8000 | ENTITY_FLAG_ALWAYS_FACE_CAMERA | ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_DYNAMIC_SHADOW, .typeDataSize = sizeof(SwitchData), .renderCommandList = Entity_HugeBlueSwitch_RenderScript, .modelAnimationNodes = 0, diff --git a/src/entity/default/Padlock.c b/src/entity/default/Padlock.c index acab837e5e..2b6ee50a3e 100644 --- a/src/entity/default/Padlock.c +++ b/src/entity/default/Padlock.c @@ -88,7 +88,7 @@ void entity_Padlock_idle(Entity* entity) { entity_Padlock_push_player(entity); if (entity->flags & ENTITY_FLAG_100000) { data->state++; - sfx_play_sound(SOUND_0269); + sfx_play_sound(SOUND_USE_KEY); } break; case 1: @@ -130,7 +130,7 @@ void entity_Padlock_idle(Entity* entity) { data->fallSpeed = 10.0f; data->rotSpeed = 0.2f; data->state++; - sfx_play_sound(SOUND_026A); + sfx_play_sound(SOUND_LOCK_DROP); } break; case 4: @@ -148,7 +148,7 @@ void entity_Padlock_idle(Entity* entity) { entity->rot.x = 90.0f; data->rotSpeed = -20.0f; data->state++; - sfx_play_sound(SOUND_026A); + sfx_play_sound(SOUND_LOCK_DROP); } break; case 6: @@ -161,7 +161,7 @@ void entity_Padlock_idle(Entity* entity) { entity->rot.x = 90.0f; data->timer = 5; data->state++; - sfx_play_sound(SOUND_026A); + sfx_play_sound(SOUND_LOCK_DROP); } break; case 7: diff --git a/src/entity/jan_iwa/ArrowSign.c b/src/entity/jan_iwa/ArrowSign.c index 025ef448f0..4e144aeae3 100644 --- a/src/entity/jan_iwa/ArrowSign.c +++ b/src/entity/jan_iwa/ArrowSign.c @@ -53,7 +53,7 @@ EntityScript Entity_ArrowSign_Script = { EntityModelScript Entity_ArrowSign_RenderScript = STANDARD_ENTITY_MODEL_SCRIPT(Entity_ArrowSign_Render, RENDER_MODE_SURFACE_OPA); EntityBlueprint Entity_ArrowSign = { - .flags = ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE, + .flags = ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE, .typeDataSize = sizeof(ArrowSignData), .renderCommandList = Entity_ArrowSign_RenderScript, .modelAnimationNodes = 0, diff --git a/src/entity/jan_iwa/Plants1.c b/src/entity/jan_iwa/Plants1.c index 267526b770..6b7a266011 100644 --- a/src/entity/jan_iwa/Plants1.c +++ b/src/entity/jan_iwa/Plants1.c @@ -139,12 +139,12 @@ void entity_SpinningFlower_init(Entity* entity) { } void func_802BB314_E2DC44(Entity* entity) { - sfx_play_sound_at_position(SOUND_LOOP_6A, SOUND_SPACE_DEFAULT, entity->pos.x, entity->pos.y, entity->pos.z); + sfx_play_sound_at_position(SOUND_LOOP_SPINNING_FLOWER, SOUND_SPACE_DEFAULT, entity->pos.x, entity->pos.y, entity->pos.z); } void func_802BB34C_E2DC7C(void) { - sfx_play_sound(SOUND_LRAW_0391 | SOUND_ID_TRIGGER_CHANGE_SOUND); - snd_stop_tracking_env_sound_pos(SOUND_LRAW_0391, TRUE); + sfx_play_sound(SOUND_LRAW_SPINNING_FLOWER | SOUND_ID_TRIGGER_CHANGE_SOUND); + snd_stop_tracking_env_sound_pos(SOUND_LRAW_SPINNING_FLOWER, TRUE); } void entity_PinkFlowerLight_setupGfx(s32 entityIndex) { @@ -380,7 +380,7 @@ DmaEntry Entity_CymbalPlant_dma[] = { ENTITY_ROM(CymbalPlant_gfx), ENTITY_ROM(Cy DmaEntry Entity_PinkFlower_dma[] = { ENTITY_ROM(PinkFlower_gfx), ENTITY_ROM(PinkFlower_anim) }; EntityBlueprint Entity_CymbalPlant = { - .flags = ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_ANIMATED_MODEL, + .flags = ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_ANIMATED_MODEL, .typeDataSize = sizeof(CymbalPlantData), .renderCommandList = Entity_CymbalPlant_AnimationIdle, .modelAnimationNodes = Entity_CymbalPlant_Mesh, @@ -393,7 +393,7 @@ EntityBlueprint Entity_CymbalPlant = { }; EntityBlueprint Entity_PinkFlower = { - .flags = ENTITY_FLAG_SHOWS_INSPECT_PROMPT | ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_ANIMATED_MODEL, + .flags = ENTITY_FLAG_SHOWS_INSPECT_PROMPT | ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_ANIMATED_MODEL, .typeDataSize = sizeof(PinkFlowerData), .renderCommandList = Entity_PinkFlower_AnimationIdle, .modelAnimationNodes = Entity_PinkFlower_Mesh, diff --git a/src/entity/jan_iwa/Plants2.c b/src/entity/jan_iwa/Plants2.c index 4703a2eaf3..034acad679 100644 --- a/src/entity/jan_iwa/Plants2.c +++ b/src/entity/jan_iwa/Plants2.c @@ -329,7 +329,7 @@ DmaEntry Entity_BellbellPlant_dma[] = { ENTITY_ROM(BellbellPlant_gfx), ENTITY_RO DmaEntry Entity_TrumpetPlant_dma[] = { ENTITY_ROM(TrumpetPlant_gfx), ENTITY_ROM(TrumpetPlant_anim) }; EntityBlueprint Entity_BellbellPlant = { - .flags = ENTITY_FLAG_SHOWS_INSPECT_PROMPT | ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_ANIMATED_MODEL, + .flags = ENTITY_FLAG_SHOWS_INSPECT_PROMPT | ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE | ENTITY_FLAG_HAS_ANIMATED_MODEL, .typeDataSize = 0, .renderCommandList = Entity_BellbellPlant_AnimationIdle, .modelAnimationNodes = Entity_BellbellPlant_Mesh, @@ -355,7 +355,7 @@ EntityBlueprint Entity_TrumpetPlant = { }; EntityBlueprint Entity_Munchlesia = { - .flags = ENTITY_FLAG_SQUARE_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE, + .flags = ENTITY_FLAG_CIRCULAR_SHADOW | ENTITY_FLAG_400 | ENTITY_FLAG_FIXED_SHADOW_SIZE, .typeDataSize = sizeof(MunchlesiaData), .renderCommandList = Entity_RenderNone_Script, .modelAnimationNodes = 0, diff --git a/src/evt/audio_api.c b/src/evt/audio_api.c new file mode 100644 index 0000000000..9e137d4168 --- /dev/null +++ b/src/evt/audio_api.c @@ -0,0 +1,262 @@ +#include "common.h" + +ApiStatus PollMusicEvents(Evt* script, s32 isInitialCall); + +extern MusicEvent* MusicEventList; +extern Evt* RunningMusicEvents[10]; +extern s32 RunningMusicEventIDs[10]; + +s32 MusicEventPollCount = 0; + +static EvtScript EVS_MusicEventMonitor = { + EVT_CALL(PollMusicEvents) + EVT_RETURN + EVT_END +}; + +ApiStatus PollMusicEvents(Evt* script, s32 isInitialCall) { + MusicEventTrigger* list; + s32 musicEventID, scriptSelector; + u32 count; + s32 i; + + bgm_poll_music_events(&list, &count); + + for (i = 0; i < count; i++, list++) { + MusicEvent* cur = MusicEventList; + musicEventID = (*list & 0xFF0000) >> 0x10; + scriptSelector = *list & 0xFF; + while (cur->musicEventID != -1) { + if (cur->musicEventID == musicEventID) { + break; + } + cur++; + } + // @bug? can cur ever be NULL here? + // condition should probably be if (cur->musicEventID != -1) + if (cur != NULL) { + EvtScript* newSource = cur->scripts[scriptSelector]; + if (RunningMusicEvents[musicEventID] != NULL) { + kill_script_by_ID(RunningMusicEventIDs[musicEventID]); + } + if (newSource != NULL) { + Evt* newEvt = start_script(newSource, EVT_PRIORITY_1, 0); + RunningMusicEvents[musicEventID] = newEvt; + RunningMusicEventIDs[musicEventID] = newEvt->id; + } + } + } + bgm_flush_music_events(); + MusicEventPollCount++; + return ApiStatus_BLOCK; +} + +ApiStatus RegisterMusicEvents(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 i; + + // expects a list of MusicEvent, terminated by -1 0 0 0 0 + MusicEventList = (MusicEvent*) evt_get_variable(script, *args++); + + for (i = 0; i < ARRAY_COUNT(RunningMusicEvents); i++) { + RunningMusicEvents[i] = NULL; + RunningMusicEventIDs[i] = 0; + } + + start_script(&EVS_MusicEventMonitor, EVT_PRIORITY_1, 0); + return ApiStatus_DONE2; +} + +ApiStatus FadeOutMusic(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 musicPlayer = evt_get_variable(script, *args++); + s32 fadeTime = evt_get_variable(script, *args++); + + if (bgm_set_song(musicPlayer, -1, 0, fadeTime, 8)) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus SetMusicTrack(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 musicPlayer = evt_get_variable(script, *args++); + s32 songID = evt_get_variable(script, *args++); + s32 variation = evt_get_variable(script, *args++); + s16 volume = evt_get_variable(script, *args++); + + if (bgm_set_song(musicPlayer, songID, variation, 500, volume)) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus FadeInMusic(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 musicPlayer = evt_get_variable(script, *args++); + s32 songID = evt_get_variable(script, *args++); + s32 variation = evt_get_variable(script, *args++); + s32 fadeTime = evt_get_variable(script, *args++); + s16 fadeStartVolume = evt_get_variable(script, *args++); + s16 fadeEndVolume = evt_get_variable(script, *args++); + + if (func_8014A964(musicPlayer, songID, variation, fadeTime, fadeStartVolume, fadeEndVolume)) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus EnableMusicProximityMix(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 playerIndex = evt_get_variable(script, *args++); + + gMusicSettings[playerIndex].flags |= MUSIC_SETTINGS_FLAG_ENABLE_PROXIMITY_MIX; + return ApiStatus_DONE2; +} + +ApiStatus AdjustMusicProximityMix(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 playerIndex = evt_get_variable(script, *args++); + s32 mix = evt_get_variable(script, *args++); + s32 state = evt_get_variable(script, *args++); + + bgm_adjust_proximity(playerIndex, mix, state); + return ApiStatus_DONE2; +} + +ApiStatus SetMusicTrackVolumes(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s16 trackVolSet = evt_get_variable(script, *args++); + + bgm_set_track_volumes(0, trackVolSet); + return ApiStatus_DONE2; +} + +ApiStatus PopSong(Evt* script, s32 isInitialCall) { + bgm_pop_song(); + return ApiStatus_DONE2; +} + +ApiStatus PushSong(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 songID = evt_get_variable(script, *args++); + s32 variation = evt_get_variable(script, *args++); + + bgm_push_song(songID, variation); + return ApiStatus_DONE2; +} + +ApiStatus PopBattleSong(Evt* script, s32 isInitialCall) { + bgm_pop_battle_song(); + return ApiStatus_DONE2; +} + +ApiStatus PushBattleSong(Evt* script, s32 isInitialCall) { + bgm_push_battle_song(); + return ApiStatus_DONE2; +} + +ApiStatus SetBattleSong(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 songID = evt_get_variable(script, *args++); + s32 variation = evt_get_variable(script, *args++); + + bgm_set_battle_song(songID, variation); + return ApiStatus_DONE2; +} + +ApiStatus ClearAmbientSounds(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 time = evt_get_variable(script, *args++); + + if (play_ambient_sounds(-1, time)) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus PlayAmbientSounds(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 soundID = evt_get_variable(script, *args++); + + if (play_ambient_sounds(soundID, 250)) { + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +ApiStatus PlaySound(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 soundID = evt_get_variable(script, *args++); + + sfx_play_sound(soundID); + return ApiStatus_DONE2; +} + +ApiStatus PlaySoundWithVolume(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 soundID = evt_get_variable(script, *args++); + s32 volume = evt_get_variable(script, *args++); + + sfx_play_sound_with_params(soundID, volume, 0, 0); + return ApiStatus_DONE2; +} + +ApiStatus PlaySoundAt(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 soundID = evt_get_variable(script, *args++); + s32 flags = 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++); + + sfx_play_sound_at_position(soundID, flags, x, y, z); + return ApiStatus_DONE2; +} + +ApiStatus StopSound(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 soundID = evt_get_variable(script, *args++); + + sfx_stop_sound(soundID); + return ApiStatus_DONE2; +} + +ApiStatus StopTrackingSoundPos(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + s32 soundID = evt_get_variable(script, *args++); + + snd_stop_tracking_env_sound_pos(soundID, TRUE); + return ApiStatus_DONE2; +} + +ApiStatus UseDoorSounds(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + + gCurrentDoorSounds = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +ApiStatus UseRoomDoorSounds(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + + gCurrentRoomDoorSounds = evt_get_variable(script, *args++); + return ApiStatus_DONE2; +} + +ApiStatus PlaySoundAtF(Evt* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + Bytecode soundID = *args++; + u16 spatializationFlags = evt_get_variable(script, *args++); + f32 x = evt_get_float_variable(script, *args++); + f32 y = evt_get_float_variable(script, *args++); + f32 z = evt_get_float_variable(script, *args++); + + sfx_play_sound_at_position(soundID, spatializationFlags, x, y, z); + return ApiStatus_DONE2; +} diff --git a/src/evt/cam_api.c b/src/evt/cam_api.c index 791d69a626..a0cc3cb68e 100644 --- a/src/evt/cam_api.c +++ b/src/evt/cam_api.c @@ -28,15 +28,15 @@ ApiStatus SetCamEnabled(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus SetCamFlag80(Evt* script, s32 isInitialCall) { +ApiStatus SetCamNoDraw(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 id = evt_get_variable(script, *args++); s32 enabled = evt_get_variable(script, *args++); if (!enabled) { - gCameras[id].flags |= CAMERA_FLAG_80; + gCameras[id].flags |= CAMERA_FLAG_NO_DRAW; } else { - gCameras[id].flags &= ~CAMERA_FLAG_80; + gCameras[id].flags &= ~CAMERA_FLAG_NO_DRAW; } return ApiStatus_DONE2; } diff --git a/src/evt/evt.c b/src/evt/evt.c index 139a1bfe55..0dddbd1ac0 100644 --- a/src/evt/evt.c +++ b/src/evt/evt.c @@ -1688,7 +1688,7 @@ s32 evt_execute_next_command(Evt* script) { // return 0 } else if (status == ApiStatus_DONE2) { script->curOpcode = EVT_OP_INTERNAL_FETCH; - if (gGameStatusPtr->disableScripts != status) { + if (gGameStatusPtr->debugScripts != DEBUG_SCRIPTS_BLOCK_FUNC_DONE) { continue; } // return 0 diff --git a/src/evt/f8f60_len_1560.c b/src/evt/f8f60_len_1560.c index 0c8937419b..ddc206b068 100644 --- a/src/evt/f8f60_len_1560.c +++ b/src/evt/f8f60_len_1560.c @@ -463,6 +463,8 @@ ApiStatus GetDist2D(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } +//TODO code split? math_api from ??? + ApiStatus SetTimeFreezeMode(Evt* script, s32 initialCall) { Bytecode* args = script->ptrReadPos; diff --git a/src/evt/fa4c0_len_3bf0.c b/src/evt/item_api.c similarity index 67% rename from src/evt/fa4c0_len_3bf0.c rename to src/evt/item_api.c index d0bd65bbe8..006dae01b3 100644 --- a/src/evt/fa4c0_len_3bf0.c +++ b/src/evt/item_api.c @@ -3,270 +3,8 @@ #include "hud_element.h" #include "world/partners.h" -ApiStatus PollMusicEvents(Evt* script, s32 isInitialCall); - -extern MusicEvent* MusicEventList; -extern s32 D_802DB7D4; // unused? -extern Evt* RunningMusicEvents[10]; -extern s32 RunningMusicEventIDs[10]; -extern s32 D_802DB828[2]; // unused? extern PopupMenu D_802DB830; -s32 MusicEventPollCount = 0; - -static EvtScript EVS_MusicEventMonitor = { - EVT_CALL(PollMusicEvents) - EVT_RETURN - EVT_END -}; - -ApiStatus PollMusicEvents(Evt* script, s32 isInitialCall) { - MusicEventTrigger* list; - s32 musicEventID, scriptSelector; - u32 count; - s32 i; - - bgm_poll_music_events(&list, &count); - - for (i = 0; i < count; i++, list++) { - MusicEvent* cur = MusicEventList; - musicEventID = (*list & 0xFF0000) >> 0x10; - scriptSelector = *list & 0xFF; - while (cur->musicEventID != -1) { - if (cur->musicEventID == musicEventID) { - break; - } - cur++; - } - // @bug? can cur ever be NULL here? - // condition should probably be if (cur->musicEventID != -1) - if (cur != NULL) { - EvtScript* newSource = cur->scripts[scriptSelector]; - if (RunningMusicEvents[musicEventID] != NULL) { - kill_script_by_ID(RunningMusicEventIDs[musicEventID]); - } - if (newSource != NULL) { - Evt* newEvt = start_script(newSource, EVT_PRIORITY_1, 0); - RunningMusicEvents[musicEventID] = newEvt; - RunningMusicEventIDs[musicEventID] = newEvt->id; - } - } - } - bgm_flush_music_events(); - MusicEventPollCount++; - return ApiStatus_BLOCK; -} - -ApiStatus RegisterMusicEvents(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 i; - - // expects a list of MusicEvent, terminated by -1 0 0 0 0 - MusicEventList = (MusicEvent*) evt_get_variable(script, *args++); - - for (i = 0; i < ARRAY_COUNT(RunningMusicEvents); i++) { - RunningMusicEvents[i] = NULL; - RunningMusicEventIDs[i] = 0; - } - - start_script(&EVS_MusicEventMonitor, EVT_PRIORITY_1, 0); - return ApiStatus_DONE2; -} - -ApiStatus FadeOutMusic(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 musicPlayer = evt_get_variable(script, *args++); - s32 fadeTime = evt_get_variable(script, *args++); - - if (bgm_set_song(musicPlayer, -1, 0, fadeTime, 8)) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus SetMusicTrack(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 musicPlayer = evt_get_variable(script, *args++); - s32 songID = evt_get_variable(script, *args++); - s32 variation = evt_get_variable(script, *args++); - s16 volume = evt_get_variable(script, *args++); - - if (bgm_set_song(musicPlayer, songID, variation, 500, volume)) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus FadeInMusic(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 musicPlayer = evt_get_variable(script, *args++); - s32 songID = evt_get_variable(script, *args++); - s32 variation = evt_get_variable(script, *args++); - s32 fadeTime = evt_get_variable(script, *args++); - s16 fadeStartVolume = evt_get_variable(script, *args++); - s16 fadeEndVolume = evt_get_variable(script, *args++); - - if (func_8014A964(musicPlayer, songID, variation, fadeTime, fadeStartVolume, fadeEndVolume)) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus EnableMusicProximityMix(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 playerIndex = evt_get_variable(script, *args++); - - gMusicSettings[playerIndex].flags |= MUSIC_SETTINGS_FLAG_ENABLE_PROXIMITY_MIX; - return ApiStatus_DONE2; -} - -ApiStatus AdjustMusicProximityMix(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 playerIndex = evt_get_variable(script, *args++); - s32 mix = evt_get_variable(script, *args++); - s32 state = evt_get_variable(script, *args++); - - bgm_adjust_proximity(playerIndex, mix, state); - return ApiStatus_DONE2; -} - -ApiStatus SetMusicTrackVolumes(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s16 trackVolSet = evt_get_variable(script, *args++); - - bgm_set_track_volumes(0, trackVolSet); - return ApiStatus_DONE2; -} - -ApiStatus PopSong(Evt* script, s32 isInitialCall) { - bgm_pop_song(); - return ApiStatus_DONE2; -} - -ApiStatus PushSong(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 songID = evt_get_variable(script, *args++); - s32 variation = evt_get_variable(script, *args++); - - bgm_push_song(songID, variation); - return ApiStatus_DONE2; -} - -ApiStatus PopBattleSong(Evt* script, s32 isInitialCall) { - bgm_pop_battle_song(); - return ApiStatus_DONE2; -} - -ApiStatus PushBattleSong(Evt* script, s32 isInitialCall) { - bgm_push_battle_song(); - return ApiStatus_DONE2; -} - -ApiStatus SetBattleSong(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 songID = evt_get_variable(script, *args++); - s32 variation = evt_get_variable(script, *args++); - - bgm_set_battle_song(songID, variation); - return ApiStatus_DONE2; -} - -ApiStatus ClearAmbientSounds(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 time = evt_get_variable(script, *args++); - - if (play_ambient_sounds(-1, time)) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus PlayAmbientSounds(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 soundID = evt_get_variable(script, *args++); - - if (play_ambient_sounds(soundID, 250)) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus PlaySound(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 soundID = evt_get_variable(script, *args++); - - sfx_play_sound(soundID); - return ApiStatus_DONE2; -} - -ApiStatus PlaySoundWithVolume(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 soundID = evt_get_variable(script, *args++); - s32 volume = evt_get_variable(script, *args++); - - sfx_play_sound_with_params(soundID, volume, 0, 0); - return ApiStatus_DONE2; -} - -ApiStatus PlaySoundAt(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 soundID = evt_get_variable(script, *args++); - s32 flags = 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++); - - sfx_play_sound_at_position(soundID, flags, x, y, z); - return ApiStatus_DONE2; -} - -ApiStatus StopSound(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 soundID = evt_get_variable(script, *args++); - - sfx_stop_sound(soundID); - return ApiStatus_DONE2; -} - -ApiStatus StopTrackingSoundPos(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 soundID = evt_get_variable(script, *args++); - - snd_stop_tracking_env_sound_pos(soundID, TRUE); - return ApiStatus_DONE2; -} - -ApiStatus UseDoorSounds(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - gCurrentDoorSounds = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus UseRoomDoorSounds(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - gCurrentRoomDoorSounds = evt_get_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus PlaySoundAtF(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - Bytecode soundID = *args++; - u16 spatializationFlags = evt_get_variable(script, *args++); - f32 x = evt_get_float_variable(script, *args++); - f32 y = evt_get_float_variable(script, *args++); - f32 z = evt_get_float_variable(script, *args++); - - sfx_play_sound_at_position(soundID, spatializationFlags, x, y, z); - return ApiStatus_DONE2; -} - ApiStatus ShowKeyChoicePopup(Evt* script, s32 isInitialCall) { PlayerData* playerData = &gPlayerData; PopupMenu* menu = &D_802DB830; diff --git a/src/evt/msg_api.c b/src/evt/msg_api.c index 0c8b89803e..e89884c6ab 100644 --- a/src/evt/msg_api.c +++ b/src/evt/msg_api.c @@ -145,7 +145,7 @@ s32 _show_message(Evt* script, s32 isInitialCall, s32 mode) { get_screen_coords(gCurrentCameraID, speakerNpc->pos.x, speakerNpc->pos.y + speakerNpc->collisionHeight, speakerNpc->pos.z, &screenX, &screenY, &screenZ); animID = script->varTable[13]; if (animID != -1) { - if (!(gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_80)) { + if (!(gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_SPEAKING)) { animID = script->varTable[14]; } set_npc_animation(speakerNpc, animID); @@ -153,7 +153,7 @@ s32 _show_message(Evt* script, s32 isInitialCall, s32 mode) { } else { get_screen_coords(gCurrentCameraID, playerStatus->pos.x, playerStatus->pos.y + playerStatus->colliderHeight, playerStatus->pos.z, &screenX, &screenY, &screenZ); if (script->varTable[13] != -1) { - if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_80) { + if (gCurrentPrintContext->stateFlags & MSG_STATE_FLAG_SPEAKING) { playerStatus->anim = script->varTable[13]; } else { playerStatus->anim = script->varTable[14]; diff --git a/src/evt/npc_api.c b/src/evt/npc_api.c index d55f57ee76..9df6911805 100644 --- a/src/evt/npc_api.c +++ b/src/evt/npc_api.c @@ -1000,14 +1000,14 @@ ApiStatus SetNpcImgFXFlags(Evt* script, s32 isInitialCall) { ApiStatus SetNpcPaletteSwapMode(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; s32 npcId = evt_get_variable(script, *args++); - Bytecode var1 = evt_get_variable(script, *args++); + Bytecode palAdjustMode = evt_get_variable(script, *args++); Npc* npc = resolve_npc(script, npcId); if (npc == NULL) { return ApiStatus_DONE2; } - npc_set_palswap_mode_A(npc, var1); + npc_set_palswap_mode_A(npc, palAdjustMode); return ApiStatus_DONE2; } diff --git a/src/evt/script_list.c b/src/evt/script_list.c index ab67557ff8..7203cd43ed 100644 --- a/src/evt/script_list.c +++ b/src/evt/script_list.c @@ -57,12 +57,14 @@ BSS VirtualEntityList wWorldVirtualEntityList; BSS VirtualEntityList* gCurrentVirtualEntityListPtr; BSS s32 D_802DB7C4[3]; // unused -// fa4c0_len_3bf0 +// audio_api BSS MusicEvent* MusicEventList; BSS s32 D_802DB7D4; // unused? BSS Evt* RunningMusicEvents[10]; BSS s32 RunningMusicEventIDs[10]; BSS s32 D_802DB828[2]; // unused? + +// item_api BSS PopupMenu D_802DB830; #if VERSION_PAL @@ -576,47 +578,49 @@ Evt* restart_script(Evt* script) { } void update_scripts(void) { - if (gGameStatusPtr->disableScripts != TRUE) { - s32 i; + s32 i; - gIsUpdatingScripts = TRUE; - sort_scripts(); + if (gGameStatusPtr->debugScripts == DEBUG_SCRIPTS_NO_UPDATE) { + return; + } - for (i = 0; i < gScriptListCount; i++) { - Evt* script = (*gCurrentScriptListPtr)[gScriptIndexList[i]]; + gIsUpdatingScripts = TRUE; + sort_scripts(); - if (script != NULL && - script->id == gScriptIdList[i] && - script->stateFlags != 0 && - !(script->stateFlags & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP))) - { - s32 stop = FALSE; - s32 status; + for (i = 0; i < gScriptListCount; i++) { + Evt* script = (*gCurrentScriptListPtr)[gScriptIndexList[i]]; - script->frameCounter += script->timeScale; + if (script != NULL && + script->id == gScriptIdList[i] && + script->stateFlags != 0 && + !(script->stateFlags & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP))) + { + s32 stop = FALSE; + s32 status; - do { - if (script->frameCounter < 1.0) { - // Continue to next script - do {} while (0); // TODO required to match - break; - }; + script->frameCounter += script->timeScale; - script->frameCounter -= 1.0; - status = evt_execute_next_command(script); - if (status == EVT_CMD_RESULT_ERROR) { - stop = TRUE; - break; - } - } while (status != EVT_CMD_RESULT_YIELD); + do { + if (script->frameCounter < 1.0) { + // Continue to next script + do {} while (0); // TODO required to match + break; + }; - if (stop) { + script->frameCounter -= 1.0; + status = evt_execute_next_command(script); + if (status == EVT_CMD_RESULT_ERROR) { + stop = TRUE; break; } + } while (status != EVT_CMD_RESULT_YIELD); + + if (stop) { + break; } } - gIsUpdatingScripts = FALSE; } + gIsUpdatingScripts = FALSE; } // Does nothing, is cursed diff --git a/src/filemenu/filemenu_common.c b/src/filemenu/filemenu_common.c index a320f0bdcf..5553371ca5 100644 --- a/src/filemenu/filemenu_common.c +++ b/src/filemenu/filemenu_common.c @@ -1041,11 +1041,11 @@ void filemenu_init(s32 arg0) { func_PAL_8002B574(); if (menu->page == 0) { - fio_has_valid_backup(); - if (D_800D95E8.saveCount >= 4) { - D_800D95E8.saveCount = 0; + fio_has_valid_globals(); + if (gSaveGlobals.lastFileSelected >= 4) { + gSaveGlobals.lastFileSelected = 0; } - gGameStatusPtr->saveSlot = D_800D95E8.saveCount; + gGameStatusPtr->saveSlot = gSaveGlobals.lastFileSelected; } filemenu_set_selected(menu, (gGameStatusPtr->saveSlot & 1) * 2, gGameStatusPtr->saveSlot >> 1); @@ -1056,7 +1056,7 @@ void filemenu_init(s32 arg0) { (*panelIt)->fpInit((*panelIt)); } } - update_window_hierarchy(23, 64); + update_window_hierarchy(WINDOW_ID_PAUSE_DECRIPTION, 64); } else { filemenu_currentMenu = 4; filemenu_set_selected(filemenu_menus[4], 0, gCurrentLanguage); @@ -1069,7 +1069,7 @@ void filemenu_init(s32 arg0) { } } } - update_window_hierarchy(23, 64); + update_window_hierarchy(WINDOW_ID_PAUSE_DECRIPTION, 64); } #else menu = filemenu_menus[0]; @@ -1086,17 +1086,17 @@ void filemenu_init(s32 arg0) { if (!fio_load_game(i)) { gSaveSlotHasData[i] = FALSE; } else { - gSaveSlotMetadata[i] = gCurrentSaveFile.unk_12EC; + gSaveSlotMetadata[i] = gCurrentSaveFile.metadata; gSaveSlotHasData[i] = TRUE; } } if (menu->page == 0) { - fio_has_valid_backup(); - if (D_800D95E8.saveCount >= 4) { - D_800D95E8.saveCount = 0; + fio_has_valid_globals(); + if (gSaveGlobals.lastFileSelected >= 4) { + gSaveGlobals.lastFileSelected = 0; } - gGameStatusPtr->saveSlot = D_800D95E8.saveCount; + gGameStatusPtr->saveSlot = gSaveGlobals.lastFileSelected; } } @@ -1108,7 +1108,7 @@ void filemenu_init(s32 arg0) { (*panelIt)->fpInit((*panelIt)); } } - update_window_hierarchy(23, 64); + update_window_hierarchy(WINDOW_ID_PAUSE_DECRIPTION, 64); #endif } diff --git a/src/filemenu/filemenu_yesno.c b/src/filemenu/filemenu_yesno.c index 6bfc97bf02..08eacfb8f0 100644 --- a/src/filemenu/filemenu_yesno.c +++ b/src/filemenu/filemenu_yesno.c @@ -316,9 +316,8 @@ void filemenu_yesno_handle_input(MenuPanel* menu) { case 2: clear_player_data(); clear_saved_variables(); - //TODO hardcoded area/map IDs - gGameStatusPtr->areaID = 0; - gGameStatusPtr->mapID = 11; + gGameStatusPtr->areaID = AREA_KMR; + gGameStatusPtr->mapID = 11; //TODO hardcoded area/map IDs gGameStatusPtr->entryID = 0; evt_set_variable(NULL, GB_StoryProgress, STORY_INTRO); @@ -356,12 +355,12 @@ void filemenu_yesno_handle_input(MenuPanel* menu) { break; case 4: slot3 = filemenu_menus[0]->selected; - if (gGameStatusPtr->soundOutputMode != 1 - D_800D95E8.saveSlot || - slot3 != (u8)D_800D95E8.saveCount) + if (gGameStatusPtr->soundOutputMode != 1 - gSaveGlobals.useMonoSound || + slot3 != (u8)gSaveGlobals.lastFileSelected) { - D_800D95E8.saveSlot = 1 - gGameStatusPtr->soundOutputMode; - D_800D95E8.saveCount = slot3; - fio_flush_backups(); + gSaveGlobals.useMonoSound = 1 - gGameStatusPtr->soundOutputMode; + gSaveGlobals.lastFileSelected = slot3; + fio_flush_globals(); } fio_load_game(slot3); set_game_mode(GAME_MODE_END_FILE_SELECT); diff --git a/src/fio.c b/src/fio.c index 93769103d6..d47927fbf2 100644 --- a/src/fio.c +++ b/src/fio.c @@ -2,19 +2,27 @@ #include "PR/os_flash.h" #include "gcc/string.h" -SHIFT_BSS SaveData D_8009A6B0; -SHIFT_BSS s32 logicalSaveInfo[4][2]; -SHIFT_BSS s32 physicalSaveInfo[6][2]; -SHIFT_BSS s32 nextAvailableSavePage; -SHIFT_BSS SaveDataHeader D_800D95E8; +typedef struct SaveInfo { + /* 0x08 */ s32 slot; + /* 0x04 */ s32 count; +} SaveInfo; // size = 0x8 + +#define GLOBALS_PAGE_1 6 +#define GLOBALS_PAGE_2 7 + +SHIFT_BSS SaveData FetchSaveBuffer; +SHIFT_BSS SaveInfo LogicalSaveInfo[4]; // 4 save slots presented to the player +SHIFT_BSS SaveInfo PhysicalSaveInfo[6]; // 6 saves as represented on the EEPROM +SHIFT_BSS s32 NextAvailablePhysicalSave; +SHIFT_BSS SaveGlobals gSaveGlobals; SHIFT_BSS SaveData gCurrentSaveFile; -char magicSaveString[] = "Mario Story 006"; +char MagicSaveString[] = "Mario Story 006"; void fio_deserialize_state(void); void fio_serialize_state(void); -s32 fio_read_flash(s32 pageNum, void* readBuffer, u32 numBytes); -s32 fio_write_flash(s32 pageNum, s8* readBuffer, u32 numBytes); +b32 fio_read_flash(s32 pageNum, void* readBuffer, u32 numBytes); +b32 fio_write_flash(s32 pageNum, s8* readBuffer, u32 numBytes); void fio_erase_flash(s32 pageNum); s32 get_spirits_rescued(void) { @@ -40,57 +48,58 @@ s32 get_spirits_rescued(void) { return ret; } -s32 fio_calc_header_checksum(void) { +s32 fio_calc_globals_checksum(void) { u32 sum = 0; - s32* it = (s32*)&D_800D95E8; + s32* it = (s32*)&gSaveGlobals; u32 i; - for (i = 0; i < sizeof(D_800D95E8) / sizeof(*it); i++, it++) { + for (i = 0; i < sizeof(gSaveGlobals) / sizeof(*it); i++, it++) { sum += *it; } return sum; } -s32 fio_validate_header_checksums(void) { - SaveDataHeader* header = &D_800D95E8; +b32 fio_validate_globals_checksums(void) { + SaveGlobals* header = &gSaveGlobals; - if (strcmp(header->magicString, magicSaveString)) { + if (strcmp(header->magicString, MagicSaveString)) { return FALSE; } if (header->crc1 != ~header->crc2) { return FALSE; } - return fio_calc_header_checksum() == header->crc1; + return fio_calc_globals_checksum() == header->crc1; } -s32 fio_has_valid_backup(void) { - fio_read_flash(6, &D_800D95E8, sizeof(D_800D95E8)); - - if (!fio_validate_header_checksums()) { - fio_read_flash(7, &D_800D95E8, sizeof(D_800D95E8)); - - if (!fio_validate_header_checksums()) { - bzero(&D_800D95E8, sizeof(D_800D95E8)); - return FALSE; - } +b32 fio_has_valid_globals(void) { + fio_read_flash(GLOBALS_PAGE_1, &gSaveGlobals, sizeof(gSaveGlobals)); + if (fio_validate_globals_checksums()) { + return TRUE; } - return TRUE; + + fio_read_flash(GLOBALS_PAGE_2, &gSaveGlobals, sizeof(gSaveGlobals)); + if (fio_validate_globals_checksums()) { + return TRUE; + } + + bzero(&gSaveGlobals, sizeof(gSaveGlobals)); + return FALSE; } -s32 fio_flush_backups(void) { +b32 fio_flush_globals(void) { s32 checksum; - strcpy(D_800D95E8.magicString, magicSaveString); - D_800D95E8.crc1 = 0; - D_800D95E8.crc2 = -1; - checksum = fio_calc_header_checksum(); - D_800D95E8.crc1 = checksum; - D_800D95E8.crc2 = ~checksum; - fio_erase_flash(6); - fio_write_flash(6, (s8*)&D_800D95E8, sizeof(D_800D95E8)); - fio_erase_flash(7); - fio_write_flash(7, (s8*)&D_800D95E8, sizeof(D_800D95E8)); - return 1; + strcpy(gSaveGlobals.magicString, MagicSaveString); + gSaveGlobals.crc1 = 0; + gSaveGlobals.crc2 = ~gSaveGlobals.crc1; + checksum = fio_calc_globals_checksum(); + gSaveGlobals.crc1 = checksum; + gSaveGlobals.crc2 = ~checksum; + fio_erase_flash(GLOBALS_PAGE_1); + fio_write_flash(GLOBALS_PAGE_1, (s8*)&gSaveGlobals, sizeof(gSaveGlobals)); + fio_erase_flash(GLOBALS_PAGE_2); + fio_write_flash(GLOBALS_PAGE_2, (s8*)&gSaveGlobals, sizeof(gSaveGlobals)); + return TRUE; } s32 fio_calc_file_checksum(SaveData* saveData) { @@ -104,60 +113,63 @@ s32 fio_calc_file_checksum(SaveData* saveData) { return sum; } -s32 fio_validate_file_checksum(SaveData* saveData) { - if (!strcmp(saveData->magicString, magicSaveString) && saveData->crc1 == ~saveData->crc2) { +b32 fio_validate_file_checksum(SaveData* saveData) { + if (!strcmp(saveData->magicString, MagicSaveString) && saveData->crc1 == ~saveData->crc2) { return fio_calc_file_checksum(saveData) == saveData->crc1; } return FALSE; } -s32 fio_fetch_saved_file_info(void) { - SaveData* buffer = &D_8009A6B0; // temps required to match - SaveData* buffer2 = buffer; - s32 i, j, savePage; +b32 fio_fetch_saved_file_info(void) { + SaveData* fetchBuf = &FetchSaveBuffer; // temps required to match + SaveData* validBuf = fetchBuf; + s32 i, j, minSaveCount; - for (i = 0; i < ARRAY_COUNT(logicalSaveInfo); i++) { - logicalSaveInfo[i][0] = -1; - logicalSaveInfo[i][1] = -1; + for (i = 0; i < ARRAY_COUNT(LogicalSaveInfo); i++) { + LogicalSaveInfo[i].slot = -1; + LogicalSaveInfo[i].count = -1; } - for (i = 0; i < ARRAY_COUNT(physicalSaveInfo); i++) { - fio_read_flash(i, buffer, sizeof(SaveData)); - if (fio_validate_file_checksum(buffer)) { - physicalSaveInfo[i][0] = buffer2->saveSlot; - physicalSaveInfo[i][1] = buffer2->saveCount; - if (logicalSaveInfo[buffer2->saveSlot][1] < buffer2->saveCount) { - logicalSaveInfo[buffer2->saveSlot][0] = i; - logicalSaveInfo[buffer2->saveSlot][1] = buffer2->saveCount; + for (i = 0; i < ARRAY_COUNT(PhysicalSaveInfo); i++) { + fio_read_flash(i, fetchBuf, sizeof(SaveData)); + if (fio_validate_file_checksum(fetchBuf)) { + PhysicalSaveInfo[i].slot = validBuf->saveSlot; + PhysicalSaveInfo[i].count = validBuf->saveCount; + // logical saves only track the most recent physical save for each slot + if (LogicalSaveInfo[validBuf->saveSlot].count < validBuf->saveCount) { + LogicalSaveInfo[validBuf->saveSlot].slot = i; + LogicalSaveInfo[validBuf->saveSlot].count = validBuf->saveCount; } } } - savePage = 0x7FFFFFFF; - for (j = 0; j < ARRAY_COUNT(physicalSaveInfo); j++) { - for (i = 0; i < ARRAY_COUNT(logicalSaveInfo); i++) { - if (j == logicalSaveInfo[i][0]) { + minSaveCount = 0x7FFFFFFF; + for (j = 0; j < ARRAY_COUNT(PhysicalSaveInfo); j++) { + // find a logical save for each physical save + for (i = 0; i < ARRAY_COUNT(LogicalSaveInfo); i++) { + if (j == LogicalSaveInfo[i].slot) { break; } } - - if (i == ARRAY_COUNT(logicalSaveInfo)) { - if (physicalSaveInfo[j][1] < savePage) { - savePage = physicalSaveInfo[j][1]; - nextAvailableSavePage = j; + // condition holds only for physical saves not mapped to logical ones + if (i == ARRAY_COUNT(LogicalSaveInfo)) { + if (PhysicalSaveInfo[j].count < minSaveCount) { + // choose the least-recent unmapped physical save slot + minSaveCount = PhysicalSaveInfo[j].count; + NextAvailablePhysicalSave = j; } } } return TRUE; } -s32 fio_load_game(s32 saveSlot) { +b32 fio_load_game(s32 saveSlot) { gGameStatusPtr->saveSlot = saveSlot; fio_fetch_saved_file_info(); - fio_read_flash(logicalSaveInfo[saveSlot][0], &gCurrentSaveFile, sizeof(SaveData)); + fio_read_flash(LogicalSaveInfo[saveSlot].slot, &gCurrentSaveFile, sizeof(SaveData)); - if (strcmp(gCurrentSaveFile.magicString, magicSaveString) == 0) { + if (strcmp(gCurrentSaveFile.magicString, MagicSaveString) == 0) { if (gGameStatusPtr->saveCount < gCurrentSaveFile.saveCount) { gGameStatusPtr->saveCount = gCurrentSaveFile.saveCount; } @@ -174,19 +186,19 @@ void fio_save_game(s32 saveSlot) { fio_serialize_state(); - strcpy(gCurrentSaveFile.magicString, magicSaveString); + strcpy(gCurrentSaveFile.magicString, MagicSaveString); gCurrentSaveFile.saveSlot = saveSlot; gGameStatusPtr->saveCount++; gCurrentSaveFile.saveCount = gGameStatusPtr->saveCount; gCurrentSaveFile.crc1 = 0; - gCurrentSaveFile.crc2 = -1; + gCurrentSaveFile.crc2 = ~gCurrentSaveFile.crc1; gCurrentSaveFile.crc1 = fio_calc_file_checksum(&gCurrentSaveFile); gCurrentSaveFile.crc2 = ~gCurrentSaveFile.crc1; - fio_erase_flash(nextAvailableSavePage); - fio_write_flash(nextAvailableSavePage, (s8*)&gCurrentSaveFile, sizeof(SaveData)); + fio_erase_flash(NextAvailablePhysicalSave); + fio_write_flash(NextAvailablePhysicalSave, (s8*)&gCurrentSaveFile, sizeof(SaveData)); } void fio_erase_game(s32 saveSlot) { @@ -194,8 +206,8 @@ void fio_erase_game(s32 saveSlot) { fio_fetch_saved_file_info(); - for (i = 0; i < 6; i++) { - if (physicalSaveInfo[i][0] == saveSlot) { + for (i = 0; i < ARRAY_COUNT(PhysicalSaveInfo); i++) { + if (PhysicalSaveInfo[i].slot == saveSlot) { fio_erase_flash(i); } } @@ -220,13 +232,12 @@ void fio_deserialize_state(void) { } } - gGameStatusPtr->debugEnemyContact = DEBUG_CONTACT_NONE; - gGameStatusPtr->unk_76 = 0; - gGameStatusPtr->unk_77 = 0; + gGameStatusPtr->debugUnused1 = FALSE; + gGameStatusPtr->debugUnused2 = FALSE; gGameStatusPtr->musicEnabled = TRUE; - gSaveSlotMetadata[gGameStatusPtr->saveSlot] = saveData->unk_12EC; + gSaveSlotMetadata[gGameStatusPtr->saveSlot] = saveData->metadata; } void func_8002B608(void) { @@ -254,22 +265,22 @@ void fio_serialize_state(void) { } saveData->debugEnemyContact = gGameStatusPtr->debugEnemyContact; - saveData->unk_12E1 = gGameStatusPtr->unk_76; - saveData->unk_12E2 = gGameStatusPtr->unk_77; + saveData->debugUnused1 = gGameStatusPtr->debugUnused1; + saveData->debugUnused2 = gGameStatusPtr->debugUnused2; saveData->musicEnabled = gGameStatusPtr->musicEnabled; gSaveSlotMetadata[gGameStatusPtr->saveSlot].level = gPlayerData.level; gSaveSlotMetadata[gGameStatusPtr->saveSlot].spiritsRescued = get_spirits_rescued(); gSaveSlotMetadata[gGameStatusPtr->saveSlot].timePlayed = gPlayerData.frameCounter; - saveData->unk_12EC = gSaveSlotMetadata[gGameStatusPtr->saveSlot]; + saveData->metadata = gSaveSlotMetadata[gGameStatusPtr->saveSlot]; } void fio_init_flash(void) { osFlashInit(); } -s32 fio_read_flash(s32 pageNum, void* readBuffer, u32 numBytes) { +b32 fio_read_flash(s32 pageNum, void* readBuffer, u32 numBytes) { OSIoMesg mb; OSMesgQueue mesgQueue; OSMesg mesg; @@ -282,13 +293,13 @@ s32 fio_read_flash(s32 pageNum, void* readBuffer, u32 numBytes) { i = 0; while (numBytes != 0) { - if (numBytes > sizeof(SaveDataHeader)) { - amt = sizeof(SaveDataHeader); + if (numBytes > sizeof(SaveGlobals)) { + amt = sizeof(SaveGlobals); } else { amt = numBytes; } - osFlashReadArray(&mb, 0, pageNum * sizeof(SaveDataHeader) + i, buf, 1, &mesgQueue); + osFlashReadArray(&mb, 0, pageNum * sizeof(SaveGlobals) + i, buf, 1, &mesgQueue); osRecvMesg(&mesgQueue, NULL, 1); i++; numBytes -= amt; @@ -297,7 +308,7 @@ s32 fio_read_flash(s32 pageNum, void* readBuffer, u32 numBytes) { return TRUE; } -s32 fio_write_flash(s32 pageNum, s8* readBuffer, u32 numBytes) { +b32 fio_write_flash(s32 pageNum, s8* readBuffer, u32 numBytes) { OSIoMesg mb; OSMesgQueue mesgQueue; OSMesg mesg; @@ -309,14 +320,14 @@ s32 fio_write_flash(s32 pageNum, s8* readBuffer, u32 numBytes) { i = 0; while (numBytes != 0) { - if (numBytes > sizeof(SaveDataHeader)) { - amt = sizeof(SaveDataHeader); + if (numBytes > sizeof(SaveGlobals)) { + amt = sizeof(SaveGlobals); } else { amt = numBytes; } osFlashWriteBuffer(&mb, 0, readBuffer, &mesgQueue); - osFlashWriteArray((pageNum * sizeof(SaveDataHeader)) + i); + osFlashWriteArray((pageNum * sizeof(SaveGlobals)) + i); osRecvMesg(&mesgQueue, NULL, 1); i++; numBytes -= amt; @@ -326,5 +337,5 @@ s32 fio_write_flash(s32 pageNum, s8* readBuffer, u32 numBytes) { } void fio_erase_flash(s32 pageNum) { - osFlashSectorErase(pageNum * sizeof(SaveDataHeader)); + osFlashSectorErase(pageNum * sizeof(SaveGlobals)); } diff --git a/src/fio.h b/src/fio.h index 4a89177f32..43bbbbb5b1 100644 --- a/src/fio.h +++ b/src/fio.h @@ -3,14 +3,14 @@ #include "common.h" -s32 fio_has_valid_backup(void); -s32 fio_flush_backups(void); -s32 fio_load_game(s32 saveSlot); +b32 fio_has_valid_globals(void); +b32 fio_flush_globals(void); +b32 fio_load_game(s32 saveSlot); void fio_save_game(s32 saveSlot); void fio_erase_game(s32 saveSlot); extern SaveMetadata gSaveSlotMetadata[4]; extern u8 gSaveSlotHasData[4]; -extern SaveDataHeader D_800D95E8; +extern SaveGlobals gSaveGlobals; #endif diff --git a/src/game_modes.c b/src/game_modes.c index 7b844a2cd3..db9fa8e8ad 100644 --- a/src/game_modes.c +++ b/src/game_modes.c @@ -203,7 +203,7 @@ GameModeIncomplete GameModeFileSelect = { }; GameModeIncomplete GameModeEndFileSelect = { - 0, + MODE_FLAG_NONE, state_init_exit_file_select, state_step_exit_file_select, NULL, @@ -236,24 +236,24 @@ GameModeIncomplete GameModeDemo = { }; GameMode* gameModeMap[] = { - (GameMode*) &GameModeStartup, - (GameMode*) &GameModeLogos, - (GameMode*) &GameModeTitleScreen, - (GameMode*) &GameModeEnterDemoWorld, - (GameMode*) &GameModeWorld, - (GameMode*) &GameModeChangeMap, - (GameMode*) &GameModeGameOver, - (GameMode*) &GameModeEnterWorld, - (GameMode*) &GameModeBattle, - (GameMode*) &GameModeEndBattle, - (GameMode*) &GameModePause, - (GameMode*) &GameModeUnpause, - (GameMode*) &GameModeLanguageSelect, - (GameMode*) &GameModeEndLanguageSelect, - (GameMode*) &GameModeFileSelect, - (GameMode*) &GameModeEndFileSelect, - (GameMode*) &GameModeIntro, - (GameMode*) &GameModeDemo, + [GAME_MODE_STARTUP] (GameMode*) &GameModeStartup, + [GAME_MODE_LOGOS] (GameMode*) &GameModeLogos, + [GAME_MODE_TITLE_SCREEN] (GameMode*) &GameModeTitleScreen, + [GAME_MODE_ENTER_DEMO_WORLD] (GameMode*) &GameModeEnterDemoWorld, + [GAME_MODE_WORLD] (GameMode*) &GameModeWorld, + [GAME_MODE_CHANGE_MAP] (GameMode*) &GameModeChangeMap, + [GAME_MODE_GAME_OVER] (GameMode*) &GameModeGameOver, + [GAME_MODE_ENTER_WORLD] (GameMode*) &GameModeEnterWorld, + [GAME_MODE_BATTLE] (GameMode*) &GameModeBattle, + [GAME_MODE_END_BATTLE] (GameMode*) &GameModeEndBattle, + [GAME_MODE_PAUSE] (GameMode*) &GameModePause, + [GAME_MODE_UNPAUSE] (GameMode*) &GameModeUnpause, + [GAME_MODE_LANGUAGE_SELECT] (GameMode*) &GameModeLanguageSelect, + [GAME_MODE_END_LANGUAGE_SELECT] (GameMode*) &GameModeEndLanguageSelect, + [GAME_MODE_FILE_SELECT] (GameMode*) &GameModeFileSelect, + [GAME_MODE_END_FILE_SELECT] (GameMode*) &GameModeEndFileSelect, + [GAME_MODE_INTRO] (GameMode*) &GameModeIntro, + [GAME_MODE_DEMO] (GameMode*) &GameModeDemo, }; SHIFT_BSS s16 CurGameMode; diff --git a/src/hud_element.c b/src/hud_element.c index dcc1c70008..b33fcc0953 100644 --- a/src/hud_element.c +++ b/src/hud_element.c @@ -712,7 +712,7 @@ void func_801413F8(void) { gCameras[CAM_3].lookAt_obj_target.x = 160.0f; gCameras[CAM_3].lookAt_obj_target.y = -120.0f; gCameras[CAM_3].vfov = 1.0f; - gCameras[CAM_3].flags &= ~0x6; + gCameras[CAM_3].flags &= ~(CAMERA_FLAG_DISABLED | CAMERA_FLAG_LEAD_PLAYER); } s32 hud_element_create(HudScript* anim) { diff --git a/src/i_spy.c b/src/i_spy.c index ee782946fd..b8c7afbfbe 100644 --- a/src/i_spy.c +++ b/src/i_spy.c @@ -138,7 +138,7 @@ void ispy_notification_update(void) { case I_SPY_OVERSHOOT: ISpyPtr->scale = 0.57f; ISpyPtr->state++; - sfx_play_sound_at_player(SOUND_017B, SOUND_SPACE_DEFAULT); + sfx_play_sound_at_player(SOUND_ISPY, SOUND_SPACE_DEFAULT); break; case I_SPY_ANIMATE: ISpyPtr->scale = 0.53f; diff --git a/src/imgfx.c b/src/imgfx.c index 53a7fea3a2..8a5b91f608 100644 --- a/src/imgfx.c +++ b/src/imgfx.c @@ -523,7 +523,7 @@ void imgfx_update(u32 idx, ImgFXType type, s32 imgfxArg1, s32 imgfxArg2, s32 img if (flags != 0) { state->flags |= flags; } else { - state->flags |= flags; // required to match + state->flags |= 0; // required to match } return; case IMGFX_UNK_1: @@ -1619,8 +1619,8 @@ void imgfx_appendGfx_mesh_basic(ImgFXState* state, Matrix4f mtx) { cam = &gCameras[gCurrentCamID]; if (gGameStatusPtr->isBattle == 2) { gSPViewport(gMainGfxPos++, &D_8014EE40); - D_8014EE50.vp.vtrans[0] = D_8014EE40.vp.vtrans[0] + gGameStatusPtr->unk_82.x; - D_8014EE50.vp.vtrans[1] = D_8014EE40.vp.vtrans[1] + gGameStatusPtr->unk_82.y; + D_8014EE50.vp.vtrans[0] = D_8014EE40.vp.vtrans[0] + gGameStatusPtr->altViewportOffset.x; + D_8014EE50.vp.vtrans[1] = D_8014EE40.vp.vtrans[1] + gGameStatusPtr->altViewportOffset.y; } else { gSPViewport(gMainGfxPos++, &cam->vp); } diff --git a/src/intro_logos.c b/src/intro_logos.c deleted file mode 100644 index 3053d8f55c..0000000000 --- a/src/intro_logos.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "common.h" - -void intro_logos_set_fade_alpha(s16 alpha) { - gGameStatusPtr->bootAlpha = alpha; -} - -void intro_logos_set_fade_color(s16 color) { - gGameStatusPtr->bootRed = color; - gGameStatusPtr->bootGreen = color; - gGameStatusPtr->bootBlue = color; -} - -s32 intro_logos_fade_in(s16 subtractAlpha) { - if (gGameStatusPtr->bootAlpha != 0) { - gGameStatusPtr->bootAlpha -= subtractAlpha; - if (gGameStatusPtr->bootAlpha < 0) { - gGameStatusPtr->bootAlpha = 0; - } - } else { - return TRUE; - } - return FALSE; -} - -s32 intro_logos_fade_out(s16 addAlpha) { - if (gGameStatusPtr->bootAlpha != 255) { - gGameStatusPtr->bootAlpha += addAlpha; - if (gGameStatusPtr->bootAlpha > 255) { - gGameStatusPtr->bootAlpha = 255; - } - } else { - return TRUE; - } - return FALSE; -} - -void intro_logos_update_fade(void) { - set_screen_overlay_params_front(OVERLAY_SCREEN_COLOR, gGameStatusPtr->bootAlpha); - set_screen_overlay_color(SCREEN_LAYER_FRONT, gGameStatusPtr->bootBlue, gGameStatusPtr->bootGreen, gGameStatusPtr->bootRed); -} diff --git a/src/C50A0.c b/src/item_entity.c similarity index 87% rename from src/C50A0.c rename to src/item_entity.c index f54c185e95..6efe3ea027 100644 --- a/src/C50A0.c +++ b/src/item_entity.c @@ -64,9 +64,6 @@ void update_item_entity_no_pickup(ItemEntity*); void draw_ui_item_entity_no_pickup(ItemEntity*); void func_801363A0(ItemEntity*); void update_item_entity_pickup(ItemEntity*); -s32 draw_image_with_clipping(IMG_PTR raster, u32 width, u32 height, s32 fmt, s32 bitDepth, s16 posX, s16 posY, - u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight); - void draw_content_pickup_item_header(ItemEntity* item, s32 posX, s32 posY); void draw_content_cant_carry_more(ItemEntity* item, s32 posX, s32 posY); void draw_content_pickup_item_desc(ItemEntity* item, s32 posX, s32 posY); @@ -120,492 +117,6 @@ Lights1 D_8014C6C8 = gdSPDefLights1(255, 255, 255, 0, 0, 0, 0, 0, 0); s16 PickupHeaderWindowHeight[] = { 32, 40 }; s16 PickupMessageWindowYOffsets[] = { 8, 4 }; -s32 draw_ci_image_with_clipping(IMG_PTR raster, s32 width, s32 height, s32 fmt, s32 bitDepth, PAL_PTR palette, s16 posX, - s16 posY, u16 clipULx, u16 clipULy, u16 clipLRx, u16 clipRLy, u8 opacity) { - s32 ret; - - gDPPipeSync(gMainGfxPos++); - gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE); - gDPSetTextureFilter(gMainGfxPos++, G_TF_POINT); - gDPSetTexturePersp(gMainGfxPos++, G_TP_NONE); - - if (opacity == 255) { - gDPSetRenderMode(gMainGfxPos++, G_RM_TEX_EDGE, G_RM_TEX_EDGE2); - gDPSetCombineMode(gMainGfxPos++, G_CC_DECALRGBA, G_CC_DECALRGBA); - } else if (opacity == 0) { - return 1; - } else { - gDPSetRenderMode(gMainGfxPos++, G_RM_XLU_SURF, G_RM_XLU_SURF2); - gDPSetCombineMode(gMainGfxPos++, PM_CC_02, PM_CC_02); - gDPSetPrimColor(gMainGfxPos++, 0, 0, 0, 0, 0, opacity); - } - - if (fmt == G_IM_FMT_CI) { - gDPSetTextureLUT(gMainGfxPos++, G_TT_RGBA16); - if (bitDepth == G_IM_SIZ_4b) { - gDPLoadTLUT_pal16(gMainGfxPos++, 0, palette); - } else { - gDPLoadTLUT_pal256(gMainGfxPos++, palette); - } - } else { - gDPSetTextureLUT(gMainGfxPos++, G_TT_NONE); - } - ret = draw_image_with_clipping(raster, width, height, fmt, bitDepth, posX, posY, clipULx, clipULy, clipLRx, clipRLy); - gDPPipeSync(gMainGfxPos++); - return ret; -} - -typedef struct Rect2b { - /* 0x00 */ s16 ulx; - /* 0x02 */ s16 uly; - /* 0x04 */ s16 lrx; - /* 0x06 */ s16 lry; -} Rect2b; // size = 0x08 - -s32 draw_image_with_clipping(IMG_PTR raster, u32 width, u32 height, s32 fmt, s32 bitDepth, - s16 posX, s16 posY, - u16 clipX, u16 clipY, - u16 clipWidth, u16 clipHeight) { - Rect2b texRect; - Rect2b drawRect; - u8 stopDrawing; - u8 stopDrawingLine; - s8 zero = 0; // required to match - - u16 texOffsetX, texOffsetY; - - if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { - return FALSE; - } - if (clipX >= (s16)(posX + width)) { - return FALSE; - } - if (clipY >= (s16)(posY + height)) { - return FALSE; - } - - texRect.uly = 0; - drawRect.uly = posY; - stopDrawing = FALSE; - - while (TRUE) { - texRect.lry = texRect.uly + 31; - drawRect.lry = drawRect.uly + 32; - texOffsetY = 0; - if (drawRect.lry <= clipY) { - do { - texRect.uly += 32; - drawRect.uly = drawRect.lry; - drawRect.lry += 32; - } while (drawRect.lry < clipY); - texRect.lry = texRect.uly + 31; - } - - if (drawRect.uly < clipY) { - texOffsetY = abs(posY - clipY); - drawRect.uly = clipY; - } - - if (drawRect.lry >= clipY + clipHeight) { - texRect.lry = clipY + clipHeight - posY - 1; - stopDrawing = TRUE; - drawRect.lry = clipY + clipHeight; - } - - if (texRect.lry + 1 >= height) { - texRect.lry = height - 1; - drawRect.lry = texRect.lry + posY + 1; - stopDrawing = TRUE; - } - - texRect.ulx = zero; - drawRect.ulx = posX; - stopDrawingLine = FALSE; - - while (TRUE) { - texRect.lrx = texRect.ulx + 63; - drawRect.lrx = drawRect.ulx + 64; - texOffsetX = 0; - - if (drawRect.lrx <= clipX) { - do { - texRect.ulx += 64; - drawRect.ulx = drawRect.lrx; - drawRect.lrx += 64; - } while (drawRect.lrx < clipX); - texRect.lrx = texRect.ulx + 63; - } - - if (drawRect.ulx < clipX) { - texOffsetX = abs(posX - clipX); - drawRect.ulx = clipX; - } - - if (drawRect.lrx >= clipX + clipWidth) { - texRect.lrx = clipX + clipWidth - posX - 1; - stopDrawingLine = TRUE; - drawRect.lrx = clipX + clipWidth; - } - - if (texRect.lrx + 1 >= width) { - texRect.lrx = width - 1; - drawRect.lrx = texRect.lrx + posX + 1; - stopDrawingLine = TRUE; - } - - if (bitDepth == G_IM_SIZ_4b) { - gDPLoadTextureTile_4b(gMainGfxPos++, raster, fmt, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); - } else if (bitDepth == G_IM_SIZ_16b) { - gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_16b, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); - } else if (bitDepth == G_IM_SIZ_8b) { - gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_8b, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); - } - - gSPTextureRectangle(gMainGfxPos++, drawRect.ulx * 4, drawRect.uly * 4, drawRect.lrx * 4, drawRect.lry * 4, - 0, texOffsetX * 32, texOffsetY * 32, 1024, 1024); - - if (stopDrawingLine) { - break; - } - texRect.ulx += 64; - drawRect.ulx = drawRect.lrx; - } - - if (stopDrawing) { - break; - } - texRect.uly += 32; - drawRect.uly = drawRect.lry; - } - - return TRUE; -} - -s32 draw_tiled_image(IMG_PTR raster, u32 width, u32 height, u8 fmt, u8 bitDepth, - s16 posX, s16 posY, - u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight, - f32 scaleX, f32 scaleY) { - Rect texRect; - Rect drawRect; - s32 dsdx, dtdy; - s32 texOffsetX, texOffsetY; - u8 stopDrawing; - u8 stopDrawingLine; - - if (scaleX < 0.01 || scaleY < 0.01) { - return 0; - } - - if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { - return 0; - } - - if (clipX >= (s16)(posX + width * scaleX)) { - return 0; - } - - if (clipY >= (s16)(posY + height * scaleY)) { - return 0; - } - - stopDrawing = 0; - texRect.uly = 0; - drawRect.uly = posY; - dsdx = 1.0f / scaleX * 1024.0f; - dtdy = 1.0f / scaleY * 1024.0f; - while (TRUE) { - texRect.lry = texRect.uly + 31; - drawRect.lry = drawRect.uly + (scaleY * 32.0 + 0.5); - texOffsetY = 0; - if (drawRect.lry <= clipY) { - do { - texRect.uly += 32; - drawRect.uly = drawRect.lry; - drawRect.lry += scaleY * 32.0f; - } while (drawRect.lry < clipY); - texRect.lry = texRect.uly + 31; - } - - if (drawRect.uly < clipY) { - drawRect.uly = clipY; - texOffsetY = abs(posY - clipY) / scaleY * 32.0f; - } - - if ((u32)(texRect.lry + 1) >= height) { - texRect.lry = height - 1; - stopDrawing = 1; - drawRect.lry = posY + (s16)(texRect.lry * scaleY); - drawRect.lry += scaleY; - } - - if (drawRect.lry > clipY + clipHeight) { - drawRect.lry = clipY + clipHeight; - if (!stopDrawing) { - drawRect.lry = clipY + clipHeight; - stopDrawing = 1; - } - } - - stopDrawingLine = 0; - texRect.ulx = 0; - drawRect.ulx = posX; - while (TRUE) { - texRect.lrx = texRect.ulx + 63; - drawRect.lrx = drawRect.ulx + (scaleX * 64.0 + 0.3); - texOffsetX = 0; - - if (drawRect.lrx <= clipX) { - do { - texRect.ulx += 64; - drawRect.ulx = drawRect.lrx; - drawRect.lrx += scaleX * 64.0f; - } while (drawRect.lrx < clipX); - texRect.lrx = texRect.ulx + 63; - } - - if (drawRect.ulx < clipX) { - drawRect.ulx = clipX; - texOffsetX = abs(posX - clipX) / scaleX * 32.0f; - } - - if ((u32)(texRect.lrx + 1) >= width) { - texRect.lrx = width - 1; - stopDrawingLine = TRUE; - drawRect.lrx = posX + (s16)(texRect.lrx * scaleX); - drawRect.lrx = drawRect.lrx + scaleX + 0.3; - } - - if (drawRect.lrx > clipX + clipWidth) { - drawRect.lrx = clipX + clipWidth; - stopDrawingLine = TRUE; - } - - if (bitDepth == G_IM_SIZ_16b) { - gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_16b, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); - } else if (bitDepth == G_IM_SIZ_4b) { - gDPLoadTextureTile_4b(gMainGfxPos++, raster, fmt, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, 6, 5, G_TX_NOLOD, G_TX_NOLOD); - } - - gSPTextureRectangle(gMainGfxPos++, drawRect.ulx * 4, drawRect.uly * 4, (drawRect.lrx - stopDrawingLine) * 4, drawRect.lry * 4, - 0, texOffsetX, texOffsetY, dsdx, dtdy); - - if (stopDrawingLine) { - break; - } - texRect.ulx += 64; - drawRect.ulx = drawRect.lrx; - }; - - if (stopDrawing) { - break; - } - texRect.uly += 32; - drawRect.uly = drawRect.lry; - }; - - return 1; -} - -s32 integer_log(s32 number, u32 base) { - f32 fNumber = number; - s32 ret = 1; - - while (TRUE) { - fNumber /= base; - if (fNumber <= 1.0) { - return ret; - } - - ret++; - } -} - -s32 draw_adjustable_tiled_image(IMG_PTR raster, u32 width, u32 height, u8 fmt, u8 bitDepth, - s16 posX, s16 posY, - u16 clipX, u16 clipY, u16 clipWidth, u16 clipHeight, - f32 scaleX, f32 scaleY) { - Rect texRect; - Rect drawRect; - u16 overlap; - s32 dsdx, dtdy; - s32 texOffsetX, texOffsetY; - u8 stopDrawing; - - u16 masks, maskt; - - u16 texelNum; - u16 lineHeight; - - f32 temp; - - if (scaleX < 0.01 || scaleY < 0.01) { - return 0; - } - - if (posX >= clipX + clipWidth || posY >= clipY + clipHeight) { - return 0; - } - - if (clipX >= (s16)(posX + width * scaleX)) { - return 0; - } - - if (clipY >= (s16)(posY + height * scaleY)) { - return 0; - } - if (bitDepth == G_IM_SIZ_4b) { - if (fmt == G_IM_FMT_IA || fmt == G_IM_FMT_I) { - texelNum = 0x2000; - } else if (fmt == G_IM_FMT_CI) { - texelNum = 0x1000; - } else { - return 0; - } - } else if (bitDepth == G_IM_SIZ_8b) { - if (fmt == G_IM_FMT_IA || fmt == G_IM_FMT_I) { - texelNum = 0x1000; - } else if (fmt == G_IM_FMT_CI) { - texelNum = 0x800; - } else { - return 0; - } - } else if (bitDepth == G_IM_SIZ_16b) { - if (fmt == G_IM_FMT_RGBA) { - texelNum = 0x800; - } else if (fmt == G_IM_FMT_IA) { - texelNum = 0x800; - } else { - return 0; - } - } else if (bitDepth == G_IM_SIZ_32b) { - if (fmt == G_IM_FMT_RGBA) { - texelNum = 0x400; - } else { - return 0; - } - } else { - return 0; - } - - dsdx = 1.0f / scaleX * 1024.0f; - dtdy = 1.0f / scaleY * 1024.0f; - lineHeight = texelNum / width; - if (lineHeight > height) { - lineHeight = height; - } else if (lineHeight <= 1) { - return 0; - } - if (scaleY <= 1.0) { - overlap = 0; - } else { - overlap = scaleY; - } - - masks = integer_log(width, 2); - maskt = integer_log(height, 2); - - stopDrawing = 0; - - texRect.ulx = 0; - texRect.uly = 0; - drawRect.ulx = posX; - drawRect.uly = posY; - - while (TRUE) { - texRect.lrx = width - 1; - texRect.lry = texRect.uly + lineHeight - 1; - drawRect.lry = drawRect.uly + lineHeight * scaleY; - drawRect.lrx = (s16)(drawRect.ulx + width * scaleX); - - - texOffsetX = texOffsetY = 0; - - if (drawRect.lry <= clipY) { - do { - texRect.uly += lineHeight; - drawRect.uly = drawRect.lry; - drawRect.lry += lineHeight * scaleY; - } while (drawRect.lry < clipY); - texRect.lry = texRect.uly + lineHeight - 1; - } - - if (drawRect.uly < clipY) { - drawRect.uly = clipY; - temp = abs(posY - clipY); - temp /= scaleY; - texOffsetY = temp * 32.0f; - } - if (texRect.lry + 1 == height){ - stopDrawing = 1; - } else if (height < texRect.lry + 1) { - s32 temp; - texRect.lry = height - 1; - temp = height * scaleY; - stopDrawing = 1; - drawRect.lry = drawRect.uly + temp; - } - - if (drawRect.lry >= clipY + clipHeight) { - if (!stopDrawing) { - drawRect.lry = clipY + clipHeight; - stopDrawing = 1; - } else if (drawRect.lry > clipY + clipHeight) { - drawRect.lry = clipY + clipHeight; - } - } - if (drawRect.ulx < clipX) { - drawRect.ulx = clipX; - temp = abs(posX - clipX); - temp /= scaleX; - texOffsetX = temp * 32.0f; - } - if (drawRect.lrx >= clipX + clipWidth) { - drawRect.lrx = clipX + clipWidth; - } - - if (bitDepth == G_IM_SIZ_4b) { - gDPLoadTextureTile_4b(gMainGfxPos++, raster, fmt, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); - } else if (bitDepth == G_IM_SIZ_8b) { - gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_8b, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); - } else if (bitDepth == G_IM_SIZ_16b) { - gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_16b, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); - } else if (bitDepth == G_IM_SIZ_32b) { - gDPLoadTextureTile(gMainGfxPos++, raster, fmt, G_IM_SIZ_32b, width, height, - texRect.ulx, texRect.uly, texRect.lrx, texRect.lry, 0, - G_TX_WRAP, G_TX_WRAP, masks, maskt, G_TX_NOLOD, G_TX_NOLOD); - } - gSPTextureRectangle(gMainGfxPos++, drawRect.ulx * 4, drawRect.uly * 4, drawRect.lrx * 4, drawRect.lry * 4, - 0, texOffsetX, texOffsetY, dsdx, dtdy); - - if (stopDrawing) { - break; - } - - texRect.uly += lineHeight - overlap; - drawRect.uly = drawRect.lry - overlap * scaleY; - }; - - return 1; -} - -static const f32 rodata_padding[] = { 0.0f }; - void sparkle_script_init(ItemEntity* item, SparkleScript* script) { item->sparkleReadPos = (s32*)script; item->sparkleNextUpdate = 1; @@ -1119,7 +630,7 @@ s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pic case ITEM_SPAWN_MODE_FALL_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_FIXED_SPAWN_ALWAYS: case ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS: - item->shadowIndex = create_shadow_type(0, item->pos.x, item->pos.y, item->pos.z); + item->shadowIndex = create_shadow_type(SHADOW_VARYING_CIRCLE, item->pos.x, item->pos.y, item->pos.z); shadow = get_shadow_by_index(item->shadowIndex); if (item->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) { @@ -1224,7 +735,7 @@ s32 make_item_entity_at_player(s32 itemID, s32 category, s32 pickupMsgFlags) { } ItemEntityAlternatingSpawn = 1 - ItemEntityAlternatingSpawn; - item->shadowIndex = create_shadow_type(0, item->pos.x, item->pos.y, item->pos.z); + item->shadowIndex = create_shadow_type(SHADOW_VARYING_CIRCLE, item->pos.x, item->pos.y, item->pos.z); shadow = get_shadow_by_index(item->shadowIndex); shadow->flags |= ENTITY_FLAG_HIDDEN; @@ -2848,7 +2359,7 @@ block_47: // TODO required to match numEntries++; // add player inventory to menu for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] != 0) { + if (playerData->invItems[i] != ITEM_NONE) { itemData = &gItemTable[playerData->invItems[i]]; menu->ptrIcon[numEntries] = gItemHudScripts[itemData->hudElemID].enabled; menu->userIndex[numEntries] = playerData->invItems[i]; @@ -2903,7 +2414,7 @@ block_47: // TODO required to match )->renderGroup = -1; if (D_801568E8 >= 2) { - playerData->invItems[D_801568E8 - 2] = 0; + playerData->invItems[D_801568E8 - 2] = ITEM_NONE; sort_items(); add_item(item->itemID); } diff --git a/src/item_table.yaml b/src/item_table.yaml index c779b67b02..eee569c65e 100644 --- a/src/item_table.yaml +++ b/src/item_table.yaml @@ -53,7 +53,7 @@ icon: gear/boots_3 sellValue: -1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY ] + targetFlags: [ TARGET_FLAG_SELECT_ONE ] typeFlags: [ ITEM_TYPE_FLAG_GEAR, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -83,7 +83,7 @@ icon: gear/hammer_2 sellValue: -1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY ] + targetFlags: [ TARGET_FLAG_SELECT_ONE ] typeFlags: [ ITEM_TYPE_FLAG_GEAR, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -1928,7 +1928,7 @@ icon: battle/FireFlower sellValue: 4 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 3 @@ -1943,7 +1943,7 @@ icon: battle/SnowmanDoll sellValue: 6 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 4 @@ -1958,7 +1958,7 @@ icon: battle/ThunderRage sellValue: 8 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -1973,7 +1973,7 @@ icon: battle/ShootingStar sellValue: 15 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 6 @@ -1988,7 +1988,7 @@ icon: battle/ThunderBolt sellValue: 4 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2003,7 +2003,7 @@ icon: battle/Pebble sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 1 @@ -2018,7 +2018,7 @@ icon: battle/DustyHammer sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 1 @@ -2033,7 +2033,7 @@ icon: battle/InsecticideHerb sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2063,7 +2063,7 @@ icon: food/TastyTonic sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2078,7 +2078,7 @@ icon: food/Mushroom sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2108,7 +2108,7 @@ icon: food/SuperShroom sellValue: 7 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -2123,7 +2123,7 @@ icon: food/DriedShroom sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 1 @@ -2138,7 +2138,7 @@ icon: food/UltraShroom sellValue: 50 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 50 @@ -2153,7 +2153,7 @@ icon: battle/SleepySheep sellValue: 4 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 3 @@ -2168,7 +2168,7 @@ icon: battle/POWBlock sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 2 @@ -2198,7 +2198,7 @@ icon: battle/StopWatch sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 4 @@ -2213,7 +2213,7 @@ icon: food/WhackasBump sellValue: 30 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 25 @@ -2228,7 +2228,7 @@ icon: food/Apple sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2243,7 +2243,7 @@ icon: food/LifeShroom sellValue: 20 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -2288,7 +2288,7 @@ icon: battle/FrightJar sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2318,7 +2318,7 @@ icon: battle/DizzyDial sellValue: 6 sortValue: 0 - targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 3 @@ -2333,7 +2333,7 @@ icon: food/SuperSoda sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2348,7 +2348,7 @@ icon: food/Lemon sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 1 @@ -2363,7 +2363,7 @@ icon: food/Lime sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2378,7 +2378,7 @@ icon: food/BlueBerry sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2393,7 +2393,7 @@ icon: food/RedBerry sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2408,7 +2408,7 @@ icon: food/YellowBerry sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 3 @@ -2423,7 +2423,7 @@ icon: food/BubbleBerry sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2438,7 +2438,7 @@ icon: food/JamminJelly sellValue: 50 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2453,7 +2453,7 @@ icon: food/MapleSyrup sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2468,7 +2468,7 @@ icon: food/HoneySyrup sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2483,7 +2483,7 @@ icon: food/Goomnut sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2498,7 +2498,7 @@ icon: food/KoopaLeaf sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2513,7 +2513,7 @@ icon: food/DriedPasta sellValue: 4 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 3 @@ -2528,7 +2528,7 @@ icon: food/DriedFruit sellValue: 5 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 15 @@ -2543,7 +2543,7 @@ icon: food/StrangeLeaf sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2558,7 +2558,7 @@ icon: food/CakeMix sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2573,7 +2573,7 @@ icon: food/Egg sellValue: 2 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2588,7 +2588,7 @@ icon: food/Coconut sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 3 @@ -2603,7 +2603,7 @@ icon: food/Melon sellValue: 7 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 15 @@ -2618,7 +2618,7 @@ icon: food/StinkyHerb sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2633,7 +2633,7 @@ icon: food/IcedPotato sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2648,7 +2648,7 @@ icon: food/SpicySoup sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 4 @@ -2663,7 +2663,7 @@ icon: food/ApplePie sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -2678,7 +2678,7 @@ icon: food/HoneyUltra sellValue: 75 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 50 @@ -2693,7 +2693,7 @@ icon: food/MapleUltra sellValue: 100 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 50 @@ -2708,7 +2708,7 @@ icon: food/JellyUltra sellValue: 150 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 50 @@ -2723,7 +2723,7 @@ icon: food/Koopasta sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 7 @@ -2738,7 +2738,7 @@ icon: food/FriedShroom sellValue: 5 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 6 @@ -2753,7 +2753,7 @@ icon: food/ShroomCake sellValue: 20 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -2768,7 +2768,7 @@ icon: food/ShroomSteak sellValue: 45 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 30 @@ -2783,7 +2783,7 @@ icon: food/HotShroom sellValue: 15 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 15 @@ -2798,7 +2798,7 @@ icon: food/SweetShroom sellValue: 50 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 30 @@ -2813,7 +2813,7 @@ icon: food/YummyMeal sellValue: 15 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 20 @@ -2828,7 +2828,7 @@ icon: food/HealthyJuice sellValue: 25 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2843,7 +2843,7 @@ icon: food/BlandMeal sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -2858,7 +2858,7 @@ icon: food/DeluxeFeast sellValue: 60 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 40 @@ -2873,7 +2873,7 @@ icon: food/SpecialShake sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2888,7 +2888,7 @@ icon: food/BigCookie sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2903,7 +2903,7 @@ icon: food/Cake sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2918,7 +2918,7 @@ icon: food/Mistake sellValue: 1 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 1 @@ -2933,7 +2933,7 @@ icon: food/KoopaTea sellValue: 3 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_USE_DRINK_ANIMATION, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -2948,7 +2948,7 @@ icon: food/HoneySuper sellValue: 20 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -2963,7 +2963,7 @@ icon: food/MapleSuper sellValue: 35 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -2978,7 +2978,7 @@ icon: food/JellySuper sellValue: 100 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -2993,7 +2993,7 @@ icon: food/Spaghetti sellValue: 7 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 6 @@ -3008,7 +3008,7 @@ icon: food/EggMissile sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000 ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 6 @@ -3023,7 +3023,7 @@ icon: food/FriedEgg sellValue: 7 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -3038,7 +3038,7 @@ icon: food/HoneyShroom sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3053,7 +3053,7 @@ icon: food/HoneyCandy sellValue: 15 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -3068,7 +3068,7 @@ icon: food/ElectroPop sellValue: 25 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -3083,7 +3083,7 @@ icon: food/FirePop sellValue: 20 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: -1 @@ -3098,7 +3098,7 @@ icon: food/LimeCandy sellValue: 15 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -3113,7 +3113,7 @@ icon: food/CocoPop sellValue: 12 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 3 @@ -3128,7 +3128,7 @@ icon: food/LemonCandy sellValue: 15 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3143,7 +3143,7 @@ icon: food/JellyPop sellValue: 100 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -3158,7 +3158,7 @@ icon: food/StrangeCake sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -3173,7 +3173,7 @@ icon: food/KookyCookie sellValue: 12 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -3188,7 +3188,7 @@ icon: food/FrozenFries sellValue: 15 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 15 @@ -3203,7 +3203,7 @@ icon: food/PotatoSalad sellValue: 6 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 10 @@ -3218,7 +3218,7 @@ icon: food/NuttyCake sellValue: 6 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 0 @@ -3233,7 +3233,7 @@ icon: food/MapleShroom sellValue: 25 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3248,7 +3248,7 @@ icon: food/BoiledEgg sellValue: 10 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 8 @@ -3263,7 +3263,7 @@ icon: food/YoshiCookie sellValue: 20 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 15 @@ -3278,7 +3278,7 @@ icon: food/JellyShroom sellValue: 75 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3293,7 +3293,7 @@ icon: key/Gift sellValue: 75 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3308,7 +3308,7 @@ icon: key/Gift sellValue: 75 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3323,7 +3323,7 @@ icon: key/Gift sellValue: 75 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3338,7 +3338,7 @@ icon: key/Gift sellValue: 75 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 @@ -3353,7 +3353,7 @@ icon: key/Gift sellValue: 75 sortValue: 0 - targetFlags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_PLAYER ] + targetFlags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_PLAYER ] typeFlags: [ ITEM_TYPE_FLAG_WORLD_USABLE, ITEM_TYPE_FLAG_BATTLE_USABLE, ITEM_TYPE_FLAG_CONSUMABLE, ITEM_TYPE_FLAG_FOOD_OR_DRINK, ITEM_TYPE_FLAG_ENTITY_FULLSIZE ] moveID: MOVE_NONE potencyA: 5 diff --git a/src/main_loop.c b/src/main_loop.c index 9eae9ba0b1..e7bd6ad536 100644 --- a/src/main_loop.c +++ b/src/main_loop.c @@ -16,14 +16,14 @@ s8 gGameStepDelayAmount = 1; s8 gGameStepDelayCount = 5; GameStatus gGameStatus = { - .curButtons = {0}, - .pressedButtons = {0}, - .heldButtons = {0}, - .prevButtons = {0}, - .stickX = {0}, - .stickY = {0}, - .unk_48 = {0}, - .unk_50 = {0}, + .curButtons = { 0 }, + .pressedButtons = { 0 }, + .heldButtons = { 0 }, + .prevButtons = { 0 }, + .stickX = { 0 }, + .stickY = { 0 }, + .unk_48 = { 0 }, + .unk_50 = { 0 }, }; GameStatus* gGameStatusPtr = &gGameStatus; @@ -111,7 +111,7 @@ void step_game_loop(void) { } break; case 1: - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; D_8009A690--; if (D_8009A690 == 0) { sfx_stop_env_sounds(); @@ -175,7 +175,7 @@ void gfx_draw_frame(void) { gMatrixListPos = 0; gMainGfxPos = &gDisplayContext->mainGfx[0]; - if (gOverrideFlags & GLOBAL_OVERRIDES_8) { + if (gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME) { gCurrentDisplayContextIndex = gCurrentDisplayContextIndex ^ 1; return; } @@ -200,7 +200,7 @@ void gfx_draw_frame(void) { render_window_root(); } - if (!(gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD) && !gGameStatusPtr->disableScripts) { + if (!(gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD) && gGameStatusPtr->debugScripts == DEBUG_SCRIPTS_NONE) { render_frame(TRUE); } @@ -260,13 +260,13 @@ void load_engine_data(void) { gOverrideFlags = 0; gGameStatusPtr->unk_79 = 0; gGameStatusPtr->backgroundFlags = 0; - gGameStatusPtr->musicEnabled = 1; - gGameStatusPtr->unk_7C = 1; - gGameStatusPtr->creditsViewportMode = -1; + gGameStatusPtr->musicEnabled = TRUE; + gGameStatusPtr->healthBarsEnabled = TRUE; + gGameStatusPtr->introPart = INTRO_PART_NONE; gGameStatusPtr->demoBattleFlags = 0; - gGameStatusPtr->multiplayerEnabled = 0; - gGameStatusPtr->unk_82.x = -8; - gGameStatusPtr->unk_82.y = 4; + gGameStatusPtr->multiplayerEnabled = FALSE; + gGameStatusPtr->altViewportOffset.x = -8; + gGameStatusPtr->altViewportOffset.y = 4; timeFreezeMode = 0; gGameStatusPtr->debugQuizmo = gGameStatusPtr->unk_13C = 0; gGameStepDelayCount = 5; @@ -291,7 +291,7 @@ void load_engine_data(void) { clear_npcs(); hud_element_clear_cache(); clear_trigger_data(); - clear_entity_data(0); + clear_entity_data(FALSE); clear_player_data(); init_encounter_status(); clear_screen_overlays(); @@ -310,7 +310,7 @@ void load_engine_data(void) { gGameStatusPtr->unk_48[i] = 12; } - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; set_game_mode(GAME_MODE_STARTUP); } diff --git a/src/move_table.yaml b/src/move_table.yaml index 5177a72f1b..5bb6438165 100644 --- a/src/move_table.yaml +++ b/src/move_table.yaml @@ -4,7 +4,7 @@ shortDescMsg: 0 flags: [] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - Unused_01: @@ -13,7 +13,7 @@ shortDescMsg: 0 flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - Unused_02: @@ -22,79 +22,79 @@ shortDescMsg: 0 flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - Hammer1: nameMsg: MSG_Menus_Hammer fullDescMsg: 0 shortDescMsg: MSG_ItemShortDesc_Hammer - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - Hammer2: nameMsg: MSG_Menus_Hammer fullDescMsg: MSG_ItemShortDesc_SuperHammer shortDescMsg: MSG_ItemShortDesc_SuperHammer - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - Hammer3: nameMsg: MSG_Menus_Hammer fullDescMsg: MSG_ItemShortDesc_UltraHammer shortDescMsg: MSG_ItemShortDesc_UltraHammer - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - FirstStrikeHammer: nameMsg: MSG_Menus_Hammer fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - BerserkerHammer: nameMsg: MSG_MoveName_Berserker fullDescMsg: MSG_ItemFullDesc_Berserker shortDescMsg: MSG_ItemShortDesc_Berserker - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - SpinSmash: nameMsg: MSG_PlayerMoveName_SpinSmash fullDescMsg: MSG_ItemFullDesc_SpinSmash shortDescMsg: MSG_ItemShortDesc_SpinSmash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 2 costBP: 1 - QuakeHammer: nameMsg: MSG_PlayerMoveName_QuakeHammer fullDescMsg: MSG_ItemFullDesc_QuakeHammer shortDescMsg: MSG_ItemShortDesc_QuakeHammer - flags: [ TARGET_FLAG_20, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_NOT_FLYING, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 2 costBP: 1 - DDownPound: nameMsg: MSG_PlayerMoveName_DDownPound fullDescMsg: MSG_ItemFullDesc_DDownPound shortDescMsg: MSG_ItemShortDesc_DDownPound - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 2 costBP: 2 - SmashCharge0: @@ -103,34 +103,34 @@ shortDescMsg: MSG_ItemShortDesc_SmashCharge0 flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 1 costBP: 1 - Unused_Hammer_0C: nameMsg: MSG_Menus_Hammer fullDescMsg: MSG_ItemFullDesc_SmashCharge0 shortDescMsg: MSG_ItemShortDesc_SmashCharge0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_1000, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - HammerThrow: nameMsg: MSG_PlayerMoveName_HammerThrow fullDescMsg: MSG_ItemFullDesc_HammerThrow shortDescMsg: MSG_ItemShortDesc_HammerThrow - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 2 costBP: 2 - MegaQuake: nameMsg: MSG_PlayerMoveName_MegaQuake fullDescMsg: MSG_ItemFullDesc_MegaQuake shortDescMsg: MSG_ItemShortDesc_MegaQuake - flags: [ TARGET_FLAG_20, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_NOT_FLYING, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 7 costBP: 3 - SmashCharge: @@ -139,16 +139,16 @@ shortDescMsg: MSG_ItemShortDesc_SmashCharge flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 1 costBP: 1 - Unused_Hammer_10: nameMsg: MSG_Menus_Hammer fullDescMsg: MSG_ItemFullDesc_SmashCharge shortDescMsg: MSG_ItemShortDesc_SmashCharge - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - SuperSmashCharge: @@ -157,295 +157,295 @@ shortDescMsg: MSG_ItemShortDesc_SSmashChg flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 4 costBP: 2 - Unused_Hammer_12: nameMsg: MSG_Menus_Hammer fullDescMsg: MSG_ItemFullDesc_SSmashChg shortDescMsg: MSG_ItemShortDesc_SSmashChg - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_1000, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - AutoSmash: nameMsg: MSG_MoveName_AutoSmash fullDescMsg: MSG_ItemFullDesc_AutoSmash shortDescMsg: MSG_ItemShortDesc_AutoSmash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 2 costBP: 1 - PowerQuake: nameMsg: MSG_PlayerMoveName_PowerQuake fullDescMsg: MSG_ItemFullDesc_PowerQuake shortDescMsg: MSG_ItemShortDesc_PowerQuake - flags: [ TARGET_FLAG_20, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_NOT_FLYING, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 4 costBP: 2 - PowerSmash: nameMsg: MSG_PlayerMoveName_PowerSmash fullDescMsg: MSG_ItemFullDesc_PowerSmash shortDescMsg: MSG_ItemShortDesc_PowerSmash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 2 costBP: 1 - SuperSmash: nameMsg: MSG_MoveName_SuperSmash fullDescMsg: MSG_ItemFullDesc_SuperSmash shortDescMsg: MSG_ItemShortDesc_SuperSmash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 4 costBP: 2 - MegaSmash: nameMsg: MSG_PlayerMoveName_MegaSmash fullDescMsg: MSG_ItemFullDesc_MegaSmash shortDescMsg: MSG_ItemShortDesc_MegaSmash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 6 costBP: 3 - ShrinkSmash: nameMsg: MSG_PlayerMoveName_ShrinkSmash fullDescMsg: MSG_ItemFullDesc_ShrinkSmash shortDescMsg: MSG_ItemShortDesc_ShrinkSmash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 2 costBP: 1 - ShellCrack: nameMsg: MSG_ItemName_ShellCrack fullDescMsg: MSG_ItemFullDesc_ShellCrack shortDescMsg: MSG_ItemShortDesc_ShellCrack - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_1000, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_SMASH_LIKE, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_HAMMER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 6 costBP: 3 - Jump1: nameMsg: MSG_Menus_Jump fullDescMsg: MSG_ItemShortDesc_Boots shortDescMsg: MSG_ItemShortDesc_Boots - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Jump2: nameMsg: MSG_Menus_Jump fullDescMsg: MSG_ItemShortDesc_SuperBoots shortDescMsg: MSG_ItemShortDesc_SuperBoots - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Jump3: nameMsg: MSG_Menus_Jump fullDescMsg: MSG_ItemShortDesc_UltraBoots shortDescMsg: MSG_ItemShortDesc_UltraBoots - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - FirstStrikeJump: nameMsg: MSG_Menus_Jump fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - BerserkerJump: nameMsg: MSG_Menus_Jump fullDescMsg: MSG_ItemFullDesc_Berserker shortDescMsg: MSG_ItemShortDesc_Berserker - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Multibounce: nameMsg: MSG_PlayerMoveName_Multibounce fullDescMsg: MSG_ItemFullDesc_Multibounce shortDescMsg: MSG_ItemShortDesc_Multibounce - flags: [ TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_8000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_PRIMARY_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 2 costBP: 1 - PowerBounce: nameMsg: MSG_PlayerMoveName_PowerBounce fullDescMsg: MSG_ItemFullDesc_PowerBounce shortDescMsg: MSG_ItemShortDesc_PowerBounce - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 3 costBP: 2 - SleepStomp: nameMsg: MSG_PlayerMoveName_SleepStomp fullDescMsg: MSG_ItemFullDesc_SleepStomp shortDescMsg: MSG_ItemShortDesc_SleepStomp - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 2 costBP: 1 - DizzyStomp: nameMsg: MSG_PlayerMoveName_DizzyStomp fullDescMsg: MSG_ItemFullDesc_DizzyStomp shortDescMsg: MSG_ItemShortDesc_DizzyStomp - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 2 costBP: 1 - JumpCharge0: nameMsg: MSG_MoveName_JumpCharge0 fullDescMsg: MSG_ItemFullDesc_JumpCharge0 shortDescMsg: MSG_ItemShortDesc_JumpCharge0 - flags: [ TARGET_FLAG_PLAYER, TARGET_FLAG_800 ] + flags: [ TARGET_FLAG_PLAYER, TARGET_FLAG_JUMP_LIKE ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 1 costBP: 1 - Unused_24: nameMsg: MSG_Menus_Jump fullDescMsg: MSG_ItemFullDesc_JumpCharge0 shortDescMsg: MSG_ItemShortDesc_JumpCharge0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 1 costBP: 1 - JumpCharge: nameMsg: MSG_PlayerMoveName_JumpCharge fullDescMsg: MSG_ItemFullDesc_JumpCharge shortDescMsg: MSG_ItemShortDesc_JumpCharge - flags: [ TARGET_FLAG_PLAYER, TARGET_FLAG_800 ] + flags: [ TARGET_FLAG_PLAYER, TARGET_FLAG_JUMP_LIKE ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 1 costBP: 1 - Unused_26: nameMsg: MSG_Menus_Jump fullDescMsg: MSG_ItemFullDesc_JumpCharge shortDescMsg: MSG_ItemShortDesc_JumpCharge - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - SuperJumpCharge: nameMsg: MSG_PlayerMoveName_SuperJumpCharge fullDescMsg: MSG_ItemFullDesc_SJumpChg shortDescMsg: MSG_ItemShortDesc_SJumpChg - flags: [ TARGET_FLAG_PLAYER, TARGET_FLAG_800 ] + flags: [ TARGET_FLAG_PLAYER, TARGET_FLAG_JUMP_LIKE ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 4 costBP: 2 - Unused_28: nameMsg: MSG_Menus_Jump fullDescMsg: MSG_ItemFullDesc_SJumpChg shortDescMsg: MSG_ItemShortDesc_SJumpChg - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - AutoJump: nameMsg: MSG_MoveName_AutoJump fullDescMsg: MSG_ItemFullDesc_AutoJump shortDescMsg: MSG_ItemShortDesc_AutoJump - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 2 costBP: 1 - AutoMultibounce: nameMsg: MSG_MoveName_AutoMultibounce fullDescMsg: MSG_ItemFullDesc_AutoMultibounce shortDescMsg: MSG_ItemShortDesc_AutoMultibounce - flags: [ TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_8000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_PRIMARY_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 5 costBP: 2 - PowerJump: nameMsg: MSG_PlayerMoveName_PowerJump fullDescMsg: MSG_ItemFullDesc_PowerJump shortDescMsg: MSG_ItemShortDesc_PowerJump - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 2 costBP: 1 - SuperJump: nameMsg: MSG_MoveName_SuperJump fullDescMsg: MSG_ItemFullDesc_SuperJump shortDescMsg: MSG_ItemShortDesc_SuperJump - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 4 costBP: 2 - MegaJump: nameMsg: MSG_PlayerMoveName_MegaJump fullDescMsg: MSG_ItemFullDesc_MegaJump shortDescMsg: MSG_ItemShortDesc_MegaJump - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 6 costBP: 3 - DDownJump: nameMsg: MSG_PlayerMoveName_DDownJump fullDescMsg: MSG_ItemFullDesc_DDownJump shortDescMsg: MSG_ItemShortDesc_DDownJump - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 2 costBP: 2 - ShrinkStomp: nameMsg: MSG_PlayerMoveName_ShrinkStomp fullDescMsg: MSG_ItemFullDesc_ShrinkStomp shortDescMsg: MSG_ItemShortDesc_ShrinkStomp - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 2 costBP: 1 - EarthquakeJump: nameMsg: MSG_MoveName_EarthquakeJump fullDescMsg: MSG_ItemFullDesc_EarthquakeJump shortDescMsg: MSG_ItemShortDesc_EarthquakeJump - flags: [ TARGET_FLAG_20, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_NOT_FLYING, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_JUMP - actionTip: MOVE_ACTION_TIP_20 + actionTip: BTL_MSG_ACTION_TIP_NOT_USED_3 costFP: 2 costBP: 2 - Unused_DefendPlus: nameMsg: MSG_MoveName_DefendPlus fullDescMsg: MSG_ItemFullDesc_DefendPlus shortDescMsg: MSG_ItemShortDesc_DefendPlus - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_3 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 6 - Unused_32: @@ -454,7 +454,7 @@ shortDescMsg: MSG_ShortDesc_32 flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_3 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 8 - DamageDodge: @@ -463,16 +463,16 @@ shortDescMsg: MSG_ItemShortDesc_DamageDodge flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_3 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - Items: nameMsg: MSG_Menus_Items fullDescMsg: 0 shortDescMsg: MSG_Menus_Action_UseItem - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_ITEMS - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - DoubleDip: @@ -481,7 +481,7 @@ shortDescMsg: MSG_ItemShortDesc_DoubleDip flags: [] category: MOVE_TYPE_ITEMS - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 3 costBP: 1 - TripleDip: @@ -490,7 +490,7 @@ shortDescMsg: MSG_ItemShortDesc_TripleDip flags: [] category: MOVE_TYPE_ITEMS - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 6 costBP: 3 - Unused_37: @@ -499,7 +499,7 @@ shortDescMsg: 0 flags: [] category: MOVE_TYPE_SWITCH - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - QuickChange: @@ -508,16 +508,16 @@ shortDescMsg: MSG_ItemShortDesc_QuickChange flags: [] category: MOVE_TYPE_SWITCH - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 4 - Unused_39: nameMsg: (s32) "つうじょう" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_6 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - Unused_3A: @@ -526,7 +526,7 @@ shortDescMsg: 0 flags: [] category: MOVE_TYPE_ATTACK_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - PowerPlus: @@ -535,7 +535,7 @@ shortDescMsg: MSG_ItemShortDesc_PowerPlus flags: [] category: MOVE_TYPE_ATTACK_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 6 - AllorNothing: @@ -544,7 +544,7 @@ shortDescMsg: MSG_ItemShortDesc_AllorNothing flags: [] category: MOVE_TYPE_ATTACK_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 4 - IcePower: @@ -553,7 +553,7 @@ shortDescMsg: MSG_ItemShortDesc_IcePower flags: [] category: MOVE_TYPE_ATTACK_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - PUpDDown: @@ -562,16 +562,16 @@ shortDescMsg: MSG_ItemShortDesc_PUpDDown flags: [] category: MOVE_TYPE_ATTACK_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - Unused_3F: nameMsg: (s32) "つうじょう" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - SpikeShield: @@ -580,7 +580,7 @@ shortDescMsg: MSG_ItemShortDesc_SpikeShield flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - FireShield: @@ -589,7 +589,7 @@ shortDescMsg: MSG_ItemShortDesc_FireShield flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - PrettyLucky: @@ -598,7 +598,7 @@ shortDescMsg: MSG_ItemShortDesc_PrettyLucky flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - FeelingFine: @@ -607,7 +607,7 @@ shortDescMsg: MSG_ItemShortDesc_FeelingFine flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - ZapTap: @@ -616,7 +616,7 @@ shortDescMsg: MSG_ItemShortDesc_ZapTap flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 4 - DefendPlus: @@ -625,7 +625,7 @@ shortDescMsg: MSG_ItemShortDesc_DefendPlus flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 6 - LastStand: @@ -634,7 +634,7 @@ shortDescMsg: MSG_ItemShortDesc_LastStand flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - CloseCall: @@ -643,7 +643,7 @@ shortDescMsg: MSG_ItemShortDesc_CloseCall flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - LuckyDay: @@ -652,7 +652,7 @@ shortDescMsg: MSG_ItemShortDesc_LuckyDay flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 7 - PDownDUp: @@ -661,7 +661,7 @@ shortDescMsg: MSG_ItemShortDesc_PDownDUp flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - HealthyHealthy: @@ -670,7 +670,7 @@ shortDescMsg: MSG_ItemShortDesc_HealthyHealthy flags: [] category: MOVE_TYPE_DEFENSE_UP - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - Unused_4B: @@ -679,7 +679,7 @@ shortDescMsg: 0 flags: [] category: MOVE_TYPE_9 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - DodgeMaster: @@ -688,7 +688,7 @@ shortDescMsg: MSG_ItemShortDesc_DodgeMaster flags: [] category: MOVE_TYPE_9 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - FirstAttack: @@ -697,7 +697,7 @@ shortDescMsg: MSG_ItemShortDesc_FirstAttack flags: [] category: MOVE_TYPE_9 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - SlowGo: @@ -706,7 +706,7 @@ shortDescMsg: MSG_ItemShortDesc_SlowGo flags: [] category: MOVE_TYPE_9 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - RightOn: @@ -715,7 +715,7 @@ shortDescMsg: MSG_ItemShortDesc_RightOn flags: [] category: MOVE_TYPE_9 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 8 - BumpAttack: @@ -724,25 +724,25 @@ shortDescMsg: MSG_ItemShortDesc_BumpAttack flags: [] category: MOVE_TYPE_9 - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 5 - Unused_51: nameMsg: (s32) "つうじょう" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - HPPlus: nameMsg: MSG_ItemName_HPPlus fullDescMsg: MSG_ItemFullDesc_HPPlus shortDescMsg: MSG_ItemShortDesc_HPPlus - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - MysteryScroll: @@ -751,7 +751,7 @@ shortDescMsg: MSG_ItemShortDesc_MysteryScroll flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - AttackFX_A: @@ -760,7 +760,7 @@ shortDescMsg: MSG_ItemShortDesc_AttackFXA flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - AttackFX_D: @@ -769,7 +769,7 @@ shortDescMsg: MSG_ItemShortDesc_AttackFXD flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - AttackFX_B: @@ -778,7 +778,7 @@ shortDescMsg: MSG_ItemShortDesc_AttackFXB flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - AttackFX_E: @@ -787,7 +787,7 @@ shortDescMsg: MSG_ItemShortDesc_AttackFXE flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - AttackFX_C: @@ -796,7 +796,7 @@ shortDescMsg: MSG_ItemShortDesc_AttackFXC flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - AttackFX_F: @@ -805,7 +805,7 @@ shortDescMsg: MSG_ItemShortDesc_AttackFXF flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - HPDrain: @@ -814,7 +814,7 @@ shortDescMsg: MSG_ItemShortDesc_HPDrain flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - FPPlus: @@ -823,7 +823,7 @@ shortDescMsg: MSG_ItemShortDesc_FPPlus flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - MoneyMoney: @@ -832,7 +832,7 @@ shortDescMsg: MSG_ItemShortDesc_MoneyMoney flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 7 - ChillOutBadge: @@ -841,7 +841,7 @@ shortDescMsg: MSG_ItemShortDesc_ChillOut flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - HappyHeart: @@ -850,7 +850,7 @@ shortDescMsg: MSG_ItemShortDesc_HappyHeart flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - MegaRush: @@ -859,7 +859,7 @@ shortDescMsg: MSG_ItemShortDesc_MegaRush flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - Berserker: @@ -868,7 +868,7 @@ shortDescMsg: MSG_ItemShortDesc_Berserker flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 8 - RunawayPay: @@ -877,7 +877,7 @@ shortDescMsg: MSG_ItemShortDesc_RunawayPay flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - FlowerSaver: @@ -886,7 +886,7 @@ shortDescMsg: MSG_ItemShortDesc_FlowerSaver flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 6 - PayOff: @@ -895,7 +895,7 @@ shortDescMsg: MSG_ItemShortDesc_PayOff flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - PowerRush: @@ -904,7 +904,7 @@ shortDescMsg: MSG_ItemShortDesc_PowerRush flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - CrazyHeart: @@ -913,7 +913,7 @@ shortDescMsg: MSG_ItemShortDesc_CrazyHeart flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 10 - MegaHPDrain: @@ -922,7 +922,7 @@ shortDescMsg: MSG_ItemShortDesc_MegaHPDrain flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 10 - FlowerFanatic: @@ -931,7 +931,7 @@ shortDescMsg: MSG_ItemShortDesc_FlowerFanatic flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 10 - HeartFinder: @@ -940,7 +940,7 @@ shortDescMsg: MSG_ItemShortDesc_HeartFinder flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - FlowerFinder: @@ -949,7 +949,7 @@ shortDescMsg: MSG_ItemShortDesc_FlowerFinder flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - SpinAttack: @@ -958,7 +958,7 @@ shortDescMsg: MSG_ItemShortDesc_SpinAttack flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - DizzyAttack: @@ -967,7 +967,7 @@ shortDescMsg: MSG_ItemShortDesc_DizzyAttack flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - ISpy: @@ -976,7 +976,7 @@ shortDescMsg: MSG_ItemShortDesc_ISpy flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - SpeedySpin: @@ -985,7 +985,7 @@ shortDescMsg: MSG_ItemShortDesc_SpeedySpin flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - Refund: @@ -994,7 +994,7 @@ shortDescMsg: MSG_ItemShortDesc_Refund flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - Unused_FinalGoompa: @@ -1003,7 +1003,7 @@ shortDescMsg: 0 flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - Unused_FinalBobomb: @@ -1012,7 +1012,7 @@ shortDescMsg: 0 flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - DeepFocus: @@ -1021,7 +1021,7 @@ shortDescMsg: MSG_ItemShortDesc_DeepFocus flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 1 - SuperFocus: @@ -1030,7 +1030,7 @@ shortDescMsg: MSG_ItemShortDesc_SuperFocus flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 5 - Kaiden: @@ -1039,7 +1039,7 @@ shortDescMsg: MSG_ItemShortDesc_Kaiden flags: [ TARGET_FLAG_OVERRIDE ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - HappyFlower: @@ -1048,7 +1048,7 @@ shortDescMsg: MSG_ItemShortDesc_HappyFlower flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - GroupFocus: @@ -1057,7 +1057,7 @@ shortDescMsg: MSG_ItemShortDesc_GroupFocus flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 2 - Peekaboo: @@ -1066,7 +1066,7 @@ shortDescMsg: MSG_ItemShortDesc_Peekaboo flags: [ TARGET_FLAG_2 ] category: MOVE_TYPE_NONE - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 3 - Focus: @@ -1075,7 +1075,7 @@ shortDescMsg: MSG_Menus_StarPowerDesc_Focus flags: [ TARGET_FLAG_OVERRIDE ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - Refresh: @@ -1084,34 +1084,34 @@ shortDescMsg: MSG_Menus_StarPowerDesc_Refresh flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 1 costBP: 1 - Lullaby: nameMsg: MSG_Menus_StarPower_Lullaby fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_Lullaby - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 1 costBP: 1 - StarStorm: nameMsg: MSG_Menus_StarPower_StarStorm fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_StarStorm - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 2 costBP: 2 - ChillOutMove: nameMsg: MSG_Menus_StarPower_ChillOut fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_ChillOut - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 2 costBP: 2 - Smooch: @@ -1120,367 +1120,367 @@ shortDescMsg: MSG_Menus_StarPowerDesc_Smooch flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 3 costBP: 3 - TimeOut: nameMsg: MSG_Menus_StarPower_TimeOut fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_TimeOut - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 2 costBP: 2 - UpAndAway: nameMsg: MSG_Menus_StarPower_UpAndAway fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_UpAndAway - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 2 costBP: 2 - StarBeam: nameMsg: MSG_Menus_StarPower_StarBeam fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_StarBeam - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - PeachBeam: nameMsg: MSG_Menus_StarPower_PeachBeam fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_PeachBeam - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - PeachFocus: nameMsg: MSG_Menus_StarPower_Peach_Focus fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_Focus - flags: [ TARGET_FLAG_100 ] + flags: [ TARGET_FLAG_PARTNER ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - TwinkDash: nameMsg: MSG_Menus_StarPower_Twink_Dash fullDescMsg: 0 shortDescMsg: MSG_Menus_StarPowerDesc_Focus - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_STAR_POWER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - Headbonk1: nameMsg: MSG_PartnerMoveName_Headbonk1 fullDescMsg: MSG_PartnerDesc_Goombario_Pause_Headbonk1 shortDescMsg: MSG_PartnerDesc_Goombario_Battle_Headbonk - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_2 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE costFP: 0 costBP: 0 - Headbonk2: nameMsg: MSG_PartnerMoveName_Headbonk2 fullDescMsg: MSG_PartnerDesc_Goombario_Pause_Headbonk2 shortDescMsg: MSG_PartnerDesc_Goombario_Battle_Headbonk - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_2 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE costFP: 0 costBP: 0 - Headbonk3: nameMsg: MSG_PartnerMoveName_Headbonk3 fullDescMsg: MSG_PartnerDesc_Goombario_Pause_Headbonk3 shortDescMsg: MSG_PartnerDesc_Goombario_Battle_Headbonk - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_2 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE costFP: 0 costBP: 0 - Tattle: nameMsg: MSG_PartnerMoveName_Tattle fullDescMsg: MSG_PartnerDesc_Goombario_Pause_Tattle shortDescMsg: MSG_PartnerDesc_Goombario_Battle_Tattle - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_8000, TARGET_FLAG_10000, TARGET_FLAG_20000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_TATTLE ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 0 costBP: 0 - Charge: nameMsg: MSG_PartnerMoveName_Charge fullDescMsg: MSG_PartnerDesc_Goombario_Pause_Charge shortDescMsg: MSG_PartnerDesc_Goombario_Battle_Charge - flags: [ TARGET_FLAG_100 ] + flags: [ TARGET_FLAG_PARTNER ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 1 costBP: 0 - Multibonk: nameMsg: MSG_PartnerMoveName_Multibonk fullDescMsg: MSG_PartnerDesc_Goombario_Pause_Multibonk shortDescMsg: MSG_PartnerDesc_Goombario_Battle_Multibonk - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_2 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_STRIKE costFP: 3 costBP: 0 - ShellToss1: nameMsg: MSG_PartnerMoveName_ShellToss1 fullDescMsg: MSG_PartnerDesc_Kooper_Pause_ShellToss1 shortDescMsg: MSG_PartnerDesc_Kooper_Battle_ShellToss - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - ShellToss2: nameMsg: MSG_PartnerMoveName_ShellToss2 fullDescMsg: MSG_PartnerDesc_Kooper_Pause_ShellToss2 shortDescMsg: MSG_PartnerDesc_Kooper_Battle_ShellToss - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - ShellToss3: nameMsg: MSG_PartnerMoveName_ShellToss3 fullDescMsg: MSG_PartnerDesc_Kooper_Pause_ShellToss3 shortDescMsg: MSG_PartnerDesc_Kooper_Battle_ShellToss - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - PowerShell: nameMsg: MSG_PartnerMoveName_PowerShell fullDescMsg: MSG_PartnerDesc_Kooper_Pause_PowerShell shortDescMsg: MSG_PartnerDesc_Kooper_Battle_PowerShell - flags: [ TARGET_FLAG_4, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_GROUND, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 3 costBP: 0 - DizzyShell: nameMsg: MSG_PartnerMoveName_DizzyShell fullDescMsg: MSG_PartnerDesc_Kooper_Pause_DizzyShell shortDescMsg: MSG_PartnerDesc_Kooper_Battle_DizzyShell - flags: [ TARGET_FLAG_4, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_GROUND, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_3 + actionTip: BTL_MSG_ACTION_TIP_MASH_BUTTON costFP: 4 costBP: 0 - FireShell: nameMsg: MSG_PartnerMoveName_FireShell fullDescMsg: MSG_PartnerDesc_Kooper_Pause_FireShell shortDescMsg: MSG_PartnerDesc_Kooper_Battle_FireShell - flags: [ TARGET_FLAG_4, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_GROUND, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 5 costBP: 0 - BodySlam1: nameMsg: MSG_PartnerMoveName_BodySlam1 fullDescMsg: MSG_PartnerDesc_Bombette_Pause_BodySlam1 shortDescMsg: MSG_PartnerDesc_Bombette_Battle_BodySlam - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_15 + actionTip: BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE costFP: 0 costBP: 0 - BodySlam2: nameMsg: MSG_PartnerMoveName_BodySlam2 fullDescMsg: MSG_PartnerDesc_Bombette_Pause_BodySlam2 shortDescMsg: MSG_PartnerDesc_Bombette_Battle_BodySlam - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_15 + actionTip: BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE costFP: 0 costBP: 0 - BodySlam3: nameMsg: MSG_PartnerMoveName_BodySlam3 fullDescMsg: MSG_PartnerDesc_Bombette_Pause_BodySlam3 shortDescMsg: MSG_PartnerDesc_Bombette_Battle_BodySlam - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_15 + actionTip: BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE costFP: 0 costBP: 0 - Bomb: nameMsg: MSG_PartnerMoveName_Bomb fullDescMsg: MSG_PartnerDesc_Bombette_Pause_Bomb shortDescMsg: MSG_PartnerDesc_Bombette_Battle_Bomb - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_4, TARGET_FLAG_2000, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_GROUND, TARGET_FLAG_NOT_BEHIND, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_3 + actionTip: BTL_MSG_ACTION_TIP_MASH_BUTTON costFP: 3 costBP: 0 - PowerBomb: nameMsg: MSG_PartnerMoveName_PowerBomb fullDescMsg: MSG_PartnerDesc_Bombette_Pause_PowerBomb shortDescMsg: MSG_PartnerDesc_Bombette_Battle_PowerBomb - flags: [ TARGET_FLAG_4, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_GROUND, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_3 + actionTip: BTL_MSG_ACTION_TIP_MASH_BUTTON costFP: 6 costBP: 0 - MegaBomb: nameMsg: MSG_PartnerMoveName_MegaBomb fullDescMsg: MSG_PartnerDesc_Bombette_Pause_MegaBomb shortDescMsg: MSG_PartnerDesc_Bombette_Battle_MegaBomb - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_3 + actionTip: BTL_MSG_ACTION_TIP_MASH_BUTTON costFP: 8 costBP: 0 - SkyDive1: nameMsg: MSG_PartnerMoveName_SkyDive1 fullDescMsg: MSG_PartnerDesc_Parakarry_Pause_SkyDive1 shortDescMsg: MSG_PartnerDesc_Parakarry_Battle_SkyDive - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - SkyDive2: nameMsg: MSG_PartnerMoveName_SkyDive2 fullDescMsg: MSG_PartnerDesc_Parakarry_Pause_SkyDive2 shortDescMsg: MSG_PartnerDesc_Parakarry_Battle_SkyDive - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - SkyDive3: nameMsg: MSG_PartnerMoveName_SkyDive3 fullDescMsg: MSG_PartnerDesc_Parakarry_Pause_SkyDive3 shortDescMsg: MSG_PartnerDesc_Parakarry_Battle_SkyDive - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - ShellShot: nameMsg: MSG_PartnerMoveName_ShellShot fullDescMsg: MSG_PartnerDesc_Parakarry_Pause_ShellShot shortDescMsg: MSG_PartnerDesc_Parakarry_Battle_ShellShot - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_10000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_ALLOW_TARGET_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_5 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_AIM costFP: 3 costBP: 0 - AirLift: nameMsg: MSG_PartnerMoveName_AirLift fullDescMsg: MSG_PartnerDesc_Parakarry_Pause_AirLift shortDescMsg: MSG_PartnerDesc_Parakarry_Battle_AirLift - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2, TARGET_FLAG_400, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2, TARGET_FLAG_AIRLIFT, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_3 + actionTip: BTL_MSG_ACTION_TIP_MASH_BUTTON costFP: 3 costBP: 0 - AirRaid: nameMsg: MSG_PartnerMoveName_AirRaid fullDescMsg: MSG_PartnerDesc_Parakarry_Pause_AirRaid shortDescMsg: MSG_PartnerDesc_Parakarry_Battle_AirRaid - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 6 costBP: 0 - Unused_LoneFool1: nameMsg: (s32) "ひとりぼけ" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Unused_LoneFool2: nameMsg: (s32) "ひとりぼけ" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Unused_LoneFool3: nameMsg: (s32) "ひとりぼけ" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Unused_Mumble: nameMsg: (s32) "むにゃむにゃ" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_4 ] + flags: [ TARGET_FLAG_GROUND ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Unused_Preach: nameMsg: (s32) "せっきょう" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - Unused_Awakening: nameMsg: (s32) "かくせい" fullDescMsg: 0 shortDescMsg: 0 - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_0 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BEFORE_LANDING costFP: 0 costBP: 0 - ElectroDash1: nameMsg: MSG_PartnerMoveName_ElectroDash1 fullDescMsg: MSG_PartnerDesc_Watt_Pause_ElectroDash1 shortDescMsg: MSG_PartnerDesc_Watt_Battle_ElectroDash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_15 + actionTip: BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE costFP: 0 costBP: 0 - ElectroDash2: nameMsg: MSG_PartnerMoveName_ElectroDash2 fullDescMsg: MSG_PartnerDesc_Watt_Pause_ElectroDash2 shortDescMsg: MSG_PartnerDesc_Watt_Battle_ElectroDash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_15 + actionTip: BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE costFP: 0 costBP: 0 - ElectroDash3: nameMsg: MSG_PartnerMoveName_ElectroDash3 fullDescMsg: MSG_PartnerDesc_Watt_Pause_ElectroDash3 shortDescMsg: MSG_PartnerDesc_Watt_Battle_ElectroDash - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_15 + actionTip: BTL_MSG_ACTION_TIP_HOLD_THEN_RELEASE costFP: 0 costBP: 0 - PowerShock: nameMsg: MSG_PartnerMoveName_PowerShock fullDescMsg: MSG_PartnerDesc_Watt_Pause_PowerShock shortDescMsg: MSG_PartnerDesc_Watt_Battle_PowerShock - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_3 + actionTip: BTL_MSG_ACTION_TIP_MASH_BUTTON costFP: 2 costBP: 0 - TurboCharge: @@ -1489,52 +1489,52 @@ shortDescMsg: MSG_PartnerDesc_Watt_Battle_TurboCharge flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_10 + actionTip: BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING costFP: 3 costBP: 0 - MegaShock: nameMsg: MSG_PartnerMoveName_MegaShock fullDescMsg: MSG_PartnerDesc_Watt_Pause_MegaShock shortDescMsg: MSG_PartnerDesc_Watt_Battle_MegaShock - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_12 + actionTip: BTL_MSG_ACTION_TIP_MASH_BOTH costFP: 5 costBP: 0 - BellyFlop1: nameMsg: MSG_PartnerMoveName_BellyFlop1 fullDescMsg: MSG_PartnerDesc_Sushie_Pause_BellyFlop1 shortDescMsg: MSG_PartnerDesc_Sushie_Battle_BellyFlop - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - BellyFlop2: nameMsg: MSG_PartnerMoveName_BellyFlop2 fullDescMsg: MSG_PartnerDesc_Sushie_Pause_BellyFlop2 shortDescMsg: MSG_PartnerDesc_Sushie_Battle_BellyFlop - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - BellyFlop3: nameMsg: MSG_PartnerMoveName_BellyFlop3 fullDescMsg: MSG_PartnerDesc_Sushie_Pause_BellyFlop3 shortDescMsg: MSG_PartnerDesc_Sushie_Battle_BellyFlop - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_80, TARGET_FLAG_800, TARGET_FLAG_4000, TARGET_FLAG_10000, TARGET_FLAG_40000 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_80, TARGET_FLAG_JUMP_LIKE, TARGET_FLAG_NOT_BELOW, TARGET_FLAG_ALLOW_TARGET_ONLY, TARGET_FLAG_NO_CEILING ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_1 + actionTip: BTL_MSG_ACTION_TIP_HOLD_LEFT_TIMED costFP: 0 costBP: 0 - Squirt: nameMsg: MSG_PartnerMoveName_Squirt fullDescMsg: MSG_PartnerDesc_Sushie_Pause_Squirt shortDescMsg: MSG_PartnerDesc_Sushie_Battle_Squirt - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_14 + actionTip: BTL_MSG_ACTION_TIP_HOLD_THEN_TAP costFP: 3 costBP: 0 - WaterBlock: @@ -1543,52 +1543,52 @@ shortDescMsg: MSG_PartnerDesc_Sushie_Battle_WaterBlock flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_10 + actionTip: BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING costFP: 3 costBP: 0 - TidalWave: nameMsg: MSG_PartnerMoveName_TidalWave fullDescMsg: MSG_PartnerDesc_Sushie_Pause_TidalWave shortDescMsg: MSG_PartnerDesc_Sushie_Battle_TidalWave - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_8 + actionTip: BTL_MSG_ACTION_TIP_PRESS_BUTTONS_SHOWN costFP: 6 costBP: 0 - SpinyFlip1: nameMsg: MSG_PartnerMoveName_SpinyFlip1 fullDescMsg: MSG_PartnerDesc_Lakilester_Pause_SpinyFlip1 shortDescMsg: MSG_PartnerDesc_Lakilester_Battle_SpinyFlip - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_16 + actionTip: BTL_MSG_ACTION_TIP_MOVE_TO_AIM costFP: 0 costBP: 0 - SpinyFlip2: nameMsg: MSG_PartnerMoveName_SpinyFlip2 fullDescMsg: MSG_PartnerDesc_Lakilester_Pause_SpinyFlip2 shortDescMsg: MSG_PartnerDesc_Lakilester_Battle_SpinyFlip - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_16 + actionTip: BTL_MSG_ACTION_TIP_MOVE_TO_AIM costFP: 0 costBP: 0 - SpinyFlip3: nameMsg: MSG_PartnerMoveName_SpinyFlip3 fullDescMsg: MSG_PartnerDesc_Lakilester_Pause_SpinyFlip3 shortDescMsg: MSG_PartnerDesc_Lakilester_Battle_SpinyFlip - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_16 + actionTip: BTL_MSG_ACTION_TIP_MOVE_TO_AIM costFP: 0 costBP: 0 - SpinySurge: nameMsg: MSG_PartnerMoveName_SpinySurge fullDescMsg: MSG_PartnerDesc_Lakilester_Pause_SpinySurge shortDescMsg: MSG_PartnerDesc_Lakilester_Battle_SpinySurge - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 4 costBP: 0 - CloudNine: @@ -1597,43 +1597,43 @@ shortDescMsg: MSG_PartnerDesc_Lakilester_Battle_CloudNine flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_10 + actionTip: BTL_MSG_ACTION_TIP_PRESS_WITH_TIMING costFP: 4 costBP: 0 - Hurricane: nameMsg: MSG_PartnerMoveName_Hurricane fullDescMsg: MSG_PartnerDesc_Lakilester_Pause_Hurricane shortDescMsg: MSG_PartnerDesc_Lakilester_Battle_Hurricane - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_12 + actionTip: BTL_MSG_ACTION_TIP_MASH_BOTH costFP: 5 costBP: 0 - Smack1: nameMsg: MSG_PartnerMoveName_Smack1 fullDescMsg: MSG_PartnerDesc_Bow_Pause_Smack1 shortDescMsg: MSG_PartnerDesc_Bow_Battle_Smack - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 0 costBP: 0 - Smack2: nameMsg: MSG_PartnerMoveName_Smack2 fullDescMsg: MSG_PartnerDesc_Bow_Pause_Smack2 shortDescMsg: MSG_PartnerDesc_Bow_Battle_Smack - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 0 costBP: 0 - Smack3: nameMsg: MSG_PartnerMoveName_Smack3 fullDescMsg: MSG_PartnerDesc_Bow_Pause_Smack3 shortDescMsg: MSG_PartnerDesc_Bow_Battle_Smack - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 0 costBP: 0 - OuttaSight: @@ -1642,24 +1642,24 @@ shortDescMsg: MSG_PartnerDesc_Bow_Battle_OuttaSight flags: [ TARGET_FLAG_PLAYER ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_NONE + actionTip: NONE costFP: 2 costBP: 0 - Spook: nameMsg: MSG_PartnerMoveName_Spook fullDescMsg: MSG_PartnerDesc_Bow_Pause_Spook shortDescMsg: MSG_PartnerDesc_Bow_Battle_Spook - flags: [ TARGET_FLAG_2, TARGET_FLAG_8000 ] + flags: [ TARGET_FLAG_2, TARGET_FLAG_PRIMARY_ONLY ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 3 costBP: 0 - FanSmack: nameMsg: MSG_PartnerMoveName_FanSmack fullDescMsg: MSG_PartnerDesc_Bow_Pause_FanSmack shortDescMsg: MSG_PartnerDesc_Bow_Battle_FanSmack - flags: [ TARGET_FLAG_ENEMY, TARGET_FLAG_2 ] + flags: [ TARGET_FLAG_SELECT_ONE, TARGET_FLAG_2 ] category: MOVE_TYPE_PARTNER - actionTip: MOVE_ACTION_TIP_4 + actionTip: BTL_MSG_ACTION_TIP_MASH_LEFT costFP: 5 costBP: 0 diff --git a/src/msg.c b/src/msg.c index aab551b842..d7acc0693b 100644 --- a/src/msg.c +++ b/src/msg.c @@ -371,7 +371,7 @@ s32 _update_message(MessagePrintState* printer) { } else if (printer->srcBuffer[printer->srcBufferPos] != MSG_CHAR_READ_END) { printer->stateFlags |= MSG_STATE_FLAG_PRINT_QUICKLY | MSG_STATE_FLAG_4; if (printer->fontVariant != 0 || printer->srcBuffer[printer->srcBufferPos] != MSG_CHAR_UNK_C3) { - printer->stateFlags |= MSG_STATE_FLAG_PRINT_QUICKLY | MSG_STATE_FLAG_80 | MSG_STATE_FLAG_4; + printer->stateFlags |= MSG_STATE_FLAG_PRINT_QUICKLY | MSG_STATE_FLAG_SPEAKING | MSG_STATE_FLAG_4; } sfx_play_sound_with_params(SOUND_MSG_SKIP, 0, 0, 0); } else if (printer->style == MSG_STYLE_RIGHT || @@ -731,7 +731,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { printer->delayFlags &= ~MSG_DELAY_FLAG_2; printer->rewindArrowAnimState = REWIND_ARROW_STATE_INIT; printer->rewindArrowCounter = 0; - printer->stateFlags &= ~MSG_STATE_FLAG_80; + printer->stateFlags &= ~MSG_STATE_FLAG_SPEAKING; printer->stateFlags &= ~MSG_STATE_FLAG_PRINT_QUICKLY; if (printer->style != MSG_STYLE_F) { sfx_play_sound_with_params(SOUND_MSG_WAIT, 0, 0, 0); @@ -740,7 +740,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { case MSG_CHAR_READ_PAUSE: printer->curPrintDelay = *srcBuf++; printer->delayFlags |= MSG_DELAY_FLAG_1; - printer->stateFlags &= ~MSG_STATE_FLAG_80; + printer->stateFlags &= ~MSG_STATE_FLAG_SPEAKING; break; case MSG_CHAR_READ_VARIANT0: case MSG_CHAR_READ_VARIANT1: @@ -790,7 +790,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { printer->delayFlags |= MSG_DELAY_FLAG_1; printer->stateFlags |= MSG_STATE_FLAG_800000 | MSG_STATE_FLAG_800; if (nextArg != MSG_CHAR_UNK_C3) { - printer->stateFlags |= MSG_STATE_FLAG_80; + printer->stateFlags |= MSG_STATE_FLAG_SPEAKING; } printer->speechSoundIDA = SOUND_MSG_VOICE_1A; printer->speechSoundIDB = SOUND_MSG_VOICE_1B; @@ -1133,7 +1133,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { case MSG_READ_FUNC_YIELD: printer->stateFlags |= MSG_STATE_FLAG_100000 | MSG_STATE_FLAG_40; printer->delayFlags |= MSG_DELAY_FLAG_1; - printer->stateFlags &= ~MSG_STATE_FLAG_80; + printer->stateFlags &= ~MSG_STATE_FLAG_SPEAKING; printer->stateFlags &= ~MSG_STATE_FLAG_PRINT_QUICKLY; break; case MSG_READ_FUNC_SAVE_POS: @@ -1258,7 +1258,7 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { } msg_play_speech_sound(printer, argQ); if (printer->stateFlags & MSG_STATE_FLAG_800000) { - printer->stateFlags |= MSG_STATE_FLAG_80; + printer->stateFlags |= MSG_STATE_FLAG_SPEAKING; } break; case MSG_READ_FUNC_VOICE: @@ -1304,11 +1304,11 @@ void msg_copy_to_print_buffer(MessagePrintState* printer, s32 arg1, s32 arg2) { *printBuf++ = c; arg1--; if (printer->fontVariant == 0 && c == MSG_CHAR_UNK_C3) { - printer->stateFlags &= ~MSG_STATE_FLAG_80; + printer->stateFlags &= ~MSG_STATE_FLAG_SPEAKING; } else { msg_play_speech_sound(printer, c); if (printer->stateFlags & MSG_STATE_FLAG_800000) { - printer->stateFlags |= MSG_STATE_FLAG_80; + printer->stateFlags |= MSG_STATE_FLAG_SPEAKING; } } break; diff --git a/src/npc.c b/src/npc.c index 973252f526..eb93d0b12f 100644 --- a/src/npc.c +++ b/src/npc.c @@ -4,6 +4,7 @@ #include "effects.h" #include "sprite.h" #include "world/partners.h" +#include "sprite/npc/WorldWatt.h" SHIFT_BSS s16 gNpcCount; SHIFT_BSS NpcList gWorldNpcList; @@ -11,21 +12,37 @@ SHIFT_BSS NpcList gBattleNpcList; SHIFT_BSS NpcList* gCurrentNpcListPtr; SHIFT_BSS b8 gNpcPlayerCollisionsEnabled; -u8 D_80077BF0[] = { - 1, 2, - 0, 52, - 1, 4, - 0, 54, - 0, 54, - 1, 2, - 0, 28, - 1, 2, - 0, 6, - 1, 2, - 0, 44, - 1, 2, - 0, 44, - 255, 0, +#define PAL_ANIM_END 0xFF + +enum PalSwapState { + PAL_SWAP_HOLD_A = 0, + PAL_SWAP_A_TO_B = 1, + PAL_SWAP_HOLD_B = 2, + PAL_SWAP_B_TO_A = 3, +}; + +// palette types for watt palette animations +enum { + WATT_DEFAULT = 0, + WATT_BRIGHTEST = 1, + WATT_BRIGHTER = 2, +}; + +u8 wWattIdlePalettesAnim[] = { + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 52, + WATT_BRIGHTEST, 4, + WATT_DEFAULT, 54, + WATT_DEFAULT, 54, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 28, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 6, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 44, + WATT_BRIGHTEST, 2, + WATT_DEFAULT, 44, + PAL_ANIM_END }; s32 D_80077C0C = 0; // padding? @@ -154,8 +171,8 @@ s32 create_npc_impl(NpcBlueprint* blueprint, AnimID* animList, s32 isPeachNpc) { npc->turnAroundYawAdjustment = 0; npc->curFloor = NO_COLLIDER; npc->curWall = NO_COLLIDER; - npc->palSwapType = 0; - npc->palSwapPrevType = 0; + npc->palSwapType = NPC_PAL_ADJUST_NONE; + npc->palSwapPrevType = NPC_PAL_ADJUST_NONE; npc->screenSpaceOffset2D[0] = 0.0f; npc->screenSpaceOffset2D[1] = 0.0f; npc->verticalStretch = 1.0f; @@ -187,7 +204,7 @@ s32 create_npc_impl(NpcBlueprint* blueprint, AnimID* animList, s32 isPeachNpc) { } } - npc->shadowIndex = create_shadow_type(0, npc->pos.x, npc->pos.y, npc->pos.z); + npc->shadowIndex = create_shadow_type(SHADOW_VARYING_CIRCLE, npc->pos.x, npc->pos.y, npc->pos.z); npc->shadowScale = 1.0f; if (gGameStatusPtr->isBattle) { @@ -228,7 +245,7 @@ void free_npc_by_index(s32 listIndex) { delete_shadow(npc->shadowIndex); - for (i = 0; i < 2; i++) { + for (i = 0; i < MAX_NPC_DECORATIONS; i++) { npc_remove_decoration(npc, i); } @@ -257,7 +274,7 @@ void free_npc(Npc* npc) { delete_shadow(npc->shadowIndex); - for (i = 0; i < 2; i++) { + for (i = 0; i < MAX_NPC_DECORATIONS; i++) { npc_remove_decoration(npc, i); } @@ -856,8 +873,10 @@ void appendGfx_npc(void* data) { guMtxCatF(mtx2, mtx1, mtx1); } - if ((npc->scale.x * SPRITE_WORLD_SCALE_D != 1.0f) || ((npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D != 1.0f) - || (npc->scale.z * SPRITE_WORLD_SCALE_D != 1.0f)) { + if (npc->scale.x * SPRITE_WORLD_SCALE_D != 1.0f + || (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D != 1.0f + || npc->scale.z * SPRITE_WORLD_SCALE_D != 1.0f + ) { guScaleF(mtx2, npc->scale.x * SPRITE_WORLD_SCALE_D, (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D, npc->scale.z * SPRITE_WORLD_SCALE_D); guMtxCatF(mtx2, mtx1, mtx1); @@ -885,9 +904,10 @@ void appendGfx_npc(void* data) { } - if ((npc->scale.x * SPRITE_WORLD_SCALE_D != 1.0f) || ((npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D != 1.0f) - || (npc->scale.z * SPRITE_WORLD_SCALE_D != 1.0f)) - { + if (npc->scale.x * SPRITE_WORLD_SCALE_D != 1.0f + || (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D != 1.0f + || npc->scale.z * SPRITE_WORLD_SCALE_D != 1.0f + ) { do { guScaleF(mtx2, npc->scale.x * SPRITE_WORLD_SCALE_D, (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D, @@ -916,9 +936,10 @@ void appendGfx_npc(void* data) { guMtxCatF(mtx2, mtx1, mtx1); } - if ((npc->scale.x * SPRITE_WORLD_SCALE_D != 1.0f) || ((npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D != 1.0f) - || (npc->scale.z * SPRITE_WORLD_SCALE_D != 1.0f)) - { + if (npc->scale.x * SPRITE_WORLD_SCALE_D != 1.0f + || (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D != 1.0f + || npc->scale.z * SPRITE_WORLD_SCALE_D != 1.0f + ) { do { guScaleF(mtx2, npc->scale.x * SPRITE_WORLD_SCALE_D, (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D, @@ -1038,7 +1059,7 @@ void enable_npc_shadow(Npc* npc) { if (!(npc->flags & NPC_FLAG_HAS_SHADOW)) { shadow = get_shadow_by_index(npc->shadowIndex); shadow->flags &= ~ENTITY_FLAG_HIDDEN; - npc->flags = npc->flags | (NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_HAS_SHADOW); + npc->flags |= (NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_HAS_SHADOW); } } @@ -1082,13 +1103,13 @@ void enable_npc_blur(Npc* npc) { motionBlur = heap_malloc(sizeof(*motionBlur)); npc->blur.motion = motionBlur; ASSERT(motionBlur != NULL); - motionBlur->unk_00 = 0; + motionBlur->unused = 0; motionBlur->index = 0; - for (i = 0; i < ARRAY_COUNT(motionBlur->x); i++) { - motionBlur->x[i] = npc->pos.x; - motionBlur->y[i] = npc->pos.y; - motionBlur->z[i] = npc->pos.z; + for (i = 0; i < ARRAY_COUNT(motionBlur->posX); i++) { + motionBlur->posX[i] = npc->pos.x; + motionBlur->posY[i] = npc->pos.y; + motionBlur->posZ[i] = npc->pos.z; } } } @@ -1106,9 +1127,9 @@ void update_npc_blur(Npc* npc) { NpcMotionBlur* motionBlur = npc->blur.motion; s32 index = motionBlur->index; - motionBlur->x[index] = npc->pos.x; - motionBlur->y[index] = npc->pos.y; - motionBlur->z[index] = npc->pos.z; + motionBlur->posX[index] = npc->pos.x; + motionBlur->posY[index] = npc->pos.y; + motionBlur->posZ[index] = npc->pos.z; index++; if (index >= 20) { @@ -1120,77 +1141,83 @@ void update_npc_blur(Npc* npc) { void appendGfx_npc_blur(void* data) { Npc* npc = (Npc*) data; - Matrix4f sp20, sp60; + Matrix4f mtx, tempMtx; f32 x, y, z; f32 yaw; - s32 var_s3; - s32 var_s5; - s32 index; + s32 strideIdx; + s32 drawIdx; + s32 bufPos; NpcMotionBlur* blur; - var_s3 = 0; - var_s5 = 0; + strideIdx = 0; + drawIdx = 0; blur = npc->blur.motion; - index = blur->index; + bufPos = blur->index; while (TRUE) { - index--; - var_s3++; - if (index < 0) { - index = ARRAY_COUNT(blur->x) - 1; + bufPos--; + strideIdx++; + + if (bufPos < 0) { + bufPos = NPC_BLUR_FRAMES - 1; } - if (index == blur->index) { + + if (bufPos == blur->index) { break; } - if (var_s3 >= 3) { - var_s3 = 0; - var_s5++; - if (var_s5 >= 4) { - break; - } + // only draw every third blur frame + if (strideIdx < 3) { + continue; + } - x = blur->x[index]; - y = blur->y[index]; - z = blur->z[index]; - set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_ALPHA, 255, 255, 255, 120 - (var_s5 * 20), 0); - yaw = npc->renderYaw; - guTranslateF(sp20, x, y, z); + strideIdx = 0; + drawIdx++; - if (npc->rot.y != 0.0f) { - guRotateF(sp60, npc->rot.y, 0.0f, 1.0f, 0.0f); - guMtxCatF(sp60, sp20, sp20); - } - if (npc->rot.x != 0.0f) { - guRotateF(sp60, npc->rot.y, 0.0f, 1.0f, 0.0f); - guMtxCatF(sp60, sp20, sp20); - } - if (npc->rot.z != 0.0f) { - guRotateF(sp60, npc->rot.y, 0.0f, 1.0f, 0.0f); - guMtxCatF(sp60, sp20, sp20); - } + // draw three blur samples + if (drawIdx > 3) { + break; + } - if ( - (npc->scale.x * SPRITE_WORLD_SCALE_D) != 1.0 || - ((npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D) != 1.0 || - (npc->scale.z * SPRITE_WORLD_SCALE_D) != 1.0) - { - guScaleF( - sp60, - npc->scale.x * SPRITE_WORLD_SCALE_D, - (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D, - npc->scale.z * SPRITE_WORLD_SCALE_D - ); - guMtxCatF(sp60, sp20, sp20); - } + x = blur->posX[bufPos]; + y = blur->posY[bufPos]; + z = blur->posZ[bufPos]; + set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_ALPHA, 255, 255, 255, 120 - (drawIdx * 20), 0); + yaw = npc->renderYaw; + guTranslateF(mtx, x, y, z); - if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { - if (!(npc->flags & NPC_FLAG_HAS_NO_SPRITE)) { - spr_draw_npc_sprite(npc->spriteInstanceID, (s32) yaw, 0, 0, sp20); - } - } else { - spr_draw_player_sprite(PLAYER_SPRITE_AUX1 | DRAW_SPRITE_OVERRIDE_YAW, (s32) yaw, 0, 0, sp20); + if (npc->rot.y != 0.0f) { + guRotateF(tempMtx, npc->rot.y, 0.0f, 1.0f, 0.0f); + guMtxCatF(tempMtx, mtx, mtx); + } + if (npc->rot.x != 0.0f) { + guRotateF(tempMtx, npc->rot.y, 0.0f, 1.0f, 0.0f); + guMtxCatF(tempMtx, mtx, mtx); + } + if (npc->rot.z != 0.0f) { + guRotateF(tempMtx, npc->rot.y, 0.0f, 1.0f, 0.0f); + guMtxCatF(tempMtx, mtx, mtx); + } + + if ((npc->scale.x * SPRITE_WORLD_SCALE_D) != 1.0 + || ((npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D) != 1.0 + || (npc->scale.z * SPRITE_WORLD_SCALE_D) != 1.0 + ) { + guScaleF( + tempMtx, + npc->scale.x * SPRITE_WORLD_SCALE_D, + (npc->scale.y * npc->verticalStretch) * SPRITE_WORLD_SCALE_D, + npc->scale.z * SPRITE_WORLD_SCALE_D + ); + guMtxCatF(tempMtx, mtx, mtx); + } + + if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { + if (!(npc->flags & NPC_FLAG_HAS_NO_SPRITE)) { + spr_draw_npc_sprite(npc->spriteInstanceID, yaw, 0, 0, mtx); } + } else { + spr_draw_player_sprite(PLAYER_SPRITE_AUX1 | DRAW_SPRITE_OVERRIDE_YAW, yaw, 0, 0, mtx); } } npc_imgfx_update(npc); @@ -1223,17 +1250,17 @@ void npc_reload_all(void) { } } if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { - if (!(npc->flags & NPC_FLAG_HAS_NO_SPRITE) && (npc->palSwapType != 0)) { - npc->spritePaletteList = spr_get_npc_palettes(npc->curAnim >> 16); - npc->paletteCount = 0; - while (npc->spritePaletteList[npc->paletteCount] != (PAL_PTR) -1) { - npc->paletteCount++; + if (!(npc->flags & NPC_FLAG_HAS_NO_SPRITE) && (npc->palSwapType != NPC_PAL_ADJUST_NONE)) { + npc->originalPalettesList = spr_get_npc_palettes(npc->curAnim >> 16); + npc->originalPalettesCount = 0; + while (npc->originalPalettesList[npc->originalPalettesCount] != (PAL_PTR) -1) { + npc->originalPalettesCount++; } - npc->unk_C0 = spr_get_npc_color_variations(npc->curAnim >> 16); + npc->spriteColorVariations = spr_get_npc_color_variations(npc->curAnim >> 16); } if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { if (!(npc->flags & NPC_FLAG_HAS_NO_SPRITE)) { - for (j = 0; j < 2; j++) { + for (j = 0; j < MAX_NPC_DECORATIONS; j++) { npc_reset_current_decoration(npc, j); } npc_imgfx_update(npc); @@ -1261,8 +1288,8 @@ void npc_set_palswap_mode_A(Npc* npc, s32 mode) { if (npc->palSwapType != mode) { npc->palSwapPrevType = npc->palSwapType; npc->palSwapType = mode; - npc->palSwapState = 0; - npc->dirtyPalettes = 1; + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->resetPalAdjust = 1; } } @@ -1270,62 +1297,62 @@ void npc_set_palswap_mode_B(Npc* npc, s32 mode) { if (npc->palSwapType != mode) { npc->palSwapPrevType = npc->palSwapType; npc->palSwapType = mode; - npc->palSwapState = 0; - npc->dirtyPalettes = -1; + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->resetPalAdjust = -1; } } -void func_8003B420(Npc* npc) { - if (npc->palSwapPrevType == 0) { - npc->palSwapType = 0; +void npc_revert_palswap_mode(Npc* npc) { + if (npc->palSwapPrevType == NPC_PAL_ADJUST_NONE) { + npc->palSwapType = NPC_PAL_ADJUST_NONE; return; } npc->palSwapType = npc->palSwapPrevType; - npc->palSwapPrevType = 0; - npc->palSwapState = 0; - npc->dirtyPalettes = 1; + npc->palSwapPrevType = NPC_PAL_ADJUST_NONE; + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->resetPalAdjust = 1; } void npc_set_palswap_1(Npc* npc, s32 palIndexA, s32 palIndexB, s32 timeHoldA, s32 timeAB) { - npc->unk_308 = palIndexA; - npc->unk_30A = palIndexB; - npc->unk_30C = timeHoldA; - npc->unk_30E = timeAB; + npc->blendPalA = palIndexA; + npc->blendPalB = palIndexB; + npc->palswapTimeHoldA = timeHoldA; + npc->palswapTimeAtoB = timeAB; } void npc_set_palswap_2(Npc* npc, s32 timeHoldB, s32 timeBA, s32 palIndexC, s32 palIndexD) { - npc->unk_310 = timeHoldB; - npc->unk_312 = timeBA; - npc->unk_314 = palIndexC; - npc->unk_316 = palIndexD; + npc->palswapTimeHoldB = timeHoldB; + npc->palswapTimeBtoA = timeBA; + npc->blendPalC = palIndexC; + npc->blendPalD = palIndexD; } -void npc_draw_with_palswap(Npc* npc, s32 arg1, Matrix4f mtx) { +void npc_draw_with_palswap(Npc* npc, s32 yaw, Matrix4f mtx) { switch (npc->palSwapType) { - case 0: - npc_draw_palswap_mode_0(npc, arg1, mtx); + case NPC_PAL_ADJUST_NONE: + npc_render_without_adjusted_palettes(npc, yaw, mtx); break; - case 1: - npc_draw_palswap_mode_1(npc, arg1, mtx); + case NPC_PAL_ADJUST_WATT_IDLE: + npc_render_with_watt_idle_palettes(npc, yaw, mtx); break; - case 2: - npc_draw_palswap_mode_2(npc, arg1, 0, mtx); + case NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS: + npc_render_with_single_pal_blending(npc, yaw, FALSE, mtx); break; - case 3: - npc_draw_palswap_mode_2(npc, arg1, 1, mtx); + case NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS: + npc_render_with_single_pal_blending(npc, yaw, TRUE, mtx); break; - case 4: - npc_draw_palswap_mode_4(npc, arg1, mtx); + case NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES: + npc_render_with_double_pal_blending(npc, yaw, mtx); break; } } -void npc_draw_palswap_mode_0(Npc* npc, s32 arg1, Matrix4f mtx) { - if (npc->dirtyPalettes != 0) { +void npc_render_without_adjusted_palettes(Npc* npc, s32 arg1, Matrix4f mtx) { + if (npc->resetPalAdjust != 0) { + npc->verticalStretch = 1.0f; npc->screenSpaceOffset2D[0] = 0.0f; npc->screenSpaceOffset2D[1] = 0.0f; - npc->dirtyPalettes = 0; - npc->verticalStretch = 1.0f; + npc->resetPalAdjust = 0; } if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { @@ -1342,77 +1369,79 @@ void npc_draw_palswap_mode_0(Npc* npc, s32 arg1, Matrix4f mtx) { } } -s32 npc_draw_palswap_mode_1(Npc* npc, s32 arg1, Matrix4f mtx) { +s32 npc_render_with_watt_idle_palettes(Npc* npc, s32 arg1, Matrix4f mtx) { s32 i, j; - s32 temp3; + s32 brightness; PAL_PTR src; PAL_PTR dst; - if (npc->dirtyPalettes != 0) { - npc->spritePaletteList = spr_get_npc_palettes(npc->curAnim >> 16); - npc->paletteCount = 0; - while ((s32)npc->spritePaletteList[npc->paletteCount] != -1) { - npc->paletteCount++; + if (npc->resetPalAdjust != 0) { + npc->originalPalettesList = spr_get_npc_palettes(npc->curAnim >> 16); + npc->originalPalettesCount = 0; + while ((s32)npc->originalPalettesList[npc->originalPalettesCount] != -1) { + npc->originalPalettesCount++; } - npc->unk_C0 = spr_get_npc_color_variations(npc->curAnim >> 16); - for (i = 0; i < npc->paletteCount; i++) { - dst = npc->localPaletteData[i]; - src = npc->spritePaletteList[i]; + npc->spriteColorVariations = spr_get_npc_color_variations(npc->curAnim >> 16); + for (i = 0; i < npc->originalPalettesCount; i++) { + dst = npc->copiedPalettes[i]; + src = npc->originalPalettesList[i]; if (src != NULL) { - for (j = 0; j < 16; j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *dst++ = *src++; } } } - npc->palSwapState = -2; - npc->palSwapLerpAlpha = 0; - npc->dirtyPalettes = 0; - npc->palSwapTimer = 0; + npc->palAnimState = -2; + npc->palBlendAlpha = 0; + npc->resetPalAdjust = 0; + npc->nextPalTime = 0; } - if (npc->palSwapTimer == 0) { - npc->palSwapState += 2; - temp3 = D_80077BF0[npc->palSwapState]; - if (temp3 == 255) { - npc->palSwapState = 0; + if (npc->nextPalTime == 0) { + npc->palAnimState += 2; + brightness = wWattIdlePalettesAnim[npc->palAnimState]; + if (brightness == 255) { + npc->palAnimState = 0; } - npc->palSwapTimer = D_80077BF0[npc->palSwapState + 1] / 2; + npc->nextPalTime = wWattIdlePalettesAnim[npc->palAnimState + 1] / 2; } - temp3 = D_80077BF0[npc->palSwapState]; - npc->palSwapTimer--; + brightness = wWattIdlePalettesAnim[npc->palAnimState]; + npc->nextPalTime--; - switch(temp3) { - case 0: - for (i = 0; i < npc->unk_C0; i++) { - dst = npc->localPaletteData[i]; - src = npc->spritePaletteList[i]; + switch(brightness) { + case WATT_DEFAULT: + for (i = 0; i < npc->spriteColorVariations; i++) { + dst = npc->copiedPalettes[i]; + src = npc->originalPalettesList[i]; if (src != NULL) { - for (j = 0; j < 16; j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *dst++ = *src++; } } } break; - case 1: - for (i = 0; i < npc->unk_C0; i++) { - dst = npc->localPaletteData[i]; - src = npc->spritePaletteList[npc->unk_C0 * 5 + i]; + case WATT_BRIGHTEST: + for (i = 0; i < npc->spriteColorVariations; i++) { + // use watt's Brightest palettes + dst = npc->copiedPalettes[i]; + src = npc->originalPalettesList[npc->spriteColorVariations * SPR_PAL_WorldWatt_Brightest + i]; if (src != NULL) { - for (j = 0; j < 16; j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *dst++ = *src++; } } } break; - case 2: - for (i = 0; i < npc->unk_C0; i++) { - dst = npc->localPaletteData[i]; - src = npc->spritePaletteList[npc->unk_C0 * 6 + i]; + case WATT_BRIGHTER: + for (i = 0; i < npc->spriteColorVariations; i++) { + // use watt's Brighter palettes + dst = npc->copiedPalettes[i]; + src = npc->originalPalettesList[npc->spriteColorVariations * SPR_PAL_WorldWatt_Brighter + i]; if (src != NULL) { - for (j = 0; j < 16; j++) { + for (j = 0; j < SPR_PAL_SIZE; j++) { *dst++ = *src++; } } @@ -1420,22 +1449,20 @@ s32 npc_draw_palswap_mode_1(Npc* npc, s32 arg1, Matrix4f mtx) { break; } - for (i = 0; i < npc->paletteCount; i++) { - npc->localPalettes[i] = npc->localPaletteData[i]; + for (i = 0; i < npc->originalPalettesCount; i++) { + npc->adjustedPalettes[i] = npc->copiedPalettes[i]; } if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { s32 alpha = npc->alpha * npc->hideAlpha / 255; - u32 mask; + u32 mask = 0; if (alpha < 255) { - mask = DRAW_SPRITE_OVERRIDE_ALPHA; - } else { - mask = 0; + mask |= DRAW_SPRITE_OVERRIDE_ALPHA; } mask |= DRAW_SPRITE_OVERRIDE_PALETTES; - spr_draw_npc_sprite(npc->spriteInstanceID | mask, arg1, alpha, npc->localPalettes, mtx); + spr_draw_npc_sprite(npc->spriteInstanceID | mask, arg1, alpha, npc->adjustedPalettes, mtx); } - npc->palSwapLerpAlpha--; + npc->palBlendAlpha--; } u16 npc_blend_palette_colors(u16 colorA, u16 colorB, s32 lerpAlpha) { @@ -1447,273 +1474,289 @@ u16 npc_blend_palette_colors(u16 colorA, u16 colorB, s32 lerpAlpha) { return PACK_PAL_RGBA(r, g, b, a); } -s32 npc_draw_palswap_mode_2(Npc* npc, s32 arg1, s32 arg2, Matrix4f mtx) { +s32 npc_render_with_single_pal_blending(Npc* npc, s32 yaw, b32 hasDifferentIntervals, Matrix4f mtx) { + PAL_PTR color1; + PAL_PTR color2; + PAL_PTR outColor; s32 i, j; - PAL_PTR src; - PAL_PTR dst; - PAL_PTR src2; s32 blendAlpha; - if (npc->dirtyPalettes != 0) { + // copy palettes from sprite data + if (npc->resetPalAdjust != 0) { if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { - npc->spritePaletteList = spr_get_npc_palettes(npc->curAnim >> 16); + npc->originalPalettesList = spr_get_npc_palettes(npc->curAnim >> 16); } - npc->paletteCount = 0; - while ((s32)npc->spritePaletteList[npc->paletteCount] != -1) { - npc->paletteCount++; + npc->originalPalettesCount = 0; + while ((s32)npc->originalPalettesList[npc->originalPalettesCount] != -1) { + npc->originalPalettesCount++; } - if (npc->dirtyPalettes == 1) { - npc->palSwapState = 0; - npc->palSwapLerpAlpha = 0; + if (npc->resetPalAdjust == 1) { + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->palBlendAlpha = 0; } else { - npc->palSwapState = 0; - npc->palSwapLerpAlpha = 255; + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->palBlendAlpha = 255; } - for (i = 0; i < npc->paletteCount; i++) { - src2 = npc->localPaletteData[i]; - src = npc->spritePaletteList[i]; - npc->localPalettes[i] = src2; - if (src != NULL) { - for (j = 0; j < 16; j++) { - *src2++ = *src++; + for (i = 0; i < npc->originalPalettesCount; i++) { + color1 = npc->copiedPalettes[i]; + color2 = npc->originalPalettesList[i]; + npc->adjustedPalettes[i] = color1; + if (color2 != NULL) { + for (j = 0; j < SPR_PAL_SIZE; j++) { + *color1++ = *color2++; } } } - if (arg2 == 0) { - s32 temp2 = npc->unk_30C; - npc->unk_30C = 0; - npc->unk_30E = temp2; - npc->unk_310 = temp2; - npc->unk_312 = npc->unk_30E; + if (!hasDifferentIntervals) { + npc->palswapTimeAtoB = npc->palswapTimeHoldA; + npc->palswapTimeHoldB = npc->palswapTimeHoldA; + npc->palswapTimeBtoA = npc->palswapTimeAtoB; + npc->palswapTimeHoldA = 0; } - npc->palSwapLerpAlpha = 0; - npc->palSwapState = 0; - npc->dirtyPalettes = 0; - npc->palSwapTimer = npc->unk_30C; + npc->nextPalTime = npc->palswapTimeHoldA; + npc->palBlendAlpha = 0; + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->resetPalAdjust = 0; } - switch (npc->palSwapState) { - case 0: - if (npc->palSwapTimer != 0) { - npc->palSwapTimer--; + // blending from A -> B + switch (npc->palAnimState) { + case PAL_SWAP_HOLD_A: + if (npc->nextPalTime != 0) { + npc->nextPalTime--; break; } else { - npc->palSwapLerpAlpha = 0; - npc->palSwapState = 1; + npc->palBlendAlpha = 0; + npc->palAnimState = PAL_SWAP_A_TO_B; } // fallthrough - case 1: - npc->palSwapLerpAlpha += 25600 / npc->unk_30E; - if (npc->palSwapLerpAlpha > 25500) { - npc->palSwapLerpAlpha = 25500; + case PAL_SWAP_A_TO_B: + npc->palBlendAlpha += 25600 / npc->palswapTimeAtoB; + if (npc->palBlendAlpha > 25500) { + npc->palBlendAlpha = 25500; } - blendAlpha = npc->palSwapLerpAlpha / 100; - dst = npc->localPaletteData[0]; - src = npc->spritePaletteList[npc->unk_308]; - src2 = npc->spritePaletteList[npc->unk_30A]; - npc->localPalettes[0] = dst; + blendAlpha = npc->palBlendAlpha / 100; + // blend two palettes + outColor = npc->copiedPalettes[0]; + color2 = npc->originalPalettesList[npc->blendPalA]; + color1 = npc->originalPalettesList[npc->blendPalB]; + npc->adjustedPalettes[0] = outColor; - for (j = 0; j < 16; j++) { - *dst++ = npc_blend_palette_colors(*src++, *src2++, blendAlpha); + for (j = 0; j < SPR_PAL_SIZE; j++) { + *outColor++ = npc_blend_palette_colors(*color2++, *color1++, blendAlpha); } if (blendAlpha == 255) { - npc->palSwapState = 2; - npc->palSwapTimer = npc->unk_310; - } - break; - } - switch (npc->palSwapState) { - case 2: - if (npc->palSwapTimer != 0) { - npc->palSwapTimer--; - break; - } else { - npc->palSwapLerpAlpha = 0; - npc->palSwapState = 3; - } - // fallthrough - case 3: - npc->palSwapLerpAlpha += 25600 / npc->unk_312; - if (npc->palSwapLerpAlpha > 25500) { - npc->palSwapLerpAlpha = 25500; - } - blendAlpha = npc->palSwapLerpAlpha / 100; - dst = npc->localPaletteData[0]; - src = npc->spritePaletteList[npc->unk_30A]; - src2 = npc->spritePaletteList[npc->unk_308]; - npc->localPalettes[0] = dst; - - for (j = 0; j < 16; j++) { - *dst++ = npc_blend_palette_colors(*src++, *src2++, blendAlpha); - } - - if (blendAlpha == 255) { - npc->palSwapState = 0; - npc->palSwapTimer = npc->unk_30C; + npc->palAnimState = PAL_SWAP_HOLD_B; + npc->nextPalTime = npc->palswapTimeHoldB; } break; } - if (npc->palSwapState < 4) { - if (npc->palSwapState >= 0) { + // blending from B -> A + switch (npc->palAnimState) { + case PAL_SWAP_HOLD_B: + if (npc->nextPalTime != 0) { + npc->nextPalTime--; + break; + } else { + npc->palBlendAlpha = 0; + npc->palAnimState = PAL_SWAP_B_TO_A; + } + // fallthrough + case PAL_SWAP_B_TO_A: + npc->palBlendAlpha += 25600 / npc->palswapTimeBtoA; + if (npc->palBlendAlpha > 25500) { + npc->palBlendAlpha = 25500; + } + blendAlpha = npc->palBlendAlpha / 100; + // blend two palettes + outColor = npc->copiedPalettes[0]; + color2 = npc->originalPalettesList[npc->blendPalB]; + color1 = npc->originalPalettesList[npc->blendPalA]; + npc->adjustedPalettes[0] = outColor; + + for (j = 0; j < SPR_PAL_SIZE; j++) { + *outColor++ = npc_blend_palette_colors(*color2++, *color1++, blendAlpha); + } + + if (blendAlpha == 255) { + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->nextPalTime = npc->palswapTimeHoldA; + } + break; + } + + switch (npc->palAnimState) { + case PAL_SWAP_HOLD_A: + case PAL_SWAP_A_TO_B: + case PAL_SWAP_HOLD_B: + case PAL_SWAP_B_TO_A: if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { - u32 mask; + u32 mask = 0; blendAlpha = npc->alpha * npc->hideAlpha / 255; if (blendAlpha < 255) { - mask = DRAW_SPRITE_OVERRIDE_ALPHA; - } else { - mask = 0; + mask |= DRAW_SPRITE_OVERRIDE_ALPHA; } mask |= DRAW_SPRITE_OVERRIDE_PALETTES; - spr_draw_npc_sprite(npc->spriteInstanceID | mask, arg1, blendAlpha, npc->localPalettes, mtx); + spr_draw_npc_sprite(npc->spriteInstanceID | mask, yaw, blendAlpha, npc->adjustedPalettes, mtx); } - } + break; } } -s32 npc_draw_palswap_mode_4(Npc* npc, s32 arg1, Matrix4f mtx) { +s32 npc_render_with_double_pal_blending(Npc* npc, s32 yaw, Matrix4f mtx) { + PAL_PTR color1; + PAL_PTR color2; + PAL_PTR outColor; s32 i, j; - PAL_PTR src; - PAL_PTR src2; - PAL_PTR dst; u8 blendAlpha; - if (npc->dirtyPalettes != 0) { + // copy palettes from sprite data + if (npc->resetPalAdjust != 0) { if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { - npc->spritePaletteList = spr_get_npc_palettes(npc->curAnim >> 16); + npc->originalPalettesList = spr_get_npc_palettes(npc->curAnim >> 16); } - npc->paletteCount = 0; - while ((s32)npc->spritePaletteList[npc->paletteCount] != -1) { - npc->paletteCount++; + npc->originalPalettesCount = 0; + while ((s32)npc->originalPalettesList[npc->originalPalettesCount] != -1) { + npc->originalPalettesCount++; } - if (npc->dirtyPalettes == 1) { - npc->palSwapState = 0; - npc->palSwapLerpAlpha = 0; + if (npc->resetPalAdjust == 1) { + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->palBlendAlpha = 0; } else { - npc->palSwapState = 0; - npc->palSwapLerpAlpha = 255; + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->palBlendAlpha = 255; } - for (i = 0; i < npc->paletteCount; i++) { - src2 = npc->localPaletteData[i]; - src = npc->spritePaletteList[i]; - npc->localPalettes[i] = src2; - if (src != NULL) { - for (j = 0; j < 16; j++) { - *src2++ = *src++; + for (i = 0; i < npc->originalPalettesCount; i++) { + color1 = npc->copiedPalettes[i]; + color2 = npc->originalPalettesList[i]; + npc->adjustedPalettes[i] = color1; + if (color2 != NULL) { + for (j = 0; j < SPR_PAL_SIZE; j++) { + *color1++ = *color2++; } } } - npc->palSwapLerpAlpha = 0; - npc->palSwapState = 0; - npc->dirtyPalettes = 0; - npc->palSwapTimer = npc->unk_30C; + npc->nextPalTime = npc->palswapTimeHoldA; + npc->palBlendAlpha = 0; + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->resetPalAdjust = 0; } - switch (npc->palSwapState) { - case 0: - if (npc->palSwapTimer != 0) { - npc->palSwapTimer--; + // blending from A -> B + switch (npc->palAnimState) { + case PAL_SWAP_HOLD_A: + if (npc->nextPalTime != 0) { + npc->nextPalTime--; break; - } else { - npc->palSwapLerpAlpha = 0; - npc->palSwapState = 1; } + npc->palBlendAlpha = 0; + npc->palAnimState = PAL_SWAP_A_TO_B; // fallthrough - case 1: - npc->palSwapLerpAlpha += 25600 / npc->unk_30E; - if (npc->palSwapLerpAlpha > 25500) { - npc->palSwapLerpAlpha = 25500; + case PAL_SWAP_A_TO_B: + npc->palBlendAlpha += 25600 / npc->palswapTimeAtoB; + if (npc->palBlendAlpha > 25500) { + npc->palBlendAlpha = 25500; } - blendAlpha = npc->palSwapLerpAlpha / 100; + blendAlpha = npc->palBlendAlpha / 100; - dst = npc->localPaletteData[0]; - src = npc->spritePaletteList[npc->unk_308]; - src2 = npc->spritePaletteList[npc->unk_30A]; - npc->localPalettes[0] = dst; + // blend first two palettes + outColor = npc->copiedPalettes[0]; + color2 = npc->originalPalettesList[npc->blendPalA]; + color1 = npc->originalPalettesList[npc->blendPalB]; + npc->adjustedPalettes[0] = outColor; - for (j = 0; j < 16; j++) { - *dst++ = npc_blend_palette_colors(*src++, *src2++, blendAlpha); + for (j = 0; j < SPR_PAL_SIZE; j++) { + *outColor++ = npc_blend_palette_colors(*color2++, *color1++, blendAlpha); } - dst = npc->localPaletteData[3]; - src = npc->spritePaletteList[npc->unk_314]; - src2 = npc->spritePaletteList[npc->unk_316]; - npc->localPalettes[3] = dst; + // blend next palettes + outColor = npc->copiedPalettes[3]; + color2 = npc->originalPalettesList[npc->blendPalC]; + color1 = npc->originalPalettesList[npc->blendPalD]; + npc->adjustedPalettes[3] = outColor; - for (j = 0; j < 16; j++) { - *dst++ = npc_blend_palette_colors(*src++, *src2++, blendAlpha); + for (j = 0; j < SPR_PAL_SIZE; j++) { + *outColor++ = npc_blend_palette_colors(*color2++, *color1++, blendAlpha); } if (blendAlpha == 255) { - npc->palSwapState = 2; - npc->palSwapTimer = npc->unk_310; - } - break; - } - switch (npc->palSwapState) { - case 2: - if (npc->palSwapTimer != 0) { - npc->palSwapTimer--; - break; - } else { - npc->palSwapLerpAlpha = 0; - npc->palSwapState = 3; - } - // fallthrough - case 3: - npc->palSwapLerpAlpha += 25600 / npc->unk_312; - if (npc->palSwapLerpAlpha > 25500) { - npc->palSwapLerpAlpha = 25500; - } - blendAlpha = npc->palSwapLerpAlpha / 100; - - dst = npc->localPaletteData[0]; - src = npc->spritePaletteList[npc->unk_30A]; - src2 = npc->spritePaletteList[npc->unk_308]; - npc->localPalettes[0] = dst; - - for (j = 0; j < 16; j++) { - *dst++ = npc_blend_palette_colors(*src++, *src2++, blendAlpha); - } - - dst = npc->localPaletteData[1]; - src = npc->spritePaletteList[npc->unk_316]; - src2 = npc->spritePaletteList[npc->unk_314]; - npc->localPalettes[3] = npc->localPaletteData[3]; - - for (j = 0; j < 16; j++) { - *dst++ = npc_blend_palette_colors(*src++, *src2++, blendAlpha); - } - - if (blendAlpha == 255) { - npc->palSwapState = 0; - npc->palSwapTimer = npc->unk_30C; + npc->palAnimState = PAL_SWAP_HOLD_B; + npc->nextPalTime = npc->palswapTimeHoldB; } break; } - if (npc->palSwapState < 4) { - if (npc->palSwapState >= 0) { + // blending from B -> A + switch (npc->palAnimState) { + case PAL_SWAP_HOLD_B: + if (npc->nextPalTime != 0) { + npc->nextPalTime--; + break; + } else { + npc->palBlendAlpha = 0; + npc->palAnimState = PAL_SWAP_B_TO_A; + } + // fallthrough + case PAL_SWAP_B_TO_A: + npc->palBlendAlpha += 25600 / npc->palswapTimeBtoA; + if (npc->palBlendAlpha > 25500) { + npc->palBlendAlpha = 25500; + } + blendAlpha = npc->palBlendAlpha / 100; + + // blend first two palettes + outColor = npc->copiedPalettes[0]; + color2 = npc->originalPalettesList[npc->blendPalB]; + color1 = npc->originalPalettesList[npc->blendPalA]; + npc->adjustedPalettes[0] = outColor; + + for (j = 0; j < SPR_PAL_SIZE; j++) { + *outColor++ = npc_blend_palette_colors(*color2++, *color1++, blendAlpha); + } + + // blend next palettes + outColor = npc->copiedPalettes[1]; // @bug? should this be index 3? + color2 = npc->originalPalettesList[npc->blendPalD]; + color1 = npc->originalPalettesList[npc->blendPalC]; + npc->adjustedPalettes[3] = npc->copiedPalettes[3]; + + for (j = 0; j < SPR_PAL_SIZE; j++) { + *outColor++ = npc_blend_palette_colors(*color2++, *color1++, blendAlpha); + } + + if (blendAlpha == 255) { + npc->palAnimState = PAL_SWAP_HOLD_A; + npc->nextPalTime = npc->palswapTimeHoldA; + } + break; + } + + switch (npc->palAnimState) { + case PAL_SWAP_HOLD_A: + case PAL_SWAP_A_TO_B: + case PAL_SWAP_HOLD_B: + case PAL_SWAP_B_TO_A: if (!(npc->flags & NPC_FLAG_NO_ANIMS_LOADED)) { - s32 temp; - u32 spriteInstanceMask; - + u32 mask = 0; blendAlpha = npc->alpha * npc->hideAlpha / 255; - temp = blendAlpha < 255; - spriteInstanceMask = ((temp) << 31) | DRAW_SPRITE_OVERRIDE_PALETTES; - spr_draw_npc_sprite(npc->spriteInstanceID | spriteInstanceMask, arg1, blendAlpha, npc->localPalettes, mtx); + if (blendAlpha < 255) { + mask |= DRAW_SPRITE_OVERRIDE_ALPHA; + } + mask |= DRAW_SPRITE_OVERRIDE_PALETTES; + spr_draw_npc_sprite(npc->spriteInstanceID | mask, yaw, blendAlpha, npc->adjustedPalettes, mtx); } - } + break; } } @@ -1721,7 +1764,7 @@ void npc_set_decoration(Npc* npc, s32 idx, s32 decorationType) { npc_remove_decoration_impl(npc, idx); npc->decorationType[idx] = decorationType; npc->changedDecoration[idx] = 1; - npc->decorationInitialised[idx] = 0; + npc->decorationInitialized[idx] = 0; } void npc_remove_decoration(Npc* npc, s32 idx) { @@ -1731,27 +1774,27 @@ void npc_remove_decoration(Npc* npc, s32 idx) { s32 npc_update_decorations(Npc* npc) { s32 i; - for (i = 0; i < 2; i++) { + for (i = 0; i < MAX_NPC_DECORATIONS; i++) { switch (npc->decorationType[i]) { - case 0: + case NPC_DECORATION_NONE: npc_update_decoration_none(npc, i); break; - case 1: + case NPC_DECORATION_BOWSER_AURA: npc_update_decoration_bowser_aura(npc, i); break; - case 2: + case NPC_DECORATION_SWEAT: npc_update_decoration_sweat(npc, i); break; - case 3: + case NPC_DECORATION_SEEING_STARS: npc_update_decoration_seeing_stars(npc, i); break; - case 4: + case NPC_DECORATION_WHITE_GLOW_FRONT: npc_update_decoration_glow_in_front(npc, i); break; - case 5: + case NPC_DECORATION_WHITE_GLOW_BEHIND: npc_update_decoration_glow_behind(npc, i); break; - case 6: + case NPC_DECORATION_CHARGED: npc_update_decoration_charged(npc, i); break; } @@ -1760,41 +1803,41 @@ s32 npc_update_decorations(Npc* npc) { void npc_remove_decoration_impl(Npc* npc, s32 idx) { switch (npc->decorationType[idx]) { - case 0: + case NPC_DECORATION_NONE: npc_remove_decoration_none(npc, idx); break; - case 1: + case NPC_DECORATION_BOWSER_AURA: npc_remove_decoration_bowser_aura(npc, idx); break; - case 2: + case NPC_DECORATION_SWEAT: npc_remove_decoration_sweat(npc, idx); break; - case 3: + case NPC_DECORATION_SEEING_STARS: npc_remove_decoration_seeing_stars(npc, idx); break; - case 4: + case NPC_DECORATION_WHITE_GLOW_FRONT: npc_remove_decoration_glow_in_front(npc, idx); break; - case 5: + case NPC_DECORATION_WHITE_GLOW_BEHIND: npc_remove_decoration_glow_behind(npc, idx); break; - case 6: + case NPC_DECORATION_CHARGED: npc_remove_decoration_charged(npc, idx); break; } - npc->decorationType[idx] = 0; + npc->decorationType[idx] = NPC_DECORATION_NONE; } void npc_reset_current_decoration(Npc* npc, s32 idx) { switch (npc->decorationType[idx]) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: + case NPC_DECORATION_NONE: + case NPC_DECORATION_BOWSER_AURA: + case NPC_DECORATION_SWEAT: + case NPC_DECORATION_SEEING_STARS: + case NPC_DECORATION_WHITE_GLOW_FRONT: + case NPC_DECORATION_WHITE_GLOW_BEHIND: break; - case 6: + case NPC_DECORATION_CHARGED: npc__reset_current_decoration(npc, idx); break; } @@ -1809,24 +1852,21 @@ void npc_remove_decoration_none(Npc* npc, s32 idx) { void npc_update_decoration_bowser_aura(Npc* npc, s32 idx) { AuraFXData* data; - switch (npc->decorationInitialised[idx]) { + switch (npc->decorationInitialized[idx]) { case 0: - fx_aura(2, npc->pos.x, npc->pos.y, npc->pos.z, 1.0f, &npc->decorations[idx]); - npc->decorationInitialised[idx] = 1; - break; + fx_aura(FX_AURA_BLUE, npc->pos.x, npc->pos.y, npc->pos.z, 1.0f, &npc->decorations[idx]); + npc->decorationInitialized[idx] = 1; + // fallthrough case 1: + data = npc->decorations[idx]->data.aura; + data->posA.x = npc->pos.x; + data->posA.y = npc->pos.y; + data->posA.z = npc->pos.z; + data->scale.x = (npc->scale.x * npc->collisionDiameter) * 0.01; + data->scale.y = (npc->scale.y * npc->collisionHeight) * 0.01; + data->renderYaw = npc->renderYaw; break; - default: - return; } - - data = npc->decorations[idx]->data.aura; - data->posA.x = npc->pos.x; - data->posA.y = npc->pos.y; - data->posA.z = npc->pos.z; - data->scale.x = (npc->scale.x * npc->collisionDiameter) * 0.01; - data->scale.y = (npc->scale.y * npc->collisionHeight) * 0.01; - data->renderYaw = npc->renderYaw; } void npc_remove_decoration_bowser_aura(Npc* npc, s32 idx) { @@ -1834,21 +1874,21 @@ void npc_remove_decoration_bowser_aura(Npc* npc, s32 idx) { } void npc_update_decoration_sweat(Npc* npc, s32 idx) { - switch (npc->decorationInitialised[idx]) { + switch (npc->decorationInitialized[idx]) { case 0: if (npc->yawCamOffset > 90) { fx_sweat(0, npc->pos.x, npc->pos.y + npc->collisionHeight, npc->pos.z, 5.0f, 45.0f, 20); } else { fx_sweat(0, npc->pos.x, npc->pos.y + npc->collisionHeight, npc->pos.z, 5.0f, -45.0f, 20); } - npc->decorationUnk[idx] = 10; - npc->decorationInitialised[idx] = 1; + npc->decorationGlowPhase[idx] = 10; + npc->decorationInitialized[idx] = 1; break; case 1: - if (npc->decorationUnk[idx] != 0) { - npc->decorationUnk[idx]--; + if (npc->decorationGlowPhase[idx] != 0) { + npc->decorationGlowPhase[idx]--; } else { - npc->decorationInitialised[idx] = 0; + npc->decorationInitialized[idx] = 0; } break; } @@ -1860,22 +1900,18 @@ void npc_remove_decoration_sweat(Npc* npc, s32 idx) { void npc_update_decoration_seeing_stars(Npc* npc, s32 idx) { StarsOrbitingFXData* data; - switch (npc->decorationInitialised[idx]) { + switch (npc->decorationInitialized[idx]) { case 0: fx_stars_orbiting(0, npc->pos.x, npc->pos.y + npc->collisionHeight, npc->pos.z, 20.0f, 3, &npc->decorations[idx]); - npc->decorationInitialised[idx] = 1; - return; - case 1: + npc->decorationInitialized[idx] = 1; + break; + case 1: + data = npc->decorations[idx]->data.starsOrbiting; + data->pos.x = npc->pos.x; + data->pos.y = npc->pos.y + npc->collisionHeight; + data->pos.z = npc->pos.z; break; - default: - return; - } - - data = npc->decorations[idx]->data.starsOrbiting; - data->pos.x = npc->pos.x; - data->pos.y = npc->pos.y + npc->collisionHeight; - data->pos.z = npc->pos.z; } void npc_remove_decoration_seeing_stars(Npc* npc, s32 idx) { @@ -1885,10 +1921,10 @@ void npc_remove_decoration_seeing_stars(Npc* npc, s32 idx) { void npc_update_decoration_glow_in_front(Npc* npc, s32 idx) { EnergyOrbWaveFXData* data; - switch (npc->decorationInitialised[idx]) { + switch (npc->decorationInitialized[idx]) { case 0: npc->decorations[idx] = fx_energy_orb_wave(2, npc->pos.x, npc->pos.y + npc->collisionHeight * 0.5, npc->pos.z, npc->scale.x * 0.8 + 0.2f, -1); - npc->decorationInitialised[idx] = 1; + npc->decorationInitialized[idx] = 1; break; case 1: data = npc->decorations[idx]->data.energyOrbWave; @@ -1907,10 +1943,10 @@ void npc_remove_decoration_glow_in_front(Npc* npc, s32 idx) { void npc_update_decoration_glow_behind(Npc* npc, s32 idx) { EnergyOrbWaveFXData* data; - switch (npc->decorationInitialised[idx]) { + switch (npc->decorationInitialized[idx]) { case 0: npc->decorations[idx] = fx_energy_orb_wave(2, npc->pos.x, npc->pos.y + npc->collisionHeight * 0.5, npc->pos.z - 5.0f, 1.0f, 0); - npc->decorationInitialised[idx] = 1; + npc->decorationInitialized[idx] = 1; break; case 1: data = npc->decorations[idx]->data.energyOrbWave; @@ -1927,30 +1963,33 @@ void npc_remove_decoration_glow_behind(Npc* npc, s32 idx) { } void npc_update_decoration_charged(Npc* npc, s32 idx) { - u8 sp50[20]; - u8 sp38[20]; - u8 sp20[20]; + u8 rbuf[20]; + u8 gbuf[20]; + u8 bbuf[20]; + s32 color; + s32 alpha; s32 i; - s32 temp3; - if (!npc->decorationInitialised[idx]) { + if (npc->decorationInitialized[idx] == 0) { set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0); - npc->decorationInitialised[idx] = TRUE; + npc->decorationInitialized[idx] = 1; } - if (npc->decorationInitialised[idx] == TRUE) { - npc->decorationUnk[idx] += 7; - if (npc->decorationUnk[idx] >= 360) { - npc->decorationUnk[idx] = npc->decorationUnk[idx] % 360; + if (npc->decorationInitialized[idx] == 1) { + npc->decorationGlowPhase[idx] += 7; + if (npc->decorationGlowPhase[idx] >= 360) { + npc->decorationGlowPhase[idx] %= 360; } for (i = 0; i < 20; i++) { - sp50[i] = (cosine(npc->decorationUnk[idx] + i * 25) + 1.0) * 80.0f; - sp38[i] = (cosine(npc->decorationUnk[idx] + i * 25 + 45) + 1.0) * 80.0f; - sp20[i] = (cosine(npc->decorationUnk[idx] + i * 25 + 90) + 1.0) * 80.0f; + rbuf[i] = (cosine(npc->decorationGlowPhase[idx] + (25 * i)) + 1.0) * 80.0f; + gbuf[i] = (cosine(npc->decorationGlowPhase[idx] + (25 * i) + 45) + 1.0) * 80.0f; + bbuf[i] = (cosine(npc->decorationGlowPhase[idx] + (25 * i) + 90) + 1.0) * 80.0f; } - for (temp3 = 255, i = 0; i < 20; i++) { - set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_COLOR_BUF_SET_MODULATE, i, (sp50[i] << 24) | (sp38[i] << 16) | (sp20[i] << 8) | temp3, 0, 255, 0); + alpha = 255; + for (i = 0; i < 20; i++) { + color = (rbuf[i] << 24) | (gbuf[i] << 16) | (bbuf[i] << 8) | alpha; + set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_COLOR_BUF_SET_MODULATE, i, color, 0, 255, 0); } } } @@ -1959,7 +1998,7 @@ void npc_remove_decoration_charged(Npc* npc, s32 idx) { } void npc__reset_current_decoration(Npc* npc, s32 idx) { - npc->decorationInitialised[idx] = 0; + npc->decorationInitialized[idx] = 0; } Npc* npc_find_closest(f32 x, f32 y, f32 z, f32 radius) { diff --git a/src/npc_collision.c b/src/npc_collision.c index d3f0d57016..38cb2d4123 100644 --- a/src/npc_collision.c +++ b/src/npc_collision.c @@ -1,10 +1,10 @@ #include "common.h" -SHIFT_BSS s32 D_8010C94C; -SHIFT_BSS s32 D_8010C968; -SHIFT_BSS s32 D_8010C98C; -SHIFT_BSS s32 D_8010C970; -SHIFT_BSS s32 D_8010C974; +SHIFT_BSS s32 NpcHitQueryBehindRightY; +SHIFT_BSS s32 NpcHitQueryBehindCollider; +SHIFT_BSS s32 NpcHitQueryAheadCollider; +SHIFT_BSS s32 NpcHitQueryAheadY; +SHIFT_BSS s32 NpcHitQueryBehindLeftY; SHIFT_BSS s32 NpcHitQueryColliderID; PlayerStatus* gPlayerStatusPtr = &gPlayerStatus; // maybe wPlayerStatus @@ -33,7 +33,7 @@ s32 npc_raycast_down(s32 ignoreFlags, f32* startX, f32* startY, f32* startZ, f32 sy = *startY; sz = *startZ; colliderID = test_ray_colliders(ignoreFlags, sx, sy, sz, 0.0f, -1.0f, 0.0f, &cHitX, &cHitY, &cHitZ, &cHitDepth, &cHitNx, &cHitNy, &cHitNz); - if ((ignoreFlags & COLLISION_IGNORE_ENTITIES) == 0) { + if (!(ignoreFlags & COLLISION_IGNORE_ENTITIES)) { entityID = test_ray_entities(*startX, *startY, *startZ, 0.0f, -1.0f, 0.0f, &eHitX, &eHitY, &eHitZ, &eHitDepth, &eHitNx, &eHitNy, &eHitNz); if (entityID >= 0) { colliderID = entityID | COLLISION_WITH_ENTITY_BIT; @@ -91,9 +91,9 @@ b32 npc_raycast_down_around(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f3 x = *posX; y = *posY; z = *posZ; - D_8010C970 = y; - D_8010C94C = *posY; - D_8010C974 = *posY; + NpcHitQueryAheadY = *posY; + NpcHitQueryBehindRightY = *posY; + NpcHitQueryBehindLeftY = *posY; radius /= 2.5; hitYBehindLeft = hitYBehindRight = hitYAhead = -32767.0f; minDepth = fabsf(*hitDepth); @@ -114,8 +114,8 @@ b32 npc_raycast_down_around(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f3 if (depth <= minDepth) { hitYAhead = startY; NpcHitQueryColliderID = colliderID; - D_8010C98C = colliderID; - D_8010C970 = hitYAhead; + NpcHitQueryAheadCollider = colliderID; + NpcHitQueryAheadY = hitYAhead; minDepth = depth; hasCollision = TRUE; } @@ -137,8 +137,8 @@ b32 npc_raycast_down_around(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f3 if (depth <= minDepth) { hitYBehindRight = startY; NpcHitQueryColliderID = colliderID; - D_8010C968 = colliderID; - D_8010C94C = hitYBehindRight; + NpcHitQueryBehindCollider = colliderID; + NpcHitQueryBehindRightY = hitYBehindRight; minDepth = depth; hasCollision = TRUE; } @@ -160,8 +160,8 @@ b32 npc_raycast_down_around(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f3 if (depth <= minDepth) { hitYBehindLeft = startY; NpcHitQueryColliderID = colliderID; - D_8010C968 = colliderID; - D_8010C974 = hitYBehindLeft; + NpcHitQueryBehindCollider = colliderID; + NpcHitQueryBehindLeftY = hitYBehindLeft; minDepth = depth; hasCollision = TRUE; } @@ -203,9 +203,9 @@ b32 npc_raycast_down_sides(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f32 y = *posY; z = *posZ; - D_8010C970 = y; - D_8010C94C = *posY; - D_8010C974 = *posY; + NpcHitQueryAheadY = y; + NpcHitQueryBehindRightY = *posY; + NpcHitQueryBehindLeftY = *posY; hitYUnused = hitYBehind = hitYAhead = -32767.0f; yaw = 0.0f; @@ -230,8 +230,8 @@ b32 npc_raycast_down_sides(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f32 if (depth <= minDepth) { hitYAhead = startY; NpcHitQueryColliderID = colliderID; - D_8010C98C = colliderID; - D_8010C970 = hitYAhead; + NpcHitQueryAheadCollider = colliderID; + NpcHitQueryAheadY = hitYAhead; minDepth = depth; hasCollision = TRUE; } @@ -253,8 +253,8 @@ b32 npc_raycast_down_sides(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f32 if (depth <= minDepth) { hitYBehind = startY; NpcHitQueryColliderID = colliderID; - D_8010C968 = colliderID; - D_8010C94C = hitYBehind; + NpcHitQueryBehindCollider = colliderID; + NpcHitQueryBehindRightY = hitYBehind; minDepth = depth; hasCollision = TRUE; } @@ -298,7 +298,7 @@ s32 npc_raycast_up(s32 ignoreFlags, f32* startX, f32* startY, f32* startZ, f32* sz = *startZ; ret = test_ray_colliders(ignoreFlags, sx, sy, sz, 0.0f, 1.0f, 0.0f, &cHitX, &cHitY, &cHitZ, &cHitDepth, &cHitNx, &cHitNy, &cHitNz); colliderID = ret; - if ((ignoreFlags & COLLISION_IGNORE_ENTITIES) == 0) { + if (!(ignoreFlags & COLLISION_IGNORE_ENTITIES)) { entityID = test_ray_entities(sx, sy, sz, 0.0f, 1.0f, 0.0f, &eHitX, &eHitY, &eHitZ, &eHitDepth, &eHitNx, &eHitNy, &eHitNz); ret = entityID | COLLISION_WITH_ENTITY_BIT; if (entityID >= 0) { @@ -316,7 +316,7 @@ s32 npc_raycast_up(s32 ignoreFlags, f32* startX, f32* startY, f32* startZ, f32* if (ret < 0) { // TODO find better match - colliderID = 0; + colliderID = FALSE; return colliderID; } else { *hitDepth = cHitDepth; @@ -340,7 +340,7 @@ s32 npc_raycast_up_corner(s32 ignoreFlags, f32* x, f32* y, f32* z, f32* length) s32 entityID; f32 sx, sy, sz; f32 sx2, sy2, sz2; - s32 ret = -1; + s32 ret = NO_COLLIDER; // needed to match sx2 = sx = *x; @@ -399,7 +399,7 @@ s32 npc_raycast_up_corners(s32 ignoreFlags, f32* posX, f32* posY, f32* posZ, f32 startY = y; startZ = z + deltaZ; - ret = -1; + ret = NO_COLLIDER; hitID = npc_raycast_up_corner(ignoreFlags, &startX, &startY, &startZ, &depth); if (hitID < 0) { @@ -446,7 +446,7 @@ s32 npc_raycast_general(s32 flags, f32 startX, f32 startY, f32 startZ, f32 dirX, s32 ret; s32 entityID; - ret = -1; + ret = NO_COLLIDER; if (flags & COLLISION_ONLY_ENTITIES) { entityID = test_ray_entities(startX, startY, startZ, dirX, dirY, dirZ, hitX, hitY, hitZ, outDepth, hitNx, hitNy, hitNz); @@ -522,7 +522,7 @@ s32 npc_test_move_with_slipping(s32 ignoreFlags, f32* x, f32* y, f32* z, f32 len hitResult = raycastHitID; } - if (phi_s5 == 0) { + if (!phi_s5) { *x += aX; *z += aZ; } @@ -531,7 +531,7 @@ s32 npc_test_move_with_slipping(s32 ignoreFlags, f32* x, f32* y, f32* z, f32 len } s32 npc_test_move_without_slipping(s32 ignoreFlags, f32* x, f32* y, f32* z, f32 length, f32 yaw, f32 radius) { - s32 ret = -1; + s32 ret = NO_COLLIDER; f32 depth; f32 originalDepth; f32 dirY; diff --git a/src/pause/pause_items.c b/src/pause/pause_items.c index da65397ce8..8795af791d 100644 --- a/src/pause/pause_items.c +++ b/src/pause/pause_items.c @@ -366,14 +366,14 @@ void pause_items_load_items(s32 invItems) { D_802705D0 = 0; if (invItems == TRUE) { for (i = 0; i < ARRAY_COUNT(playerData->invItems); i++) { - if (playerData->invItems[i] != 0) { + if (playerData->invItems[i] != ITEM_NONE) { gPauseItemsItemIDs[totalItems] = playerData->invItems[i]; totalItems++; } } } else { for (i = 0; i < ARRAY_COUNT(playerData->keyItems); i++) { - if (playerData->keyItems[i] != 0) { + if (playerData->keyItems[i] != ITEM_NONE) { gPauseItemsItemIDs[totalItems] = playerData->keyItems[i]; totalItems++; } diff --git a/src/pause/pause_main.c b/src/pause/pause_main.c index 35981b504e..054c988672 100644 --- a/src/pause/pause_main.c +++ b/src/pause/pause_main.c @@ -664,7 +664,7 @@ void pause_init(void) { sfx_play_sound(SOUND_MENU_SHOW_CHOICE); } - update_window_hierarchy(WINDOW_ID_PAUSE_CURSOR, 0x40); + update_window_hierarchy(WINDOW_ID_PAUSE_CURSOR, 64); } void pause_tutorial_input(s32 *pressed, s32 *held) { diff --git a/src/cd180_len_38f0.c b/src/screen_overlays.c similarity index 99% rename from src/cd180_len_38f0.c rename to src/screen_overlays.c index 0896b40ea2..45cf5a123f 100644 --- a/src/cd180_len_38f0.c +++ b/src/screen_overlays.c @@ -349,8 +349,8 @@ void _render_transition_stencil(u8 stencilType, f32 progress, ScreenOverlay* ove gSPDisplayList(gMainGfxPos++, Gfx_LoadStencilTex_BlurryCircle); appendGfx_darkness_stencil(FALSE, x1, y1, alpha, progress); break; - case OVERLAY_UNUSED_1: - case OVERLAY_UNUSED_2: + case OVERLAY_INTRO_1: + case OVERLAY_INTRO_2: break; } diff --git a/src/CEE40.c b/src/screen_render_util.c similarity index 99% rename from src/CEE40.c rename to src/screen_render_util.c index 36c361bb90..7044715ed1 100644 --- a/src/CEE40.c +++ b/src/screen_render_util.c @@ -201,12 +201,14 @@ void appendGfx_darkness_stencil(b32 isWorld, s32 posX, s32 posY, f32 alpha, f32 0, G_TX_MIRROR | G_TX_CLAMP, G_TX_MIRROR | G_TX_CLAMP, 6, 6, 15, 15); gDPSetTileSize(gMainGfxPos++, G_TX_RENDERTILE, 0, 0, 0x01FC, 0x01FC); gDPPipeSync(gMainGfxPos++); + gDPSetCycleType(gMainGfxPos++, G_CYC_FILL); gDPSetRenderMode(gMainGfxPos++, G_RM_NOOP, G_RM_NOOP2); gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_32b, 64, osVirtualToPhysical(nuGfxZBuffer)); gDPSetFillColor(gMainGfxPos++, GPACK_ZDZ(G_MAXFBZ, 0)<<16 | GPACK_ZDZ(G_MAXFBZ, 0)); gDPFillRectangle(gMainGfxPos++, 0, 0, 63, 63); gDPPipeSync(gMainGfxPos++); + gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, osVirtualToPhysical(nuGfxCfb_ptr)); gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE); diff --git a/src/sprite.c b/src/sprite.c index 0169887156..afabc17123 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -304,8 +304,8 @@ void spr_appendGfx_component_flat( if (gGameStatusPtr->isBattle == 2) { gSPViewport(gMainGfxPos++, &SprPauseVp); - SprPauseVpAlt.vp.vtrans[0] = SprPauseVp.vp.vtrans[0] + gGameStatusPtr->unk_82.x; - SprPauseVpAlt.vp.vtrans[1] = SprPauseVp.vp.vtrans[1] + gGameStatusPtr->unk_82.y; + SprPauseVpAlt.vp.vtrans[0] = SprPauseVp.vp.vtrans[0] + gGameStatusPtr->altViewportOffset.x; + SprPauseVpAlt.vp.vtrans[1] = SprPauseVp.vp.vtrans[1] + gGameStatusPtr->altViewportOffset.y; } else { gSPViewport(gMainGfxPos++, &camera->vp); } diff --git a/src/startup_screen_fading.c b/src/startup_screen_fading.c new file mode 100644 index 0000000000..aee0b8f1b6 --- /dev/null +++ b/src/startup_screen_fading.c @@ -0,0 +1,45 @@ +#include "common.h" + +void startup_set_fade_screen_alpha(s16 alpha) { + gGameStatusPtr->screenColorA = alpha; +} + +void startup_set_fade_screen_color(s16 color) { + gGameStatusPtr->screenColorB = color; + gGameStatusPtr->screenColorG = color; + gGameStatusPtr->screenColorR = color; +} + +b32 startup_fade_screen_in(s16 subtractAlpha) { + if (gGameStatusPtr->screenColorA == 0) { + return TRUE; + } + + gGameStatusPtr->screenColorA -= subtractAlpha; + if (gGameStatusPtr->screenColorA < 0) { + gGameStatusPtr->screenColorA = 0; + } + + return FALSE; +} + +b32 startup_fade_screen_out(s16 addAlpha) { + if (gGameStatusPtr->screenColorA == 255) { + return TRUE; + } + + gGameStatusPtr->screenColorA += addAlpha; + if (gGameStatusPtr->screenColorA > 255) { + gGameStatusPtr->screenColorA = 255; + } + + return FALSE; +} + +void startup_fade_screen_update(void) { + set_screen_overlay_params_front(OVERLAY_SCREEN_COLOR, gGameStatusPtr->screenColorA); + set_screen_overlay_color(SCREEN_LAYER_FRONT, + gGameStatusPtr->screenColorR, + gGameStatusPtr->screenColorG, + gGameStatusPtr->screenColorB); +} diff --git a/src/state_battle.c b/src/state_battle.c index abfba2dd6e..462351a5a7 100644 --- a/src/state_battle.c +++ b/src/state_battle.c @@ -42,7 +42,7 @@ void state_step_battle(void) { return; } D_800A0900--; - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; nuContRmbForceStop(); } @@ -50,62 +50,62 @@ void state_step_battle(void) { if (D_800A0900 > 0) { D_800A0900--; return; - } else { - D_800A0900 = -1; - nuGfxSetCfb(bFrameBuffers, 2); - nuContRmbForceStopEnd(); - sfx_stop_env_sounds(); - func_8003B1A8(); - gGameStatusPtr->isBattle = TRUE; - backup_map_collision_data(); + } + + D_800A0900 = -1; + nuGfxSetCfb(bFrameBuffers, 2); + nuContRmbForceStopEnd(); + sfx_stop_env_sounds(); + func_8003B1A8(); + gGameStatusPtr->isBattle = TRUE; + backup_map_collision_data(); #if VERSION_IQUE - battle_heap_create(); + battle_heap_create(); #else - load_obfuscation_shims(); - shim_battle_heap_create_obfuscated(); + load_obfuscation_shims(); + shim_battle_heap_create_obfuscated(); #endif - sfx_clear_env_sounds(0); + sfx_clear_env_sounds(0); - currentBattleSelection = UNPACK_BTL_AREA(gCurrentBattleID); - currentBattleIndex = UNPACK_BTL_INDEX(gCurrentBattleID); + currentBattleSelection = UNPACK_BTL_AREA(gCurrentBattleID); + currentBattleIndex = UNPACK_BTL_INDEX(gCurrentBattleID); - if (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_IS_PEACH || - (currentBattleSelection == BTL_AREA_KKJ && currentBattleIndex == 0)) { - gGameStatusPtr->peachFlags |= PEACH_STATUS_FLAG_IS_PEACH; - spr_init_sprites(PLAYER_SPRITES_PEACH_BATTLE); - } else { - spr_init_sprites(PLAYER_SPRITES_MARIO_BATTLE); - } + if (gGameStatusPtr->peachFlags & PEACH_STATUS_FLAG_IS_PEACH || + (currentBattleSelection == BTL_AREA_KKJ && currentBattleIndex == 0)) { + gGameStatusPtr->peachFlags |= PEACH_STATUS_FLAG_IS_PEACH; + spr_init_sprites(PLAYER_SPRITES_PEACH_BATTLE); + } else { + spr_init_sprites(PLAYER_SPRITES_MARIO_BATTLE); + } - clear_model_data(); - clear_sprite_shading_data(); - reset_background_settings(); - clear_entity_models(); - clear_animator_list(); - clear_worker_list(); - hud_element_set_aux_cache(NULL, 0); - hud_element_clear_cache(); - reset_status_bar(); - clear_item_entity_data(); - clear_script_list(); - clear_npcs(); - clear_entity_data(1); - clear_trigger_data(); - DMA_COPY_SEGMENT(battle_code); - initialize_battle(); - btl_save_world_cameras(); - load_battle_section(); - D_800A0904 = gPlayerStatusPtr->animFlags; - gPlayerStatusPtr->animFlags &= ~PA_FLAG_PULSE_STONE_VISIBLE; - D_800A0908 = get_time_freeze_mode(); - set_time_freeze_mode(TIME_FREEZE_NORMAL); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + clear_model_data(); + clear_sprite_shading_data(); + reset_background_settings(); + clear_entity_models(); + clear_animator_list(); + clear_worker_list(); + hud_element_set_aux_cache(NULL, 0); + hud_element_clear_cache(); + reset_status_bar(); + clear_item_entity_data(); + clear_script_list(); + clear_npcs(); + clear_entity_data(TRUE); + clear_trigger_data(); + DMA_COPY_SEGMENT(battle_code); + initialize_battle(); + btl_save_world_cameras(); + load_battle_section(); + D_800A0904 = gPlayerStatusPtr->animFlags; + gPlayerStatusPtr->animFlags &= ~PA_FLAG_PULSE_STONE_VISIBLE; + D_800A0908 = get_time_freeze_mode(); + set_time_freeze_mode(TIME_FREEZE_NORMAL); + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; - if (D_800A0900 >= 0) { - return; - } + if (D_800A0900 >= 0) { + return; } } @@ -126,7 +126,7 @@ void state_drawUI_battle(void) { } void state_init_end_battle(void) { - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; nuContRmbForceStop(); D_800A0900 = 5; } @@ -134,16 +134,15 @@ void state_init_end_battle(void) { void state_step_end_battle(void) { PlayerStatus* playerStatus = &gPlayerStatus; PlayerData* playerData = &gPlayerData; + MapSettings* mapSettings; + MapConfig* mapConfig; if (D_800A0900 >= 0) { D_800A0900--; if (D_800A0900 == 0) { - MapSettings* mapSettings; - MapConfig* mapConfig; - D_800A0900 = -1; nuGfxSetCfb(bFrameBuffers, 3); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; nuContRmbForceStopEnd(); sfx_stop_env_sounds(); mapSettings = get_current_map_settings(); diff --git a/src/state_demo.c b/src/state_demo.c index 863c4fe9e7..034adf738f 100644 --- a/src/state_demo.c +++ b/src/state_demo.c @@ -174,28 +174,28 @@ void state_step_demo(void) { switch (mode) { case DEMO_SCENE_DONE: - intro_logos_set_fade_alpha(255); - intro_logos_set_fade_color(224); - gGameStatusPtr->introState = INTRO_STATE_3; - gOverrideFlags |= GLOBAL_OVERRIDES_8; - intro_logos_update_fade(); + startup_set_fade_screen_alpha(255); + startup_set_fade_screen_color(224); + gGameStatusPtr->startupState = 3; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + startup_fade_screen_update(); gGameStatusPtr->demoState = DEMO_STATE_DONE; break; case DEMO_SCENE_EXIT: - if (gGameStatusPtr->introState != INTRO_STATE_0) { - gGameStatusPtr->introState--; + if (gGameStatusPtr->startupState != 0) { + gGameStatusPtr->startupState--; } - if (gGameStatusPtr->introState == INTRO_STATE_0) { + if (gGameStatusPtr->startupState == 0) { gGameStatusPtr->nextDemoScene = 0; gGameStatusPtr->demoState = DEMO_STATE_NONE; gGameStatusPtr->peachFlags = 0; enable_sounds(); gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->unk_76 = 0; - gGameStatusPtr->disableScripts = FALSE; + gGameStatusPtr->debugUnused1 = FALSE; + gGameStatusPtr->debugScripts = DEBUG_SCRIPTS_NONE; gGameStatusPtr->keepUsingPartnerOnMapChange = FALSE; - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; general_heap_create(); clear_render_tasks(); clear_worker_list(); @@ -210,7 +210,7 @@ void state_step_demo(void) { hud_element_clear_cache(); clear_trigger_data(); clear_printers(); - clear_entity_data(0); + clear_entity_data(FALSE); clear_screen_overlays(); clear_player_status(); clear_npcs(); @@ -231,7 +231,7 @@ void state_step_demo(void) { gGameStatusPtr->entryID = demoSceneData->index; gGameStatusPtr->peachFlags = 0; playerData->curPartner = demoSceneData->partnerID; - set_cam_viewport(0, 29, 20, -262, 177); + set_cam_viewport(CAM_DEFAULT, 29, 20, -262, 177); evt_set_variable(NULL, GB_StoryProgress, demoSceneData->storyProgress); if (gGameStatusPtr->nextDemoScene == 0) { @@ -249,7 +249,7 @@ void state_step_demo(void) { gGameStatusPtr->entryID = demoSceneData->index; gGameStatusPtr->peachFlags = PEACH_STATUS_FLAG_IS_PEACH; playerData->curPartner = demoSceneData->partnerID; - set_cam_viewport(0, 29, 20, -262, 177); + set_cam_viewport(CAM_DEFAULT, 29, 20, -262, 177); evt_set_variable(NULL, GB_StoryProgress, demoSceneData->storyProgress); if (gGameStatusPtr->nextDemoScene == 0) { diff --git a/src/state_file_select.c b/src/state_file_select.c index df0ec224c7..b327be2f5b 100644 --- a/src/state_file_select.c +++ b/src/state_file_select.c @@ -37,7 +37,7 @@ NUPiOverlaySegment D_8007798C = { .bssEnd = filemenu_BSS_END, }; -u8 D_800779B0 = 0; +u8 IntroMessageIdx = 0; extern s32 D_80200000; extern ShapeFile gMapShapeData; @@ -73,7 +73,7 @@ void state_init_file_select(void) { gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED; gCameras[CAM_3].flags |= CAMERA_FLAG_DISABLED; gCameras[CAM_DEFAULT].vfov = 25.0f; - set_cam_viewport(0, 12, 28, 296, 184); + set_cam_viewport(CAM_DEFAULT, 12, 28, 296, 184); gCameras[CAM_DEFAULT].auxBoomLength = 40; gCameras[CAM_DEFAULT].lookAt_eye.x = 500.0f; gCameras[CAM_DEFAULT].lookAt_eye.y = 1000.0f; @@ -116,16 +116,16 @@ void state_step_language_select(void) { case 1: D_800A0930 = 5; D_800A0931 = 2; - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; break; case 2: D_800A0930--; if (D_800A0930 == 0) { nuGfxSetCfb(fsFrameBuffers, 2); if (nuGfxCfb[2] == nuGfxCfb_ptr) { - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; } else { - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; set_windows_visible(WINDOW_GROUP_FILE_MENU); D_800A0930 = 1; D_800A0931 = 3; @@ -156,11 +156,11 @@ void state_step_language_select(void) { clear_item_entity_data(); clear_script_list(); clear_npcs(); - clear_entity_data(0); + clear_entity_data(FALSE); clear_trigger_data(); nuPiReadRomOverlay(&D_8007798C); filemenu_init(1); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; set_screen_overlay_params_front(OVERLAY_NONE, 255.0f); } if (D_800A0930 >= 0) { @@ -274,7 +274,7 @@ void state_step_exit_language_select(void) { break; case 2: if (D_800A0930 == 3) { - gOverrideFlags |= GLOBAL_OVERRIDES_8; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; } if (D_800A0930 >= 0) { @@ -289,7 +289,7 @@ void state_step_exit_language_select(void) { D_800A0930 = -1; nuGfxSetCfb(fsFrameBuffers, ARRAY_COUNT(fsFrameBuffers)); filemenu_cleanup(); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; mapSettings = get_current_map_settings(); mapConfig = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID]; gGameStatusPtr->isBattle = FALSE; diff --git a/src/state_intro.c b/src/state_intro.c index ad6fbe2c35..a2de9ad898 100644 --- a/src/state_intro.c +++ b/src/state_intro.c @@ -3,82 +3,92 @@ #include "sprite.h" #include "game_modes.h" -SHIFT_BSS s32 D_800A0950; -SHIFT_BSS s16 D_800A0954; -SHIFT_BSS s16 D_800A0956; -SHIFT_BSS s16 D_800A0958; -SHIFT_BSS s16 D_800A095A; -SHIFT_BSS s16 D_800A095C; -SHIFT_BSS s16 D_800A095E; -SHIFT_BSS s32 D_800A0960; -SHIFT_BSS s32 D_800A0964; +enum IntroStates { + INTRO_INIT = 0x00000000, + INTRO_DISABLE_DRAW_FRAME = 0x00000001, + INTRO_LOAD_MAP = 0x00000002, + INTRO_AWAIT_MAIN = 0x00000003, + INTRO_FADE_IN = 0x00000004, + INTRO_ENABLE_DRAW_FRAME = 0x00000015, // unused +}; + +SHIFT_BSS s32 IntroEnableDrawFrameDelay; +SHIFT_BSS s16 IntroOverlayAlpha; +SHIFT_BSS s16 IntroFrontFadeAlpha; +SHIFT_BSS s16 IntroOverlayDelta; +SHIFT_BSS s16 IntroFadeColorR; +SHIFT_BSS s16 IntroFadeColorG; +SHIFT_BSS s16 IntroFadeColorB; +SHIFT_BSS s32 IntroOverlayType; +SHIFT_BSS s32 D_800A0964; // related to skipping the intro void state_init_intro(void) { - s8 unk_A8; + s8 viewportMode; - gGameStatusPtr->introState = INTRO_STATE_0; + gGameStatusPtr->startupState = INTRO_INIT; set_curtain_scale_goal(1.0f); set_curtain_fade_goal(0.3f); - unk_A8 = gGameStatusPtr->creditsViewportMode; - switch (unk_A8) { + viewportMode = gGameStatusPtr->introPart; + switch (viewportMode) { case 0: - intro_logos_set_fade_alpha(0); + startup_set_fade_screen_alpha(0); - D_800A0954 = 0xFF; - D_800A0956 = 0x10; - D_800A0958 = 4; - D_800A0960 = 0; - D_800A095A = 208; - D_800A095C = 208; - D_800A095E = 208; + IntroOverlayAlpha = 255; + IntroFrontFadeAlpha = 16; + IntroOverlayDelta = 4; + IntroOverlayType = OVERLAY_SCREEN_COLOR; + IntroFadeColorR = 208; + IntroFadeColorG = 208; + IntroFadeColorB = 208; D_800A0964 = 0; // hos_05 (Star Sanctuary) gGameStatusPtr->areaID = AREA_HOS; - gGameStatusPtr->mapID = 5; + gGameStatusPtr->mapID = 5; //TODO hard-coded map ID gGameStatusPtr->entryID = 3; break; case 1: - intro_logos_set_fade_alpha(0); + startup_set_fade_screen_alpha(0); - D_800A0954 = 0; - D_800A0956 = 0xC; - D_800A0958 = 4; - D_800A0960 = unk_A8; - D_800A095A = 0; - D_800A095C = 0; - D_800A095E = 0; + IntroOverlayAlpha = 0; + IntroFrontFadeAlpha = 12; + IntroOverlayDelta = 4; + IntroOverlayType = OVERLAY_VIEWPORT_COLOR; + IntroFadeColorR = 0; + IntroFadeColorG = 0; + IntroFadeColorB = 0; D_800A0964 = 0; // hos_04 (Outside the Sanctuary) gGameStatusPtr->areaID = AREA_HOS; - gGameStatusPtr->mapID = 4; + gGameStatusPtr->mapID = 4; //TODO hard-coded map ID gGameStatusPtr->entryID = 4; break; default: - intro_logos_set_fade_alpha(0); - intro_logos_set_fade_color(208); + startup_set_fade_screen_alpha(0); + startup_set_fade_screen_color(208); - gGameStatusPtr->creditsViewportMode = -1; + gGameStatusPtr->introPart = INTRO_PART_NONE; - D_800A0956 = 6; - D_800A0958 = 6; + IntroFrontFadeAlpha = 6; + IntroOverlayDelta = 6; - D_800779B0++; - if (D_800779B0 >= 4) { - D_800779B0 = 0; + IntroMessageIdx++; + if (IntroMessageIdx >= 4) { + // both hos_04 and hos_05 have an IntroMessage array of length 4 + IntroMessageIdx = 0; } D_800A0964 = 3; break; } - set_screen_overlay_params_back(D_800A0960, D_800A0954); - set_screen_overlay_color(SCREEN_LAYER_BACK, D_800A095A, D_800A095C, D_800A095E); + set_screen_overlay_params_back(IntroOverlayType, IntroOverlayAlpha); + set_screen_overlay_color(SCREEN_LAYER_BACK, IntroFadeColorR, IntroFadeColorG, IntroFadeColorB); - intro_logos_update_fade(); + startup_fade_screen_update(); } void state_step_intro(void) { @@ -86,71 +96,72 @@ void state_step_intro(void) { u32 pressedButtons = gGameStatusPtr->pressedButtons[0]; s32 i; - if (gGameStatusPtr->creditsViewportMode != -1) { + if (gGameStatusPtr->introPart != INTRO_PART_NONE) { if (D_800A0964 == 0 && pressedButtons & (BUTTON_A | BUTTON_B | BUTTON_START | BUTTON_Z)) { D_800A0964 = 1; } - if (D_800A0964 == 1 && (gGameStatusPtr->introState == INTRO_STATE_0 || - gGameStatusPtr->introState == INTRO_STATE_1 || - gGameStatusPtr->introState == INTRO_STATE_4)) + if (D_800A0964 == 1 && (gGameStatusPtr->startupState == INTRO_INIT || + gGameStatusPtr->startupState == INTRO_DISABLE_DRAW_FRAME || + gGameStatusPtr->startupState == INTRO_FADE_IN)) { - gGameStatusPtr->creditsViewportMode = 100; + gGameStatusPtr->introPart = INTRO_PART_100; state_init_intro(); return; } - if (D_800A0964 == 2 && (gGameStatusPtr->introState == INTRO_STATE_0 || - gGameStatusPtr->introState == INTRO_STATE_1 || - gGameStatusPtr->introState == INTRO_STATE_4)) + if (D_800A0964 == 2 && (gGameStatusPtr->startupState == INTRO_INIT || + gGameStatusPtr->startupState == INTRO_DISABLE_DRAW_FRAME || + gGameStatusPtr->startupState == INTRO_FADE_IN)) { - gGameStatusPtr->creditsViewportMode++; + gGameStatusPtr->introPart++; state_init_intro(); return; } } - switch (gGameStatusPtr->introState) { - case INTRO_STATE_0: + switch (gGameStatusPtr->startupState) { + case INTRO_INIT: update_effects(); update_cameras(); - if (gGameStatusPtr->creditsViewportMode == -1) { + if (gGameStatusPtr->introPart == INTRO_PART_NONE) { set_curtain_fade_goal(0.0f); - if (intro_logos_fade_out(D_800A0956)) { - gGameStatusPtr->introState = INTRO_STATE_1; + if (startup_fade_screen_out(IntroFrontFadeAlpha)) { + gGameStatusPtr->startupState = INTRO_DISABLE_DRAW_FRAME; set_curtain_draw_callback(NULL); } } else { - D_800A0954 += D_800A0956; - if (D_800A0954 >= 0xFF) { - D_800A0954 = 0xFF; - gGameStatusPtr->introState = INTRO_STATE_1; + IntroOverlayAlpha += IntroFrontFadeAlpha; + if (IntroOverlayAlpha >= 255) { + IntroOverlayAlpha = 255; + gGameStatusPtr->startupState = INTRO_DISABLE_DRAW_FRAME; set_curtain_draw_callback(NULL); } } break; - case INTRO_STATE_1: - D_800A0950 = 4; - gOverrideFlags |= GLOBAL_OVERRIDES_8; - if (D_800A0960 != 0xE) { - gGameStatusPtr->introState = INTRO_STATE_2; + case INTRO_DISABLE_DRAW_FRAME: + IntroEnableDrawFrameDelay = 4; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + // this condition is always true, likely leftover from an earlier version + if (IntroOverlayType != OVERLAY_INTRO_1) { + gGameStatusPtr->startupState = INTRO_LOAD_MAP; } break; - case INTRO_STATE_15: - D_800A0950--; - if (D_800A0950 <= 0) { - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; - gGameStatusPtr->introState = INTRO_STATE_2; + case INTRO_ENABLE_DRAW_FRAME: // unused + IntroEnableDrawFrameDelay--; + if (IntroEnableDrawFrameDelay <= 0) { + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + gGameStatusPtr->startupState = INTRO_LOAD_MAP; } break; - case INTRO_STATE_2: + case INTRO_LOAD_MAP: set_curtain_draw_callback(NULL); gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->unk_76 = 0; - gGameStatusPtr->disableScripts = FALSE; + gGameStatusPtr->debugUnused1 = FALSE; + gGameStatusPtr->debugScripts = DEBUG_SCRIPTS_NONE; gGameStatusPtr->keepUsingPartnerOnMapChange = FALSE; - if (gGameStatusPtr->creditsViewportMode == -1) { + if (gGameStatusPtr->introPart == INTRO_PART_NONE) { general_heap_create(); clear_render_tasks(); clear_worker_list(); @@ -165,7 +176,7 @@ void state_step_intro(void) { hud_element_clear_cache(); clear_trigger_data(); clear_printers(); - clear_entity_data(0); + clear_entity_data(FALSE); clear_screen_overlays(); clear_player_status(); clear_npcs(); @@ -193,21 +204,21 @@ void state_step_intro(void) { playerData->level = 0; for (i = 0; i < ARRAY_COUNT(playerData->partners); i++) { - playerData->partners[i].enabled = 0; + playerData->partners[i].enabled = FALSE; } playerData->curPartner = PARTNER_NONE; - load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, 0); - gGameStatusPtr->introState = INTRO_STATE_3; + load_map_by_IDs(gGameStatusPtr->areaID, gGameStatusPtr->mapID, LOAD_FROM_MAP); + gGameStatusPtr->startupState = INTRO_AWAIT_MAIN; disable_player_input(); break; - case INTRO_STATE_3: - if (D_800A0960 == 0xE) { - D_800A0960 = 0xF; + case INTRO_AWAIT_MAIN: + if (IntroOverlayType == OVERLAY_INTRO_1) { + IntroOverlayType = OVERLAY_INTRO_2; } - D_800A0954 = 255 - D_800A0958; - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; - gCameras[CAM_DEFAULT].flags &= ~0x2; + IntroOverlayAlpha = 255 - IntroOverlayDelta; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + gCameras[CAM_DEFAULT].flags &= ~CAMERA_FLAG_DISABLED; gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD; update_player(); update_encounters(); @@ -216,29 +227,29 @@ void state_step_intro(void) { update_cameras(); if (!does_script_exist(gGameStatusPtr->mainScriptID)) { gGameStatusPtr->prevArea = gGameStatusPtr->areaID; - gGameStatusPtr->introState = INTRO_STATE_4; + gGameStatusPtr->startupState = INTRO_FADE_IN; break; } return; - case INTRO_STATE_4: + case INTRO_FADE_IN: update_effects(); update_cameras(); update_npcs(); - if (D_800A0954 == 0) { + if (IntroOverlayAlpha == 0) { set_screen_overlay_params_front(OVERLAY_NONE, -1.0f); set_screen_overlay_params_back(OVERLAY_NONE, -1.0f); } else { - D_800A0954 -= D_800A0958; - if (D_800A0954 < 0) { - D_800A0954 = 0; + IntroOverlayAlpha -= IntroOverlayDelta; + if (IntroOverlayAlpha < 0) { + IntroOverlayAlpha = 0; } } break; } - set_screen_overlay_params_back(D_800A0960, D_800A0954); - set_screen_overlay_color(SCREEN_LAYER_BACK, D_800A095A, D_800A095C, D_800A095E); - intro_logos_update_fade(); + set_screen_overlay_params_back(IntroOverlayType, IntroOverlayAlpha); + set_screen_overlay_color(SCREEN_LAYER_BACK, IntroFadeColorR, IntroFadeColorG, IntroFadeColorB); + startup_fade_screen_update(); } void state_drawUI_intro(void) { diff --git a/src/state_logos.c b/src/state_logos.c index 9a95b0e0d5..6198540b54 100644 --- a/src/state_logos.c +++ b/src/state_logos.c @@ -11,11 +11,27 @@ void appendGfx_intro_logos(void); #if VERSION_JP #define LOGO_1_Y 54 #define LOGO_2_Y 104 +#define N64_FADE_IN_TIME 30 #else #define LOGO_1_Y 89 #define LOGO_2_Y 59 +#define N64_FADE_IN_TIME 40 #endif +enum LogoStates { + LOGOS_STATE_N64_FADE_IN = 0x00000000, + LOGOS_STATE_N64_HOLD = 0x00000001, + LOGOS_STATE_N64_FADE_OUT = 0x00000002, + LOGOS_STATE_NINTENDO_FADE_IN = 0x00000003, + LOGOS_STATE_NINTENDO_HOLD = 0x00000004, + LOGOS_STATE_NINTENDO_FADE_OUT = 0x00000005, + LOGOS_STATE_IS_FADE_IN = 0x00000006, + LOGOS_STATE_IS_HOLD_1 = 0x00000007, + LOGOS_STATE_IS_HOLD_2 = 0x00000008, + LOGOS_STATE_IS_FADE_OUT = 0x00000009, + LOGOS_STATE_CURTAINS_APPEAR = 0x0000000A, + LOGOS_STATE_CLEANUP = 0x0000000B, +}; s32 D_800778C0[] = { 0, 0 }; @@ -51,11 +67,11 @@ void state_init_logos(void) { s8* romEnd; general_heap_create(); - gGameStatusPtr->introState = INTRO_STATE_0; - gGameStatusPtr->introCounter = 0; - gGameStatusPtr->bSkipIntro = FALSE; - intro_logos_set_fade_alpha(255); - intro_logos_set_fade_color(0); + gGameStatusPtr->startupState = LOGOS_STATE_N64_FADE_IN; + gGameStatusPtr->logoTime = 0; + gGameStatusPtr->skipLogos = FALSE; + startup_set_fade_screen_alpha(255); + startup_set_fade_screen_color(0); romEnd = logos_ROM_END; romStart = logos_ROM_START; @@ -78,7 +94,7 @@ void state_init_logos(void) { gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_DISABLED; gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED; gCameras[CAM_3].flags |= CAMERA_FLAG_DISABLED; - set_cam_viewport(0, 12, 28, 296, 184); + set_cam_viewport(CAM_DEFAULT, 12, 28, 296, 184); gCameras[CAM_DEFAULT].auxBoomLength = 40; gCameras[CAM_DEFAULT].bgColor[0] = 0; gCameras[CAM_DEFAULT].bgColor[1] = 0; @@ -101,10 +117,10 @@ void state_init_logos(void) { clear_npcs(); hud_element_clear_cache(); reset_background_settings(); - clear_entity_data(1); + clear_entity_data(TRUE); clear_effect_data(); gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD; - intro_logos_update_fade(); + startup_fade_screen_update(); gGameStatusPtr->backgroundFlags = 0; } @@ -113,128 +129,124 @@ void state_step_logos(void) { int pressedButtons = gGameStatusPtr->pressedButtons[0]; #endif - if (gGameStatusPtr->bSkipIntro) { - if (intro_logos_fade_out(10)) { + if (gGameStatusPtr->skipLogos) { + if (startup_fade_screen_out(10)) { set_curtain_scale(1.0f); set_curtain_fade(0.0f); set_game_mode(GAME_MODE_TITLE_SCREEN); } } else { #if VERSION_JP - if ((gGameStatusPtr->introState == INTRO_STATE_1 || - gGameStatusPtr->introState == INTRO_STATE_2 || - gGameStatusPtr->introState == INTRO_STATE_3 || - gGameStatusPtr->introState == INTRO_STATE_4 || - gGameStatusPtr->introState == INTRO_STATE_5 || - gGameStatusPtr->introState == INTRO_STATE_6 || - gGameStatusPtr->introState == INTRO_STATE_7 || - gGameStatusPtr->introState == INTRO_STATE_8 || - gGameStatusPtr->introState == INTRO_STATE_9 || - gGameStatusPtr->introState == INTRO_STATE_A) && - (pressedButtons & (BUTTON_START | BUTTON_Z | BUTTON_A))) - { - intro_logos_set_fade_color(208); - gGameStatusPtr->bSkipIntro = 1; + if ((gGameStatusPtr->startupState == LOGOS_STATE_N64_HOLD + || gGameStatusPtr->startupState == LOGOS_STATE_N64_FADE_OUT + || gGameStatusPtr->startupState == LOGOS_STATE_NINTENDO_FADE_IN + || gGameStatusPtr->startupState == LOGOS_STATE_NINTENDO_HOLD + || gGameStatusPtr->startupState == LOGOS_STATE_NINTENDO_FADE_OUT + || gGameStatusPtr->startupState == LOGOS_STATE_IS_FADE_IN + || gGameStatusPtr->startupState == LOGOS_STATE_IS_HOLD_1 + || gGameStatusPtr->startupState == LOGOS_STATE_IS_HOLD_2 + || gGameStatusPtr->startupState == LOGOS_STATE_IS_FADE_OUT + || gGameStatusPtr->startupState == LOGOS_STATE_CURTAINS_APPEAR) + && (pressedButtons & (BUTTON_START | BUTTON_Z | BUTTON_A)) + ) { + startup_set_fade_screen_color(208); + gGameStatusPtr->skipLogos = TRUE; } #endif - switch (gGameStatusPtr->introState) { - case INTRO_STATE_0: - if (intro_logos_fade_in(10)) { - gGameStatusPtr->introState++; - gGameStatusPtr->introCounter = 30; + switch (gGameStatusPtr->startupState) { + case LOGOS_STATE_N64_FADE_IN: + if (startup_fade_screen_in(10)) { + gGameStatusPtr->startupState++; + gGameStatusPtr->logoTime = 30; } break; - case INTRO_STATE_1: - if (gGameStatusPtr->introCounter == 0) { - intro_logos_set_fade_color(208); - gGameStatusPtr->introState++; + case LOGOS_STATE_N64_HOLD: + if (gGameStatusPtr->logoTime == 0) { + startup_set_fade_screen_color(208); + gGameStatusPtr->startupState++; } - gGameStatusPtr->introCounter--; + gGameStatusPtr->logoTime--; break; - case INTRO_STATE_2: - if (intro_logos_fade_out(10)) { - gGameStatusPtr->introState++; + case LOGOS_STATE_N64_FADE_OUT: + if (startup_fade_screen_out(10)) { + gGameStatusPtr->startupState++; #if VERSION_JP - gGameStatusPtr->introState += 2; + gGameStatusPtr->startupState += 2; #endif } break; - case INTRO_STATE_3: - if (intro_logos_fade_in(10)) { - gGameStatusPtr->introState++; + case LOGOS_STATE_NINTENDO_FADE_IN: + if (startup_fade_screen_in(10)) { + gGameStatusPtr->startupState++; + gGameStatusPtr->logoTime = N64_FADE_IN_TIME; + } + break; + case LOGOS_STATE_NINTENDO_HOLD: + if (gGameStatusPtr->logoTime == 0) { + gGameStatusPtr->startupState++; #if VERSION_JP - gGameStatusPtr->introCounter = 30; + startup_set_fade_screen_color(0); #else - gGameStatusPtr->introCounter = 40; + startup_set_fade_screen_color(208); #endif } + gGameStatusPtr->logoTime--; break; - case INTRO_STATE_4: - if (gGameStatusPtr->introCounter == 0) { - gGameStatusPtr->introState++; -#if VERSION_JP - intro_logos_set_fade_color(0); -#else - intro_logos_set_fade_color(208); -#endif - } - gGameStatusPtr->introCounter--; - break; - case INTRO_STATE_5: - if (intro_logos_fade_out(10)) { - gGameStatusPtr->introState++; + case LOGOS_STATE_NINTENDO_FADE_OUT: + if (startup_fade_screen_out(10)) { + gGameStatusPtr->startupState++; } break; - case INTRO_STATE_6: - if (intro_logos_fade_in(10)) { - gGameStatusPtr->introState++; - gGameStatusPtr->introCounter = 30; + case LOGOS_STATE_IS_FADE_IN: + if (startup_fade_screen_in(10)) { + gGameStatusPtr->startupState++; + gGameStatusPtr->logoTime = 30; } break; - case INTRO_STATE_7: - if (gGameStatusPtr->introCounter == 0) { - gGameStatusPtr->introState++; - intro_logos_set_fade_color(208); - gGameStatusPtr->introCounter = 30; + case LOGOS_STATE_IS_HOLD_1: + if (gGameStatusPtr->logoTime == 0) { + gGameStatusPtr->startupState++; + startup_set_fade_screen_color(208); + gGameStatusPtr->logoTime = 30; } - gGameStatusPtr->introCounter--; + gGameStatusPtr->logoTime--; break; - case INTRO_STATE_8: - if (gGameStatusPtr->introCounter == 0) { - gGameStatusPtr->introState++; + case LOGOS_STATE_IS_HOLD_2: + if (gGameStatusPtr->logoTime == 0) { + gGameStatusPtr->startupState++; set_curtain_scale_goal(1.0f); set_curtain_draw_callback(NULL); set_curtain_fade_goal(0.3f); } else { - gGameStatusPtr->introCounter--; + gGameStatusPtr->logoTime--; } break; - case INTRO_STATE_9: - if (intro_logos_fade_out(10)) { - gGameStatusPtr->introCounter = 15; - gGameStatusPtr->introState++; + case LOGOS_STATE_IS_FADE_OUT: + if (startup_fade_screen_out(10)) { + gGameStatusPtr->logoTime = 15; + gGameStatusPtr->startupState++; } break; - case INTRO_STATE_A: - if (gGameStatusPtr->introCounter == 0) { - gGameStatusPtr->introState++; + case LOGOS_STATE_CURTAINS_APPEAR: + if (gGameStatusPtr->logoTime == 0) { + gGameStatusPtr->startupState++; } else { - gGameStatusPtr->introCounter--; + gGameStatusPtr->logoTime--; } break; - case INTRO_STATE_B: + case LOGOS_STATE_CLEANUP: heap_free(gLogosImages); gLogosImages = NULL; - intro_logos_set_fade_alpha(255); - gGameStatusPtr->creditsViewportMode = 0; + startup_set_fade_screen_alpha(255); + gGameStatusPtr->introPart = INTRO_PART_0; set_game_mode(GAME_MODE_INTRO); break; } } update_npcs(); update_cameras(); - intro_logos_update_fade(); + startup_fade_screen_update(); } void state_drawUI_logos(void) { @@ -252,10 +264,10 @@ void appendGfx_intro_logos(void) { gDPFillRectangle(gMainGfxPos++, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1); gDPPipeSync(gMainGfxPos++); - switch (gGameStatusPtr->introState) { - case INTRO_STATE_0: - case INTRO_STATE_1: - case INTRO_STATE_2: + switch (gGameStatusPtr->startupState) { + case LOGOS_STATE_N64_FADE_IN: + case LOGOS_STATE_N64_HOLD: + case LOGOS_STATE_N64_FADE_OUT: gSPDisplayList(gMainGfxPos++, D_80077908); for (i = 0; i < 7; i++) { gDPLoadTextureTile(gMainGfxPos++, gLogosImage1 + i * 0x1000, G_IM_FMT_RGBA, G_IM_SIZ_16b, 128, 112, @@ -265,15 +277,15 @@ void appendGfx_intro_logos(void) { gDPPipeSync(gMainGfxPos++); } break; - case INTRO_STATE_3: - case INTRO_STATE_4: - case INTRO_STATE_5: + case LOGOS_STATE_NINTENDO_FADE_IN: + case LOGOS_STATE_NINTENDO_HOLD: + case LOGOS_STATE_NINTENDO_FADE_OUT: #if VERSION_JP break; - case INTRO_STATE_6: - case INTRO_STATE_7: - case INTRO_STATE_8: - case INTRO_STATE_9: + case LOGOS_STATE_IS_FADE_IN: + case LOGOS_STATE_IS_HOLD_1: + case LOGOS_STATE_IS_HOLD_2: + case LOGOS_STATE_IS_FADE_OUT: #endif gSPDisplayList(gMainGfxPos++, D_80077908); for (i = 0; i < 6; i++) { @@ -289,10 +301,10 @@ void appendGfx_intro_logos(void) { } #if !VERSION_JP break; - case INTRO_STATE_6: - case INTRO_STATE_7: - case INTRO_STATE_8: - case INTRO_STATE_9: + case LOGOS_STATE_IS_FADE_IN: + case LOGOS_STATE_IS_HOLD_1: + case LOGOS_STATE_IS_HOLD_2: + case LOGOS_STATE_IS_FADE_OUT: gSPDisplayList(gMainGfxPos++, D_80077908); #endif for (i = 0; i < 14; i++) { diff --git a/src/state_pause.c b/src/state_pause.c index 4c7833c3c0..1e75447abb 100644 --- a/src/state_pause.c +++ b/src/state_pause.c @@ -39,14 +39,14 @@ NUPiOverlaySegment D_8007795C = { .bssEnd = pause_BSS_END, }; -SHIFT_BSS s8 D_800A0920; -SHIFT_BSS s8 D_800A0921; -SHIFT_BSS s16 D_800A0922; +SHIFT_BSS s8 StepPauseDelay; +SHIFT_BSS s8 StepPauseState; +SHIFT_BSS s16 StepPauseAlpha; // effectively unused, always zero SHIFT_BSS s32 SavedReverbMode; void state_init_pause(void) { - D_800A0921 = 0; - D_800A0922 = 0; + StepPauseState = 0; + StepPauseAlpha = 0; disable_player_input(); set_time_freeze_mode(TIME_FREEZE_POPUP_MENU); set_windows_visible(WINDOW_GROUP_PAUSE_MENU); @@ -55,36 +55,34 @@ void state_init_pause(void) { extern Addr D_80200000; void state_step_pause(void) { - s32 oldIsBattle = D_800A0921; - - switch (D_800A0921) { + switch (StepPauseState) { case 0: update_encounters(); update_npcs(); update_player(); update_effects(); if (nuGfxCfb[1] == nuGfxCfb_ptr) { - D_800A0920 = 4; - D_800A0921 = 2; - gOverrideFlags |= GLOBAL_OVERRIDES_8; + StepPauseDelay = 4; + StepPauseState = 2; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; gGameStatusPtr->backgroundFlags &= ~BACKGROUND_RENDER_STATE_MASK; - gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_1; + gGameStatusPtr->backgroundFlags |= BACKGROUND_RENDER_STATE_BEGIN_PAUSED; } break; case 2: - if (D_800A0920 >= 0) { - if (D_800A0920 != 0) { - (D_800A0920)--; + if (StepPauseDelay >= 0) { + if (StepPauseDelay != 0) { + StepPauseDelay--; } - if (D_800A0920 == 0) { - D_800A0920 = -1; + if (StepPauseDelay == 0) { + StepPauseDelay = -1; nuGfxSetCfb(pause_frameBuffers, 2); gGameStatusPtr->savedBackgroundDarkness = gGameStatusPtr->backgroundDarkness; sfx_stop_env_sounds(); func_8003B1A8(); - gGameStatusPtr->isBattle = oldIsBattle; + gGameStatusPtr->isBattle = 2; backup_map_collision_data(); battle_heap_create(); nuContRmbForceStop(); @@ -102,28 +100,28 @@ void state_step_pause(void) { clear_item_entity_data(); clear_script_list(); clear_npcs(); - clear_entity_data(0); + clear_entity_data(FALSE); clear_trigger_data(); SavedReverbMode = sfx_get_reverb_mode(); sfx_set_reverb_mode(0); bgm_quiet_max_volume(); nuPiReadRomOverlay(&D_8007795C); pause_init(); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; } - if (D_800A0920 >= 0) { + if (StepPauseDelay >= 0) { break; } } - if (D_800A0920 >= -10) { + if (StepPauseDelay >= -10) { pause_handle_input(0, 0); - D_800A0920--; + StepPauseDelay--; } else { pause_handle_input(gGameStatusPtr->pressedButtons[0], gGameStatusPtr->heldButtons[0]); } - D_800A0922 = 0; + StepPauseAlpha = 0; break; } } @@ -132,98 +130,96 @@ void state_drawUI_pause(void) { } void state_init_unpause(void) { - if (D_800A0922 > 0) { - D_800A0921 = 0; + if (StepPauseAlpha > 0) { + StepPauseState = 0; } else { - D_800A0921 = 1; + StepPauseState = 1; } - D_800A0920 = 4; + StepPauseDelay = 4; } void state_step_unpause(void) { - switch (D_800A0921) { + MapSettings* mapSettings; + MapConfig* mapConfig; + void* mapShape; + s32 assetSize; + + switch (StepPauseState) { case 0: case 1: - if (D_800A0920 == 4) { - gOverrideFlags |= GLOBAL_OVERRIDES_8; + if (StepPauseDelay == 4) { + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; } - if (D_800A0920 >= 0) { - if (D_800A0920 != 0) { - D_800A0920--; + if (StepPauseDelay >= 0) { + if (StepPauseDelay != 0) { + StepPauseDelay--; } - if (D_800A0920 == 0) { - if (D_800A0920 == 0) { - MapSettings* mapSettings; - MapConfig* mapConfig; - void* mapShape; - s32 assetSize; + if (StepPauseDelay == 0) { + StepPauseDelay = -1; + nuGfxSetCfb(pause_frameBuffers, ARRAY_COUNT(pause_frameBuffers)); + pause_cleanup(); + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + mapSettings = get_current_map_settings(); + mapConfig = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID]; + gGameStatusPtr->isBattle = FALSE; + gGameStatusPtr->backgroundFlags &= ~BACKGROUND_RENDER_STATE_MASK; + func_8005AF84(); + func_8002ACDC(); + nuContRmbForceStopEnd(); + sfx_clear_env_sounds(1); + spr_init_sprites(gGameStatusPtr->playerSpriteSet); + init_model_data(); + init_sprite_shading_data(); + init_entity_models(); + reset_animator_list(); + init_worker_list(); + hud_element_set_aux_cache(0, 0); + init_hud_element_list(); + init_item_entity_list(); + init_script_list(); + init_npc_list(); + init_entity_data(); + init_trigger_list(); + sfx_set_reverb_mode(SavedReverbMode); + bgm_reset_max_volume(); + load_map_script_lib(); + mapShape = load_asset_by_name(wMapShapeName, &assetSize); + decode_yay0(mapShape, &gMapShapeData); + general_heap_free(mapShape); + initialize_collision(); + restore_map_collision_data(); - D_800A0920 = -1; - nuGfxSetCfb(pause_frameBuffers, ARRAY_COUNT(pause_frameBuffers)); - pause_cleanup(); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; - mapSettings = get_current_map_settings(); - mapConfig = &gAreas[gGameStatusPtr->areaID].maps[gGameStatusPtr->mapID]; - gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->backgroundFlags &= ~BACKGROUND_RENDER_STATE_MASK; - func_8005AF84(); - func_8002ACDC(); - nuContRmbForceStopEnd(); - sfx_clear_env_sounds(1); - spr_init_sprites(gGameStatusPtr->playerSpriteSet); - init_model_data(); - init_sprite_shading_data(); - init_entity_models(); - reset_animator_list(); - init_worker_list(); - hud_element_set_aux_cache(0, 0); - init_hud_element_list(); - init_item_entity_list(); - init_script_list(); - init_npc_list(); - init_entity_data(); - init_trigger_list(); - sfx_set_reverb_mode(SavedReverbMode); - bgm_reset_max_volume(); - load_map_script_lib(); - mapShape = load_asset_by_name(wMapShapeName, &assetSize); - decode_yay0(mapShape, &gMapShapeData); - general_heap_free(mapShape); - initialize_collision(); - restore_map_collision_data(); + if (mapConfig->dmaStart != NULL) { + dma_copy(mapConfig->dmaStart, mapConfig->dmaEnd, mapConfig->dmaDest); + } - if (mapConfig->dmaStart != NULL) { - dma_copy(mapConfig->dmaStart, mapConfig->dmaEnd, mapConfig->dmaDest); - } + load_map_bg(mapConfig->bgName); + if (mapSettings->background != NULL) { + read_background_size(mapSettings->background); + } else { + set_background_size(296, 200, 12, 20); + } - load_map_bg(mapConfig->bgName); - if (mapSettings->background != NULL) { - read_background_size(mapSettings->background); - } else { - set_background_size(296, 200, 12, 20); - } + gGameStatusPtr->backgroundDarkness = gGameStatusPtr->savedBackgroundDarkness; + mdl_calculate_model_sizes(); + npc_reload_all(); + set_windows_visible(WINDOW_GROUP_ALL); + status_bar_respond_to_changes(); + set_time_freeze_mode(TIME_FREEZE_PARTIAL); + StepPauseState = 3; + gPlayerStatus.alpha2 = gPlayerStatus.alpha1 - 1; + D_802D9D71 = D_802D9D70 + 1; - gGameStatusPtr->backgroundDarkness = gGameStatusPtr->savedBackgroundDarkness; - mdl_calculate_model_sizes(); - npc_reload_all(); - set_windows_visible(WINDOW_GROUP_ALL); - status_bar_respond_to_changes(); - set_time_freeze_mode(TIME_FREEZE_PARTIAL); - D_800A0921 = 3; - gPlayerStatus.alpha2 = gPlayerStatus.alpha1 - 1; - D_802D9D71 = D_802D9D70 + 1; + update_encounters(); + update_npcs(); + update_player(); + update_effects(); - update_encounters(); - update_npcs(); - update_player(); - update_effects(); - - D_800A0922 -= 20; - if (D_800A0922 < 0) { - D_800A0922 = 0; - } + StepPauseAlpha -= 20; + if (StepPauseAlpha < 0) { + StepPauseAlpha = 0; } } } @@ -234,12 +230,12 @@ void state_step_unpause(void) { update_player(); update_effects(); - if (D_800A0922 == 0) { - D_800A0921 = 4; + if (StepPauseAlpha == 0) { + StepPauseState = 4; } else { - D_800A0922 -= 20; - if (D_800A0922 < 0) { - D_800A0922 = 0; + StepPauseAlpha -= 20; + if (StepPauseAlpha < 0) { + StepPauseAlpha = 0; } } break; diff --git a/src/state_startup.c b/src/state_startup.c index 7a13a03ade..5202f5c510 100644 --- a/src/state_startup.c +++ b/src/state_startup.c @@ -5,16 +5,16 @@ #include "game_modes.h" void state_init_startup(void) { - gOverrideFlags |= GLOBAL_OVERRIDES_8; - gGameStatusPtr->introState = INTRO_STATE_3; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + gGameStatusPtr->startupState = 3; } void state_step_startup(void) { GameStatus* gameStatus = gGameStatusPtr; s32 i; - if (gameStatus->introState != INTRO_STATE_0) { - gameStatus->introState--; + if (gameStatus->startupState != 0) { + gameStatus->startupState--; return; } @@ -24,10 +24,10 @@ void state_step_startup(void) { gameStatus->prevArea = -1; gameStatus->mapID = 0; gameStatus->entryID = 0; - gGameStatusPtr->unk_76 = 0; - gGameStatusPtr->disableScripts = 0; + gGameStatusPtr->debugUnused1 = FALSE; + gGameStatusPtr->debugScripts = DEBUG_SCRIPTS_NONE; gGameStatusPtr->keepUsingPartnerOnMapChange = FALSE; - gGameStatusPtr->creditsViewportMode = -1; + gGameStatusPtr->introPart = INTRO_PART_NONE; gGameStatusPtr->demoBattleFlags = 0; gGameStatusPtr->unk_A9 = -1; gGameStatusPtr->demoState = DEMO_STATE_NONE; @@ -47,7 +47,7 @@ void state_step_startup(void) { hud_element_clear_cache(); clear_trigger_data(); clear_printers(); - clear_entity_data(0); + clear_entity_data(FALSE); clear_screen_overlays(); clear_player_status(); clear_npcs(); @@ -65,14 +65,14 @@ void state_step_startup(void) { bgm_reset_volume(); initialize_curtains(); - for (i = 0; i < 4; i++) { + for (i = 0; i < ARRAY_COUNT(gGameStatusPtr->unk_50); i++) { gGameStatusPtr->unk_50[i] = 4; - gGameStatusPtr->unk_48[i] = 0xF; + gGameStatusPtr->unk_48[i] = 15; } - fio_has_valid_backup(); + fio_has_valid_globals(); - if (D_800D95E8.saveSlot == 0) { + if (gSaveGlobals.useMonoSound == 0) { gGameStatusPtr->soundOutputMode = SOUND_OUT_STEREO; audio_set_stereo(); } else { @@ -80,10 +80,10 @@ void state_step_startup(void) { audio_set_mono(); } - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; set_game_mode(GAME_MODE_LOGOS); } void state_drawUI_startup(void) { - startup_draw_prim_rect(0, 0, 0x13F, 0xEF, 0, 0, 0, 0xFF); + startup_draw_prim_rect(0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1, 0, 0, 0, 255); } diff --git a/src/state_title_screen.c b/src/state_title_screen.c index fda6b8b55f..cc2f0a56c8 100644 --- a/src/state_title_screen.c +++ b/src/state_title_screen.c @@ -24,26 +24,47 @@ #define TITLE_NUM_TILES (TITLE_HEIGHT / TITLE_TILE_HEIGHT) // Number of tiles in the texture #define TITLE_TILE_PIXELS (TITLE_WIDTH * TITLE_TILE_HEIGHT) // Number of pixels in a single tile of the texture -s16 D_800779C0[2] = {0, 0}; -SaveMetadata gSaveSlotMetadata[4] = { - { .filename = {FILENAME_ERROR} }, - { .filename = {FILENAME_ERROR} }, - { .filename = {FILENAME_ERROR} }, - { .filename = {FILENAME_ERROR} }, +enum TitleScreenStates { + TITLE_STATE_INIT = 0x00000000, + TITLE_STATE_APPEAR = 0x00000001, + TITLE_STATE_HOLD = 0x00000002, // show the title screen with PRESS START blinking + TITLE_STATE_UNUSED = 0x00000003, + TITLE_STATE_BEGIN_DISMISS = 0x00000004, + TITLE_STATE_DISMISS = 0x00000005, + TITLE_STATE_EXIT = 0x00000006, }; -u8 gSaveSlotHasData[4] = {TRUE, TRUE, TRUE, TRUE}; +enum { + NEXT_STATE_DEMO = 10, + NEXT_STATE_INTRO = 9, + NEXT_STATE_FILE_SELECT = 5, + NEXT_STATE_NONE = 0, // used only for the initial value +}; -s32 TitleScreen_PressStart_Alpha = 0; // the opacity of "PRESS START" text -b32 TitleScreen_PressStart_IsVisible = FALSE; // toggles the visibility of "PRESS START" -s32 TitleScreen_PressStart_BlinkCounter = 0; // counts to 16, then toggles TitleScreen_PressStart_IsVisible +s16 TitleScreenNextState = NEXT_STATE_NONE; -s32 D_80077A34[1] = {0}; +SaveMetadata gSaveSlotMetadata[4] = { + { .filename = { FILENAME_ERROR } }, + { .filename = { FILENAME_ERROR } }, + { .filename = { FILENAME_ERROR } }, + { .filename = { FILENAME_ERROR } }, +}; + +u8 gSaveSlotHasData[4] = { TRUE, TRUE, TRUE, TRUE }; + +s32 PressStart_Alpha = 0; // the opacity of "PRESS START" text +b32 PressStart_IsVisible = FALSE; // toggles the visibility of "PRESS START" +s32 PressStart_BlinkCounter = 0; // counts to 16, then toggles PressStart_IsVisible + +// controls whether the intro story or the demo will player after TITLE_STATE_HOLD is done +// since this state is reached for the first time after the intro has already played once or was skipped, +// this is initially false and the demo is will play first. +s32 PlayIntroNext = FALSE; Lights1 D_80077A38 = gdSPDefLights1(255, 255, 255, 0, 0, 0, 0, 0, 0); -Gfx D_80077A50[] = { +Gfx TitleSetupGfx[] = { gsDPPipeSync(), gsDPSetCycleType(G_CYC_1CYCLE), gsDPSetRenderMode(G_RM_CLD_SURF, G_RM_CLD_SURF2), @@ -77,7 +98,7 @@ typedef struct TitleDataStruct { #define COPYRIGHT_WIDTH 144 #endif -SHIFT_BSS s16 D_800A0970; +SHIFT_BSS s16 TitleScreen_AppearDelay; SHIFT_BSS TitleDataStruct* TitleScreen_ImgList; SHIFT_BSS s32* TitleScreen_ImgList_Logo; SHIFT_BSS u8 (*TitleScreen_ImgList_Copyright)[COPYRIGHT_WIDTH]; @@ -85,7 +106,7 @@ SHIFT_BSS s32* TitleScreen_ImgList_PressStart; #if VERSION_JP SHIFT_BSS s32* TitleScreen_ImgList_CopyrightPalette; #endif -SHIFT_BSS s16 D_800A0988; +SHIFT_BSS s16 TitleScreen_TimeLeft; void appendGfx_title_screen(void); void draw_title_screen_NOP(void); @@ -105,11 +126,11 @@ void state_init_title_screen(void) { general_heap_create(); clear_printers(); sfx_set_reverb_mode(0); - gGameStatusPtr->introState = INTRO_STATE_0; - gGameStatusPtr->introCounter = 0; + gGameStatusPtr->startupState = TITLE_STATE_INIT; + gGameStatusPtr->logoTime = 0; gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->creditsViewportMode = -1; - intro_logos_update_fade(); + gGameStatusPtr->introPart = INTRO_PART_NONE; + startup_fade_screen_update(); titleData = load_asset_by_name("title_data", &titleDataSize); titleDataDst = TitleScreen_ImgList = heap_malloc(titleDataSize); decode_yay0(titleData, titleDataDst); @@ -133,7 +154,7 @@ void state_init_title_screen(void) { gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_DISABLED; gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED; gCameras[CAM_3].flags |= CAMERA_FLAG_DISABLED; - set_cam_viewport(0, 12, 28, 296, 184); + set_cam_viewport(CAM_DEFAULT, 12, 28, 296, 184); gCameras[CAM_DEFAULT].auxBoomLength = 40; gCameras[CAM_DEFAULT].bgColor[0] = 0; gCameras[CAM_DEFAULT].bgColor[1] = 0; @@ -156,115 +177,115 @@ void state_init_title_screen(void) { clear_npcs(); hud_element_clear_cache(); reset_background_settings(); - clear_entity_data(1); + clear_entity_data(TRUE); clear_effect_data(); gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD; clear_player_data(); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; game_mode_set_fpDrawAuxUI(0, appendGfx_title_screen); load_map_bg("title_bg"); read_background_size(&gBackgroundImage); bgm_set_song(0, SONG_MAIN_THEME, 0, 500, 8); - D_800A0988 = 480; + TitleScreen_TimeLeft = 480; } void state_step_title_screen(void) { - s16* temp; + s32 temp; u32 pressedButtons = gGameStatusPtr->pressedButtons[0]; set_curtain_scale(1.0f); set_curtain_fade(0.0f); - if (D_800A0988 > 0) { - D_800A0988--; + if (TitleScreen_TimeLeft > 0) { + TitleScreen_TimeLeft--; } - switch (gGameStatusPtr->introState) { - case INTRO_STATE_0: - D_800A0970 = 3; - gOverrideFlags |= GLOBAL_OVERRIDES_8; - gGameStatusPtr->unk_B0 = 20; - gGameStatusPtr->unk_AF = gGameStatusPtr->unk_B0; - gGameStatusPtr->introState++; + switch (gGameStatusPtr->startupState) { + case TITLE_STATE_INIT: + TitleScreen_AppearDelay = 3; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + gGameStatusPtr->titleScreenDismissTime = 20; + gGameStatusPtr->titleScreenTimer = gGameStatusPtr->titleScreenDismissTime; + gGameStatusPtr->startupState++; break; - case INTRO_STATE_1: - if (D_800A0970 != 0) { - D_800A0970--; - } else { - if (gGameStatusPtr->unk_AF != 0) { - gGameStatusPtr->unk_AF--; - } - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; - if (intro_logos_fade_in(6) != 0) { - if (gGameStatusPtr->unk_AF == 0) { - gGameStatusPtr->introState = INTRO_STATE_2; - } - } - intro_logos_update_fade(); + case TITLE_STATE_APPEAR: + if (TitleScreen_AppearDelay != 0) { + TitleScreen_AppearDelay--; + break; } + if (gGameStatusPtr->titleScreenTimer != 0) { + gGameStatusPtr->titleScreenTimer--; + } + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + if (startup_fade_screen_in(6) != 0) { + if (gGameStatusPtr->titleScreenTimer == 0) { + gGameStatusPtr->startupState = TITLE_STATE_HOLD; + } + } + startup_fade_screen_update(); break; - case INTRO_STATE_2: - if (D_80077A34[0] != NULL && D_800A0988 == 120) { + case TITLE_STATE_HOLD: + if (PlayIntroNext && TitleScreen_TimeLeft == 120) { bgm_set_song(0, -1, 0, 3900, 8); } - if (D_800A0988 == 0) { - gGameStatusPtr->introState = INTRO_STATE_4; - if (D_80077A34[0] == NULL) { - *D_800779C0 = 10; + if (TitleScreen_TimeLeft == 0) { + gGameStatusPtr->startupState = TITLE_STATE_BEGIN_DISMISS; + if (!PlayIntroNext) { + TitleScreenNextState = NEXT_STATE_DEMO; } else { - *D_800779C0 = 9; + TitleScreenNextState = NEXT_STATE_INTRO; } - D_80077A34[0] ^= 1; + PlayIntroNext ^= 1; return; } if (pressedButtons & (BUTTON_A | BUTTON_START)) { - gGameStatusPtr->introState = INTRO_STATE_4; - *D_800779C0 = 5; + gGameStatusPtr->startupState = TITLE_STATE_BEGIN_DISMISS; + TitleScreenNextState = NEXT_STATE_FILE_SELECT; sfx_play_sound(SOUND_FILE_MENU_IN); bgm_set_song(0, SONG_FILE_SELECT, 0, 500, 8); return; } break; - case INTRO_STATE_4: - gGameStatusPtr->introState = INTRO_STATE_5; - intro_logos_set_fade_color(0xD0); - if (*D_800779C0 == 9 || *D_800779C0 == 10) { - gGameStatusPtr->unk_B0 = 20; + case TITLE_STATE_BEGIN_DISMISS: + gGameStatusPtr->startupState = TITLE_STATE_DISMISS; + startup_set_fade_screen_color(208); + if (TitleScreenNextState == NEXT_STATE_INTRO || TitleScreenNextState == NEXT_STATE_DEMO) { + gGameStatusPtr->titleScreenDismissTime = 20; } else { - gGameStatusPtr->unk_B0 = 10; + gGameStatusPtr->titleScreenDismissTime = 10; } - gGameStatusPtr->unk_AF = gGameStatusPtr->unk_B0; + gGameStatusPtr->titleScreenTimer = gGameStatusPtr->titleScreenDismissTime; break; - case INTRO_STATE_5: - if (*D_800779C0 == 9 || *D_800779C0 == 10) { - if (gGameStatusPtr->unk_AF != 0) { - gGameStatusPtr->unk_AF--; + case TITLE_STATE_DISMISS: + if (TitleScreenNextState == NEXT_STATE_INTRO || TitleScreenNextState == NEXT_STATE_DEMO) { + if (gGameStatusPtr->titleScreenTimer != 0) { + gGameStatusPtr->titleScreenTimer--; } - if (intro_logos_fade_out(0xA) != 0) { - if (gGameStatusPtr->unk_AF == 0) { - gGameStatusPtr->unk_AF = 3; - gOverrideFlags |= GLOBAL_OVERRIDES_8; - gGameStatusPtr->introState = INTRO_STATE_6; + if (startup_fade_screen_out(10) != 0) { + if (gGameStatusPtr->titleScreenTimer == 0) { + gGameStatusPtr->titleScreenTimer = 3; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + gGameStatusPtr->startupState = TITLE_STATE_EXIT; } } - intro_logos_update_fade(); - } else if (*D_800779C0 == 5) { - if (gGameStatusPtr->unk_AF == 0) { - gGameStatusPtr->unk_AF = 3; - gOverrideFlags |= GLOBAL_OVERRIDES_8; - gGameStatusPtr->introState = INTRO_STATE_6; + startup_fade_screen_update(); + } else if (TitleScreenNextState == NEXT_STATE_FILE_SELECT) { + if (gGameStatusPtr->titleScreenTimer == 0) { + gGameStatusPtr->titleScreenTimer = 3; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + gGameStatusPtr->startupState = TITLE_STATE_EXIT; } else { - gGameStatusPtr->unk_AF--; + gGameStatusPtr->titleScreenTimer--; } } else { - gGameStatusPtr->unk_AF = 3; - gOverrideFlags |= GLOBAL_OVERRIDES_8; - gGameStatusPtr->introState = INTRO_STATE_6; + gGameStatusPtr->titleScreenTimer = 3; + gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; + gGameStatusPtr->startupState = TITLE_STATE_EXIT; } break; - case INTRO_STATE_6: - if (gGameStatusPtr->unk_AF != 0) { - gGameStatusPtr->unk_AF--; + case TITLE_STATE_EXIT: + if (gGameStatusPtr->titleScreenTimer != 0) { + gGameStatusPtr->titleScreenTimer--; break; } general_heap_create(); @@ -275,24 +296,23 @@ void state_step_title_screen(void) { clear_npcs(); hud_element_clear_cache(); spr_init_sprites(PLAYER_SPRITES_MARIO_WORLD); - clear_entity_data(1); + clear_entity_data(TRUE); clear_windows(); - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD; - temp = D_800779C0; gGameStatusPtr->entryID = 0; - switch (temp[0]) { - case 9: - gGameStatusPtr->creditsViewportMode = 0; + switch (TitleScreenNextState) { + case NEXT_STATE_INTRO: + gGameStatusPtr->introPart = INTRO_PART_0; set_game_mode(GAME_MODE_INTRO); break; - case 10: + case NEXT_STATE_DEMO: set_game_mode(GAME_MODE_DEMO); break; - case 5: - gGameStatusPtr->areaID = 0; - gGameStatusPtr->mapID = 0xB; + case NEXT_STATE_FILE_SELECT: + gGameStatusPtr->areaID = AREA_KMR; + gGameStatusPtr->mapID = 0xB; //TODO hardcoded map IDs gGameStatusPtr->entryID = 0; set_game_mode(GAME_MODE_FILE_SELECT); break; @@ -300,30 +320,30 @@ void state_step_title_screen(void) { return; } - if (!(gOverrideFlags & GLOBAL_OVERRIDES_8)) { + if (!(gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME)) { update_npcs(); update_cameras(); } } void state_drawUI_title_screen(void) { - switch (gGameStatusPtr->introState) { - case INTRO_STATE_0: - TitleScreen_PressStart_Alpha = 0; - TitleScreen_PressStart_IsVisible = FALSE; - TitleScreen_PressStart_BlinkCounter = 0; + switch (gGameStatusPtr->startupState) { + case TITLE_STATE_INIT: + PressStart_Alpha = 0; + PressStart_IsVisible = FALSE; + PressStart_BlinkCounter = 0; draw_title_screen_NOP(); break; - case INTRO_STATE_2: + case TITLE_STATE_HOLD: draw_title_screen_NOP(); if (gGameStatusPtr->contBitPattern & 1) { title_screen_draw_press_start(); } - case INTRO_STATE_3: + case TITLE_STATE_UNUSED: break; - case INTRO_STATE_1: - case INTRO_STATE_4: - case INTRO_STATE_5: + case TITLE_STATE_APPEAR: + case TITLE_STATE_BEGIN_DISMISS: + case TITLE_STATE_DISMISS: draw_title_screen_NOP(); break; } @@ -333,26 +353,26 @@ void appendGfx_title_screen(void) { f32 phi_f12; s32 temp; - switch (gGameStatusPtr->introState) { - case INTRO_STATE_0: - case INTRO_STATE_3: + switch (gGameStatusPtr->startupState) { + case TITLE_STATE_INIT: + case TITLE_STATE_UNUSED: break; - case INTRO_STATE_1: - phi_f12 = gGameStatusPtr->unk_AF; - phi_f12 /= gGameStatusPtr->unk_B0; + case TITLE_STATE_APPEAR: + phi_f12 = gGameStatusPtr->titleScreenTimer; + phi_f12 /= gGameStatusPtr->titleScreenDismissTime; phi_f12 = SQ(phi_f12); title_screen_draw_images(phi_f12, phi_f12); break; - case INTRO_STATE_2: + case TITLE_STATE_HOLD: title_screen_draw_images(0.0f, 0.0f); break; - case INTRO_STATE_4: + case TITLE_STATE_BEGIN_DISMISS: title_screen_draw_images(0.0f, 0.0f); break; - case INTRO_STATE_5: - temp = gGameStatusPtr->unk_AF - 1; - phi_f12 = gGameStatusPtr->unk_B0 - temp; - phi_f12 /= gGameStatusPtr->unk_B0; + case TITLE_STATE_DISMISS: + temp = gGameStatusPtr->titleScreenTimer - 1; + phi_f12 = gGameStatusPtr->titleScreenDismissTime - temp; + phi_f12 /= gGameStatusPtr->titleScreenDismissTime; phi_f12 = SQ(phi_f12); title_screen_draw_images(phi_f12, phi_f12); break; @@ -384,18 +404,18 @@ void appendGfx_title_screen(void) { void draw_title_screen_NOP(void) { } -void title_screen_draw_images(f32 arg0, f32 arg1) { - title_screen_draw_logo(arg0); - title_screen_draw_copyright(arg1); +void title_screen_draw_images(f32 logoMoveAlpha, f32 copyrightMoveAlpha) { + title_screen_draw_logo(logoMoveAlpha); + title_screen_draw_copyright(copyrightMoveAlpha); } -void title_screen_draw_logo(f32 arg0) { +void title_screen_draw_logo(f32 moveAlpha) { s32 yOffset; s32 i; - gSPDisplayList(gMainGfxPos++, D_80077A50); + gSPDisplayList(gMainGfxPos++, TitleSetupGfx); gDPPipeSync(gMainGfxPos++); - yOffset = -100 * arg0; + yOffset = -100 * moveAlpha; for (i = 0; i < TITLE_NUM_TILES; i++) { // Load a tile from the logo texture @@ -427,35 +447,35 @@ void title_screen_draw_logo(f32 arg0) { #endif void title_screen_draw_press_start(void) { - switch (TitleScreen_PressStart_IsVisible) { + switch (PressStart_IsVisible) { case FALSE: - TitleScreen_PressStart_Alpha -= 128; - if (TitleScreen_PressStart_Alpha < 0) { - TitleScreen_PressStart_Alpha = 0; + PressStart_Alpha -= 128; + if (PressStart_Alpha < 0) { + PressStart_Alpha = 0; } - TitleScreen_PressStart_BlinkCounter++; - if (TitleScreen_PressStart_BlinkCounter >= 16) { - TitleScreen_PressStart_BlinkCounter = 0; - TitleScreen_PressStart_IsVisible = TRUE; + PressStart_BlinkCounter++; + if (PressStart_BlinkCounter >= 16) { + PressStart_BlinkCounter = 0; + PressStart_IsVisible = TRUE; } break; case TRUE: - TitleScreen_PressStart_Alpha += 128; - if (TitleScreen_PressStart_Alpha > 255) { - TitleScreen_PressStart_Alpha = 255; + PressStart_Alpha += 128; + if (PressStart_Alpha > 255) { + PressStart_Alpha = 255; } - TitleScreen_PressStart_BlinkCounter++; - if (TitleScreen_PressStart_BlinkCounter >= 16) { - TitleScreen_PressStart_BlinkCounter = 0; - TitleScreen_PressStart_IsVisible = FALSE; + PressStart_BlinkCounter++; + if (PressStart_BlinkCounter >= 16) { + PressStart_BlinkCounter = 0; + PressStart_IsVisible = FALSE; } } - gSPDisplayList(gMainGfxPos++, D_80077A50); + gSPDisplayList(gMainGfxPos++, TitleSetupGfx); gDPSetCombineMode(gMainGfxPos++, G_CC_MODULATEIA_PRIM, G_CC_MODULATEIA_PRIM); - gDPSetPrimColor(gMainGfxPos++, 0, 0, 248, 240, 152, TitleScreen_PressStart_Alpha); + gDPSetPrimColor(gMainGfxPos++, 0, 0, 248, 240, 152, PressStart_Alpha); gDPPipeSync(gMainGfxPos++); gDPLoadTextureBlock(gMainGfxPos++, TitleScreen_ImgList_PressStart, G_IM_FMT_IA, G_IM_SIZ_8b, 128, VAR_1, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, @@ -480,17 +500,17 @@ void title_screen_draw_press_start(void) { #define LTT_LRT 15 #endif -void title_screen_draw_copyright(f32 arg0) { +void title_screen_draw_copyright(f32 moveAlpha) { s32 alpha; s32 i; - gSPDisplayList(gMainGfxPos++, &D_80077A50); + gSPDisplayList(gMainGfxPos++, &TitleSetupGfx); #if VERSION_JP gDPSetTextureLUT(gMainGfxPos++, G_TT_RGBA16); #endif gDPPipeSync(gMainGfxPos++); - alpha = 255.0f - (arg0 * 255.0f); + alpha = 255.0f - (moveAlpha * 255.0f); if (alpha < 255) { if (alpha < 0) { alpha = 0; diff --git a/src/status_icons.c b/src/status_icons.c index 4ce4a14c9d..28dbe2c26a 100644 --- a/src/status_icons.c +++ b/src/status_icons.c @@ -213,7 +213,7 @@ void show_merlee_message(s16 messageIndex, s16 duration) { popup->renderWorldFunc = NULL; popup->messageIndex = messageIndex; popup->duration = duration; - popup->showMsgState = 0; + popup->showMsgState = BTL_MSG_STATE_INIT; D_800A0F40 = 1; } } @@ -223,26 +223,26 @@ void update_merlee_message(void* data) { s32 closeMessage = FALSE; switch (popup->showMsgState) { - case 0: - popup->showMsgState = 1; + case BTL_MSG_STATE_INIT: + popup->showMsgState = BTL_MSG_STATE_1; break; - case 1: - popup->showMsgState = 2; + case BTL_MSG_STATE_1: + popup->showMsgState = BTL_MSG_STATE_2; break; - case 2: - if (gGameStatusPtr->pressedButtons[0] & 0xC000) { + case BTL_MSG_STATE_2: + if (gGameStatusPtr->pressedButtons[0] & (BUTTON_A | BUTTON_B)) { popup->duration = 0; } if (popup->duration != 0) { popup->duration--; } else { - popup->showMsgState = 3; + popup->showMsgState = BTL_MSG_STATE_3; } break; - case 3: - popup->showMsgState = 4; + case BTL_MSG_STATE_3: + popup->showMsgState = BTL_MSG_STATE_4; break; - case 4: + case BTL_MSG_STATE_4: closeMessage = TRUE; break; } @@ -1096,7 +1096,7 @@ void remove_status_static(s32 iconID) { } } -void enable_status_2(s32 iconID) { +void enable_status_static(s32 iconID) { HudStatusIcon* statusIcon = &D_800A0F44[iconID]; statusIcon->flags |= STATUS_ICON_FLAG_STATIC; diff --git a/src/dba20_len_350.c b/src/vars_access.c similarity index 100% rename from src/dba20_len_350.c rename to src/vars_access.c diff --git a/src/world/action/idle.c b/src/world/action/idle.c index 0e7568fad7..14ca11edb7 100644 --- a/src/world/action/idle.c +++ b/src/world/action/idle.c @@ -36,7 +36,7 @@ void action_update_idle_peach(void); void action_update_idle(void) { PlayerStatus* playerStatus = &gPlayerStatus; PlayerData* playerData = &gPlayerData; - s32 wasMoving = FALSE; + s32 firstFrame = FALSE; f32 angle, magnitude; AnimID anim; @@ -49,7 +49,7 @@ void action_update_idle(void) { if (playerStatus->flags & PS_FLAG_ACTION_STATE_CHANGED) { playerStatus->flags &= ~(PS_FLAG_ACTION_STATE_CHANGED | PS_FLAG_ARMS_RAISED | PS_FLAG_AIRBORNE); - wasMoving = TRUE; + firstFrame = TRUE; playerStatus->actionSubstate = SUBSTATE_IDLE_DEFAULT; playerStatus->curStateTime = 0; playerStatus->timeInAir = 0; @@ -71,25 +71,31 @@ void action_update_idle(void) { if (playerStatus->animFlags & PA_FLAG_RAISED_ARMS) { set_action_state(ACTION_STATE_RAISE_ARMS); - } else { - player_input_to_move_vector(&angle, &magnitude); - phys_update_interact_collider(); + return; + } - if (check_input_jump()) { - if (magnitude != 0.0f || playerStatus->targetYaw != angle) { - playerStatus->targetYaw = angle; - } - } else if (wasMoving || !check_input_hammer()) { - if (magnitude == 0.0f) { - playerData->idleFrameCounter++; - } else { - playerStatus->curStateTime = 0; - set_action_state(ACTION_STATE_WALK); - if (magnitude != 0.0f) { - playerStatus->targetYaw = angle; - playerStatus->animFlags &= ~PA_FLAG_80000000; - } - } + player_input_to_move_vector(&angle, &magnitude); + phys_update_interact_collider(); + + if (check_input_jump()) { + if (magnitude != 0.0f || playerStatus->targetYaw != angle) { + playerStatus->targetYaw = angle; + } + return; + } + + if (!firstFrame && check_input_hammer()) { + return; + } + + if (magnitude == 0.0f) { + playerData->idleFrameCounter++; + } else { + playerStatus->curStateTime = 0; + set_action_state(ACTION_STATE_WALK); + if (magnitude != 0.0f) { + playerStatus->targetYaw = angle; + playerStatus->animFlags &= ~PA_FLAG_80000000; } } } @@ -123,7 +129,8 @@ void action_update_idle_peach(void) { switch (playerStatus->actionSubstate) { case SUBSTATE_IDLE_DEFAULT: if (!(playerStatus->flags & (PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_INPUT_DISABLED)) - && (playerStatus->peachItemHeld == 0)) { + && (playerStatus->peachItemHeld == PEACH_BAKING_NONE) + ) { if (playerStatus->curStateTime > 1800) { // begin first yawm playerStatus->actionSubstate++; diff --git a/src/world/action/misc.c b/src/world/action/misc.c index e2d160ee38..a9a4892f3c 100644 --- a/src/world/action/misc.c +++ b/src/world/action/misc.c @@ -55,7 +55,7 @@ void action_update_state_23(void) { playerStatus->peakJumpTime = 0; playerStatus->curSpeed = 0.0f; playerStatus->pitch = 0.0f; - D_802B6770_E27C80 = D_8010C938; + D_802B6770_E27C80 = PlayerNormalYaw; } switch (playerStatus->actionSubstate) { @@ -67,7 +67,7 @@ void action_update_state_23(void) { return; } - sin_cos_rad(DEG_TO_RAD(D_8010C990), &sinTheta, &cosTheta); + sin_cos_rad(DEG_TO_RAD(PlayerNormalPitch), &sinTheta, &cosTheta); miscTempVariable = 3.0f; miscTempVariable = sinTheta * miscTempVariable; @@ -109,7 +109,7 @@ void action_update_state_23(void) { miscTempVariable = 60.0f; } - if (D_8010C990 < miscTempVariable) { + if (PlayerNormalPitch < miscTempVariable) { set_action_state(ACTION_STATE_FALLING); gravity_use_fall_parms(); } @@ -221,7 +221,7 @@ void action_update_talk(void) { if (!(playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS)) { suggest_player_anim_always_forward(ANIM_MarioW2_SpeakUp); - } else if (playerStatus->peachItemHeld == 0) { + } else if (playerStatus->peachItemHeld == PEACH_BAKING_NONE) { if (!(playerStatus->animFlags & PA_FLAG_INVISIBLE)) { suggest_player_anim_always_forward(ANIM_Peach2_RaiseArms); } else { @@ -234,7 +234,7 @@ void action_update_talk(void) { if (playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS) { if (playerStatus->curStateTime != 0) { playerStatus->curStateTime--; - } else if (playerStatus->peachItemHeld == 0) { + } else if (playerStatus->peachItemHeld == PEACH_BAKING_NONE) { if (!(playerStatus->animFlags & PA_FLAG_INVISIBLE)) { suggest_player_anim_always_forward(ANIM_Peach1_Idle); } else { diff --git a/src/world/action/walk.c b/src/world/action/walk.c index 0881254896..07bf721483 100644 --- a/src/world/action/walk.c +++ b/src/world/action/walk.c @@ -30,22 +30,20 @@ static void action_update_walk_peach(void); void action_update_walk(void) { PlayerStatus* playerStatus = &gPlayerStatus; PlayerData* playerData = &gPlayerData; - f32 moveVectorMagnitude; - f32 moveVectorAngle; - s32 stickAxisX; - s32 stickAxisY; + b32 firstFrame = FALSE; + f32 moveMag; + f32 moveAngle; AnimID anim; - s32 changedAnim = FALSE; + if (playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS) { action_update_walk_peach(); return; } if (playerStatus->flags & PS_FLAG_ACTION_STATE_CHANGED) { - playerStatus->flags &= ~( - PS_FLAG_ACTION_STATE_CHANGED | PS_FLAG_SCRIPTED_FALL | PS_FLAG_ARMS_RAISED); + playerStatus->flags &= ~(PS_FLAG_ACTION_STATE_CHANGED | PS_FLAG_SCRIPTED_FALL | PS_FLAG_ARMS_RAISED); playerStatus->unk_60 = 0; - changedAnim = TRUE; + firstFrame = TRUE; if (!(playerStatus->flags & PS_FLAG_CUTSCENE_MOVEMENT)) { playerStatus->curSpeed = playerStatus->walkSpeed; @@ -53,11 +51,9 @@ void action_update_walk(void) { if (playerStatus->animFlags & PA_FLAG_8BIT_MARIO) { anim = ANIM_MarioW3_8bit_Run; - } - else if (!(playerStatus->animFlags & PA_FLAG_USING_WATT)) { + } else if (!(playerStatus->animFlags & PA_FLAG_USING_WATT)) { anim = ANIM_Mario1_Walk; - } - else { + } else { anim = ANIM_MarioW1_CarryWalk; } suggest_player_anim_allow_backward(anim); @@ -69,81 +65,78 @@ void action_update_walk(void) { return; } - player_input_to_move_vector(&moveVectorAngle, &moveVectorMagnitude); + player_input_to_move_vector(&moveAngle, &moveMag); phys_update_interact_collider(); - if (!check_input_jump()) { - if (changedAnim != 0 || !check_input_hammer()) { - player_input_to_move_vector(&moveVectorAngle, &moveVectorMagnitude); - if (moveVectorMagnitude == 0.0f) { - set_action_state(ACTION_STATE_IDLE); - return; - } + if (check_input_jump()) { + return; + } - if (fabsf(PrevPlayerCamRelativeYaw - moveVectorAngle) <= 90.0f && abs(moveVectorMagnitude - D_800F7B44) < 20) { - if (!(playerStatus->animFlags & PA_FLAG_80000000)) { - if (moveVectorMagnitude >= 20.0f) { - playerStatus->targetYaw = moveVectorAngle; - } - } - playerStatus->animFlags &= ~PA_FLAG_80000000; - } else { - if (playerStatus->animFlags & PA_FLAG_80000000) { - playerStatus->targetYaw = moveVectorAngle; - } else { - playerStatus->animFlags |= PA_FLAG_80000000; - } - } + if (!firstFrame && check_input_hammer()) { + return; + } - if (!is_ability_active(ABILITY_SLOW_GO)) { - stickAxisX = playerStatus->stickAxis[0]; - stickAxisY = playerStatus->stickAxis[1]; - if (SQ(stickAxisX) + SQ(stickAxisY) > SQ(55)) { - set_action_state(ACTION_STATE_RUN); - return; - } - } + player_input_to_move_vector(&moveAngle, &moveMag); + if (moveMag == 0.0f) { + set_action_state(ACTION_STATE_IDLE); + return; + } - try_player_footstep_sounds(8); - playerData->walkingStepsTaken++; + if (fabsf(PrevPlayerCamRelativeYaw - moveAngle) <= 90.0f && abs(moveMag - D_800F7B44) < 20) { + if (!(playerStatus->animFlags & PA_FLAG_80000000)) { + if (moveMag >= 20.0f) { + playerStatus->targetYaw = moveAngle; + } + } + playerStatus->animFlags &= ~PA_FLAG_80000000; + } else { + if (playerStatus->animFlags & PA_FLAG_80000000) { + playerStatus->targetYaw = moveAngle; + } else { + playerStatus->animFlags |= PA_FLAG_80000000; } } + + if (!is_ability_active(ABILITY_SLOW_GO)) { + if (SQ(playerStatus->stickAxis[0]) + SQ(playerStatus->stickAxis[1]) > SQ(55)) { + set_action_state(ACTION_STATE_RUN); + return; + } + } + + try_player_footstep_sounds(8); + playerData->walkingStepsTaken++; } void action_update_run(void) { PlayerStatus* playerStatus = &gPlayerStatus; PlayerData* playerData = &gPlayerData; - f32 moveX; - f32 moveY; - s32 temp_v1; + b32 firstFrame = FALSE; + f32 moveAngle; + f32 moveMag; AnimID anim; f32 runSpeedModifier; - s32 phi_s3; - phi_s3 = 0; if (playerStatus->animFlags & PA_FLAG_USING_PEACH_PHYSICS) { action_update_run_peach(); return; } if (playerStatus->flags & PS_FLAG_ACTION_STATE_CHANGED) { - playerStatus->flags &= ~(PS_FLAG_ACTION_STATE_CHANGED | - PS_FLAG_SCRIPTED_FALL | PS_FLAG_ARMS_RAISED); - D_8010C980 = 0; + playerStatus->flags &= ~(PS_FLAG_ACTION_STATE_CHANGED | PS_FLAG_SCRIPTED_FALL | PS_FLAG_ARMS_RAISED); + PlayerRunStateTime = 0; playerStatus->unk_60 = 0; - phi_s3 = 1; + firstFrame = TRUE; if (!(playerStatus->flags & PS_FLAG_CUTSCENE_MOVEMENT)) { playerStatus->curSpeed = playerStatus->runSpeed; } if (playerStatus->animFlags & PA_FLAG_8BIT_MARIO) { anim = ANIM_MarioW3_8bit_Run; + } else if (!(playerStatus->animFlags & PA_FLAG_USING_WATT)) { + anim = ANIM_Mario1_Run; } else { - if (!(playerStatus->animFlags & PA_FLAG_USING_WATT)) { - anim = ANIM_Mario1_Run; - } else { - anim = ANIM_MarioW1_CarryRun; - } + anim = ANIM_MarioW1_CarryRun; } suggest_player_anim_allow_backward(anim); } @@ -154,7 +147,7 @@ void action_update_run(void) { return; } - D_8010C980++; + PlayerRunStateTime++; runSpeedModifier = 1.0f; if (playerStatus->animFlags & PA_FLAG_SPINNING) { @@ -162,46 +155,47 @@ void action_update_run(void) { } playerStatus->curSpeed = playerStatus->runSpeed * runSpeedModifier; - player_input_to_move_vector(&moveX, &moveY); + player_input_to_move_vector(&moveAngle, &moveMag); phys_update_interact_collider(); - if (check_input_jump() == FALSE) { - if (phi_s3 == 0) { - if (check_input_hammer()) { - return; - } - } - player_input_to_move_vector(&moveX, &moveY); - if (moveY == 0.0f) { - set_action_state(ACTION_STATE_IDLE); - return; - } + if (check_input_jump()) { + return; + } - if (fabsf(PrevPlayerCamRelativeYaw - moveX) <= 90.0f) { - if (!(playerStatus->animFlags & PA_FLAG_80000000)) { - playerStatus->targetYaw = moveX; - } - playerStatus->animFlags &= ~PA_FLAG_80000000; + if (!firstFrame && check_input_hammer()) { + return; + } + + player_input_to_move_vector(&moveAngle, &moveMag); + if (moveMag == 0.0f) { + set_action_state(ACTION_STATE_IDLE); + return; + } + + if (fabsf(PrevPlayerCamRelativeYaw - moveAngle) <= 90.0f) { + if (!(playerStatus->animFlags & PA_FLAG_80000000)) { + playerStatus->targetYaw = moveAngle; + } + playerStatus->animFlags &= ~PA_FLAG_80000000; + } else { + if (playerStatus->animFlags & PA_FLAG_80000000) { + playerStatus->targetYaw = moveAngle; } else { - if (playerStatus->animFlags & PA_FLAG_80000000) { - playerStatus->targetYaw = moveX; - } else { - playerStatus->animFlags |= PA_FLAG_80000000; - } + playerStatus->animFlags |= PA_FLAG_80000000; } + } - if (!is_ability_active(ABILITY_SLOW_GO)) { - if (sqrtf(SQ(playerStatus->stickAxis[0]) + SQ(playerStatus->stickAxis[1])) <= 55.0f) { - set_action_state(ACTION_STATE_WALK); - return; - } - } else { + if (!is_ability_active(ABILITY_SLOW_GO)) { + if (sqrtf(SQ(playerStatus->stickAxis[0]) + SQ(playerStatus->stickAxis[1])) <= 55.0f) { set_action_state(ACTION_STATE_WALK); return; } - try_player_footstep_sounds(4); - playerData->runningStepsTaken++; + } else { + set_action_state(ACTION_STATE_WALK); + return; } + try_player_footstep_sounds(4); + playerData->runningStepsTaken++; } void func_802B6550_E23C30(void) { @@ -244,9 +238,11 @@ static void action_update_walk_peach(void) { } playerStatus->targetYaw = angle; - if (gGameStatusPtr->peachBakingIngredient == 0 && sqrtf(SQ(playerStatus->stickAxis[0]) + SQ(playerStatus->stickAxis[1])) > 55.0f) { - set_action_state(ACTION_STATE_RUN); - return; + if (gGameStatusPtr->peachBakingIngredient == PEACH_BAKING_NONE) { + if (sqrtf(SQ(playerStatus->stickAxis[0]) + SQ(playerStatus->stickAxis[1])) > 55.0f) { + set_action_state(ACTION_STATE_RUN); + return; + } } try_player_footstep_sounds(8); 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 5f9008e88e..006e193cf3 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 @@ -327,7 +327,7 @@ EvtScript N(EVS_TubbaWalking) = { EvtScript N(EVS_Scene_TubbaRaid) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(NpcFacePlayer, NPC_Boo_03, 1) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_03, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Boo_03, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_CALL(GetNpcPos, NPC_Boo_03, LVar0, LVar1, LVar2) @@ -352,10 +352,10 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_CALL(SpeakToPlayer, NPC_Boo_03, ANIM_Boo_Tan_Talk, ANIM_Boo_Tan_Idle, 0, MSG_CH3_00A0) EVT_CALL(PlaySoundAt, SOUND_20F6, SOUND_SPACE_DEFAULT, 450, 200, 160) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20, EVT_FLOAT(0.8)) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_01, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_02, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_03, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_05, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_05, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Boo_01, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(ShowEmote, NPC_Boo_02, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(ShowEmote, NPC_Boo_03, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) @@ -435,8 +435,8 @@ EvtScript N(EVS_Scene_TubbaRaid) = { EVT_CALL(NpcFaceNpc, NPC_Boo_01, NPC_Tubba, 1) EVT_CALL(NpcFaceNpc, NPC_Boo_02, NPC_Tubba, 1) EVT_CALL(SetNpcPos, NPC_Boo_03, 272, 190, 214) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_01, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_02, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Boo_01, EMOTE_EXCLAMATION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(ShowEmote, NPC_Boo_02, EMOTE_EXCLAMATION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_THREAD diff --git a/src/world/area_arn/arn_07/arn_07_4_entity.c b/src/world/area_arn/arn_07/arn_07_4_entity.c index 40fed7d8cd..fccfddf8bf 100644 --- a/src/world/area_arn/arn_07/arn_07_4_entity.c +++ b/src/world/area_arn/arn_07/arn_07_4_entity.c @@ -26,7 +26,7 @@ EvtScript N(EVS_UnlockDoor) = { EVT_CALL(CloseChoicePopup) EVT_SET(GB_StoryProgress, STORY_CH3_UNLOCKED_WINDY_MILL) EVT_CALL(N(GetEntityPosition), MV_Unk_00, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Unk_00) EVT_CALL(N(RemovePadlock)) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) diff --git a/src/world/area_dgb/dgb_00/dgb_00_3_npc.c b/src/world/area_dgb/dgb_00/dgb_00_3_npc.c index eecd70460d..705a19f419 100644 --- a/src/world/area_dgb/dgb_00/dgb_00_3_npc.c +++ b/src/world/area_dgb/dgb_00/dgb_00_3_npc.c @@ -266,12 +266,12 @@ EvtScript N(EVS_Scene_BoosApproachManor) = { EvtScript N(EVS_Scene_EscapeFromTubba) = { EVT_CALL(SetPlayerSpeed, EVT_FLOAT(8.0 / DT)) EVT_CALL(PlayerMoveTo, 184, -44, 0) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_01, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_02, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_03, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_04, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_05, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Boo_06, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_04, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_05, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Boo_06, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Boo_01, EMOTE_EXCLAMATION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(ShowEmote, NPC_Boo_02, EMOTE_EXCLAMATION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(ShowEmote, NPC_Boo_03, EMOTE_EXCLAMATION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) diff --git a/src/world/area_dgb/dgb_01/dgb_01_4_entity.c b/src/world/area_dgb/dgb_01/dgb_01_4_entity.c index 8d3464b451..b7a66489ee 100644 --- a/src/world/area_dgb/dgb_01/dgb_01_4_entity.c +++ b/src/world/area_dgb/dgb_01/dgb_01_4_entity.c @@ -24,7 +24,7 @@ EvtScript N(EVS_UnlockPrompt_Door) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_DGB01_UnlockedEastWing, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_RESUME_GROUP(EVT_GROUP_01) diff --git a/src/world/area_dgb/dgb_01/dgb_01_5_npc.c b/src/world/area_dgb/dgb_01/dgb_01_5_npc.c index 35f104c6ff..7b6807011f 100644 --- a/src/world/area_dgb/dgb_01/dgb_01_5_npc.c +++ b/src/world/area_dgb/dgb_01/dgb_01_5_npc.c @@ -66,7 +66,7 @@ EvtScript N(EVS_NpcIdle_Tubba_Floor3) = { EVT_CALL(SetNpcJumpscale, NPC_Tubba, EVT_FLOAT(1.0)) EVT_CALL(GetNpcPos, NPC_Tubba, LVar0, LVar1, LVar2) EVT_CALL(NpcJump0, NPC_Tubba, LVar0, LVar1, LVar2, 30) - EVT_CALL(PlaySoundAtNpc, NPC_Tubba, SOUND_20A0, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Tubba, SOUND_LARGE_NPC_IMPACT, SOUND_SPACE_DEFAULT) EVT_CALL(PlaySound, SOUND_LOOP_DGB_COLLAPSE) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 15, EVT_FLOAT(4.0)) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 15, EVT_FLOAT(2.0)) diff --git a/src/world/area_dgb/dgb_03/dgb_03_4_entity.c b/src/world/area_dgb/dgb_03/dgb_03_4_entity.c index 6e78dddd05..558f09b3dc 100644 --- a/src/world/area_dgb/dgb_03/dgb_03_4_entity.c +++ b/src/world/area_dgb/dgb_03/dgb_03_4_entity.c @@ -24,7 +24,7 @@ EvtScript N(EVS_UnlockPrompt_UpperDoor) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_DGB03_UnlockedThirdFloor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_RESUME_GROUP(EVT_GROUP_01) diff --git a/src/world/area_dgb/dgb_15/dgb_15_4_entity.c b/src/world/area_dgb/dgb_15/dgb_15_4_entity.c index 2c9d17fbb8..9f17c052b9 100644 --- a/src/world/area_dgb/dgb_15/dgb_15_4_entity.c +++ b/src/world/area_dgb/dgb_15/dgb_15_4_entity.c @@ -24,7 +24,7 @@ EvtScript N(EVS_UnlockPrompt_Door) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_DGB15_UnlockedUpperFoyer, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_RESUME_GROUP(EVT_GROUP_01) diff --git a/src/world/area_dro/dro_01/npc_shop_owner.c b/src/world/area_dro/dro_01/npc_shop_owner.c index 5b9efde526..8bde304fe9 100644 --- a/src/world/area_dro/dro_01/npc_shop_owner.c +++ b/src/world/area_dro/dro_01/npc_shop_owner.c @@ -58,7 +58,7 @@ EvtScript N(EVS_NpcIdle_ShopOwner) = { EVT_CALL(NpcMoveTo, NPC_SELF, 103, 11, 20 * DT) EVT_CALL(NpcMoveTo, NPC_SELF, 150, 18, 20 * DT) EVT_CALL(EnableNpcBlur, NPC_SELF, TRUE) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0174, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_RUN_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(NpcMoveTo, NPC_SELF, 554, -12, 20 * DT) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_WAIT(30 * DT) @@ -75,7 +75,7 @@ EvtScript N(EVS_NpcIdle_ShopOwner) = { EVT_CASE_LT(STORY_CH2_SHADY_MOUSE_ENTERED_SHOP) EVT_CALL(EnableNpcBlur, NPC_SELF, TRUE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Mouser_Purple_Run) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0174, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_RUN_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcPos, NPC_SELF, 470, 0, 18) EVT_CALL(NpcMoveTo, NPC_SELF, 287, 9, 20 * DT) EVT_CALL(NpcMoveTo, NPC_SELF, 102, -14, 20 * DT) diff --git a/src/world/area_dro/dro_02/dro_02_5_npc.c b/src/world/area_dro/dro_02/dro_02_5_npc.c index 7d3199b1fb..ad5ee3ffbd 100644 --- a/src/world/area_dro/dro_02/dro_02_5_npc.c +++ b/src/world/area_dro/dro_02/dro_02_5_npc.c @@ -269,7 +269,7 @@ EvtScript N(EVS_NpcIdle_Mouser_03) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Mouser_Purple_Run) EVT_CALL(NpcMoveTo, NPC_SELF, 150, 18, 20) EVT_CALL(EnableNpcBlur, NPC_SELF, TRUE) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0174, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_RUN_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(NpcMoveTo, NPC_SELF, -83, 11, 20 * DT) EVT_CALL(NpcMoveTo, NPC_SELF, -239, 5, 20 * DT) EVT_CALL(NpcMoveTo, NPC_SELF, -371, 5, 20 * DT) diff --git a/src/world/area_end/end_01/end_01_7_peach_float.c b/src/world/area_end/end_01/end_01_7_peach_float.c index 93c6070114..d077727f98 100644 --- a/src/world/area_end/end_01/end_01_7_peach_float.c +++ b/src/world/area_end/end_01/end_01_7_peach_float.c @@ -2,12 +2,12 @@ EvtScript N(EVS_ParadePhase_Toads1) = { EVT_WAIT(10) - EVT_CALL(SetNpcPaletteSwapMode, NPC_HornPlayer1, 3) - EVT_CALL(SetNpcPaletteSwapMode, NPC_HornPlayer2, 3) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Drummer1, 3) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Drummer2, 3) - EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer1, 4) - EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer2, 4) + EVT_CALL(SetNpcPaletteSwapMode, NPC_HornPlayer1, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_HornPlayer2, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Drummer1, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Drummer2, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer1, NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES) + EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer2, NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES) EVT_CALL(SetNpcPaletteSwapping, NPC_HornPlayer1, 1, 2, 10, 5, 10, 5, 0, 0) EVT_CALL(SetNpcPaletteSwapping, NPC_HornPlayer2, 1, 2, 10, 5, 10, 5, 0, 0) EVT_CALL(SetNpcPaletteSwapping, NPC_Drummer1, 1, 2, 10, 5, 10, 5, 0, 0) @@ -268,11 +268,11 @@ EvtScript N(EVS_StandardBearer) = { }; EvtScript N(EVS_ParadePhase_Toads2) = { - EVT_CALL(SetNpcPaletteSwapMode, NPC_Twirler1, 4) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Twirler2, 4) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Twirler3, 4) - EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer3, 4) - EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer4, 4) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Twirler1, NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Twirler2, NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Twirler3, NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES) + EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer3, NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES) + EVT_CALL(SetNpcPaletteSwapMode, NPC_StandardBearer4, NPC_PAL_ADJUST_BLEND_DOUBLE_PALETTES) EVT_CALL(SetNpcPaletteSwapping, NPC_Twirler1, 1, 2, 10, 5, 10, 5, 4, 5) EVT_CALL(SetNpcPaletteSwapping, NPC_Twirler2, 1, 2, 10, 5, 10, 5, 4, 5) EVT_CALL(SetNpcPaletteSwapping, NPC_Twirler3, 1, 2, 10, 5, 10, 5, 4, 5) 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 6206984ebe..a3bd8f4bf7 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 @@ -252,7 +252,7 @@ EvtScript N(EVS_Exit_Beanstalk) = { EVT_CALL(PlayerMoveTo, LVar9, LVarB, 8) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_PARTNER, LVarC, LVarD, LVarE, 5) - EVT_CALL(PlaySound, SOUND_019C) + EVT_CALL(PlaySound, SOUND_FLO_RIDE_BEANSTALK_UP_LOOP) EVT_CALL(SetMusicTrack, 0, SONG_MAGIC_BEANSTALK, 1, 8) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Walk) @@ -352,7 +352,7 @@ EvtScript N(EVS_Enter_Beanstalk) = { EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o261, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o351, COLLIDER_FLAGS_UPPER_MASK) EVT_SET(AF_FLO_RidingBeanstalk, FALSE) - EVT_CALL(StopSound, SOUND_019D) + EVT_CALL(StopSound, SOUND_FLO_RIDE_BEANSTALK_DOWN_LOOP) EVT_EXEC_WAIT(N(EVS_SetupMusic)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_CALL(DisablePlayerInput, FALSE) @@ -361,7 +361,7 @@ EvtScript N(EVS_Enter_Beanstalk) = { }; EvtScript N(EVS_Scene_BeanstalkGrowing) = { - EVT_CALL(PlaySoundAtCollider, COLLIDER_o261, SOUND_019B, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o261, SOUND_FLO_BEANSTALK_START_GROWING, SOUND_SPACE_DEFAULT) EVT_SET(LVarF, 0) EVT_LOOP(100) EVT_ADD(LVarF, 1) diff --git a/src/world/area_flo/flo_03/flo_03_3_npc.c b/src/world/area_flo/flo_03/flo_03_3_npc.c index a244e283bc..d9d4e23e9e 100644 --- a/src/world/area_flo/flo_03/flo_03_3_npc.c +++ b/src/world/area_flo/flo_03/flo_03_3_npc.c @@ -171,7 +171,7 @@ EvtScript N(EVS_NpcInteract_Petunia) = { EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_BURROW_SURFACE, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcAnimation, NPC_MontyMole_01, ANIM_MontyMole_Dark_Anim16) EVT_WAIT(10 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_01, EMOTE_QUESTION, -45, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(GetNpcPos, NPC_MontyMole_02, LVar0, LVar1, LVar2) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Petunia_AngryTalk, ANIM_Petunia_Angry, 0, MSG_CH6_0052) @@ -226,7 +226,7 @@ EvtScript N(EVS_NpcInteract_Petunia) = { EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_CALL(SetNpcAnimation, NPC_Dayzee, ANIM_Dayzee_Anim0D) - EVT_CALL(PlaySoundAtNpc, NPC_Dayzee, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Dayzee, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Dayzee, EMOTE_EXCLAMATION, 45, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15 * DT) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Petunia_AngryTalk, ANIM_Petunia_Angry, 0, MSG_CH6_0056) @@ -401,7 +401,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_01) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_01, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) @@ -480,7 +480,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_02) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_02, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_02, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) @@ -559,7 +559,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_03) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_03, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_03, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) @@ -638,7 +638,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_04) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_04, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_04, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_04, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) diff --git a/src/world/area_flo/flo_07/flo_07_1_music.c b/src/world/area_flo/flo_07/flo_07_1_music.c index edf315c69c..0bf6139960 100644 --- a/src/world/area_flo/flo_07/flo_07_1_music.c +++ b/src/world/area_flo/flo_07/flo_07_1_music.c @@ -12,7 +12,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_CALL(SetMusicTrack, 0, SONG_FLOWER_FIELDS_SUNNY, 0, 8) EVT_END_SWITCH EVT_END_IF - EVT_CALL(PlaySound, SOUND_LOOP_21) + EVT_CALL(PlaySound, SOUND_LOOP_FLO_WATER_FLOW_1) EVT_RETURN EVT_END }; diff --git a/src/world/area_flo/flo_07/flo_07_3_npc.c b/src/world/area_flo/flo_07/flo_07_3_npc.c index 5e9813e0f1..9073de80af 100644 --- a/src/world/area_flo/flo_07/flo_07_3_npc.c +++ b/src/world/area_flo/flo_07/flo_07_3_npc.c @@ -47,7 +47,7 @@ EvtScript N(EVS_MakeCrystalBerry) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.5 / DT)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_END_THREAD - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_EXEC_GET_TID(N(EVS_ShakeGround), MV_GroundShakingScript) EVT_CALL(SpeakToPlayer, NPC_Posie, ANIM_Posie_Strain, ANIM_Posie_Strain, 0, MSG_CH6_0069) EVT_KILL_THREAD(MV_GroundShakingScript) @@ -65,8 +65,8 @@ EvtScript N(EVS_MakeCrystalBerry) = { EVT_CALL(MakeItemEntity, ITEM_CRYSTAL_BERRY, -265, 100, 54, ITEM_SPAWN_MODE_FALL_NEVER_VANISH, GF_FLO07_Item_CrystalBerry) EVT_SET(GF_FLO07_CrystalBerryFellOnLeftSide, TRUE) EVT_END_IF - EVT_CALL(PlaySound, SOUND_LRAW_03BC | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(StopTrackingSoundPos, SOUND_LRAW_03BC) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(StopTrackingSoundPos, SOUND_LRAW_RUMBLE) EVT_SET(AF_FLO_MadeCrystalBerry, TRUE) EVT_WAIT(20 * DT) EVT_CALL(SpeakToPlayer, NPC_Posie, ANIM_Posie_Talk, ANIM_Posie_Idle, 0, MSG_CH6_006A) diff --git a/src/world/area_flo/flo_10/flo_10_1_music.c b/src/world/area_flo/flo_10/flo_10_1_music.c index 56146a6b0f..5289a4af6f 100644 --- a/src/world/area_flo/flo_10/flo_10_1_music.c +++ b/src/world/area_flo/flo_10/flo_10_1_music.c @@ -13,7 +13,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_END_SWITCH EVT_END_IF EVT_IF_GE(GB_StoryProgress, STORY_CH6_FILLED_SPRING_WITH_WATER) - EVT_CALL(PlaySound, SOUND_LOOP_22) + EVT_CALL(PlaySound, SOUND_LOOP_FLO_WATER_FLOW_2) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/world/area_flo/flo_10/flo_10_4_fountain.c b/src/world/area_flo/flo_10/flo_10_4_fountain.c index 2ab6e58b83..f8c405074e 100644 --- a/src/world/area_flo/flo_10/flo_10_4_fountain.c +++ b/src/world/area_flo/flo_10/flo_10_4_fountain.c @@ -189,7 +189,7 @@ EvtScript N(EVS_Scene_ReleaseFountain) = { EVT_CALL(EnableGroup, MODEL_g31, TRUE) EVT_EXEC_WAIT(N(EVS_UnleashFountain)) EVT_WAIT(20) - EVT_CALL(PlaySound, SOUND_LOOP_24) + EVT_CALL(PlaySound, SOUND_LOOP_FLO_RELEASE_FOUNTAIN) EVT_WAIT(360) EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_Flail) diff --git a/src/world/area_flo/flo_10/flo_10_5_npc.c b/src/world/area_flo/flo_10/flo_10_5_npc.c index 3752942d7c..d5547bd893 100644 --- a/src/world/area_flo/flo_10/flo_10_5_npc.c +++ b/src/world/area_flo/flo_10/flo_10_5_npc.c @@ -137,7 +137,7 @@ EvtScript N(EVS_NpcInteract_Lily) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Lily_TalkPlead, ANIM_Lily_IdlePlead, 5, MSG_CH6_0079) EVT_CALL(NpcFacePlayer, NPC_SELF, 1) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Lily_Idle) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15 * DT) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Lily_Idle, ANIM_Lily_Idle, 0, MSG_CH6_007A) diff --git a/src/world/area_flo/flo_14/flo_14_3_bubbles.c b/src/world/area_flo/flo_14/flo_14_3_bubbles.c index b09e617aa5..4dd05c646f 100644 --- a/src/world/area_flo/flo_14/flo_14_3_bubbles.c +++ b/src/world/area_flo/flo_14/flo_14_3_bubbles.c @@ -63,7 +63,7 @@ API_CALLABLE(N(UpdateBubbleSoundPos)) { script->functionTemp[0] = evt_get_variable(script, *args++); script->functionTemp[1] = evt_get_variable(script, *args++); script->functionTemp[2] = evt_get_variable(script, *args++); - sfx_adjust_env_sound_pos(SOUND_LRAW_0194, SOUND_SPACE_DEFAULT, script->functionTemp[0], script->functionTemp[1], script->functionTemp[2]); + sfx_adjust_env_sound_pos(SOUND_LRAW_BUBBLE_DRIFT, SOUND_SPACE_DEFAULT, script->functionTemp[0], script->functionTemp[1], script->functionTemp[2]); return ApiStatus_DONE2; } @@ -85,7 +85,7 @@ Vec3f N(BubbleFlightPath)[] = { EvtScript N(EVS_BubbleFollowPath) = { EVT_WAIT(20) - EVT_CALL(PlaySound, SOUND_LOOP_23) + EVT_CALL(PlaySound, SOUND_LOOP_BUBBLE_DRIFT) EVT_CALL(LoadPath, 165, EVT_PTR(N(BubbleFlightPath)), ARRAY_COUNT(N(BubbleFlightPath)), EASING_COS_IN_OUT) EVT_LABEL(0) EVT_CALL(GetNextPathPos) @@ -98,7 +98,7 @@ EvtScript N(EVS_BubbleFollowPath) = { EVT_IF_EQ(LVar0, 1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(StopSound, SOUND_LOOP_23) + EVT_CALL(StopSound, SOUND_LOOP_BUBBLE_DRIFT) EVT_RETURN EVT_END }; @@ -159,7 +159,7 @@ EvtScript N(EVS_RideBigBubble) = { }; EvtScript N(EVS_BlowBigBubble) = { - EVT_CALL(PlaySoundAt, SOUND_0193, SOUND_SPACE_DEFAULT, 591, 55, 121) + EVT_CALL(PlaySoundAt, SOUND_FLO_BLOW_BUBBLE, SOUND_SPACE_DEFAULT, 591, 55, 121) EVT_CALL(EnableModel, MODEL_o167, TRUE) EVT_SETF(LVar2, EVT_FLOAT(1.0)) EVT_SETF(LVar4, EVT_FLOAT(0.0)) diff --git a/src/world/area_flo/flo_15/flo_15_3_npc.c b/src/world/area_flo/flo_15/flo_15_3_npc.c index 0c464f2b84..46228e6fa3 100644 --- a/src/world/area_flo/flo_15/flo_15_3_npc.c +++ b/src/world/area_flo/flo_15/flo_15_3_npc.c @@ -184,8 +184,8 @@ EvtScript N(EVS_NpcInit_Sun_01) = { EvtScript N(EVS_NpcInit_Sun_02) = { EVT_CALL(EnableNpcShadow, NPC_Sun_02, FALSE) EVT_CALL(SetNpcAnimation, NPC_Sun_02, ANIM_Sun_FireIdle) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_01, 3) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_02, 3) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_01, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_02, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetNpcPaletteSwapping, NPC_Sun_01, 0, 1, 5, 5, 13, 5, 0, 0) EVT_CALL(SetNpcPaletteSwapping, NPC_Sun_02, 0, 1, 5, 5, 13, 5, 0, 0) EVT_IF_LT(GB_StoryProgress, STORY_CH6_DESTROYED_PUFF_PUFF_MACHINE) diff --git a/src/world/area_flo/flo_15/flo_15_5_stairs.c b/src/world/area_flo/flo_15/flo_15_5_stairs.c index 686b446b49..242bfcf270 100644 --- a/src/world/area_flo/flo_15/flo_15_5_stairs.c +++ b/src/world/area_flo/flo_15/flo_15_5_stairs.c @@ -44,7 +44,7 @@ EvtScript N(EVS_MonitorFallingStairs) = { EVT_END_THREAD EVT_THREAD EVT_LOOP(6) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o175, SOUND_0187, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o175, SOUND_FLO_STAIRS_LOWERING, SOUND_SPACE_DEFAULT) EVT_WAIT(20) EVT_END_LOOP EVT_END_THREAD diff --git a/src/world/area_flo/flo_18/flo_18_3_machine.c b/src/world/area_flo/flo_18/flo_18_3_machine.c index 39ba2e46e7..4050c7e04e 100644 --- a/src/world/area_flo/flo_18/flo_18_3_machine.c +++ b/src/world/area_flo/flo_18/flo_18_3_machine.c @@ -577,11 +577,11 @@ EvtScript N(EVS_DamageMachine) = { EVT_USE_BUF(EVT_PTR(N(SmokeBurstPositions))) EVT_LOOP(ARRAY_COUNT(N(SmokeBurstPositions))) EVT_BUF_READ3(LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0190, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_SMOKE_BURST, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, 1, 6) EVT_WAIT(2) EVT_ADD(LVar1, 5) - EVT_CALL(PlaySoundAt, SOUND_0190, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_SMOKE_BURST, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, 2, 15) EVT_WAIT(LVar3) EVT_ADD(LVar3, 1) @@ -591,7 +591,7 @@ EvtScript N(EVS_DamageMachine) = { EVT_USE_BUF(EVT_PTR(N(SmokeBurstPositions))) EVT_LOOP(ARRAY_COUNT(N(SmokeBurstPositions))) EVT_BUF_READ3(LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0190, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_SMOKE_BURST, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, 1, 25) EVT_WAIT(LVar3) EVT_ADD(LVar3, LVar4) @@ -599,10 +599,10 @@ EvtScript N(EVS_DamageMachine) = { EVT_END_LOOP EVT_END_LOOP EVT_END_THREAD - EVT_CALL(PlaySoundAt, SOUND_01A0, SOUND_SPACE_DEFAULT, 70, 40, 10) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_EXPLODE, SOUND_SPACE_DEFAULT, 70, 40, 10) EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, 70, 40, 10, EVT_FLOAT(3.0), 30) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20, EVT_FLOAT(1.0)) - EVT_CALL(PlaySoundAt, SOUND_01A0, SOUND_SPACE_DEFAULT, 0, 30, 30) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_EXPLODE, SOUND_SPACE_DEFAULT, 0, 30, 30) EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, 0, 30, 30, EVT_FLOAT(4.0), 40) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(N(EVS_BreakSmokestack)) diff --git a/src/world/area_flo/flo_18/flo_18_4_npc.c b/src/world/area_flo/flo_18/flo_18_4_npc.c index 87cf51d09c..ac0f06f36b 100644 --- a/src/world/area_flo/flo_18/flo_18_4_npc.c +++ b/src/world/area_flo/flo_18/flo_18_4_npc.c @@ -89,7 +89,7 @@ EvtScript N(EVS_Scene_LakilesterLikesBeingGood) = { EvtScript N(EVS_GangRetreat) = { EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_FlyingMagikoopa, SOUND_019E, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_FlyingMagikoopa, SOUND_FLO_MAGIKOOPA_FLY_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcFlagBits, NPC_FlyingMagikoopa, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(InterpNpcYaw, NPC_FlyingMagikoopa, 270, 0) EVT_CALL(LoadPath, 60 * DT, EVT_PTR(N(RetreatPath_Magikoopa)), ARRAY_COUNT(N(RetreatPath_Magikoopa)), EASING_LINEAR) @@ -104,7 +104,7 @@ EvtScript N(EVS_GangRetreat) = { EVT_END_THREAD EVT_WAIT(15 * DT) EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_01, SOUND_019F, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_01, SOUND_FLO_LAKITU_FLY_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcFlagBits, NPC_Lakitu_01, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(InterpNpcYaw, NPC_Lakitu_01, 270, 0) EVT_CALL(LoadPath, 60 * DT, EVT_PTR(N(RetreatPath_Lakitu_01)), ARRAY_COUNT(N(RetreatPath_Lakitu_01)), EASING_LINEAR) @@ -130,7 +130,7 @@ EvtScript N(EVS_GangRetreat) = { EVT_END_IF EVT_END_LOOP EVT_END_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_03, SOUND_019F, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_03, SOUND_FLO_LAKITU_FLY_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcFlagBits, NPC_Lakitu_03, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(InterpNpcYaw, NPC_Lakitu_03, 270, 0) EVT_CALL(LoadPath, 80 * DT, EVT_PTR(N(RetreatPath_Lakitu_03)), ARRAY_COUNT(N(RetreatPath_Lakitu_03)), EASING_LINEAR) diff --git a/src/world/area_flo/flo_19/flo_19_5_beanstalk.c b/src/world/area_flo/flo_19/flo_19_5_beanstalk.c index 841a2ee335..dee8719908 100644 --- a/src/world/area_flo/flo_19/flo_19_5_beanstalk.c +++ b/src/world/area_flo/flo_19/flo_19_5_beanstalk.c @@ -202,7 +202,7 @@ EvtScript N(EVS_Enter_Beanstalk) = { EVT_CALL(InterpPlayerYaw, 90, 0) EVT_WAIT(5) EVT_SET(AF_FLO_RidingBeanstalk, FALSE) - EVT_CALL(StopSound, SOUND_019C) + EVT_CALL(StopSound, SOUND_FLO_RIDE_BEANSTALK_UP_LOOP) EVT_EXEC_WAIT(N(EVS_SetupMusic)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_CALL(DisablePlayerInput, FALSE) @@ -228,7 +228,7 @@ EvtScript N(EVS_Exit_Beanstalk) = { EVT_CALL(PlayerMoveTo, LVar9, LVarB, 8) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_PARTNER, LVarC, LVarD, LVarE, 5) - EVT_CALL(PlaySound, SOUND_019D) + EVT_CALL(PlaySound, SOUND_FLO_RIDE_BEANSTALK_DOWN_LOOP) EVT_CALL(SetMusicTrack, 0, SONG_MAGIC_BEANSTALK, 1, 8) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Walk) 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 a846df72d4..1f8822b2b2 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 @@ -5,7 +5,7 @@ #include "world/common/enemy/HuffNPuff.h" #include "world/common/enemy/RuffPuff.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" NpcSettings N(NpcSettings_RuffPuff) = { .height = 24, diff --git a/src/world/area_flo/flo_24/flo_24_1_music.c b/src/world/area_flo/flo_24/flo_24_1_music.c index fdd8655ec6..84a87e816c 100644 --- a/src/world/area_flo/flo_24/flo_24_1_music.c +++ b/src/world/area_flo/flo_24/flo_24_1_music.c @@ -7,7 +7,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_CALL(SetMusicTrack, 0, SONG_FLOWER_FIELDS_SUNNY, 0, 8) EVT_END_IF EVT_IF_GE(GB_StoryProgress, STORY_CH6_FILLED_SPRING_WITH_WATER) - EVT_CALL(PlaySound, SOUND_LOOP_22) + EVT_CALL(PlaySound, SOUND_LOOP_FLO_WATER_FLOW_2) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/world/area_gv/gv_01/gv_01_1_main.c b/src/world/area_gv/gv_01/gv_01_1_main.c index 088d96d678..ec0ef91cac 100644 --- a/src/world/area_gv/gv_01/gv_01_1_main.c +++ b/src/world/area_gv/gv_01/gv_01_1_main.c @@ -283,10 +283,10 @@ API_CALLABLE(N(FadeToTitleScreen)) { API_CALLABLE(N(ChangeStateToTitleScreen)) { gGameStatusPtr->isBattle = FALSE; - gGameStatusPtr->unk_76 = 0; - gGameStatusPtr->disableScripts = 0; + gGameStatusPtr->debugUnused1 = FALSE; + gGameStatusPtr->debugScripts = DEBUG_SCRIPTS_NONE; gGameStatusPtr->keepUsingPartnerOnMapChange = FALSE; - gOverrideFlags &= ~GLOBAL_OVERRIDES_8; + gOverrideFlags &= ~GLOBAL_OVERRIDES_DISABLE_DRAW_FRAME; general_heap_create(); clear_render_tasks(); clear_worker_list(); @@ -301,7 +301,7 @@ API_CALLABLE(N(ChangeStateToTitleScreen)) { hud_element_clear_cache(); clear_trigger_data(); clear_printers(); - clear_entity_data(0); + clear_entity_data(FALSE); clear_screen_overlays(); clear_player_status(); clear_npcs(); @@ -312,8 +312,8 @@ API_CALLABLE(N(ChangeStateToTitleScreen)) { clear_item_entity_data(); clear_saved_variables(); initialize_collision(); - intro_logos_set_fade_alpha(255); - intro_logos_set_fade_color(208); + startup_set_fade_screen_alpha(255); + startup_set_fade_screen_color(208); set_game_mode(GAME_MODE_TITLE_SCREEN); return ApiStatus_FINISH; } diff --git a/src/world/area_hos/common/Narrator.inc.c b/src/world/area_hos/common/Narrator.inc.c index 669e2e7c54..5e05d67402 100644 --- a/src/world/area_hos/common/Narrator.inc.c +++ b/src/world/area_hos/common/Narrator.inc.c @@ -29,7 +29,7 @@ void N(UpdateIntroMessages)(IntroMessage** introMessageLists) { static s32 N(IntroMessageDelay); if (N(CurMessageList) == NULL) { - N(CurMessageList) = introMessageLists[D_800779B0]; + N(CurMessageList) = introMessageLists[IntroMessageIdx]; } switch (N(IntroMessageState)) { diff --git a/src/world/area_hos/hos_00/hos_00_6_scenes.c b/src/world/area_hos/hos_00/hos_00_6_scenes.c index 1569df2d83..160fc077d9 100644 --- a/src/world/area_hos/hos_00/hos_00_6_scenes.c +++ b/src/world/area_hos/hos_00/hos_00_6_scenes.c @@ -101,7 +101,7 @@ API_CALLABLE(N(UpdateMagikoopaAngles)) { return ApiStatus_DONE2; } -#include "world/common/todo/SetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" API_CALLABLE(N(AddOffsetForCamPos)) { s32 baseX = script->varTable[0]; @@ -241,7 +241,7 @@ EvtScript N(EVS_Scene_MeetingTwink) = { EVT_CALL(SetNpcAnimation, NPC_Twink, ANIM_Twink_Idle) EVT_CALL(NpcFacePlayer, NPC_Twink, 0) EVT_CALL(SpeakToPlayer, NPC_Twink, ANIM_Twink_Shout, ANIM_Twink_Idle, 0, MSG_HOS_000E) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) EVT_ADD(LVar0, -20) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) diff --git a/src/world/area_hos/hos_01/hos_01_6_star_way.c b/src/world/area_hos/hos_01/hos_01_6_star_way.c index b7678c5e6e..b078d06acd 100644 --- a/src/world/area_hos/hos_01/hos_01_6_star_way.c +++ b/src/world/area_hos/hos_01/hos_01_6_star_way.c @@ -1,7 +1,7 @@ #include "hos_01.h" #include "effects.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" #define NAME_SUFFIX _StarWay #include "world/common/todo/GetFloorCollider.inc.c" @@ -120,7 +120,7 @@ EvtScript N(EVS_AscendStarBeam) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(30) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_THREAD EVT_LABEL(10) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) diff --git a/src/world/area_hos/hos_04/hos_04_6_intro.c b/src/world/area_hos/hos_04/hos_04_6_intro.c index 1f0c1cd498..78a4e552a6 100644 --- a/src/world/area_hos/hos_04/hos_04_6_intro.c +++ b/src/world/area_hos/hos_04/hos_04_6_intro.c @@ -41,14 +41,8 @@ API_CALLABLE(N(SetCamVfov)) { } API_CALLABLE(N(ResumeIntroState)) { - if ( - gGameStatusPtr->creditsViewportMode == 0 || - gGameStatusPtr->creditsViewportMode == 1 || - gGameStatusPtr->creditsViewportMode == 2 || - gGameStatusPtr->creditsViewportMode == 3 || - gGameStatusPtr->creditsViewportMode == 4) - { - gGameStatusPtr->creditsViewportMode++; + if (gGameStatusPtr->introPart > INTRO_PART_NONE && gGameStatusPtr->introPart < INTRO_PART_5) { + gGameStatusPtr->introPart++; state_init_intro(); } return ApiStatus_DONE1; diff --git a/src/world/area_hos/hos_04/hos_04_7_starship.c b/src/world/area_hos/hos_04/hos_04_7_starship.c index f7ccbb7a46..a61d1a6146 100644 --- a/src/world/area_hos/hos_04/hos_04_7_starship.c +++ b/src/world/area_hos/hos_04/hos_04_7_starship.c @@ -39,7 +39,7 @@ EvtScript N(EVS_Starship_FlyingAway) = { EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(10) EVT_THREAD - EVT_CALL(PlaySound, SOUND_0181) + EVT_CALL(PlaySound, SOUND_STARSHIP_ASCEND) EVT_CALL(MakeLerp, 0, 900, 45, EASING_QUADRATIC_IN) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_hos/hos_05/hos_05_5_intro.c b/src/world/area_hos/hos_05/hos_05_5_intro.c index 24acf8be1d..f4f311b8fb 100644 --- a/src/world/area_hos/hos_05/hos_05_5_intro.c +++ b/src/world/area_hos/hos_05/hos_05_5_intro.c @@ -280,8 +280,8 @@ API_CALLABLE(N(AdjustCamVfov)) { API_CALLABLE(N(ResumeIntro)) { GameStatus* gameStatus = gGameStatusPtr; - if (gameStatus->creditsViewportMode < 5U) { - gameStatus->creditsViewportMode++; + if (gameStatus->introPart > INTRO_PART_NONE && gameStatus->introPart < INTRO_PART_5) { + gameStatus->introPart++; state_init_intro(); } return ApiStatus_DONE1; @@ -1974,15 +1974,15 @@ API_CALLABLE(N(func_80244934_A2EB74)) { } EvtScript N(EVS_Scene_IntroStory) = { - EVT_CALL(SetNpcPaletteSwapMode, NPC_StarRod, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_StarRod, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) EVT_CALL(SetNpcPaletteSwapLower, NPC_StarRod, 0, 1, 20, 5) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Eldstar, 2) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Mamar, 2) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Skolar, 2) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Muskular, 2) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Misstar, 2) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Klevar, 2) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Kalmar, 2) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Eldstar, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Mamar, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Skolar, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Muskular, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Misstar, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Klevar, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Kalmar, NPC_PAL_ADJUST_BLEND_PALETTES_UNIFORM_INTERVALS) EVT_CALL(SetNpcPaletteSwapping, NPC_Eldstar, 0, 1, 25, 12, 4, 18, 0, 0) EVT_CALL(SetNpcPaletteSwapping, NPC_Mamar, 0, 1, 25, 12, 4, 18, 0, 0) EVT_CALL(SetNpcPaletteSwapping, NPC_Skolar, 0, 1, 25, 12, 4, 18, 0, 0) @@ -2387,19 +2387,19 @@ EvtScript N(EVS_Scene_IntroStory) = { EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Hurt) EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Hurt) EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2) - EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(1)) + EVT_PLAY_EFFECT(EFFECT_AURA, FX_AURA_CAPTURE, LVar0, LVar1, LVar2, 1, ArrayVar(1)) EVT_CALL(GetNpcPos, NPC_Mamar, LVar0, LVar1, LVar2) - EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(2)) + EVT_PLAY_EFFECT(EFFECT_AURA, FX_AURA_CAPTURE, LVar0, LVar1, LVar2, 1, ArrayVar(2)) EVT_CALL(GetNpcPos, NPC_Skolar, LVar0, LVar1, LVar2) - EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(3)) + EVT_PLAY_EFFECT(EFFECT_AURA, FX_AURA_CAPTURE, LVar0, LVar1, LVar2, 1, ArrayVar(3)) EVT_CALL(GetNpcPos, NPC_Muskular, LVar0, LVar1, LVar2) - EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(4)) + EVT_PLAY_EFFECT(EFFECT_AURA, FX_AURA_CAPTURE, LVar0, LVar1, LVar2, 1, ArrayVar(4)) EVT_CALL(GetNpcPos, NPC_Misstar, LVar0, LVar1, LVar2) - EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(5)) + EVT_PLAY_EFFECT(EFFECT_AURA, FX_AURA_CAPTURE, LVar0, LVar1, LVar2, 1, ArrayVar(5)) EVT_CALL(GetNpcPos, NPC_Klevar, LVar0, LVar1, LVar2) - EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(6)) + EVT_PLAY_EFFECT(EFFECT_AURA, FX_AURA_CAPTURE, LVar0, LVar1, LVar2, 1, ArrayVar(6)) EVT_CALL(GetNpcPos, NPC_Kalmar, LVar0, LVar1, LVar2) - EVT_PLAY_EFFECT(EFFECT_AURA, 0, LVar0, LVar1, LVar2, 1, ArrayVar(7)) + EVT_PLAY_EFFECT(EFFECT_AURA, FX_AURA_CAPTURE, LVar0, LVar1, LVar2, 1, ArrayVar(7)) EVT_CALL(N(SetWorldColorParams), 110, 110, 110, 255, 255, 255, 0) EVT_THREAD EVT_CALL(N(SetWorldColorParams), 230, 230, 230, 0, 0, 0, 30) diff --git a/src/world/area_hos/hos_05/hos_05_8_star_ship.c b/src/world/area_hos/hos_05/hos_05_8_star_ship.c index 937768b991..1c8d71712c 100644 --- a/src/world/area_hos/hos_05/hos_05_8_star_ship.c +++ b/src/world/area_hos/hos_05/hos_05_8_star_ship.c @@ -103,7 +103,7 @@ EvtScript N(EVS_Starship_Depart) = { EVT_WAIT(25) EVT_CALL(N(SwingCameraPitchUpward)) EVT_END_THREAD - EVT_CALL(PlaySoundAtPlayer, SOUND_017D, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_STARSHIP_TAKEOFF_LONG, SOUND_SPACE_DEFAULT) EVT_SET(LVar2, MV_Starship_PosY) EVT_CALL(MakeLerp, 0, 1000, 100, EASING_QUADRATIC_IN) EVT_LOOP(0) @@ -159,7 +159,7 @@ EvtScript N(EVS_EnterStarship) = { EVT_END_IF EVT_END_LOOP EVT_END_THREAD - EVT_CALL(PlaySoundAtPlayer, SOUND_017F, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_STARSHIP_ARRIVE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 750, -85, 90, EASING_QUADRATIC_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_hos/hos_10/hos_10_5_intro.c b/src/world/area_hos/hos_10/hos_10_5_intro.c index a5154b49ff..36d18293ba 100644 --- a/src/world/area_hos/hos_10/hos_10_5_intro.c +++ b/src/world/area_hos/hos_10/hos_10_5_intro.c @@ -4,14 +4,8 @@ #include "world/common/atomic/TexturePan.inc.c" API_CALLABLE(N(ResumeIntroState)) { - if ( - gGameStatusPtr->creditsViewportMode == 0 || - gGameStatusPtr->creditsViewportMode == 1 || - gGameStatusPtr->creditsViewportMode == 2 || - gGameStatusPtr->creditsViewportMode == 3 || - gGameStatusPtr->creditsViewportMode == 4) - { - gGameStatusPtr->creditsViewportMode++; + if (gGameStatusPtr->introPart > INTRO_PART_NONE && gGameStatusPtr->introPart < INTRO_PART_5) { + gGameStatusPtr->introPart++; state_init_intro(); } return ApiStatus_DONE1; diff --git a/src/world/area_hos/hos_20/hos_20_2_starship.c b/src/world/area_hos/hos_20/hos_20_2_starship.c index d156cdd035..4932e6b350 100644 --- a/src/world/area_hos/hos_20/hos_20_2_starship.c +++ b/src/world/area_hos/hos_20/hos_20_2_starship.c @@ -81,7 +81,7 @@ EvtScript N(EVS_Starship_Flight1) = { EVT_SET(MV_Starship_Yaw, 0) EVT_EXEC(N(EVS_AnimateStarship)) EVT_WAIT(1) - EVT_CALL(PlaySound, SOUND_017C) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP) EVT_IF_LT(GB_StoryProgress, STORY_UNUSED_0000005D) EVT_CALL(MakeLerp, -300, 0, 120, EASING_QUADRATIC_OUT) EVT_LOOP(0) @@ -93,7 +93,7 @@ EvtScript N(EVS_Starship_Flight1) = { EVT_END_IF EVT_END_LOOP EVT_WAIT(100) - EVT_CALL(PlaySound, SOUND_017C | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_CALL(GotoMap, EVT_PTR("hos_00"), hos_00_ENTRY_3) EVT_ELSE EVT_THREAD @@ -107,8 +107,8 @@ EvtScript N(EVS_Starship_Flight1) = { EVT_END_IF EVT_END_LOOP EVT_WAIT(75) - EVT_CALL(PlaySound, SOUND_017C | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(PlaySound, SOUND_20A1) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_STARSHIP_BOOST) EVT_CALL(MakeLerp, 0, 300, 60, EASING_CUBIC_IN) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -128,7 +128,7 @@ EvtScript N(EVS_Starship_Flight1) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySound, SOUND_017C | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_CALL(GotoMap, EVT_PTR("kpa_60"), kpa_60_ENTRY_4) EVT_END_IF EVT_WAIT(100) @@ -149,13 +149,13 @@ EvtScript N(EVS_Starship_Flight2) = { EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(18.5), EVT_FLOAT(-3.0)) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) - EVT_CALL(PlaySound, SOUND_017C) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP) EVT_SET(MV_Starship_PosX, 0) EVT_SET(MV_Starship_Yaw, 0) EVT_EXEC(N(EVS_AnimateStarship)) EVT_WAIT(100) - EVT_CALL(PlaySound, SOUND_017C | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(PlaySound, SOUND_20A1) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_STARSHIP_BOOST) EVT_CALL(MakeLerp, 0, 300, 60, EASING_CUBIC_IN) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -189,7 +189,7 @@ EvtScript N(EVS_Starship_Return) = { EVT_SET(MV_Starship_Yaw, 180) EVT_EXEC(N(EVS_AnimateStarship)) EVT_WAIT(2) - EVT_CALL(PlaySound, SOUND_017C) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP) EVT_THREAD EVT_CALL(MakeLerp, 300, 0, 120, EASING_QUADRATIC_OUT) EVT_LOOP(0) @@ -201,8 +201,8 @@ EvtScript N(EVS_Starship_Return) = { EVT_END_IF EVT_END_LOOP EVT_WAIT(75) - EVT_CALL(PlaySound, SOUND_017C | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(PlaySound, SOUND_20A1) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_STARSHIP_BOOST) EVT_CALL(MakeLerp, 0, -300, 60, EASING_CUBIC_IN) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -222,7 +222,7 @@ EvtScript N(EVS_Starship_Return) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySound, SOUND_017C | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_STARSHIP_ENGINE_LOOP | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_CALL(GotoMap, EVT_PTR("hos_05"), hos_05_ENTRY_1) EVT_WAIT(100) EVT_RETURN diff --git a/src/world/area_isk/isk_02/isk_02_2_lock.c b/src/world/area_isk/isk_02/isk_02_2_lock.c index eb9a881d2b..c7ca72ea4c 100644 --- a/src/world/area_isk/isk_02/isk_02_2_lock.c +++ b/src/world/area_isk/isk_02/isk_02_2_lock.c @@ -18,14 +18,14 @@ EvtScript N(EVS_UnlockDoor) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, 272, 60, 486) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, 272, 60, 486) EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_ISK02_UnlockedDoor, TRUE) EVT_SET(LVar0, MV_EntityID_Padlock) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) EVT_WAIT(5) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittne, SOUND_0265, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittne, SOUND_ISK_DOOR_OPEN, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, 65, 65, EASING_LINEAR) EVT_LABEL(10) EVT_CALL(UpdateLerp) diff --git a/src/world/area_isk/isk_04/isk_04_3_obstructions.c b/src/world/area_isk/isk_04/isk_04_3_obstructions.c index 4950c189b5..ac9625e257 100644 --- a/src/world/area_isk/isk_04/isk_04_3_obstructions.c +++ b/src/world/area_isk/isk_04/isk_04_3_obstructions.c @@ -39,14 +39,14 @@ EvtScript N(EVS_UnlockDoorPrompt) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, 600, -330, 100) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, 600, -330, 100) EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_ISK04_UnlockedDoor, TRUE) EVT_SET(LVar0, MV_RuinsLockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) EVT_WAIT(5) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittsw, SOUND_0265, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittsw, SOUND_ISK_DOOR_OPEN, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, 65, 65, EASING_LINEAR) EVT_LABEL(10) EVT_CALL(UpdateLerp) diff --git a/src/world/area_isk/isk_05/isk_05_3_npc.c b/src/world/area_isk/isk_05/isk_05_3_npc.c index 2b7eafc442..581a149f26 100644 --- a/src/world/area_isk/isk_05/isk_05_3_npc.c +++ b/src/world/area_isk/isk_05/isk_05_3_npc.c @@ -165,7 +165,7 @@ EvtScript N(EVS_NpcIdle_StoneChomp) = { EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_0266, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_ISK_DOOR_CLOSE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 65, 0, 15, EASING_QUADRATIC_IN) EVT_LABEL(101) EVT_CALL(UpdateLerp) @@ -174,7 +174,7 @@ EvtScript N(EVS_NpcIdle_StoneChomp) = { EVT_IF_EQ(LVar1, 1) EVT_GOTO(101) EVT_END_IF - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_0267, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_ISK_DOOR_SLAM, SOUND_SPACE_DEFAULT) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_deilittw, COLLIDER_FLAGS_UPPER_MASK) EVT_END_THREAD EVT_CALL(DisablePlayerInput, TRUE) @@ -232,7 +232,7 @@ EvtScript N(EVS_NpcDefeat_StoneChomp_Override) = { EVT_CASE_EQ(OUTCOME_PLAYER_WON) EVT_SET(GF_ISK05_Defeated_StoneChomp, TRUE) EVT_SET(AF_ISK05_StoneChompDefeated, TRUE) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_0265, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_ISK_DOOR_OPEN, SOUND_SPACE_DEFAULT) EVT_THREAD EVT_WAIT(5) EVT_CALL(MakeLerp, 0, 65, 65, EASING_LINEAR) diff --git a/src/world/area_isk/isk_07/isk_07_5_lock.c b/src/world/area_isk/isk_07/isk_07_5_lock.c index df0ee091ca..6ed2977285 100644 --- a/src/world/area_isk/isk_07/isk_07_5_lock.c +++ b/src/world/area_isk/isk_07/isk_07_5_lock.c @@ -22,14 +22,14 @@ EvtScript N(EVS_UnlockPrompt_RuinsDoor) = { EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) EVT_RETURN EVT_END_SWITCH - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, -300, -380, 530) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, -300, -380, 530) EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_ISK07_UnlockedDoor, TRUE) EVT_SET(LVar0, MV_LockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) EVT_WAIT(5) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_0265, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_ISK_DOOR_OPEN, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, 65, 65, EASING_LINEAR) EVT_LABEL(10) EVT_CALL(UpdateLerp) @@ -63,7 +63,7 @@ EvtScript N(EVS_SetupLock) = { EvtScript N(EVS_ShutEntryDoor) = { EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_deilitte, COLLIDER_FLAGS_UPPER_MASK) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilitte, SOUND_0266, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilitte, SOUND_ISK_DOOR_CLOSE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 65, 0, 15, EASING_QUADRATIC_IN) EVT_LABEL(10) EVT_CALL(UpdateLerp) @@ -73,7 +73,7 @@ EvtScript N(EVS_ShutEntryDoor) = { EVT_IF_EQ(LVar1, 1) EVT_GOTO(10) EVT_END_IF - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilitte, SOUND_0267, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilitte, SOUND_ISK_DOOR_SLAM, SOUND_SPACE_DEFAULT) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 10, EVT_FLOAT(0.3)) EVT_RETURN EVT_END diff --git a/src/world/area_isk/isk_11/isk_11_5_puzzle.c b/src/world/area_isk/isk_11/isk_11_5_puzzle.c index f5c1de286a..2f6b643d24 100644 --- a/src/world/area_isk/isk_11/isk_11_5_puzzle.c +++ b/src/world/area_isk/isk_11/isk_11_5_puzzle.c @@ -73,7 +73,7 @@ EvtScript N(EVS_ItemPrompt_Socket1) = { EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) EVT_IF_EQ(LVar0, 0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2087, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2087, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_CALL(AddKeyItem, GB_ISK11_ItemSocket1) EVT_SET(LVar0, GB_ISK11_ItemSocket1) EVT_SET(GB_ISK11_ItemSocket1, 0) @@ -103,7 +103,7 @@ EvtScript N(EVS_ItemPrompt_Socket1) = { EVT_CALL(MakeItemEntity, GB_ISK11_ItemSocket1, -88, -508, 502, ITEM_SPAWN_MODE_DECORATION, 0) EVT_SET(MV_Socket1_ItemEntity, LVar0) EVT_CALL(CloseChoicePopup) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2087, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2087, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) EVT_RETURN EVT_END @@ -124,7 +124,7 @@ EvtScript N(EVS_ItemPrompt_Socket2) = { EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) EVT_IF_EQ(LVar0, 0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2091, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2091, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_CALL(AddKeyItem, GB_ISK11_ItemSocket2) EVT_SET(LVar0, GB_ISK11_ItemSocket2) EVT_SET(GB_ISK11_ItemSocket2, 0) @@ -155,7 +155,7 @@ EvtScript N(EVS_ItemPrompt_Socket2) = { EVT_SET(MV_Socket2_ItemEntity, LVar0) EVT_CALL(CloseChoicePopup) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2091, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2091, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_RETURN EVT_END }; @@ -175,7 +175,7 @@ EvtScript N(EVS_ItemPrompt_Socket3) = { EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) EVT_IF_EQ(LVar0, 0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2090, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2090, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_CALL(AddKeyItem, GB_ISK11_ItemSocket3) EVT_SET(LVar0, GB_ISK11_ItemSocket3) EVT_SET(GB_ISK11_ItemSocket3, 0) @@ -206,7 +206,7 @@ EvtScript N(EVS_ItemPrompt_Socket3) = { EVT_SET(MV_Socket3_ItemEntity, LVar0) EVT_CALL(CloseChoicePopup) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2090, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2090, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_RETURN EVT_END }; @@ -226,7 +226,7 @@ EvtScript N(EVS_ItemPrompt_Socket4) = { EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) EVT_IF_EQ(LVar0, 0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2089, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2089, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_CALL(AddKeyItem, GB_ISK11_ItemSocket4) EVT_SET(LVar0, GB_ISK11_ItemSocket4) EVT_SET(GB_ISK11_ItemSocket4, 0) @@ -257,7 +257,7 @@ EvtScript N(EVS_ItemPrompt_Socket4) = { EVT_SET(MV_Socket4_ItemEntity, LVar0) EVT_CALL(CloseChoicePopup) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2089, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2089, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_RETURN EVT_END }; @@ -277,7 +277,7 @@ EvtScript N(EVS_ItemPrompt_Socket5) = { EVT_CALL(ShowChoice, MSG_Choice_000D) EVT_CALL(CloseMessage) EVT_IF_EQ(LVar0, 0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2088, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2088, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_CALL(AddKeyItem, GB_ISK11_ItemSocket5) EVT_SET(LVar0, GB_ISK11_ItemSocket5) EVT_SET(GB_ISK11_ItemSocket5, 0) @@ -308,7 +308,7 @@ EvtScript N(EVS_ItemPrompt_Socket5) = { EVT_SET(MV_Socket5_ItemEntity, LVar0) EVT_CALL(CloseChoicePopup) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o2088, SOUND_0261, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o2088, SOUND_ISK_PLACE_IN_SOCKET, SOUND_SPACE_DEFAULT) EVT_RETURN EVT_END }; diff --git a/src/world/area_isk/isk_11/isk_11_6_lock.c b/src/world/area_isk/isk_11/isk_11_6_lock.c index e86ede1419..f729eb4502 100644 --- a/src/world/area_isk/isk_11/isk_11_6_lock.c +++ b/src/world/area_isk/isk_11/isk_11_6_lock.c @@ -18,14 +18,14 @@ EvtScript N(EVS_UnlockPrompt_RuinsKey) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, 355, -460, 430) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, 355, -460, 430) EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_ISK11_UnlockedDoor, TRUE) EVT_SET(LVar0, MV_LockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) EVT_WAIT(5) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittne, SOUND_0265, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittne, SOUND_ISK_DOOR_OPEN, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, 65, 65, EASING_LINEAR) EVT_LABEL(10) EVT_CALL(UpdateLerp) diff --git a/src/world/area_iwa/iwa_00/iwa_00_1_main.c b/src/world/area_iwa/iwa_00/iwa_00_1_main.c index 0cc3ec0067..698842cd23 100644 --- a/src/world/area_iwa/iwa_00/iwa_00_1_main.c +++ b/src/world/area_iwa/iwa_00/iwa_00_1_main.c @@ -32,8 +32,8 @@ EvtScript N(EVS_Main) = { EVT_EXEC(N(EVS_TexPan_Water)) EVT_EXEC(N(EVS_BindSlideTriggers)) EVT_CALL(SetMusicTrack, 0, SONG_MT_RUGGED, 0, 8) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_0B, SOUND_SPACE_WITH_DEPTH, 35, -80, -120) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_0C, SOUND_SPACE_WITH_DEPTH, 500, 85, -120) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_IWA00_FLOW3, SOUND_SPACE_WITH_DEPTH, 35, -80, -120) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_IWA00_FLOW2, SOUND_SPACE_WITH_DEPTH, 500, 85, -120) EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) EVT_EXEC(EnterWalk) EVT_WAIT(1) diff --git a/src/world/area_iwa/iwa_00/iwa_00_4_slide.c b/src/world/area_iwa/iwa_00/iwa_00_4_slide.c index e4265c56bf..9587c8180c 100644 --- a/src/world/area_iwa/iwa_00/iwa_00_4_slide.c +++ b/src/world/area_iwa/iwa_00/iwa_00_4_slide.c @@ -25,7 +25,7 @@ EvtScript N(EVS_UseSlide) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(10) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, 80, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -42,7 +42,7 @@ EvtScript N(EVS_UseSlide) = { EVT_CALL(DisablePlayerInput, FALSE) EVT_WAIT(100) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 80, 0, 30, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_iwa/iwa_01/iwa_01_1_main.c b/src/world/area_iwa/iwa_01/iwa_01_1_main.c index f2ca6dba19..e80893517f 100644 --- a/src/world/area_iwa/iwa_01/iwa_01_1_main.c +++ b/src/world/area_iwa/iwa_01/iwa_01_1_main.c @@ -59,8 +59,8 @@ EvtScript N(EVS_Main) = { EVT_EXEC(N(EVS_BindSlideTriggers2)) EVT_EXEC(N(EVS_BindSlideTriggers1)) EVT_CALL(SetMusicTrack, 0, SONG_MT_RUGGED, 0, 8) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_0D, SOUND_SPACE_WITH_DEPTH, -570, -180, 425) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_0E, SOUND_SPACE_WITH_DEPTH, 740, -170, 330) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_IWA01_FLOW1, SOUND_SPACE_WITH_DEPTH, -570, -180, 425) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_IWA01_FLOW2, SOUND_SPACE_WITH_DEPTH, 740, -170, 330) EVT_CALL(GetLoadType, LVar1) EVT_IF_EQ(LVar1, 1) EVT_EXEC(EnterSavePoint) diff --git a/src/world/area_iwa/iwa_01/iwa_01_5_slide.c b/src/world/area_iwa/iwa_01/iwa_01_5_slide.c index e15dc22dc5..55c177e1c5 100644 --- a/src/world/area_iwa/iwa_01/iwa_01_5_slide.c +++ b/src/world/area_iwa/iwa_01/iwa_01_5_slide.c @@ -40,7 +40,7 @@ EvtScript N(EVS_UseSlide1) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(10) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -80, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -57,7 +57,7 @@ EvtScript N(EVS_UseSlide1) = { EVT_CALL(DisablePlayerInput, FALSE) EVT_WAIT(100) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, -80, 0, 30, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -77,7 +77,7 @@ EvtScript N(EVS_UseSlide2) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(10) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st2, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st2, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, 80, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -94,7 +94,7 @@ EvtScript N(EVS_UseSlide2) = { EVT_CALL(DisablePlayerInput, FALSE) EVT_WAIT(100) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st2, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st2, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 80, 0, 30, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_iwa/iwa_03/iwa_03_4_slide.c b/src/world/area_iwa/iwa_03/iwa_03_4_slide.c index 952798819a..5d3bf86d36 100644 --- a/src/world/area_iwa/iwa_03/iwa_03_4_slide.c +++ b/src/world/area_iwa/iwa_03/iwa_03_4_slide.c @@ -25,7 +25,7 @@ EvtScript N(EVS_UseSlide) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(10) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -80, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -43,7 +43,7 @@ EvtScript N(EVS_UseSlide) = { EVT_CALL(DisablePlayerInput, FALSE) EVT_WAIT(100) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_20A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_st1, SOUND_IWA_SLIDE_GATE, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, -80, 0, 30, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_iwa/iwa_04/iwa_04_4_npc.c b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c index 2e77270fb7..fc6dab0546 100644 --- a/src/world/area_iwa/iwa_04/iwa_04_4_npc.c +++ b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c @@ -4,7 +4,7 @@ #include "world/common/enemy/Cleft.inc.c" API_CALLABLE(N(func_80241060_91C940)) { - gCameras[CAM_DEFAULT].unk_498 = 1.0f; + gCameras[CAM_DEFAULT].yinterpAlpha = 1.0f; return ApiStatus_BLOCK; } diff --git a/src/world/area_iwa/iwa_10/iwa_10_1_music.c b/src/world/area_iwa/iwa_10/iwa_10_1_music.c index 13392eb47d..f0d1d32815 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_1_music.c +++ b/src/world/area_iwa/iwa_10/iwa_10_1_music.c @@ -7,7 +7,7 @@ EvtScript N(EVS_SetupMusic) = { }; EvtScript N(EVS_PushSong) = { - EVT_CALL(StopSound, SOUND_LOOP_09) + EVT_CALL(StopSound, SOUND_LOOP_IWA10_FLOW1) EVT_CALL(PushSong, SONG_NEW_PARTNER, 0) EVT_RETURN EVT_END @@ -17,7 +17,7 @@ EvtScript N(EVS_PopSong) = { EVT_CALL(FadeOutMusic, 0, 500) EVT_WAIT(15) EVT_CALL(PopSong) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_09, SOUND_SPACE_WITH_DEPTH, -560, 0, -233) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_IWA10_FLOW1, SOUND_SPACE_WITH_DEPTH, -560, 0, -233) EVT_RETURN EVT_END }; diff --git a/src/world/area_iwa/iwa_10/iwa_10_2_main.c b/src/world/area_iwa/iwa_10/iwa_10_2_main.c index 705c4fb0e8..e5755f8ff5 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_2_main.c +++ b/src/world/area_iwa/iwa_10/iwa_10_2_main.c @@ -53,7 +53,7 @@ EvtScript N(EVS_Main) = { EVT_WAIT(1) EVT_EXEC(N(EVS_SetupMusic)) EVT_EXEC(N(EVS_SetupFoliage)) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_09, SOUND_SPACE_WITH_DEPTH, -560, 0, -233) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_IWA10_FLOW1, SOUND_SPACE_WITH_DEPTH, -560, 0, -233) EVT_THREAD EVT_SET(LVarF, 0) EVT_LABEL(10) diff --git a/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c index be01657a20..e1aeb43836 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c +++ b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c @@ -22,7 +22,7 @@ EvtScript N(EVS_Scene_MeetParakarry) = { EVT_CALL(ShowMessageAtScreenPos, MSG_CH2_000E, 320, 150) EVT_THREAD EVT_CALL(SetPlayerAnimation, ANIM_Mario1_LookUp) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 0, 20, EMOTER_PLAYER, 0, 0, 0, 0) EVT_END_THREAD EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(3.0 / DT), 30, 300, EVT_FLOAT(15.0), EVT_FLOAT(-9.5)) diff --git a/src/world/area_jan/common/MoveBushTemplates.h b/src/world/area_jan/common/MoveBushTemplates.h index cfadbcfb9a..e0687f7e25 100644 --- a/src/world/area_jan/common/MoveBushTemplates.h +++ b/src/world/area_jan/common/MoveBushTemplates.h @@ -3,7 +3,7 @@ #define EVT_MOVE_BUSHES(collider, bushModelL, bushmodelR, moveVarL, moveVarR) \ { \ - EVT_CALL(PlaySoundAtCollider, collider, SOUND_209F, 0) \ + EVT_CALL(PlaySoundAtCollider, collider, SOUND_SEPARATE_BUSHES, 0) \ EVT_SET(LVar0, moveVarL) \ EVT_SET(LVar1, moveVarR) \ EVT_SET(LVar6, 0) \ @@ -35,7 +35,7 @@ #define EVT_MOVE_BUSH(collider, bushModel, moveVar) \ { \ - EVT_CALL(PlaySoundAtCollider, collider, SOUND_209F, 0) \ + EVT_CALL(PlaySoundAtCollider, collider, SOUND_SEPARATE_BUSHES, 0) \ EVT_SET(LVar0, MV_CliffTopBush1OffsetR) \ EVT_SET(LVar6, 0) \ EVT_LOOP(60) \ diff --git a/src/world/area_jan/jan_00/jan_00_2_npc.c b/src/world/area_jan/jan_00/jan_00_2_npc.c index 6c96823417..4caf276b70 100644 --- a/src/world/area_jan/jan_00/jan_00_2_npc.c +++ b/src/world/area_jan/jan_00/jan_00_2_npc.c @@ -596,7 +596,7 @@ EvtScript N(EVS_NpcIdle_JrTroopa) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_JrTroopa_TiredTalk, ANIM_JrTroopa_OutOfBreath, 0, MSG_CH5_000A) EVT_WAIT(20) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_JrTroopa_Panic) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20) EVT_CALL(NpcJump0, NPC_SELF, 250, 0, 90, 10) diff --git a/src/world/area_jan/jan_01/jan_01_3_npc.c b/src/world/area_jan/jan_01/jan_01_3_npc.c index d27e9b07bb..fd13aed5a7 100644 --- a/src/world/area_jan/jan_01/jan_01_3_npc.c +++ b/src/world/area_jan/jan_01/jan_01_3_npc.c @@ -4,8 +4,8 @@ #include "world/common/enemy/JungleFuzzy_Wander.inc.c" #include "world/common/enemy/JungleFuzzy.inc.c" #include "world/common/npc/Kolorado.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" EvtScript N(EVS_PlayerWatchKolorado) = { EVT_LOOP(0) @@ -27,7 +27,7 @@ EvtScript N(EVS_Kolorado_RunToVillage) = { EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) EVT_KILL_THREAD(LVar9) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(5.0 / DT)) EVT_CALL(SetSelfVar, 0, 3) EVT_RETURN @@ -46,9 +46,9 @@ EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_END_LOOP EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(ShowMessageAtScreenPos, MSG_CH5_000D, 320, 60) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 25, EMOTER_PLAYER, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PARTNER, EMOTE_EXCLAMATION, 0, 25, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(25 * DT) EVT_CALL(DisablePlayerInput, FALSE) @@ -82,7 +82,7 @@ EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-7.0)) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(5.0 / DT)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(10 * DT) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH5_0011) @@ -235,7 +235,7 @@ EvtScript N(EVS_NpcDefeat_JungleFuzzyBoss) = { EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(SetNpcFlagBits, NPC_Kolorado, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(SetNpcAnimation, NPC_Kolorado, ANIM_Kolorado_Run) diff --git a/src/world/area_jan/jan_02/jan_02_3_npc.c b/src/world/area_jan/jan_02/jan_02_3_npc.c index 7316ec4d00..52f554156e 100644 --- a/src/world/area_jan/jan_02/jan_02_3_npc.c +++ b/src/world/area_jan/jan_02/jan_02_3_npc.c @@ -123,7 +123,7 @@ EvtScript N(EVS_NpcInteract_VillageLeader) = { EVT_CASE_LT(STORY_CH5_ALL_YOSHI_CHILDREN_RESCUED) EVT_CASE_LT(STORY_CH5_GOT_JADE_RAVEN) EVT_EXEC_WAIT(N(EVS_Scene_GetJadeRaven)) - EVT_CASE_LT(STORY_CH5_RAFAEL_LEFT_NEST) + EVT_CASE_LT(STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_VillageLeader_Talk, ANIM_VillageLeader_Idle, 0, MSG_CH5_002D) EVT_CASE_LT(STORY_CH5_ZIP_LINE_READY) EVT_IF_EQ(AF_JAN02_RaphaelComment, FALSE) @@ -158,7 +158,7 @@ EvtScript N(EVS_NpcInit_VillageLeader) = { EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 1) EVT_CALL(SetNpcPos, NPC_SELF, 0, 15, -50) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_VillageLeader))) - EVT_CASE_LT(STORY_CH5_RAFAEL_LEFT_NEST) + EVT_CASE_LT(STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_VillageLeader_Idle) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 1) EVT_CALL(SetNpcPos, NPC_SELF, 30, 15, -30) diff --git a/src/world/area_jan/jan_03/jan_03_4_npc.c b/src/world/area_jan/jan_03/jan_03_4_npc.c index 0063b2679a..ee2ca9d5e6 100644 --- a/src/world/area_jan/jan_03/jan_03_4_npc.c +++ b/src/world/area_jan/jan_03/jan_03_4_npc.c @@ -574,25 +574,25 @@ EvtScript N(EVS_NpcInteract_Raven) = { EVT_CALL(GetSelfNpcID, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(NPC_Raven_01) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_008C) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_008D) EVT_END_IF EVT_CASE_EQ(NPC_Raven_03) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_008E) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_008F) EVT_END_IF EVT_CASE_EQ(NPC_Raven_04) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_0090) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_0091) EVT_END_IF EVT_CASE_EQ(NPC_Raven_05) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_0092) EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_0093) @@ -605,7 +605,7 @@ EvtScript N(EVS_NpcInteract_Raven) = { EvtScript N(EVS_NpcInit_Raven) = { EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Raven))) EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH5_RAFAEL_LEFT_NEST) + EVT_CASE_LT(STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CASE_RANGE(STORY_CH5_ZIP_LINE_READY, STORY_CH5_OPENED_ESCAPE_ROUTE) EVT_CALL(GetSelfNpcID, LVar0) EVT_IF_EQ(LVar0, 14) @@ -668,7 +668,7 @@ EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_IdleSad) EVT_WAIT(15) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Idle) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(25) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH5_001A) diff --git a/src/world/area_jan/jan_04/jan_04_4_npc.c b/src/world/area_jan/jan_04/jan_04_4_npc.c index bb611570c0..ba33ee8577 100644 --- a/src/world/area_jan/jan_04/jan_04_4_npc.c +++ b/src/world/area_jan/jan_04/jan_04_4_npc.c @@ -218,7 +218,7 @@ EvtScript N(EVS_NpcInit_Sushie) = { EvtScript N(EVS_NpcInteract_Bubulb) = { EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH5_RAFAEL_LEFT_NEST) + EVT_CASE_LT(STORY_CH5_RAPHAEL_LEFT_NEST) EVT_IF_EQ(GF_JAN04_Met_Bubulb, FALSE) EVT_WAIT(30) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Bubulb_Yellow_PopUp) @@ -248,7 +248,7 @@ EvtScript N(EVS_NpcInteract_Bubulb) = { EvtScript N(EVS_NpcInit_Bubulb) = { EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bubulb))) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_IF_EQ(GF_JAN04_Met_Bubulb, FALSE) EVT_CALL(SetNpcCollisionSize, NPC_SELF, 25, 25) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Bubulb_Yellow_BuriedIdle) diff --git a/src/world/area_jan/jan_04/jan_04_8_treasure.c b/src/world/area_jan/jan_04/jan_04_8_treasure.c index f4ee6e2230..9bf1c3a027 100644 --- a/src/world/area_jan/jan_04/jan_04_8_treasure.c +++ b/src/world/area_jan/jan_04/jan_04_8_treasure.c @@ -124,7 +124,7 @@ EvtScript N(EVS_Scene_TreasureChest) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySoundAt, SOUND_01AF, SOUND_SPACE_DEFAULT, LVar1, LVar2, LVar3) + EVT_CALL(PlaySoundAt, SOUND_JAN_CHEST_IMPACT, SOUND_SPACE_DEFAULT, LVar1, LVar2, LVar3) EVT_THREAD EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, -15, 0, 0, 10, 10) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, 0, 0, 0, 0, 0) @@ -140,7 +140,7 @@ EvtScript N(EVS_Scene_TreasureChest) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySoundAt, SOUND_01AF, SOUND_SPACE_DEFAULT, LVar1, LVar2, LVar3) + EVT_CALL(PlaySoundAt, SOUND_JAN_CHEST_IMPACT, SOUND_SPACE_DEFAULT, LVar1, LVar2, LVar3) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, -10, 0, 15, 0, 0) EVT_PLAY_EFFECT(EFFECT_WALKING_DUST, 2, -10, 0, 15, 0, 0) EVT_WAIT(60) diff --git a/src/world/area_jan/jan_07/jan_07_3_npc.c b/src/world/area_jan/jan_07/jan_07_3_npc.c index 179a7bf084..909f3eb4f6 100644 --- a/src/world/area_jan/jan_07/jan_07_3_npc.c +++ b/src/world/area_jan/jan_07/jan_07_3_npc.c @@ -30,9 +30,9 @@ EvtScript N(EVS_NpcIdle_YoshiKid) = { EVT_IF_EQ(GF_JAN07_YoshiCriedForHelp, FALSE) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(ShowMessageAtScreenPos, MSG_CH5_00B4, 320, 60) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PARTNER, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(30) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -183, 50, -11) @@ -75,7 +75,7 @@ EvtScript N(EVS_NpcIdle_YoshiKid) = { EVT_WAIT(15) EVT_SET(AF_JAN_02, TRUE) EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_END_THREAD EVT_WAIT(30) @@ -181,11 +181,11 @@ EvtScript N(EVS_NpcIdle_PutridPiranha) = { EVT_CALL(InterpNpcYaw, NPC_PutridPiranha_01, 270, 0) EVT_END_THREAD EVT_CALL(SetNpcAnimation, NPC_PutridPiranha_02, ANIM_LargePiranha_Putrid_Anim04) - EVT_CALL(PlaySoundAtNpc, NPC_PutridPiranha_02, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PutridPiranha_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PutridPiranha_02, EMOTE_EXCLAMATION, 0, 38, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(3) EVT_CALL(SetNpcAnimation, NPC_PutridPiranha_01, ANIM_LargePiranha_Putrid_Anim04) - EVT_CALL(PlaySoundAtNpc, NPC_PutridPiranha_01, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PutridPiranha_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PutridPiranha_01, EMOTE_EXCLAMATION, 0, 35, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(35) EVT_CALL(SetNpcAnimation, NPC_PutridPiranha_01, ANIM_LargePiranha_Putrid_Anim01) diff --git a/src/world/area_jan/jan_08/jan_08_3_bushes.c b/src/world/area_jan/jan_08/jan_08_3_bushes.c index c9ec619445..dcb9f78ab7 100644 --- a/src/world/area_jan/jan_08/jan_08_3_bushes.c +++ b/src/world/area_jan/jan_08/jan_08_3_bushes.c @@ -56,7 +56,7 @@ EvtScript N(EVS_Inspect_FlipBush) = { EVT_CALL(PlayerMoveTo, -340, LVar5, 20) EVT_CALL(PlayerFaceNpc, NPC_YoshiKid, FALSE) EVT_WAIT(10) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o88, SOUND_209F, 0) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o88, SOUND_SEPARATE_BUSHES, 0) EVT_SET(LVar3, 0) EVT_LOOP(10) EVT_ADD(LVar3, 9) diff --git a/src/world/area_jan/jan_13/jan_13_2_puzzle.c b/src/world/area_jan/jan_13/jan_13_2_puzzle.c index ba3e7889bb..e90dbd2591 100644 --- a/src/world/area_jan/jan_13/jan_13_2_puzzle.c +++ b/src/world/area_jan/jan_13/jan_13_2_puzzle.c @@ -254,7 +254,7 @@ EvtScript N(EVS_ManageGeyserSounds) = { }; EvtScript N(EVS_BoulderTremble) = { - EVT_CALL(PlaySoundAtCollider, COLLIDER_o33, SOUND_0191, 0) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o33, SOUND_JAN_BOULDER_TREMBLE, 0) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(1.5)) EVT_RETURN EVT_END @@ -340,7 +340,7 @@ EvtScript N(EVS_ManagePuzzle) = { EVT_WAIT(8) EVT_END_LOOP EVT_THREAD - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 20, EMOTER_PLAYER, 0, 0, 0, 0) EVT_CALL(GetModelCenter, MODEL_o33) EVT_CALL(FacePlayerTowardPoint, LVar0, LVar2, 4) diff --git a/src/world/area_jan/jan_15/jan_15_1_main.c b/src/world/area_jan/jan_15/jan_15_1_main.c index 2155c590c3..63908d3a40 100644 --- a/src/world/area_jan/jan_15/jan_15_1_main.c +++ b/src/world/area_jan/jan_15/jan_15_1_main.c @@ -4,7 +4,7 @@ EvtScript N(EVS_ExitWalk_jan_16) = { EVT_SET_GROUP(EVT_GROUP_1B) EVT_CALL(UseExitHeading, 60, jan_15_ENTRY_1) EVT_EXEC(ExitWalk) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_REACHED_RAFAELS_TREE) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_REACHED_RAPHAELS_TREE) EVT_CALL(GotoMap, EVT_PTR("jan_16"), jan_16_ENTRY_3) EVT_ELSE EVT_CALL(GotoMap, EVT_PTR("jan_16"), jan_16_ENTRY_0) diff --git a/src/world/area_jan/jan_16/jan_16_2_main.c b/src/world/area_jan/jan_16/jan_16_2_main.c index a7fbd925e1..669c8828f0 100644 --- a/src/world/area_jan/jan_16/jan_16_2_main.c +++ b/src/world/area_jan/jan_16/jan_16_2_main.c @@ -14,7 +14,7 @@ EvtScript N(EVS_BindExitTriggers) = { }; EvtScript N(EVS_SpawnButterflies) = { - EVT_IF_NE(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_IF_NE(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_PLAY_EFFECT(EFFECT_BUTTERFLIES, 5, -310, 10, 0) EVT_PLAY_EFFECT(EFFECT_BUTTERFLIES, 5, -210, 10, 240) EVT_PLAY_EFFECT(EFFECT_BUTTERFLIES, 5, 330, 10, 260) diff --git a/src/world/area_jan/jan_16/jan_16_3_npc.c b/src/world/area_jan/jan_16/jan_16_3_npc.c index c9094d7957..0baf0f578a 100644 --- a/src/world/area_jan/jan_16/jan_16_3_npc.c +++ b/src/world/area_jan/jan_16/jan_16_3_npc.c @@ -23,7 +23,7 @@ NpcSettings N(NpcSettings_Raven) = { EvtScript N(D_802412D4_B812D4) = { EVT_CALL(DisablePlayerInput, TRUE) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_REACHED_RAFAELS_TREE) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_REACHED_RAPHAELS_TREE) EVT_CALL(EnableGroup, MODEL_g38, FALSE) EVT_CALL(EnableGroup, MODEL_g54, FALSE) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) @@ -45,7 +45,7 @@ EvtScript N(D_802412D4_B812D4) = { EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(30 * DT) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(90.0)) - EVT_SET(GB_StoryProgress, STORY_CH5_REACHED_RAFAELS_TREE) + EVT_SET(GB_StoryProgress, STORY_CH5_REACHED_RAPHAELS_TREE) EVT_END_IF EVT_CALL(EnableGroup, MODEL_g38, TRUE) EVT_CALL(EnableGroup, MODEL_g54, TRUE) @@ -64,9 +64,9 @@ EvtScript N(EVS_NpcInteract_Raven) = { EvtScript N(EVS_NpcInit_Raven) = { EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH5_RAFAEL_LEFT_NEST) + EVT_CASE_LT(STORY_CH5_RAPHAEL_LEFT_NEST) EVT_GOTO(20) - EVT_CASE_RANGE(STORY_CH5_RAFAEL_LEFT_NEST, STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_CASE_RANGE(STORY_CH5_RAPHAEL_LEFT_NEST, STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Raven))) EVT_CALL(GetSelfNpcID, LVar0) EVT_IF_EQ(LVar0, 1) @@ -76,7 +76,7 @@ EvtScript N(EVS_NpcInit_Raven) = { EVT_CALL(SetNpcPos, NPC_Raven_04, -390, 0, -40) EVT_CALL(SetNpcPos, NPC_Raven_05, -411, 93, -16) EVT_END_IF - EVT_CASE_GT(STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_CASE_GT(STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_LABEL(20) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o113, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(RemoveNpc, NPC_SELF) @@ -114,7 +114,7 @@ EvtScript N(EVS_NpcInteract_RaphaelRaven) = { EVT_END_THREAD EVT_CALL(SetNpcJumpscale, NPC_SELF, 2) EVT_CALL(NpcJump1, NPC_SELF, LVar0, LVar1, LVar2, 30) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_018A, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_JAN_RAPHAEL_POUND, SOUND_SPACE_DEFAULT) EVT_THREAD EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 50, EVT_FLOAT(1.0)) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle) @@ -156,11 +156,11 @@ EvtScript N(EVS_NpcInteract_RaphaelRaven) = { EVT_LOOP(6) EVT_SWITCH(LVar0) EVT_CASE_RANGE(1, 4) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o97, SOUND_018C, 0) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o97, SOUND_JAN_ROOT_WOBBLE_1, 0) EVT_CASE_EQ(5) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o97, SOUND_018D, 0) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o97, SOUND_JAN_ROOT_WOBBLE_2, 0) EVT_CASE_EQ(6) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o97, SOUND_018E, 0) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o97, SOUND_JAN_ROOT_WOBBLE_3, 0) EVT_END_SWITCH EVT_ADD(LVar0, 1) EVT_WAIT(20) @@ -198,21 +198,21 @@ EvtScript N(EVS_NpcInteract_RaphaelRaven) = { #else EVT_CALL(ResetCam, CAM_DEFAULT, 5) #endif - EVT_SET(GB_StoryProgress, STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_SET(GB_StoryProgress, STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN EVT_END }; EvtScript N(EVS_NpcInit_RaphaelRaven) = { - EVT_IF_EQ(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_IF_EQ(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_PLAYER_COLLISION, FALSE) EVT_CALL(SetNpcPos, NPC_SELF, 85, 0, 410) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_RaphaelRaven))) EVT_RETURN EVT_ELSE EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o130, COLLIDER_FLAGS_UPPER_MASK) - EVT_IF_GE(GB_StoryProgress, STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_IF_GE(GB_StoryProgress, STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o97, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(TranslateGroup, MODEL_g40, 0, 100, 0) EVT_END_IF diff --git a/src/world/area_jan/jan_22/jan_22_1_music.c b/src/world/area_jan/jan_22/jan_22_1_music.c index ff511e3b1c..1fc0f1dedd 100644 --- a/src/world/area_jan/jan_22/jan_22_1_music.c +++ b/src/world/area_jan/jan_22/jan_22_1_music.c @@ -15,7 +15,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_END_THREAD EVT_ELSE EVT_SWITCH(GB_StoryProgress) - EVT_CASE_RANGE(STORY_CH5_RAFAEL_MOVED_ROOT, STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_CASE_RANGE(STORY_CH5_RAPHAEL_MOVED_ROOT, STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_IF_NE(LVar0, jan_22_ENTRY_1) EVT_CALL(SetMusicTrack, 0, SONG_RAPHAEL_RAVEN, 0, 8) EVT_SET(AF_JAN_03, FALSE) diff --git a/src/world/area_jan/jan_22/jan_22_2_main.c b/src/world/area_jan/jan_22/jan_22_2_main.c index b0a5c2aaee..e62163afd1 100644 --- a/src/world/area_jan/jan_22/jan_22_2_main.c +++ b/src/world/area_jan/jan_22/jan_22_2_main.c @@ -88,12 +88,12 @@ EvtScript N(D_8024202C_B861AC) = { EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_g39, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_g86, COLLIDER_FLAGS_UPPER_MASK) EVT_END_IF - EVT_IF_GE(GB_StoryProgress, STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_IF_GE(GB_StoryProgress, STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o149, COLLIDER_FLAGS_UPPER_MASK) EVT_EXEC_WAIT(N(EVS_SeparateBushesImmediately)) EVT_END_IF EVT_SWITCH(GB_StoryProgress) - EVT_CASE_EQ(STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_CASE_EQ(STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_THREAD EVT_EXEC(N(EVS_Scene_RaphaelComingThrough)) EVT_WAIT(200) @@ -116,7 +116,7 @@ EvtScript N(EVS_Main) = { EVT_SETUP_CAMERA_DEFAULT() EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o304, COLLIDER_FLAGS_UPPER_MASK) EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_CASE_LT(STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) EVT_CASE_EQ(STORY_CH5_BEGAN_PEACH_MISSION) EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) diff --git a/src/world/area_jan/jan_22/jan_22_3_npc.c b/src/world/area_jan/jan_22/jan_22_3_npc.c index 7b94f840ff..3519a9ec73 100644 --- a/src/world/area_jan/jan_22/jan_22_3_npc.c +++ b/src/world/area_jan/jan_22/jan_22_3_npc.c @@ -10,8 +10,8 @@ #include "world/common/complete/GiveReward.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" enum { RAVEN_SCENE_AWAITING_COMMAND = 0, @@ -78,7 +78,7 @@ EvtScript N(EVS_UseBasketElevator) = { EVT_END_IF EVT_EXEC_GET_TID(N(EVS_TetherCamToBasketPlayer), LVar7) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) - EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_0186, 0) + EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_JAN_BASKET_ELEVATOR, 0) EVT_CALL(MakeLerp, 0, 170, 60, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -109,7 +109,7 @@ EvtScript N(EVS_UseBasketElevator) = { EVT_WAIT(5) EVT_THREAD EVT_WAIT(15) - EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_0186, 0) + EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_JAN_BASKET_ELEVATOR, 0) EVT_CALL(MakeLerp, 170, 0, 60, EASING_CUBIC_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -218,7 +218,7 @@ EvtScript N(EVS_NpcInteract_RaphaelRaven) = { EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(15.0), EVT_FLOAT(-8.5)) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.5 / DT)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(10 * DT) EVT_CALL(SetNpcFlagBits, NPC_RaphaelRaven, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) @@ -234,7 +234,7 @@ EvtScript N(EVS_NpcInteract_RaphaelRaven) = { EvtScript N(EVS_NpcIdle_RaphaelRaven) = { EVT_LABEL(0) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -245,9 +245,9 @@ EvtScript N(EVS_NpcIdle_RaphaelRaven) = { EvtScript N(EVS_NpcInit_RaphaelRaven) = { EVT_SWITCH(GB_StoryProgress) - EVT_CASE_EQ(STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_CASE_EQ(STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_RaphaelRaven))) - EVT_CASE_EQ(STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_CASE_EQ(STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_CALL(SetNpcPos, NPC_SELF, 125, 0, -40) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_PLAYER_COLLISION, FALSE) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_RaphaelRaven))) @@ -281,7 +281,7 @@ EvtScript N(EVS_Raven_HopAndWalkAway) = { }; EvtScript N(EVS_BuildingEffects) = { - EVT_CALL(PlaySoundAt, SOUND_LOOP_1E, SOUND_SPACE_DEFAULT, 270, 130, 0) + EVT_CALL(PlaySoundAt, SOUND_LOOP_JAN_CONSTRUCTION, SOUND_SPACE_DEFAULT, 270, 130, 0) EVT_LOOP(0) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 3, EVT_FLOAT(1.0)) EVT_WAIT(30 * DT) @@ -302,7 +302,7 @@ EvtScript N(EVS_BuildingEffects) = { EvtScript N(EVS_ManageRavens) = { EVT_LABEL(0) - EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_WAIT(1) EVT_GOTO(0) EVT_END_IF @@ -407,7 +407,7 @@ EvtScript N(EVS_ManageRavens) = { EVT_GOTO(11) EVT_END_IF EVT_WAIT(40 * DT) - EVT_CALL(StopSound, SOUND_LOOP_1E) + EVT_CALL(StopSound, SOUND_LOOP_JAN_CONSTRUCTION) EVT_KILL_THREAD(LVarA) EVT_CALL(SetSelfVar, 0, RAVEN_SCENE_FINISH_WORK) EVT_CASE_EQ(RAVEN_SCENE_FINISH_WORK) @@ -445,7 +445,7 @@ EvtScript N(EVS_ManageRavens) = { EVT_CALL(NpcJump0, NPC_Raven_05, 400, 215, -23, 20 * DT) EVT_CALL(SpeakToPlayer, NPC_Raven_05, ANIM_Raven_Talk, ANIM_Raven_Idle, 0, MSG_CH5_00CD) EVT_THREAD - EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_0186, 0) + EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_JAN_BASKET_ELEVATOR, 0) EVT_CALL(MakeLerp, 170, 0, 60, EASING_CUBIC_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -556,7 +556,7 @@ EvtScript N(EVS_ManageRavens) = { EVT_WAIT(40 * DT) EVT_CALL(BindNpcInteract, NPC_Raven_01, EVT_PTR(N(EVS_NpcInteract_Raven))) EVT_CALL(SetNpcFlagBits, NPC_Raven_01, NPC_FLAG_IGNORE_PLAYER_COLLISION, FALSE) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(1.5 / DT)) EVT_SET(GB_StoryProgress, STORY_CH5_ZIP_LINE_READY) EVT_CALL(DisablePlayerInput, FALSE) @@ -571,9 +571,9 @@ EvtScript N(EVS_ManageRavens) = { EvtScript N(EVS_NpcInit_Raven) = { EVT_SWITCH(GB_StoryProgress) - EVT_CASE_EQ(STORY_CH5_RAFAEL_MOVED_ROOT) + EVT_CASE_EQ(STORY_CH5_RAPHAEL_MOVED_ROOT) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_ManageRavens))) - EVT_CASE_EQ(STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_CASE_EQ(STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_ManageRavens))) EVT_EXEC(N(EVS_GatherRavensNearRaphael)) EVT_CASE_RANGE(STORY_CH5_ZIP_LINE_READY, STORY_CH5_OPENED_ESCAPE_ROUTE) @@ -669,7 +669,7 @@ EvtScript N(EVS_Scene_RaphaelComingThrough) = { EVT_CALL(NpcMoveTo, NPC_Raven_05, -150, -10, 0) EVT_CALL(NpcMoveTo, NPC_Raven_05, 77, -10, 0) EVT_CALL(SetNpcAnimation, NPC_Raven_05, ANIM_Raven_Idle) - EVT_SET(GB_StoryProgress, STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_SET(GB_StoryProgress, STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN EVT_END @@ -703,9 +703,9 @@ EvtScript N(EVS_NpcIdle_Kolorado_HeldCaptive) = { EVT_END_LOOP EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(ShowMessageAtScreenPos, MSG_CH5_00BC, 320, 60) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 25, EMOTER_PLAYER, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PARTNER, EMOTE_EXCLAMATION, 0, 25, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(25 * DT) EVT_CALL(DisablePlayerInput, FALSE) @@ -740,7 +740,7 @@ EvtScript N(EVS_NpcIdle_Kolorado_HeldCaptive) = { EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-7.5)) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(5.0 / DT)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(10 * DT) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH5_00C1) @@ -780,7 +780,7 @@ EvtScript N(EVS_NpcIdle_Kolorado_HeldCaptive) = { EVT_END_THREAD EVT_EXEC_GET_TID(N(D_8024511C_B8929C), LVar9) EVT_WAIT(35) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(5.0)) EVT_KILL_THREAD(LVar9) EVT_CALL(SetSelfVar, 0, 3) @@ -809,9 +809,9 @@ EvtScript N(EVS_NpcIdle_Kolorado_Before) = { EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(ShowMessageAtScreenPos, MSG_CH5_00C5, 0, 60) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 20, EMOTER_PLAYER, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PARTNER, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_CALL(DisablePlayerInput, FALSE) @@ -869,7 +869,7 @@ EvtScript N(EVS_NpcIdle_Kolorado_After) = { EVT_CALL(NpcJump0, NPC_SELF, 200, 0, 0, 20 * DT) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Idle) EVT_CALL(SetSelfVar, 0, 21) - EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_0186, 0) + EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_JAN_BASKET_ELEVATOR, 0) EVT_CALL(GetNpcPos, NPC_SELF, LVar3, LVar4, LVar5) EVT_CALL(MakeLerp, 0, 170, 60, EASING_LINEAR) EVT_LOOP(0) @@ -890,7 +890,7 @@ EvtScript N(EVS_NpcIdle_Kolorado_After) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_WAIT(40 * DT) - EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_0186, 0) + EVT_CALL(PlaySoundAtModel, MODEL_o123, SOUND_JAN_BASKET_ELEVATOR, 0) EVT_CALL(MakeLerp, 170, 0, 60, EASING_CUBIC_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -1017,7 +1017,7 @@ EvtScript N(EVS_NpcInit_Kolorado_WaitingToExplore) = { EVT_CALL(SetSelfVar, 0, 0) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Kolorado_Before))) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Kolorado_Before))) - EVT_CASE_RANGE(STORY_CH5_RAFAEL_MOVED_ROOT, STORY_CH5_RAFAEL_WAITING_FOR_MARIO) + EVT_CASE_RANGE(STORY_CH5_RAPHAEL_MOVED_ROOT, STORY_CH5_RAPHAEL_WAITING_FOR_MARIO) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Kolorado_After))) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CASE_DEFAULT @@ -1133,7 +1133,7 @@ EvtScript N(EVS_NpcDefeat_SpearGuy) = { EVT_CALL(SetCamDistance, CAM_DEFAULT, 300) EVT_CALL(SetCamPitch, CAM_DEFAULT, EVT_FLOAT(17.0), EVT_FLOAT(-7.5)) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0 / DT)) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(SetNpcFlagBits, NPC_Kolorado_01, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(SetNpcAnimation, NPC_Kolorado_01, ANIM_Kolorado_Run) diff --git a/src/world/area_jan/jan_22/jan_22_6_bushes.c b/src/world/area_jan/jan_22/jan_22_6_bushes.c index 7a0a31afed..ac33860e7f 100644 --- a/src/world/area_jan/jan_22/jan_22_6_bushes.c +++ b/src/world/area_jan/jan_22/jan_22_6_bushes.c @@ -8,7 +8,7 @@ #include "../common/MoveBush.inc.c" EvtScript N(EVS_MoveBushes_Separate) = { - EVT_CALL(PlaySoundAtCollider, COLLIDER_o149, SOUND_209F, 0) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o149, SOUND_SEPARATE_BUSHES, 0) EVT_SET(LVar0, MV_BushOffsetL) EVT_SET(LVar1, MV_BushOffsetR) EVT_SET(LVar6, 0) diff --git a/src/world/area_jan/jan_23/jan_23_3_npc.c b/src/world/area_jan/jan_23/jan_23_3_npc.c index 9342a37087..5ae910392c 100644 --- a/src/world/area_jan/jan_23/jan_23_3_npc.c +++ b/src/world/area_jan/jan_23/jan_23_3_npc.c @@ -538,7 +538,7 @@ EvtScript N(EVS_NpcInteract_RaphaelRaven_Before) = { EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(15 * DT) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(2.0 * DT)) - EVT_SET(GB_StoryProgress, STORY_CH5_RAFAEL_LEFT_NEST) + EVT_SET(GB_StoryProgress, STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN EVT_END @@ -553,7 +553,7 @@ EvtScript N(EVS_NpcInteract_RaphaelRaven_After) = { EvtScript N(EVS_NpcInit_RaphaelRaven) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_RaphaelRaven_IdleNoFeet) EVT_SWITCH(GB_StoryProgress) - EVT_CASE_LT(STORY_CH5_RAFAEL_LEFT_NEST) + EVT_CASE_LT(STORY_CH5_RAPHAEL_LEFT_NEST) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_RaphaelRaven_Before))) EVT_CASE_GE(STORY_CH5_ZIP_LINE_READY) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_RaphaelRaven_After))) diff --git a/src/world/area_kkj/kkj_03/kkj_03_4_scenes.c b/src/world/area_kkj/kkj_03/kkj_03_4_scenes.c index 2617c71c8a..3c90338bc7 100644 --- a/src/world/area_kkj/kkj_03/kkj_03_4_scenes.c +++ b/src/world/area_kkj/kkj_03/kkj_03_4_scenes.c @@ -49,7 +49,7 @@ EvtScript N(EVS_Scene_MeetingPeach) = { EVT_WAIT(10 * DT) EVT_CALL(PlayerMoveTo, 590, 0, 10 * DT) EVT_WAIT(5 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, -45, 20, EMOTER_PLAYER, 0, 0, 0, 0) EVT_END_THREAD EVT_THREAD @@ -57,7 +57,7 @@ EvtScript N(EVS_Scene_MeetingPeach) = { EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach1_Walk) EVT_CALL(NpcMoveTo, NPC_Peach, 640, 0, 10 * DT) EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach1_Idle) - EVT_CALL(PlaySoundAtNpc, NPC_Peach, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Peach, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Peach, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_CALL(SetNpcAnimation, NPC_Peach, ANIM_Peach2_LookAround) diff --git a/src/world/area_kkj/kkj_10/kkj_10_2_entity.c b/src/world/area_kkj/kkj_10/kkj_10_2_entity.c index 2e0ab5e2d7..2d0fe7f9fd 100644 --- a/src/world/area_kkj/kkj_10/kkj_10_2_entity.c +++ b/src/world/area_kkj/kkj_10/kkj_10_2_entity.c @@ -19,7 +19,7 @@ EvtScript N(EVS_UnlockPrompt_FrontDoor) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, 0, 10, 490) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, 0, 10, 490) EVT_SET(LVar0, MV_PadlockEntityIdx) EVT_CALL(N(RemovePadlock)) EVT_WAIT(5) diff --git a/src/world/area_kkj/kkj_10/kkj_10_3_npcs_early.c b/src/world/area_kkj/kkj_10/kkj_10_3_npcs_early.c index e03683abef..890c466da6 100644 --- a/src/world/area_kkj/kkj_10/kkj_10_3_npcs_early.c +++ b/src/world/area_kkj/kkj_10/kkj_10_3_npcs_early.c @@ -11,7 +11,7 @@ EvtScript N(EVS_CapturePeach) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 5) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_10/kkj_10_4_npcs_later.c b/src/world/area_kkj/kkj_10/kkj_10_4_npcs_later.c index 048ee8d063..02d6d3d44d 100644 --- a/src/world/area_kkj/kkj_10/kkj_10_4_npcs_later.c +++ b/src/world/area_kkj/kkj_10/kkj_10_4_npcs_later.c @@ -30,7 +30,7 @@ EvtScript N(EVS_CapturePeach) = { EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) EVT_CALL(N(SetPeachFlag8)) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 5) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_11/kkj_11_2_entity.c b/src/world/area_kkj/kkj_11/kkj_11_2_entity.c index d135f90485..feecb6de09 100644 --- a/src/world/area_kkj/kkj_11/kkj_11_2_entity.c +++ b/src/world/area_kkj/kkj_11/kkj_11_2_entity.c @@ -19,7 +19,7 @@ EvtScript N(EVS_ItemPrompt_Lock) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, 0, 10, 490) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, 0, 10, 490) EVT_SET(LVar0, MV_PadlockEntityIdx) EVT_CALL(N(RemovePadlock)) EVT_WAIT(5) diff --git a/src/world/area_kkj/kkj_11/kkj_11_5_npcs_early.c b/src/world/area_kkj/kkj_11/kkj_11_5_npcs_early.c index b42cfa110a..6f2998dfa3 100644 --- a/src/world/area_kkj/kkj_11/kkj_11_5_npcs_early.c +++ b/src/world/area_kkj/kkj_11/kkj_11_5_npcs_early.c @@ -12,7 +12,7 @@ EvtScript N(EVS_NpcAI_Koopatrol_01) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 5) EVT_WAIT(20) @@ -162,7 +162,7 @@ EvtScript N(EVS_NpcIdle_Koopatrol_04) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 5) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_11/kkj_11_6_npcs_later.c b/src/world/area_kkj/kkj_11/kkj_11_6_npcs_later.c index 416e7eae0b..bf6bf88d6e 100644 --- a/src/world/area_kkj/kkj_11/kkj_11_6_npcs_later.c +++ b/src/world/area_kkj/kkj_11/kkj_11_6_npcs_later.c @@ -29,7 +29,7 @@ EvtScript N(EVS_CapturePeach) = { EVT_CALL(N(SetPeachFlag8)) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 5) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_12/kkj_12_2_npc.c b/src/world/area_kkj/kkj_12/kkj_12_2_npc.c index f8376c4c1d..a8a64b6b64 100644 --- a/src/world/area_kkj/kkj_12/kkj_12_2_npc.c +++ b/src/world/area_kkj/kkj_12/kkj_12_2_npc.c @@ -117,7 +117,7 @@ EvtScript N(EVS_CapturePeach) = { EVT_CALL(N(SetPeachFlag8)) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 5) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c b/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c index 75f16b71b0..eb3dc63aae 100644 --- a/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c +++ b/src/world/area_kkj/kkj_13/kkj_13_3_npcs_finale.c @@ -51,7 +51,7 @@ EvtScript N(EVS_MoveToBattlePositions) = { EVT_WAIT(20) EVT_CALL(SetNpcJumpscale, NPC_Bowser_Body, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_Bowser_Body, 675, 0, 0, 10) - EVT_CALL(PlaySoundAtNpc, NPC_Bowser_Body, SOUND_20A0, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Bowser_Body, SOUND_LARGE_NPC_IMPACT, SOUND_SPACE_DEFAULT) EVT_END_THREAD EVT_THREAD EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_13/kkj_13_5_intro_scenes.c b/src/world/area_kkj/kkj_13/kkj_13_5_intro_scenes.c index 8196fa86b6..ccdc051ac0 100644 --- a/src/world/area_kkj/kkj_13/kkj_13_5_intro_scenes.c +++ b/src/world/area_kkj/kkj_13/kkj_13_5_intro_scenes.c @@ -332,7 +332,7 @@ EvtScript N(EVS_Scene_BowserAttacks) = { EVT_WAIT(5) EVT_CALL(SetNpcJumpscale, NPC_Bowser_Body, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_Bowser_Body, 810, 0, 0, 5) - EVT_CALL(PlaySoundAtNpc, NPC_Bowser_Body, SOUND_20A0, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Bowser_Body, SOUND_LARGE_NPC_IMPACT, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcAnimation, NPC_Bowser_Body, ANIM_WorldBowser_PostJump) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20 * DT, EVT_FLOAT(2.0)) EVT_CALL(SetNpcAnimation, NPC_Bowser_Body, ANIM_WorldBowser_Idle) diff --git a/src/world/area_kkj/kkj_14/kkj_14_8_chapter0.c b/src/world/area_kkj/kkj_14/kkj_14_8_chapter0.c index 616210debc..91aa64c49c 100644 --- a/src/world/area_kkj/kkj_14/kkj_14_8_chapter0.c +++ b/src/world/area_kkj/kkj_14/kkj_14_8_chapter0.c @@ -98,7 +98,7 @@ EvtScript N(EVS_Scene_Chapter0) = { EVT_WAIT(30 * DT) EVT_CALL(N(ClearPeachDepressed)) EVT_CALL(SetPlayerAnimation, ANIM_Peach1_Idle) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, -45, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(10 * DT) EVT_CALL(InterpPlayerYaw, 270, 3) @@ -198,7 +198,7 @@ EvtScript N(EVS_Scene_Chapter0) = { EVT_WAIT(10 * DT) EVT_CALL(PlaySoundAt, SOUND_KKJ_WINDOW_TAP, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_WAIT(10 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 20, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_CALL(InterpPlayerYaw, 135, 5) @@ -349,7 +349,7 @@ EvtScript N(EVS_Scene_Chapter0) = { EVT_CALL(SetPlayerAnimation, ANIM_Peach1_Idle) EVT_WAIT(30 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Peach2_Startle) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, -45, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Peach1_Idle) diff --git a/src/world/area_kkj/kkj_14/kkj_14_9_chapter1.c b/src/world/area_kkj/kkj_14/kkj_14_9_chapter1.c index cc4964153a..0af07517e0 100644 --- a/src/world/area_kkj/kkj_14/kkj_14_9_chapter1.c +++ b/src/world/area_kkj/kkj_14/kkj_14_9_chapter1.c @@ -28,7 +28,7 @@ EvtScript N(EVS_Scene_Chapter1) = { EVT_CALL(SpeakToPlayer, NPC_PLAYER, ANIM_Peach3_InformalTalk, ANIM_Peach1_Idle, 5, MSG_Peach_0035) EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_Peach_0036) EVT_CALL(SetPlayerAnimation, ANIM_Peach2_Startle) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Peach1_Idle) diff --git a/src/world/area_kkj/kkj_15/kkj_15_4_chapter0.c b/src/world/area_kkj/kkj_15/kkj_15_4_chapter0.c index f00a9ea5c4..7b9048389f 100644 --- a/src/world/area_kkj/kkj_15/kkj_15_4_chapter0.c +++ b/src/world/area_kkj/kkj_15/kkj_15_4_chapter0.c @@ -147,9 +147,9 @@ EvtScript N(EVS_Scene_Chapter0_BowserAndKammy) = { EVT_CALL(FadeOutMusic, 0, 2000) EVT_CALL(ShowMessageAtScreenPos, MSG_Peach_CH1_KoopaBros_0007, 300, 20) EVT_WAIT(5 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_Bowser, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Bowser, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Bowser, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_Kammy, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kammy, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Kammy, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_THREAD @@ -332,13 +332,13 @@ EvtScript N(EVS_Scene_Chapter0_BowserAndKammy) = { EVT_EXEC_WAIT(N(EVS_FocusCam_KoopaBros)) EVT_WAIT(10 * DT) EVT_CALL(FadeOutMusic, 0, 500) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_03, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaBros_03, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_02, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaBros_02, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_04, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_04, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaBros_04, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_01, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaBros_01, EMOTE_EXCLAMATION, -45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SpeakToNpc, NPC_KoopaBros_02, ANIM_KoopaBros_Red_Talk, ANIM_KoopaBros_Red_Idle, 0, NPC_Bowser, MSG_Peach_CH1_KoopaBros_0014) @@ -371,12 +371,12 @@ EvtScript N(EVS_Scene_Chapter0_BowserAndKammy) = { EVT_END_THREAD EVT_CALL(SpeakToNpc, NPC_Bowser, ANIM_WorldBowser_Talk, ANIM_WorldBowser_Idle, 0, NPC_KoopaBros_02, MSG_Peach_CH1_KoopaBros_0015) EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_02, SOUND_0173, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_02, SOUND_RUN_AWAY_BUILDUP, SOUND_SPACE_DEFAULT) EVT_CALL(InterpNpcYaw, NPC_KoopaBros_02, 90, 0) EVT_CALL(EnableNpcBlur, NPC_KoopaBros_02, TRUE) EVT_CALL(SetNpcAnimation, NPC_KoopaBros_02, ANIM_KoopaBros_Red_Run) EVT_WAIT(30 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_02, SOUND_0174, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_02, SOUND_RUN_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(NpcMoveTo, NPC_KoopaBros_02, 200, -60, 10 * DT) EVT_END_THREAD EVT_THREAD diff --git a/src/world/area_kkj/kkj_15/kkj_15_7_chapter3.c b/src/world/area_kkj/kkj_15/kkj_15_7_chapter3.c index 82256ad4c3..bf367234a4 100644 --- a/src/world/area_kkj/kkj_15/kkj_15_7_chapter3.c +++ b/src/world/area_kkj/kkj_15/kkj_15_7_chapter3.c @@ -174,7 +174,7 @@ EvtScript N(EVS_Scene_Chapter3) = { EVT_THREAD EVT_EXEC_WAIT(N(EVS_AnimateRotatingWall_AlmostCaught)) EVT_CALL(SetPlayerAnimation, ANIM_Peach2_Gasp) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Peach2_LookAround) @@ -214,9 +214,9 @@ EvtScript N(EVS_Scene_Chapter3) = { EVT_CALL(SpeakToNpc, NPC_Bowser, ANIM_WorldBowser_Talk, ANIM_WorldBowser_Idle, 0, NPC_Bowser, MSG_Peach_0088) EVT_CALL(SetPlayerAnimation, ANIM_Peach2_Delighted) EVT_WAIT(1) - EVT_CALL(PlaySoundAtNpc, NPC_Bowser, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Bowser, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Bowser, EMOTE_EXCLAMATION, -45, 30, EMOTER_NPC, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_Kammy, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kammy, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Kammy, EMOTE_EXCLAMATION, -45, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetNpcVar, NPC_Bowser, 0, 1) diff --git a/src/world/area_kkj/kkj_16/kkj_16_2_npcs_early.c b/src/world/area_kkj/kkj_16/kkj_16_2_npcs_early.c index f1b8e17142..1560c56773 100644 --- a/src/world/area_kkj/kkj_16/kkj_16_2_npcs_early.c +++ b/src/world/area_kkj/kkj_16/kkj_16_2_npcs_early.c @@ -13,7 +13,7 @@ EvtScript N(EVS_CapturePeach) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 0) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c b/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c index ae7fbe8aeb..60b3458a65 100644 --- a/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c +++ b/src/world/area_kkj/kkj_16/kkj_16_3_npcs_later.c @@ -71,7 +71,7 @@ EvtScript N(EVS_CapturePeach) = { EVT_CALL(N(SetPeachFlag8)) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 0) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_16/kkj_16_4_stealth.c b/src/world/area_kkj/kkj_16/kkj_16_4_stealth.c index 4f2454df60..de3279ad2c 100644 --- a/src/world/area_kkj/kkj_16/kkj_16_4_stealth.c +++ b/src/world/area_kkj/kkj_16/kkj_16_4_stealth.c @@ -162,7 +162,7 @@ EvtScript N(EVS_ManageSneakingScenes) = { EVT_CALL(SetMusicTrack, 0, SONG_PEACH_SNEAKING, 0, 4) EVT_END_THREAD EVT_CALL(SetPlayerAnimation, ANIM_Peach2_Startle) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Peach1_Idle) diff --git a/src/world/area_kkj/kkj_23/kkj_23_4_npcs_peach.c b/src/world/area_kkj/kkj_23/kkj_23_4_npcs_peach.c index 4e69d4aa86..7b296c1377 100644 --- a/src/world/area_kkj/kkj_23/kkj_23_4_npcs_peach.c +++ b/src/world/area_kkj/kkj_23/kkj_23_4_npcs_peach.c @@ -47,7 +47,7 @@ EvtScript N(EVS_CapturePeach) = { EVT_CALL(N(SetPeachFlag8)) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 0) EVT_WAIT(20) diff --git a/src/world/area_kkj/kkj_23/kkj_23_5_scene.c b/src/world/area_kkj/kkj_23/kkj_23_5_scene.c index 794dc0012b..a3aedd363e 100644 --- a/src/world/area_kkj/kkj_23/kkj_23_5_scene.c +++ b/src/world/area_kkj/kkj_23/kkj_23_5_scene.c @@ -280,7 +280,7 @@ EvtScript N(EVS_Scene_KammyUnmasksPeach) = { EVT_CALL(InterpNpcYaw, NPC_Kammy, 90, 5) EVT_WAIT(10 * DT) EVT_CALL(NpcMoveTo, NPC_Kammy, 280, -50, 0) - EVT_CALL(PlaySoundAtNpc, NPC_Kammy, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kammy, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Kammy, EMOTE_EXCLAMATION, -45, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_CALL(InterpNpcYaw, NPC_Kammy, 270, 5) diff --git a/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c b/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c index 68b2734e8c..a7d26932f7 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c +++ b/src/world/area_kkj/kkj_25/kkj_25_2_npc_initial.c @@ -30,7 +30,7 @@ EvtScript N(EVS_NpcIdle_Bowser) = { EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_END_THREAD EVT_CALL(ModifyGlobalOverrideFlags, 1, GLOBAL_OVERRIDES_20000) - EVT_CALL(StopSound, SOUND_LRAW_022C) + EVT_CALL(StopSound, SOUND_LRAW_KPA_ARENA_TURN_ON) EVT_CALL(StartBossBattle, SONG_BOWSER_BATTLE) EVT_RETURN EVT_END @@ -38,7 +38,7 @@ EvtScript N(EVS_NpcIdle_Bowser) = { EvtScript N(EVS_NpcDefeat_Bowser) = { #define NAME_SUFFIX - EVT_CALL(PlaySound, SOUND_LRAW_022D) + EVT_CALL(PlaySound, SOUND_LRAW_KPA_ARENA_ACTIVE) EVT_EXEC(N(EVS_Scene_PeachBreaksFree)) EVT_RETURN EVT_END @@ -70,7 +70,7 @@ EvtScript N(EVS_NpcIdle_Kammy_Broom) = { EVT_CALL(GetNpcPos, NPC_Peach_01, LVar0, LVar1, LVar2) EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) EVT_CALL(ModifyGlobalOverrideFlags, 1, GLOBAL_OVERRIDES_20000) - EVT_CALL(StopSound, SOUND_LRAW_022D) + EVT_CALL(StopSound, SOUND_LRAW_KPA_ARENA_ACTIVE) EVT_CALL(StartBossBattle, SONG_BOWSER_BATTLE) EVT_CALL(EnablePartnerAI) EVT_RETURN diff --git a/src/world/area_kkj/kkj_25/kkj_25_5_arena.c b/src/world/area_kkj/kkj_25/kkj_25_5_arena.c index 47f1a37be1..7577cb8fee 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_5_arena.c +++ b/src/world/area_kkj/kkj_25/kkj_25_5_arena.c @@ -60,7 +60,7 @@ EvtScript N(EVS_BowserActivatesSwitch) = { EVT_CALL(SetNpcAnimation, NPC_Bowser_01, ANIM_WorldBowser_Land) EVT_WAIT(10) EVT_CALL(SetNpcAnimation, NPC_Bowser_01, ANIM_WorldBowser_RearUpLaugh) - EVT_CALL(PlaySound, SOUND_LRAW_03BC) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE) EVT_LOOP(0) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 1, EVT_FLOAT(2.0)) EVT_WAIT(1) @@ -68,12 +68,12 @@ EvtScript N(EVS_BowserActivatesSwitch) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySound, SOUND_LRAW_03BC | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE | SOUND_ID_TRIGGER_CHANGE_SOUND) EVT_END_THREAD EVT_CALL(SetNpcJumpscale, NPC_Bowser_01, EVT_FLOAT(1.0)) EVT_CALL(NpcJump0, NPC_Bowser_01, 300, 0, 0, 20) EVT_CALL(PlaySoundAtNpc, NPC_Bowser_01, SOUND_FLOOR_SWITCH_ACTIVATE, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Bowser_01, SOUND_20A0, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Bowser_01, SOUND_LARGE_NPC_IMPACT, SOUND_SPACE_DEFAULT) EVT_SET(AF_KKJ_1A, TRUE) EVT_RETURN EVT_END @@ -411,7 +411,7 @@ EvtScript N(EVS_Scene_ActivateMachine) = { EVT_CALL(SetNpcDecoration, NPC_Bowser_01, 0, NPC_DECORATION_BOWSER_AURA) EVT_END_THREAD EVT_WAIT(15) - EVT_CALL(PlaySoundAtNpc, NPC_Bowser_01, SOUND_0223, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Bowser_01, SOUND_KPA_BOWSER_POWER_UP, SOUND_SPACE_DEFAULT) EVT_SETF(LVar0, EVT_FLOAT(1.0)) EVT_LOOP(50) EVT_ADDF(LVar0, EVT_FLOAT(0.01)) @@ -481,7 +481,7 @@ EvtScript N(EVS_ManageArenaEffects) = { EVT_IF_EQ(GF_KKJ25_Defeated_Kammy, FALSE) EVT_THREAD EVT_WAIT(50) - EVT_CALL(PlaySound, SOUND_LRAW_022C) + EVT_CALL(PlaySound, SOUND_LRAW_KPA_ARENA_TURN_ON) EVT_END_THREAD EVT_CALL(MakeLerp, 0, 50, 120, EASING_QUADRATIC_IN) EVT_LOOP(0) @@ -498,7 +498,7 @@ EvtScript N(EVS_ManageArenaEffects) = { EVT_END_LOOP EVT_ELSE EVT_IF_EQ(GF_KKJ25_Defeated_Bowser, FALSE) - EVT_CALL(PlaySound, SOUND_LRAW_022D) + EVT_CALL(PlaySound, SOUND_LRAW_KPA_ARENA_ACTIVE) EVT_END_IF EVT_SET(LVar0, 5) EVT_END_IF @@ -611,7 +611,7 @@ EvtScript N(EVS_ManageArenaEffects) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(StopSound, SOUND_LRAW_022D) + EVT_CALL(StopSound, SOUND_LRAW_KPA_ARENA_ACTIVE) EVT_RETURN EVT_END }; diff --git a/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c b/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c index c56b597a29..7a521fd689 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c +++ b/src/world/area_kkj/kkj_25/kkj_25_7_kammy_defeated.c @@ -93,7 +93,7 @@ EvtScript N(EVS_Scene_KammyDefeated) = { EVT_CALL(InterpNpcYaw, NPC_Peach_01, 90, 0) EVT_CALL(SpeakToPlayer, NPC_Twink_01, ANIM_Twink_Talk, ANIM_Twink_Idle, 0, MSG_CH8_009D) EVT_WAIT(10) - EVT_CALL(StopSound, SOUND_LRAW_022D) + EVT_CALL(StopSound, SOUND_LRAW_KPA_ARENA_ACTIVE) EVT_CALL(SetMusicTrack, 0, SONG_PEACH_WISHES, 0, 8) EVT_CALL(InterpNpcYaw, NPC_Peach_01, 270, 0) EVT_WAIT(10) diff --git a/src/world/area_kkj/kkj_25/kkj_25_8_bowser_defeated.c b/src/world/area_kkj/kkj_25/kkj_25_8_bowser_defeated.c index 4c2682d039..563e7ee72f 100644 --- a/src/world/area_kkj/kkj_25/kkj_25_8_bowser_defeated.c +++ b/src/world/area_kkj/kkj_25/kkj_25_8_bowser_defeated.c @@ -312,7 +312,7 @@ EvtScript N(EVS_Scene_BowserDefeated) = { EVT_PLAY_EFFECT(EFFECT_RADIAL_SHIMMER, 14, 150, 60, 0, 1, 330) EVT_WAIT(310 * DT) EVT_CALL(ShowMessageAtScreenPos, MSG_CH8_00AA, 160, 40) - EVT_CALL(PlaySound, SOUND_LRAW_022D) + EVT_CALL(PlaySound, SOUND_LRAW_KPA_ARENA_ACTIVE) EVT_CALL(RemoveNpc, NPC_StarRod) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_ThumbsUp) EVT_CALL(GetCurrentPartnerID, LVar0) @@ -370,11 +370,11 @@ EvtScript N(EVS_Scene_BowserDefeated) = { EVT_WAIT(10) EVT_CALL(SpeakToPlayer, NPC_Peach_02, ANIM_Peach2_RaiseArms, ANIM_Peach1_Idle, 0, MSG_CH8_00AC) EVT_WAIT(20) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_SET(MV_DestructState, DESTRUCT_STATE_1) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 20, EMOTER_PLAYER, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_Peach_02, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Peach_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Peach_02, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20) EVT_CALL(InterpPlayerYaw, 270, 0) @@ -471,8 +471,8 @@ EvtScript N(EVS_Scene_BowserDefeated) = { EVT_CALL(SpeakToNpc, NPC_Bowser_03, ANIM_WorldBowser_Talk, ANIM_WorldBowser_Idle, 512, NPC_Kammy_05, MSG_CH8_00B0) EVT_SET(MV_ArenaState, ARENA_STATE_BROKEN) EVT_WAIT(20) - EVT_CALL(StopSound, SOUND_LRAW_03BC) - EVT_CALL(PlaySoundAt, SOUND_0230, SOUND_SPACE_DEFAULT, 500, 0, 100) + EVT_CALL(StopSound, SOUND_LRAW_RUMBLE) + EVT_CALL(PlaySoundAt, SOUND_KPA_EXPLOSION_CLUSTER, SOUND_SPACE_DEFAULT, 500, 0, 100) EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, 500, 0, 100, EVT_FLOAT(8.0), 90) EVT_SET(MV_DestructState, DESTRUCT_STATE_7) EVT_CALL(SetNpcAnimation, NPC_Bowser_03, ANIM_WorldBowser_Shock) diff --git a/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c b/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c index 0f3e5d09f8..3c57cb7326 100644 --- a/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c +++ b/src/world/area_kkj/kkj_29/kkj_29_3_quiz.c @@ -918,7 +918,7 @@ EvtScript N(EVS_ManageQuizGame) = { EVT_CALL(SetPlayerAnimation, ANIM_Peach1_Idle) EVT_END_THREAD EVT_WAIT(20 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_01, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_01, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Koopatrol_01, EMOTE_QUESTION, -45, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_CALL(InterpNpcYaw, NPC_Koopatrol_01, 90, 5) @@ -997,13 +997,13 @@ EvtScript N(EVS_ManageQuizGame) = { EVT_CALL(SpeakToPlayer, NPC_HammerBros, ANIM_HammerBros_Anim0B, ANIM_HammerBros_Anim03, 5, MSG_Peach_00F6) EVT_CALL(PlaySound, SOUND_AUDIENCE_CHEER) EVT_CALL(SetPlayerAnimation, ANIM_Peach2_LookAround) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 45, 13, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(13 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 13, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(13 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 45, 13, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(10 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Peach2_ForwardIdle) diff --git a/src/world/area_kmr/kmr_00/kmr_00_3_revival.c b/src/world/area_kmr/kmr_00/kmr_00_3_revival.c index 8cdfade667..83b7b4848e 100644 --- a/src/world/area_kmr/kmr_00/kmr_00_3_revival.c +++ b/src/world/area_kmr/kmr_00/kmr_00_3_revival.c @@ -600,7 +600,7 @@ EvtScript N(EVS_Scene_MarioRevived) = { EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar3, LVar4, LVar5) EVT_WAIT(25 * DT) EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_LeanOver) - EVT_CALL(PlaySoundAtNpc, NPC_Goombaria, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Goombaria, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Goombaria, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(25 * DT) EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_Stand) diff --git a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c index 6dfc9b668c..4236df47a6 100644 --- a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c +++ b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c @@ -403,7 +403,7 @@ EvtScript N(EVS_ReturnToVillage) = { EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) EVT_CALL(NpcMoveTo, NPC_PARTNER, -295, -30, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_WearyWalk) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0269, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_USE_KEY, SOUND_SPACE_DEFAULT) EVT_WAIT(15 * DT) EVT_CALL(PlaySoundAtCollider, COLLIDER_mm1, SOUND_GOOMBA_GATE_OPEN, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, 120, 20, EASING_COS_IN_OUT) @@ -1609,7 +1609,7 @@ EvtScript N(EVS_Scene_EldstarsPlea) = { EVT_WAIT(20 * DT) EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(4.0), 0, EVT_FLOAT(-300.0), EVT_FLOAT(20.0), EVT_FLOAT(-10.0)) EVT_WAIT(15 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_Surprise) EVT_WAIT(20 * DT) @@ -1622,7 +1622,7 @@ EvtScript N(EVS_Scene_EldstarsPlea) = { EVT_WAIT(20 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Question) EVT_WAIT(20 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 0, 60, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(55 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle) @@ -2088,10 +2088,10 @@ EvtScript N(EVS_NpcIdle_Eldstar_Epilogue) = { EVT_CALL(SpeakToPlayer, NPC_Parakarry, ANIM_WorldParakarry_Talk, ANIM_WorldParakarry_Idle, 5, MSG_Outro_000F) EVT_WAIT(10) EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_Goombaria, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Goombaria, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Goombaria, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_END_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_Goombario, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Goombario, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Goombario, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(10) EVT_CALL(InterpNpcYaw, NPC_Goombario, 90, 0) diff --git a/src/world/area_kmr/kmr_03/kmr_03_3_npc.c b/src/world/area_kmr/kmr_03/kmr_03_3_npc.c index e6cfded05d..9572bbb3a2 100644 --- a/src/world/area_kmr/kmr_03/kmr_03_3_npc.c +++ b/src/world/area_kmr/kmr_03/kmr_03_3_npc.c @@ -64,7 +64,7 @@ EvtScript N(EVS_NpcAI_Goompa) = { EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(SetNpcAux, NPC_Goompa, 0) - EVT_CALL(PlaySoundAtNpc, NPC_Goompa, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Goompa, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Goompa, EMOTE_EXCLAMATION, 45, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15 * DT) EVT_CALL(NpcFacePlayer, NPC_SELF, 5) diff --git a/src/world/area_kmr/kmr_03/kmr_03_4_entity.c b/src/world/area_kmr/kmr_03/kmr_03_4_entity.c index a4bf8b412f..539cf1e5dc 100644 --- a/src/world/area_kmr/kmr_03/kmr_03_4_entity.c +++ b/src/world/area_kmr/kmr_03/kmr_03_4_entity.c @@ -14,9 +14,9 @@ EvtScript N(EVS_OnSmashBlock2) = { EVT_END }; -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" API_CALLABLE(func_80240358_8C82E8) { PlayerStatus* playerStatus = &gPlayerStatus; diff --git a/src/world/area_kmr/kmr_03/kmr_03_6_fall_down.c b/src/world/area_kmr/kmr_03/kmr_03_6_fall_down.c index 3b243b1dbc..85aba9c2af 100644 --- a/src/world/area_kmr/kmr_03/kmr_03_6_fall_down.c +++ b/src/world/area_kmr/kmr_03/kmr_03_6_fall_down.c @@ -34,11 +34,11 @@ EvtScript N(EVS_Scene_FallingDown) = { EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_THREAD EVT_WAIT(18 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0175, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_PAPER_GLIDE_1, SOUND_SPACE_DEFAULT) EVT_WAIT(30 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0176, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_PAPER_GLIDE_2, SOUND_SPACE_DEFAULT) EVT_WAIT(28 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0175, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_PAPER_GLIDE_1, SOUND_SPACE_DEFAULT) EVT_END_THREAD EVT_CALL(HidePlayerShadow, TRUE) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle) diff --git a/src/world/area_kmr/kmr_20/kmr_20_10_npc.c b/src/world/area_kmr/kmr_20/kmr_20_10_npc.c index d9fbbccff5..9c0850977e 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_10_npc.c +++ b/src/world/area_kmr/kmr_20/kmr_20_10_npc.c @@ -110,7 +110,7 @@ EvtScript N(EVS_Scene_LuigiWaitingAround) = { EVT_WAIT(80) EVT_CALL(SpeakToPlayer, NPC_Luigi_1, ANIM_Luigi_TalkSit, ANIM_Luigi_IdleSit, 5, MSG_CH0_00DB) EVT_WAIT(20) - EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Luigi_1, EMOTE_QUESTION, -30, 40, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(25) EVT_THREAD @@ -125,7 +125,7 @@ EvtScript N(EVS_Scene_LuigiWaitingAround) = { EVT_WAIT(15) EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_GRAVITY, TRUE) EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_FLYING, FALSE) - EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Luigi_1, EMOTE_EXCLAMATION, -30, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(SetNpcAnimation, NPC_Luigi_1, ANIM_Luigi_Jump) EVT_CALL(GetNpcPos, NPC_Luigi_1, LVar0, LVar1, LVar2) @@ -175,7 +175,7 @@ EvtScript N(EVS_Scene_LuigiWaitingAround) = { EVT_WAIT(10) EVT_CALL(SetNpcAnimation, NPC_Luigi_1, ANIM_Luigi_StillBack) EVT_WAIT(30) - EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Luigi_1, EMOTE_QUESTION, -30, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(30) EVT_CALL(SetNpcAnimation, NPC_Luigi_1, ANIM_Luigi_Idle) @@ -191,7 +191,7 @@ EvtScript N(EVS_Scene_LuigiWaitingAround) = { EVT_END_THREAD EVT_CALL(ShowEmote, NPC_Luigi_1, EMOTE_ELLIPSIS, 20, 85, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PARTNER, EMOTE_QUESTION, -20, 70, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(110) EVT_CALL(SpeakToPlayer, NPC_Luigi_1, ANIM_Luigi_Talk, ANIM_Luigi_Idle, 5, MSG_CH0_00DE) @@ -410,7 +410,7 @@ EvtScript N(EVS_NpcIdle_Luigi_ReadingMail) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_SET(GF_KMR20_CaughtLuigiReadingLetter, TRUE) EVT_WAIT(20) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, -30, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Luigi_Idle) diff --git a/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c b/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c index e090d6da70..97a5643f0b 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c +++ b/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c @@ -222,9 +222,9 @@ EvtScript N(EVS_Scene_EpilogueGetLetter) = { EVT_WAIT(35) EVT_CALL(PlaySoundAt, SOUNC_CHECK_MAILBOX, SOUND_SPACE_DEFAULT, 430, 0, -185) EVT_WAIT(25) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 0, 20, EMOTER_PLAYER, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Luigi_1, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(30) EVT_CALL(SpeakToPlayer, NPC_Luigi_1, ANIM_Luigi_TalkSit, ANIM_Luigi_IdleSit, 0, MSG_Outro_0021) diff --git a/src/world/area_kmr/kmr_20/kmr_20_5_entity.c b/src/world/area_kmr/kmr_20/kmr_20_5_entity.c index 73819a0494..efe0d15e4d 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_5_entity.c +++ b/src/world/area_kmr/kmr_20/kmr_20_5_entity.c @@ -6,7 +6,7 @@ API_CALLABLE(N(SetAmbienceVolumeHalf_Entity)){ return ApiStatus_DONE2; } -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" EvtScript N(EVS_SecretPanel_FlipBack) = { EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o252, COLLIDER_FLAGS_UPPER_MASK) @@ -48,7 +48,7 @@ EvtScript N(EVS_UseSpring_Basement) = { EVT_CALL(PlayerJump, -110, -80, -35, 20) EVT_SET(AF_KMR_0B, TRUE) EVT_ELSE - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_EXEC(N(EVS_SecretPanel_FlipBack)) EVT_CALL(PlayerJump, -150, 30, -90, 30) EVT_CALL(InterpPlayerYaw, 180, 0) diff --git a/src/world/area_kpa/kpa_08/kpa_08_3_entity.c b/src/world/area_kpa/kpa_08/kpa_08_3_entity.c index edb67756d7..66d9fdf316 100644 --- a/src/world/area_kpa/kpa_08/kpa_08_3_entity.c +++ b/src/world/area_kpa/kpa_08/kpa_08_3_entity.c @@ -1,7 +1,7 @@ #include "kpa_08.h" #include "entity.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" API_CALLABLE(N(ElevatePlayer)) { Bytecode* args = script->ptrReadPos; @@ -20,10 +20,10 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_RETURN EVT_END_IF EVT_SET(AF_KPA08_PlatformRaised, TRUE) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_THREAD EVT_SET_GROUP(EVT_GROUP_EF) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_0227, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_KPA_RAISE_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, -50, 0, 15, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -36,7 +36,7 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_END_IF EVT_END_LOOP EVT_WAIT(80) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_0228, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_KPA_LOWER_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -50, 20, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -52,7 +52,7 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_THREAD EVT_SET_GROUP(EVT_GROUP_EF) EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o90, SOUND_0227, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o90, SOUND_KPA_RAISE_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, -99, 0, 15, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -66,7 +66,7 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_END_LOOP EVT_CALL(DisablePlayerInput, FALSE) EVT_WAIT(80) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o90, SOUND_0228, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o90, SOUND_KPA_LOWER_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -99, 15, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_kpa/kpa_09/kpa_09_3_entity.c b/src/world/area_kpa/kpa_09/kpa_09_3_entity.c index 13b7c92e2b..d2bc6cea99 100644 --- a/src/world/area_kpa/kpa_09/kpa_09_3_entity.c +++ b/src/world/area_kpa/kpa_09/kpa_09_3_entity.c @@ -1,7 +1,7 @@ #include "kpa_09.h" #include "entity.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" API_CALLABLE(N(ElevatePlayer)) { Bytecode* args = script->ptrReadPos; @@ -20,10 +20,10 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_RETURN EVT_END_IF EVT_SET(AF_KPA09_PlatformRaised, TRUE) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_THREAD EVT_SET_GROUP(EVT_GROUP_EF) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_0227, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_KPA_RAISE_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, -50, 0, 15, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -36,7 +36,7 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_END_IF EVT_END_LOOP EVT_WAIT(80) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_0228, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o19, SOUND_KPA_LOWER_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -50, 15, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -52,7 +52,7 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_THREAD EVT_SET_GROUP(EVT_GROUP_EF) EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o106, SOUND_0227, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o106, SOUND_KPA_RAISE_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(EnableGroup, MODEL_move2, TRUE) EVT_CALL(MakeLerp, -50, 0, 15, EASING_COS_IN_OUT) EVT_LOOP(0) @@ -67,7 +67,7 @@ EvtScript N(EVS_ActivateSwitch) = { EVT_END_LOOP EVT_CALL(DisablePlayerInput, FALSE) EVT_WAIT(80) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o106, SOUND_0228, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o106, SOUND_KPA_LOWER_STONE_PLATFORM, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -50, 15, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_kpa/kpa_113/kpa_113_3_entity.c b/src/world/area_kpa/kpa_113/kpa_113_3_entity.c index 7773cb3259..2b558efdd1 100644 --- a/src/world/area_kpa/kpa_113/kpa_113_3_entity.c +++ b/src/world/area_kpa/kpa_113/kpa_113_3_entity.c @@ -23,7 +23,7 @@ EvtScript N(EVS_UnlockPrompt_LockedDoor) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySound, SOUND_0269) + EVT_CALL(PlaySound, SOUND_USE_KEY) EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA113_UnlockedDoor, TRUE) EVT_SET(LVar0, MV_PadlockEntityID) diff --git a/src/world/area_kpa/kpa_134/kpa_134_3_chains.c b/src/world/area_kpa/kpa_134/kpa_134_3_chains.c index 333e1363a2..edc7d84d9e 100644 --- a/src/world/area_kpa/kpa_134/kpa_134_3_chains.c +++ b/src/world/area_kpa/kpa_134/kpa_134_3_chains.c @@ -49,7 +49,7 @@ s32 N(ChainAnimOffsets)[] = { }; API_CALLABLE(N(CreateLowerChainShadow)) { - create_shadow_type(0, 50.0f, 115.0f, -34.0f); + create_shadow_type(SHADOW_VARYING_CIRCLE, 50.0f, 115.0f, -34.0f); return ApiStatus_DONE2; } @@ -296,7 +296,7 @@ EvtScript N(EVS_RaiseWaterLevel1) = { }; API_CALLABLE(N(CreateUpperChainShadow)) { - create_shadow_type(0, 680.0f, 240.0f, -35.0f); + create_shadow_type(SHADOW_VARYING_CIRCLE, 680.0f, 240.0f, -35.0f); return ApiStatus_DONE2; } diff --git a/src/world/area_kpa/kpa_134/kpa_134_6_entity.c b/src/world/area_kpa/kpa_134/kpa_134_6_entity.c index a00b628060..ac3101a5f0 100644 --- a/src/world/area_kpa/kpa_134/kpa_134_6_entity.c +++ b/src/world/area_kpa/kpa_134/kpa_134_6_entity.c @@ -64,7 +64,7 @@ EvtScript N(EVS_UnlockPrompt_Door) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA134_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) diff --git a/src/world/area_kpa/kpa_14/kpa_14_3_entity.c b/src/world/area_kpa/kpa_14/kpa_14_3_entity.c index d4a9fb7783..a2165b3b60 100644 --- a/src/world/area_kpa/kpa_14/kpa_14_3_entity.c +++ b/src/world/area_kpa/kpa_14/kpa_14_3_entity.c @@ -43,7 +43,7 @@ EvtScript N(EVS_UnlockPrompt_Door) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA14_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) diff --git a/src/world/area_kpa/kpa_16/kpa_16_4_npc.c b/src/world/area_kpa/kpa_16/kpa_16_4_npc.c index 5b33def77a..db7fa141af 100644 --- a/src/world/area_kpa/kpa_16/kpa_16_4_npc.c +++ b/src/world/area_kpa/kpa_16/kpa_16_4_npc.c @@ -158,9 +158,9 @@ EvtScript N(EVS_NpcIdle_Guards) = { EVT_GOTO(0) EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_01, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_02, SOUND_0262, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_03, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Koopatrol_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Koopatrol_01, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(ShowEmote, NPC_Koopatrol_02, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(ShowEmote, NPC_Koopatrol_03, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) diff --git a/src/world/area_kpa/kpa_52/kpa_52_2_entity.c b/src/world/area_kpa/kpa_52/kpa_52_2_entity.c index d95bc4f5aa..0af1220b2c 100644 --- a/src/world/area_kpa/kpa_52/kpa_52_2_entity.c +++ b/src/world/area_kpa/kpa_52/kpa_52_2_entity.c @@ -24,7 +24,7 @@ EvtScript N(EVS_UnlockPrompt_Door) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA52_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) diff --git a/src/world/area_kpa/kpa_53/kpa_53_3_npc.c b/src/world/area_kpa/kpa_53/kpa_53_3_npc.c index 9543d687dc..644668e6b7 100644 --- a/src/world/area_kpa/kpa_53/kpa_53_3_npc.c +++ b/src/world/area_kpa/kpa_53/kpa_53_3_npc.c @@ -46,7 +46,7 @@ EvtScript N(EVS_NpcAI_Duplighost_Flee) = { EVT_END_IF EVT_END_LOOP EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 5) diff --git a/src/world/area_kpa/kpa_60/kpa_60_2_entity.c b/src/world/area_kpa/kpa_60/kpa_60_2_entity.c index d5fe8aa5c1..5e81d2f0e6 100644 --- a/src/world/area_kpa/kpa_60/kpa_60_2_entity.c +++ b/src/world/area_kpa/kpa_60/kpa_60_2_entity.c @@ -23,7 +23,7 @@ EvtScript N(EVS_UnlockPrompt_FrontDoor) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA62_UnlockedFrontDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadLockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadLockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) diff --git a/src/world/area_kpa/kpa_60/kpa_60_4_scenes.c b/src/world/area_kpa/kpa_60/kpa_60_4_scenes.c index f78b7265a0..b320ecb0d8 100644 --- a/src/world/area_kpa/kpa_60/kpa_60_4_scenes.c +++ b/src/world/area_kpa/kpa_60/kpa_60_4_scenes.c @@ -37,7 +37,7 @@ EvtScript N(EVS_Scene_Arrival) = { EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, -70, 0) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) - EVT_CALL(PlaySound, SOUND_0182) + EVT_CALL(PlaySound, SOUND_STARSHIP_FLY_AWAY) EVT_CALL(LoadPath, 45, EVT_PTR(N(FlightPath_Arrival)), ARRAY_COUNT(N(FlightPath_Arrival)), EASING_LINEAR) EVT_LABEL(90) EVT_CALL(GetNextPathPos) @@ -88,7 +88,7 @@ EvtScript N(EVS_Scene_Departure) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_THREAD - EVT_CALL(PlaySound, SOUND_0183) + EVT_CALL(PlaySound, SOUND_STARSHIP_FLY_TOWARD) EVT_CALL(LoadPath, 45, EVT_PTR(N(FlightPath_Departure)), ARRAY_COUNT(N(FlightPath_Departure)), EASING_LINEAR) EVT_LABEL(90) EVT_CALL(GetNextPathPos) diff --git a/src/world/area_kpa/kpa_62/kpa_62_2_entity.c b/src/world/area_kpa/kpa_62/kpa_62_2_entity.c index 32b65f3eb8..e384f96bea 100644 --- a/src/world/area_kpa/kpa_62/kpa_62_2_entity.c +++ b/src/world/area_kpa/kpa_62/kpa_62_2_entity.c @@ -23,7 +23,7 @@ EvtScript N(EVS_UnlockPrompt_FrontDoor) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA62_UnlockedFrontDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadLockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadLockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) diff --git a/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c b/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c index e2a6235934..de011b0471 100644 --- a/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c +++ b/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c @@ -146,7 +146,7 @@ EvtScript N(EVS_Starship_Depart) = { EVT_END_IF EVT_CALL(SetMusicTrack, 0, SONG_STARSHIP_THEME, 1, 8) EVT_THREAD - EVT_CALL(PlaySoundAtPlayer, SOUND_017E, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_STARSHIP_TAKEOFF_SHORT, SOUND_SPACE_DEFAULT) EVT_SET(LVar2, MV_Starship_PosY) EVT_CALL(MakeLerp, 0, -110, 60, EASING_QUADRATIC_OUT) EVT_LOOP(0) @@ -184,7 +184,7 @@ EvtScript N(EVS_Starship_Arrive) = { EVT_CALL(HidePlayerShadow, FALSE) EVT_CALL(EnableNpcShadow, NPC_PARTNER, TRUE) EVT_EXEC_GET_TID(N(EVS_UpdatePassengers), LVar9) - EVT_CALL(PlaySoundAtPlayer, SOUND_017F, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_STARSHIP_ARRIVE, SOUND_SPACE_DEFAULT) EVT_THREAD EVT_CALL(MakeLerp, -100, 0, 60, EASING_QUADRATIC_OUT) EVT_LOOP(0) diff --git a/src/world/area_kpa/kpa_82/kpa_82_3_npc.c b/src/world/area_kpa/kpa_82/kpa_82_3_npc.c index 563f2b27dd..c52ecb90e9 100644 --- a/src/world/area_kpa/kpa_82/kpa_82_3_npc.c +++ b/src/world/area_kpa/kpa_82/kpa_82_3_npc.c @@ -177,7 +177,7 @@ EvtScript N(EVS_SetCam_BeforeBattle) = { EvtScript N(EVS_SetDoorRots) = { EVT_CALL(MakeLerp, 0, 60, 30 * DT, EASING_LINEAR) - EVT_CALL(PlaySound, SOUND_0225) + EVT_CALL(PlaySound, SOUND_KPA_QUIZ_DOORS_OPEN) EVT_LABEL(0) EVT_CALL(UpdateLerp) EVT_CALL(TranslateModel, MODEL_o100, 0, LVar0, 0) @@ -197,7 +197,7 @@ EvtScript N(EVS_SetDoorRots) = { EvtScript N(EVS_CloseDoors) = { EVT_CALL(MakeLerp, 60, 0, 30 * DT, EASING_LINEAR) - EVT_CALL(PlaySound, SOUND_0226) + EVT_CALL(PlaySound, SOUND_KPA_QUIZ_DOORS_CLOSE) EVT_LABEL(0) EVT_CALL(UpdateLerp) EVT_CALL(TranslateModel, MODEL_o100, 0, LVar0, 0) diff --git a/src/world/area_kpa/kpa_83/kpa_83_3_npc.c b/src/world/area_kpa/kpa_83/kpa_83_3_npc.c index aaa665edad..e258dc6d0a 100644 --- a/src/world/area_kpa/kpa_83/kpa_83_3_npc.c +++ b/src/world/area_kpa/kpa_83/kpa_83_3_npc.c @@ -341,7 +341,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_END_IF EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARDS, TRUE) + EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARD, TRUE) EVT_CALL(MakeLerp, 0, 11 * 180, 50, EASING_QUADRATIC_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -352,7 +352,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARDS, FALSE) + EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARD, FALSE) EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle) EVT_END_THREAD diff --git a/src/world/area_kpa/kpa_91/kpa_91_4_entity.c b/src/world/area_kpa/kpa_91/kpa_91_4_entity.c index 8c168fa193..e48b1d996e 100644 --- a/src/world/area_kpa/kpa_91/kpa_91_4_entity.c +++ b/src/world/area_kpa/kpa_91/kpa_91_4_entity.c @@ -23,7 +23,7 @@ EvtScript N(EVS_UnlockPrompt_PrisonCell) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA91_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) diff --git a/src/world/area_kpa/kpa_95/kpa_95_2_entity.c b/src/world/area_kpa/kpa_95/kpa_95_2_entity.c index cdd9e38c86..ed29ec73cb 100644 --- a/src/world/area_kpa/kpa_95/kpa_95_2_entity.c +++ b/src/world/area_kpa/kpa_95/kpa_95_2_entity.c @@ -23,7 +23,7 @@ EvtScript N(EVS_UnlockPrompt_PrisonCell) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_SET(GF_KPA95_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar1, 0) diff --git a/src/world/area_kzn/kzn_03/kzn_03_3_entity.c b/src/world/area_kzn/kzn_03/kzn_03_3_entity.c index cfcfb0b019..674dfeebd9 100644 --- a/src/world/area_kzn/kzn_03/kzn_03_3_entity.c +++ b/src/world/area_kzn/kzn_03/kzn_03_3_entity.c @@ -1,8 +1,8 @@ #include "kzn_03.h" #include "entity.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" API_CALLABLE(N(IsPlayerOnFirstCliff)) { s32 result = -1; @@ -37,7 +37,7 @@ EvtScript N(EVS_UseSpringA) = { EVT_WAIT(1) EVT_CALL(SetPlayerActionState, ACTION_STATE_LAUNCH) EVT_WAIT(1) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_EXEC_GET_TID(N(EVS_TetherCameraToPlayer), LVarA) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.7)) EVT_CALL(PlayerJump, 335, 290, 360, 40) @@ -45,7 +45,7 @@ EvtScript N(EVS_UseSpringA) = { EVT_CALL(SetPlayerActionState, ACTION_STATE_FALLING) EVT_CALL(DisablePlayerPhysics, FALSE) EVT_KILL_THREAD(LVarA) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_RETURN EVT_END }; @@ -56,7 +56,7 @@ EvtScript N(EVS_UseSpringB) = { EVT_WAIT(1) EVT_CALL(SetPlayerActionState, ACTION_STATE_JUMP) EVT_WAIT(1) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_EXEC_GET_TID(N(EVS_TetherCameraToPlayer), LVarA) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.7)) EVT_CALL(PlayerJump, 350, 470, 210, 40) @@ -64,7 +64,7 @@ EvtScript N(EVS_UseSpringB) = { EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) EVT_KILL_THREAD(LVarA) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_RETURN EVT_END }; @@ -76,7 +76,7 @@ EvtScript N(EVS_UseSpringC) = { EVT_WAIT(1) EVT_CALL(SetPlayerActionState, ACTION_STATE_JUMP) EVT_WAIT(1) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_EXEC_GET_TID(N(EVS_TetherCameraToPlayer), LVarA) EVT_IF_EQ(MV_PlayerCliffState, 0) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(1.4)) @@ -89,7 +89,7 @@ EvtScript N(EVS_UseSpringC) = { EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) EVT_KILL_THREAD(LVarA) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_RETURN EVT_END }; diff --git a/src/world/area_kzn/kzn_09/kzn_09_4_npc.c b/src/world/area_kzn/kzn_09/kzn_09_4_npc.c index dee48a24f2..2aeb32b3a1 100644 --- a/src/world/area_kzn/kzn_09/kzn_09_4_npc.c +++ b/src/world/area_kzn/kzn_09/kzn_09_4_npc.c @@ -73,7 +73,7 @@ EvtScript N(EVS_Scene_KoloradoFallsDown) = { EVT_WAIT(5) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 3) EVT_WAIT(5) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(25 * DT) EVT_CALL(SetSelfVar, 0, 2) diff --git a/src/world/area_kzn/kzn_18/kzn_18_2_npc.c b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c index 4f1b491aab..8bf4036cfe 100644 --- a/src/world/area_kzn/kzn_18/kzn_18_2_npc.c +++ b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c @@ -3,8 +3,8 @@ #include "world/common/npc/Kolorado.inc.c" #include "world/common/enemy/PutridPiranhaSentinel.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" #include "world/common/todo/GetFloorCollider.inc.c" EvtScript N(EVS_NpcIdle_Kolorado) = { @@ -106,7 +106,7 @@ EvtScript N(EVS_NpcIdle_Piranha) = { EVT_GOTO(0) EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, 285, 25, 35) EVT_CALL(SetCamDistance, CAM_DEFAULT, 400) @@ -125,7 +125,7 @@ EvtScript N(EVS_NpcIdle_Piranha) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_LargePiranha_Putrid_Anim18) EVT_WAIT(25 * DT) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(3.0 / DT)) EVT_SET(GF_KZN18_IntruderAlert, TRUE) EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_kzn/kzn_19/kzn_19_1_music.c b/src/world/area_kzn/kzn_19/kzn_19_1_music.c index 3874a44476..3ac45c7349 100644 --- a/src/world/area_kzn/kzn_19/kzn_19_1_music.c +++ b/src/world/area_kzn/kzn_19/kzn_19_1_music.c @@ -11,7 +11,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_END_IF EVT_END_IF //@bug extra endif EVT_CASE_GE(STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_END_SWITCH EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) EVT_CALL(PlayAmbientSounds, AMBIENT_LAVA_1) 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 82c984ea4f..cafbe9120d 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 @@ -137,7 +137,7 @@ EvtScript N(EVS_Misstar_Escape) = { EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(30) EVT_SET(AF_KZN_BossRoomFloorBroken, TRUE) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_LOOP(0) EVT_WAIT(1) EVT_IF_NE(AF_KZN_BossRoomFloorBroken, TRUE) diff --git a/src/world/area_kzn/kzn_20/kzn_20_1_music.c b/src/world/area_kzn/kzn_20/kzn_20_1_music.c index 155ae5216e..3ab10abfac 100644 --- a/src/world/area_kzn/kzn_20/kzn_20_1_music.c +++ b/src/world/area_kzn/kzn_20/kzn_20_1_music.c @@ -2,7 +2,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_END_IF EVT_IF_LT(GB_StoryProgress, STORY_CH5_OPENED_ESCAPE_ROUTE) EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) diff --git a/src/world/area_kzn/kzn_20/kzn_20_3_npc.c b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c index 240b2d7fc8..5035db12d1 100644 --- a/src/world/area_kzn/kzn_20/kzn_20_3_npc.c +++ b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c @@ -227,7 +227,7 @@ EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_END_IF EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Idle) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 5, MSG_CH5_010B) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Panic) @@ -447,7 +447,7 @@ EvtScript N(EVS_Scene_Misstar) = { EVT_WAIT(15) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(3.0)) EVT_CALL(NpcMoveTo, NPC_SELF, 145, -10, 0) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20) EVT_CALL(SetNpcRotation, NPC_SELF, 0, -30, 0) diff --git a/src/world/area_kzn/kzn_22/kzn_22_1_music.c b/src/world/area_kzn/kzn_22/kzn_22_1_music.c index d8b1799aee..4a82776367 100644 --- a/src/world/area_kzn/kzn_22/kzn_22_1_music.c +++ b/src/world/area_kzn/kzn_22/kzn_22_1_music.c @@ -2,7 +2,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_END_IF EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) EVT_CALL(PlayAmbientSounds, AMBIENT_LAVA_4) diff --git a/src/world/area_kzn/kzn_23/kzn_23_3_npc.c b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c index 48dbcd0ad4..343d753d5b 100644 --- a/src/world/area_kzn/kzn_23/kzn_23_3_npc.c +++ b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c @@ -145,10 +145,10 @@ EvtScript N(EVS_PlayPyroclastSounds) = { EVT_BUF_READ1(LVar1) EVT_END_LOOP EVT_IF_EQ(AF_KZN23_UseAlternateSound, FALSE) - EVT_CALL(PlaySoundAt, SOUND_01AD, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) + EVT_CALL(PlaySoundAt, SOUND_FLYING_PYROCLAST_1, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) EVT_SET(AF_KZN23_UseAlternateSound, TRUE) EVT_ELSE - EVT_CALL(PlaySoundAt, SOUND_01AE, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) + EVT_CALL(PlaySoundAt, SOUND_FLYING_PYROCLAST_2, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) EVT_SET(AF_KZN23_UseAlternateSound, FALSE) EVT_END_IF EVT_RETURN 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 4e5a116260..f24bd06fae 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 @@ -696,7 +696,7 @@ EvtScript N(EVS_Scene_KoopaBrosUnmasked) = { EVT_CALL(SetNpcAnimation, NPC_KoopaBros_03, ANIM_KoopaBros_Yellow_Run) EVT_CALL(SetNpcAnimation, NPC_KoopaBros_04, ANIM_KoopaBros_Green_Run) EVT_WAIT(15 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_03, SOUND_0174, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_03, SOUND_RUN_AWAY, SOUND_SPACE_DEFAULT) EVT_THREAD EVT_CALL(SetNpcSpeed, NPC_KoopaBros_01, EVT_FLOAT(8.0 / DT)) EVT_CALL(NpcMoveTo, NPC_KoopaBros_01, 700, 0, 0) diff --git a/src/world/area_mac/mac_01/npc/read_fortune.inc.c b/src/world/area_mac/mac_01/npc/read_fortune.inc.c index cb3c9dbb81..5362ba5b95 100644 --- a/src/world/area_mac/mac_01/npc/read_fortune.inc.c +++ b/src/world/area_mac/mac_01/npc/read_fortune.inc.c @@ -413,7 +413,7 @@ EvtScript N(EVS_Merlon_GiveHint) = { EVT_SET(LVar0, MSG_MerlonHint_002D) EVT_CASE_LT(STORY_CH5_MOVED_RAVEN_STATUE) EVT_SET(LVar0, MSG_MerlonHint_002E) - EVT_CASE_LT(STORY_CH5_RAFAEL_LEFT_NEST) + EVT_CASE_LT(STORY_CH5_RAPHAEL_LEFT_NEST) EVT_SET(LVar0, MSG_MerlonHint_002F) EVT_CASE_LT(STORY_CH5_ENTERED_MT_LAVA_LAVA) EVT_SET(LVar0, MSG_MerlonHint_0030) diff --git a/src/world/area_mac/mac_02/mac_02_5_entity.c b/src/world/area_mac/mac_02/mac_02_5_entity.c index 652581cfb8..dcbcd3c9c6 100644 --- a/src/world/area_mac/mac_02/mac_02_5_entity.c +++ b/src/world/area_mac/mac_02/mac_02_5_entity.c @@ -19,7 +19,7 @@ EvtScript N(EVS_ChooseItem_OddKey) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, -470, 30, -155) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, -470, 30, -155) EVT_SET(LVar0, MV_BlueHouseLockEntityID) EVT_CALL(N(RemovePadlock)) EVT_WAIT(5) 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 33b57de3b7..34a919b9ff 100644 --- a/src/world/area_mac/mac_02/npc/bootler.inc.c +++ b/src/world/area_mac/mac_02/npc/bootler.inc.c @@ -77,7 +77,7 @@ EvtScript N(EVS_NpcIdle_Bootler) = { EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(InterpNpcYaw, NPC_PARTNER, 90, 0) EVT_WAIT(25 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetNpcScale, NPC_Bootler, EVT_FLOAT(2.0), EVT_FLOAT(2.0), EVT_FLOAT(2.0)) @@ -89,7 +89,7 @@ EvtScript N(EVS_NpcIdle_Bootler) = { EVT_CALL(InterpPlayerYaw, 270, 0) EVT_CALL(InterpNpcYaw, NPC_PARTNER, 270, 0) EVT_WAIT(25 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetNpcAnimation, NPC_Bootler, ANIM_Bootler_Walk) @@ -104,7 +104,7 @@ EvtScript N(EVS_NpcIdle_Bootler) = { EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(InterpNpcYaw, NPC_PARTNER, 90, 0) EVT_WAIT(25 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(40 * DT) EVT_CALL(InterpPlayerYaw, 270, 0) diff --git a/src/world/area_mac/mac_04/mac_04.h b/src/world/area_mac/mac_04/mac_04.h index a33f601378..eacd9a2936 100644 --- a/src/world/area_mac/mac_04/mac_04.h +++ b/src/world/area_mac/mac_04/mac_04.h @@ -61,8 +61,8 @@ extern EvtScript N(EVS_MakeHiddenRoom); extern EvtScript N(EVS_SetupFoliage); extern EvtScript N(EVS_MakeEntities); -extern EvtScript N(EVS_80248B08); -extern EvtScript N(D_80248798_84B368); +extern EvtScript N(EVS_OnEnterShop); +extern EvtScript N(EVS_HiddenRoom_WaitForOuttaSight); extern EvtScript N(EVS_ExitToybox); extern EvtScript N(EVS_Toybox_SetupTrainPrompt); extern EvtScript N(D_8024697C_84954C); diff --git a/src/world/area_mac/mac_04/mac_04_3_rooms.c b/src/world/area_mac/mac_04/mac_04_3_rooms.c index 4c9e109090..626b897180 100644 --- a/src/world/area_mac/mac_04/mac_04_3_rooms.c +++ b/src/world/area_mac/mac_04/mac_04_3_rooms.c @@ -35,7 +35,7 @@ EvtScript N(EVS_RoomListener_Shop) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(EnableGroup, MODEL_mise_in, TRUE) - EVT_EXEC(N(EVS_80248B08)) + EVT_EXEC(N(EVS_OnEnterShop)) EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(EnableGroup, MODEL_mise_in, FALSE) EVT_END_SWITCH @@ -134,7 +134,7 @@ EvtScript N(EVS_RoomListener_Warehouse) = { EVT_CALL(EnableGroup, MODEL_heiho_in, TRUE) EVT_SET(MF_MusicMixTrigger, TRUE) EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) - EVT_EXEC(N(D_80248798_84B368)) + EVT_EXEC(N(EVS_HiddenRoom_WaitForOuttaSight)) EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(EnableGroup, MODEL_heiho_in, FALSE) EVT_CALL(EnableGroup, MODEL_hi_soto, TRUE) 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 47bc62f916..49bb175602 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 @@ -68,7 +68,7 @@ EvtScript N(EVS_ItemPrompt_ToyTrain) = { EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(RemoveKeyItemAt, LVar1) - EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_01AA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_OMO_TOYBOX_LID, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -90, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -94,7 +94,7 @@ EvtScript N(EVS_ItemPrompt_ToyTrain) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_01AA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_OMO_TOYBOX_LID, SOUND_SPACE_DEFAULT) EVT_CALL(CloseChoicePopup) EVT_SET(GB_StoryProgress, STORY_CH4_RETURNED_TOY_TRAIN) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) diff --git a/src/world/area_mac/mac_04/mac_04_8_entity.c b/src/world/area_mac/mac_04/mac_04_8_entity.c index b50ced84a5..99450da85e 100644 --- a/src/world/area_mac/mac_04/mac_04_8_entity.c +++ b/src/world/area_mac/mac_04/mac_04_8_entity.c @@ -119,7 +119,7 @@ EvtScript N(EVS_EnterToybox) = { EVT_WAIT(1) EVT_EXEC_GET_TID(N(EVS_FocusCameraOnPlayer), LVarA) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_01AA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_OMO_TOYBOX_LID, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 0, -90, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -174,7 +174,7 @@ EvtScript N(EVS_ExitToybox) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_01AA, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_omo_ent, SOUND_OMO_TOYBOX_LID, SOUND_SPACE_DEFAULT) EVT_END_THREAD EVT_EXEC_GET_TID(N(EVS_FocusCameraOnPlayer), LVarA) EVT_CALL(PlaySoundAtPlayer, SOUND_TRANSPORTER_OUT, SOUND_SPACE_DEFAULT) @@ -240,7 +240,7 @@ EvtScript N(EVS_ItemPrompt_StoreroomKey) = { EVT_CALL(CloseChoicePopup) EVT_RETURN EVT_END_IF - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, 155, 48, -480) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, 155, 48, -480) EVT_SET(LVar0, MV_StoreroomLockEntityID) EVT_CALL(N(RemovePadlock)) EVT_WAIT(5) diff --git a/src/world/area_mac/mac_04/npc_toybox_shyguy.inc.c b/src/world/area_mac/mac_04/npc_toybox_shyguy.inc.c index c8b2e7fe14..82f20fb7db 100644 --- a/src/world/area_mac/mac_04/npc_toybox_shyguy.inc.c +++ b/src/world/area_mac/mac_04/npc_toybox_shyguy.inc.c @@ -9,7 +9,7 @@ API_CALLABLE(N(IsPartnerBow)) { return ApiStatus_DONE2; } -EvtScript N(D_802480E0_84ACB0) = { +EvtScript N(EVS_ShyGuy_PlayFootstepSounds) = { EVT_LOOP(0) EVT_CALL(PlaySoundAtNpc, LVar0, SOUND_SEQ_SHY_GUY_STEP, SOUND_SPACE_DEFAULT) EVT_WAIT(2) @@ -18,7 +18,7 @@ EvtScript N(D_802480E0_84ACB0) = { EVT_END }; -EvtScript N(D_80248128_84ACF8) = { +EvtScript N(EVS_SuspiciousGuy_OpenDoor) = { EVT_CALL(PlaySoundAtCollider, COLLIDER_deilit_hu, SOUND_BASIC_DOOR_OPEN, SOUND_SPACE_DEFAULT) EVT_SET(LVar0, 0) EVT_LOOP(20) @@ -32,7 +32,7 @@ EvtScript N(D_80248128_84ACF8) = { EVT_END }; -EvtScript N(D_802481E0_84ADB0) = { +EvtScript N(EVS_SuspiciousGuy_CloseDoor) = { EVT_SET(LVar0, 90) EVT_LOOP(20) EVT_ADD(LVar0, -3) @@ -46,8 +46,8 @@ EvtScript N(D_802481E0_84ADB0) = { EVT_END }; -EvtScript N(D_80248298_84AE68) = { - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilit_hk, SOUND_01AB, SOUND_SPACE_DEFAULT) +EvtScript N(EVS_OpenSecretDoor) = { + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilit_hk, SOUND_OMO_SECRET_DOOR_OPEN, SOUND_SPACE_DEFAULT) EVT_SET(LVar0, 0) EVT_LOOP(36) EVT_ADD(LVar0, 10) @@ -58,13 +58,13 @@ EvtScript N(D_80248298_84AE68) = { EVT_SET(LVar0, 0) EVT_CALL(RotateModel, MODEL_hkai1, LVar0, 0, 1, 0) EVT_CALL(RotateModel, MODEL_hkai2, LVar0, 0, 1, 0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_deilit_hk, SOUND_01AC, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_deilit_hk, SOUND_OMO_SECRET_DOOR_CLOSE, SOUND_SPACE_DEFAULT) EVT_CALL(PlaySound, SOUND_CHIME_BEGIN_AMBUSH) EVT_RETURN EVT_END }; -EvtScript N(D_802483B8_84AF88) = { +EvtScript N(EVS_SuspiciousGuy_RevealSecretRoom) = { EVT_WAIT(20 * DT) EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_01, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(SpeakToPlayer, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim11, ANIM_ShyGuy_Pink_Anim01, 5, MSG_MAC_Housing_00B3) @@ -89,7 +89,7 @@ EvtScript N(D_802483B8_84AF88) = { EVT_CALL(SetNpcAnimation, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim09) EVT_WAIT(4 * DT) EVT_CALL(SetNpcAnimation, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim0A) - EVT_EXEC(N(D_80248298_84AE68)) + EVT_EXEC(N(EVS_OpenSecretDoor)) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_01, EVT_FLOAT(0.5)) EVT_CALL(NpcJump0, NPC_ShyGuy_01, -440, 20, -75, 20 * DT) EVT_CALL(SetNpcAnimation, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim00) @@ -101,9 +101,9 @@ EvtScript N(D_802483B8_84AF88) = { EVT_END }; -EvtScript N(D_80248624_84B1F4) = { +EvtScript N(EVS_SuspiciousGuy_RunAway) = { EVT_CALL(PlaySoundAtNpc, NPC_ShyGuy_01, SOUND_203E, SOUND_SPACE_DEFAULT) - EVT_CALL(PlaySoundAtNpc, NPC_ShyGuy_01, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_ShyGuy_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_ShyGuy_01, EMOTE_EXCLAMATION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20 * DT) EVT_CALL(SpeakToPlayer, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim11, ANIM_ShyGuy_Pink_Anim01, 0, MSG_MAC_Housing_00B2) @@ -114,17 +114,17 @@ EvtScript N(D_80248624_84B1F4) = { EVT_WAIT(4 * DT) EVT_CALL(SetNpcAnimation, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim04) EVT_WAIT(4 * DT) - EVT_EXEC_WAIT(N(D_80248128_84ACF8)) - EVT_SET(LVar0, 14) - EVT_EXEC_GET_TID(N(D_802480E0_84ACB0), LVarA) + EVT_EXEC_WAIT(N(EVS_SuspiciousGuy_OpenDoor)) + EVT_SET(LVar0, NPC_ShyGuy_01) + EVT_EXEC_GET_TID(N(EVS_ShyGuy_PlayFootstepSounds), LVarA) EVT_CALL(NpcMoveTo, NPC_ShyGuy_01, -501, 223, 15 * DT) EVT_KILL_THREAD(LVarA) - EVT_EXEC_WAIT(N(D_802481E0_84ADB0)) + EVT_EXEC_WAIT(N(EVS_SuspiciousGuy_CloseDoor)) EVT_RETURN EVT_END }; -EvtScript N(D_80248798_84B368) = { +EvtScript N(EVS_HiddenRoom_WaitForOuttaSight) = { EVT_SET_GROUP(EVT_GROUP_EF) EVT_IF_NE(GB_StoryProgress, STORY_CH4_MET_WITH_TWINK) EVT_RETURN @@ -137,9 +137,10 @@ EvtScript N(D_80248798_84B368) = { EVT_WAIT(1) EVT_END_LOOP EVT_SET(LVar7, 0) + // wait for player to use bow within 100 <= z <= 200 EVT_LOOP(0) EVT_CALL(N(IsPartnerBow)) - EVT_IF_NE(LVar0, 0) + EVT_IF_TRUE(LVar0) EVT_SET(LVar7, 1) EVT_BREAK_LOOP EVT_END_IF @@ -148,25 +149,26 @@ EvtScript N(D_80248798_84B368) = { EVT_BREAK_LOOP EVT_END_IF EVT_IF_GT(LVar2, 200) + // automatically satisfied while exiting the front door EVT_RETURN EVT_END_IF EVT_WAIT(1) EVT_END_LOOP EVT_CALL(DisablePlayerInput, TRUE) - EVT_EXEC_WAIT(N(D_80248128_84ACF8)) + EVT_EXEC_WAIT(N(EVS_SuspiciousGuy_OpenDoor)) EVT_CALL(SetNpcPos, NPC_ShyGuy_01, -501, 20, 223) EVT_CALL(SetNpcAnimation, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim02) EVT_CALL(NpcMoveTo, NPC_ShyGuy_01, -506, 168, 15) EVT_CALL(SetNpcAnimation, NPC_ShyGuy_01, ANIM_ShyGuy_Pink_Anim00) - EVT_EXEC_WAIT(N(D_802481E0_84ADB0)) + EVT_EXEC_WAIT(N(EVS_SuspiciousGuy_CloseDoor)) EVT_IF_EQ(LVar7, 1) - EVT_EXEC_WAIT(N(D_802483B8_84AF88)) + EVT_EXEC_WAIT(N(EVS_SuspiciousGuy_RevealSecretRoom)) EVT_ELSE - EVT_EXEC_WAIT(N(D_80248624_84B1F4)) + EVT_EXEC_WAIT(N(EVS_SuspiciousGuy_RunAway)) EVT_CALL(N(GetFloorCollider), LVar0) EVT_THREAD EVT_WAIT(10 * DT) - EVT_EXEC(N(D_80248798_84B368)) + EVT_EXEC(N(EVS_HiddenRoom_WaitForOuttaSight)) EVT_END_THREAD EVT_END_IF EVT_CALL(SetNpcPos, NPC_ShyGuy_01, NPC_DISPOSE_LOCATION) @@ -175,7 +177,7 @@ EvtScript N(D_80248798_84B368) = { EVT_END }; -EvtScript N(D_80248A14_84B5E4) = { +EvtScript N(EVS_ShyGuy_StealStoreroomKey) = { EVT_CALL(GetNpcPos, NPC_ShyGuy_02, LVar2, LVar3, LVar4) EVT_ADD(LVar3, 20) EVT_CALL(MakeItemEntity, ITEM_VIS_GROUP(ITEM_STOREROOM_KEY, VIS_GROUP_1), LVar2, LVar3, LVar4, ITEM_SPAWN_MODE_DECORATION, 0) @@ -192,7 +194,7 @@ EvtScript N(D_80248A14_84B5E4) = { EVT_END }; -EvtScript N(EVS_80248B08) = { +EvtScript N(EVS_OnEnterShop) = { EVT_IF_LT(GB_StoryProgress, STORY_CH3_STAR_SPRIT_DEPARTED) EVT_RETURN EVT_END_IF @@ -236,9 +238,9 @@ EvtScript N(EVS_80248B08) = { EVT_END_LOOP EVT_CALL(PlaySoundAtCollider, COLLIDER_deilit_mu, SOUND_BASIC_DOOR_CLOSE, SOUND_SPACE_DEFAULT) EVT_END_THREAD - EVT_EXEC(N(D_80248A14_84B5E4)) - EVT_SET(LVar0, 15) - EVT_EXEC_GET_TID(N(D_802480E0_84ACB0), LVarA) + EVT_EXEC(N(EVS_ShyGuy_StealStoreroomKey)) + EVT_SET(LVar0, NPC_ShyGuy_02) + EVT_EXEC_GET_TID(N(EVS_ShyGuy_PlayFootstepSounds), LVarA) EVT_CALL(NpcMoveTo, NPC_ShyGuy_02, 254, -66, 30) EVT_KILL_THREAD(LVarA) EVT_CALL(SetNpcPos, NPC_ShyGuy_02, NPC_DISPOSE_LOCATION) diff --git a/src/world/area_mac/mac_05/mac_05_4_npc.c b/src/world/area_mac/mac_05/mac_05_4_npc.c index 6df0b7daa8..e7f3afefde 100644 --- a/src/world/area_mac/mac_05/mac_05_4_npc.c +++ b/src/world/area_mac/mac_05/mac_05_4_npc.c @@ -1246,9 +1246,9 @@ EvtScript N(EVS_NpcIdle_JrTroopa_01) = { EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(InterpNpcYaw, NPC_PARTNER, 90, 0) EVT_WAIT(20) - EVT_CALL(PlaySoundAtPlayer, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_EXCLAMATION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PARTNER, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_END_THREAD EVT_CALL(ShowMessageAtScreenPos, MSG_MAC_Port_00B4, 160, 40) diff --git a/src/world/area_mac/machi/machi_5_npc.c b/src/world/area_mac/machi/machi_5_npc.c index 9ddaf56d46..2b435d9e7f 100644 --- a/src/world/area_mac/machi/machi_5_npc.c +++ b/src/world/area_mac/machi/machi_5_npc.c @@ -66,7 +66,7 @@ API_CALLABLE(N(SetupChapter0)) { API_CALLABLE(N(SetupStarRodPaletteCycling)) { Npc* npc = get_npc_unsafe(script->owner1.enemy->npcID); - npc_set_palswap_mode_A(npc, 3); + npc_set_palswap_mode_A(npc, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS); npc_set_palswap_1(npc, 0, 1, 30, 10); npc_set_palswap_2(npc, 60, 20, 0, 0); return ApiStatus_DONE2; diff --git a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c index ba960f11bd..c167e4ef5c 100644 --- a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c +++ b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c @@ -771,31 +771,31 @@ API_CALLABLE(N(RunMinigame)) { if (data->found < NUM_PANELS) { data->timeLeft--; if (data->timeLeft == 750) { - sfx_play_sound(SOUND_01A5); + sfx_play_sound(SOUND_OMO_BOX_CHIME_1); } else if (data->timeLeft == 600) { - sfx_play_sound(SOUND_01A5); + sfx_play_sound(SOUND_OMO_BOX_CHIME_1); } else if (data->timeLeft == 450) { - sfx_play_sound(SOUND_01A5); + sfx_play_sound(SOUND_OMO_BOX_CHIME_1); } else if (data->timeLeft == 300) { - sfx_play_sound(SOUND_01A6); + sfx_play_sound(SOUND_OMO_BOX_CHIME_2); } else if (data->timeLeft == 270) { - sfx_play_sound(SOUND_01A6); + sfx_play_sound(SOUND_OMO_BOX_CHIME_2); } else if (data->timeLeft == 240) { - sfx_play_sound(SOUND_01A6); + sfx_play_sound(SOUND_OMO_BOX_CHIME_2); } else if (data->timeLeft == 210) { - sfx_play_sound(SOUND_01A6); + sfx_play_sound(SOUND_OMO_BOX_CHIME_2); } else if (data->timeLeft == 180) { - sfx_play_sound(SOUND_01A6); + sfx_play_sound(SOUND_OMO_BOX_CHIME_2); } else if (data->timeLeft == 150) { - sfx_play_sound(SOUND_01A7); + sfx_play_sound(SOUND_OMO_BOX_CHIME_3); } else if (data->timeLeft == 120) { - sfx_play_sound(SOUND_01A7); + sfx_play_sound(SOUND_OMO_BOX_CHIME_3); } else if (data->timeLeft == 90) { - sfx_play_sound(SOUND_01A7); + sfx_play_sound(SOUND_OMO_BOX_CHIME_3); } else if (data->timeLeft == 60) { - sfx_play_sound(SOUND_01A7); + sfx_play_sound(SOUND_OMO_BOX_CHIME_3); } else if (data->timeLeft == 30) { - sfx_play_sound(SOUND_01A7); + sfx_play_sound(SOUND_OMO_BOX_CHIME_3); } } if ((data->timeLeft > 0) && (data->found == NUM_PANELS)) { @@ -925,7 +925,7 @@ API_CALLABLE(N(CleanupGame)) { continue; } - get_screen_coords(0, npc->pos.x, npc->pos.y, npc->pos.z, &screenX, &screenY, &screenZ); + get_screen_coords(CAM_DEFAULT, npc->pos.x, npc->pos.y, npc->pos.z, &screenX, &screenY, &screenZ); if (screenX - 1 < SCREEN_WIDTH - 1) { fx_walking_dust(1, npc->pos.x, npc->pos.y, npc->pos.z, 0, 0); sfx_play_sound(SOUND_0283); diff --git a/src/world/area_nok/nok_01/npcs_crisis.inc.c b/src/world/area_nok/nok_01/npcs_crisis.inc.c index 309e2ab87f..36362f7ce4 100644 --- a/src/world/area_nok/nok_01/npcs_crisis.inc.c +++ b/src/world/area_nok/nok_01/npcs_crisis.inc.c @@ -270,7 +270,7 @@ EvtScript N(EVS_NpcIdle_Koover_Crisis) = { EVT_CALL(GetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) EVT_SUB(LVar0, 5) EVT_ADD(LVar1, 35) - EVT_CALL(PlaySoundAtNpc, NPC_Koover, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Koover, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Koover, EMOTE_EXCLAMATION, 0, 20, EMOTER_POS, LVar0, LVar1, LVar2, 0) EVT_WAIT(20) EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_Koopa_Run) diff --git a/src/world/area_nok/nok_04/nok_04_4_npc.c b/src/world/area_nok/nok_04/nok_04_4_npc.c index ab12c3060f..15661c0e96 100644 --- a/src/world/area_nok/nok_04/nok_04_4_npc.c +++ b/src/world/area_nok/nok_04/nok_04_4_npc.c @@ -954,7 +954,7 @@ EvtScript N(EVS_Scene_KooperArrives) = { EVT_WAIT(20 * DT) EVT_CALL(SpeakToPlayer, NPC_Kooper, ANIM_WorldKooper_Talk, ANIM_WorldKooper_Idle, 0, MSG_CH1_00C9) EVT_WAIT(10 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 50, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(10 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Thinking) diff --git a/src/world/area_nok/nok_12/nok_12_4_bridge.c b/src/world/area_nok/nok_12/nok_12_4_bridge.c index 8321c2c315..c3dd0fdaac 100644 --- a/src/world/area_nok/nok_12/nok_12_4_bridge.c +++ b/src/world/area_nok/nok_12/nok_12_4_bridge.c @@ -1,7 +1,7 @@ #include "nok_12.h" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" EvtScript N(EVS_Scene_BuildBridge) = { EVT_CALL(DisablePlayerInput, TRUE) @@ -9,7 +9,7 @@ EvtScript N(EVS_Scene_BuildBridge) = { EVT_CALL(DisablePlayerPhysics, TRUE) EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(InterpCamTargetPos, CAM_DEFAULT, 1, -272, 0, -56, 20) EVT_WAIT(15) EVT_CALL(PlaySoundAt, SOUND_NOK_BRIDGE_THUD_1, SOUND_SPACE_DEFAULT, -275, 0, -39) @@ -90,7 +90,7 @@ EvtScript N(EVS_Scene_BuildBridge) = { EVT_WAIT(10) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) EVT_CALL(InterpCamTargetPos, CAM_DEFAULT, 1, LVar0, LVar1, LVar2, 10) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_nok/nok_14/nok_14_4_bridge.c b/src/world/area_nok/nok_14/nok_14_4_bridge.c index 842a8f9432..696a17cce4 100644 --- a/src/world/area_nok/nok_14/nok_14_4_bridge.c +++ b/src/world/area_nok/nok_14/nok_14_4_bridge.c @@ -1,7 +1,7 @@ #include "nok_14.h" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" EvtScript N(EVS_Scene_BuildBridge) = { EVT_SET_GROUP(EVT_GROUP_00) @@ -9,7 +9,7 @@ EvtScript N(EVS_Scene_BuildBridge) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_WAIT(10) EVT_CALL(DisablePlayerPhysics, TRUE) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(InterpCamTargetPos, CAM_DEFAULT, TRUE, 3, 0, -60, 20) EVT_WAIT(10) EVT_SET(GB_StoryProgress, STORY_CH1_MADE_SECOND_BRIDGE) @@ -117,7 +117,7 @@ EvtScript N(EVS_Scene_BuildBridge) = { EVT_WAIT(20) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) EVT_CALL(InterpCamTargetPos, CAM_DEFAULT, TRUE, LVar0, LVar1, LVar2, 10) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_NORMAL) 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 index 78a38888c3..f4fe342f24 100644 --- a/src/world/area_obk/obk_01/obk_01_3_chandelier.c +++ b/src/world/area_obk/obk_01/obk_01_3_chandelier.c @@ -2,8 +2,8 @@ #include "model.h" #include "sprite/player.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" extern EvtScript N(EVS_LaunchFromCouch_Crash); @@ -424,7 +424,7 @@ EvtScript N(EVS_LaunchFromCouch_GrabChandelier) = { EVT_EXEC(N(EVS_Couch_AnimateSpring)) EVT_CALL(SetPlayerActionState, ACTION_STATE_JUMP) EVT_WAIT(1) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) EVT_SUB(LVar3, 1) EVT_CALL(SetPlayerPos, LVar2, LVar3, LVar4) 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 index 2be98a3ecc..c6c0536867 100644 --- a/src/world/area_obk/obk_05/obk_05_2_main.c +++ b/src/world/area_obk/obk_05/obk_05_2_main.c @@ -44,8 +44,8 @@ EvtScript N(EVS_TexPan_Fog) = { EVT_END }; -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" API_CALLABLE(N(RetroJar_AwaitPlayerEntry)) { if (gCollisionStatus.curFloor == COLLIDER_o420) { @@ -71,11 +71,11 @@ EvtScript N(EVS_ManageRetroJar) = { EVT_EXEC(N(EVS_SetupMusic)) EVT_SET(MF_IsRetroMario, FALSE) EVT_END_IF - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(1.0)) EVT_CALL(PlayerJump, -105, 30, -55, 30) EVT_WAIT(1) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_CALL(DisablePlayerInput, FALSE) EVT_END_LOOP EVT_RETURN 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 index 205909d8f5..6978c3b591 100644 --- a/src/world/area_obk/obk_09/obk_09_4_npc.c +++ b/src/world/area_obk/obk_09/obk_09_4_npc.c @@ -20,7 +20,7 @@ API_CALLABLE(N(ImprisonedCardSetup)) { 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); + card->shadowID = create_shadow_type(SHADOW_VARYING_CIRCLE, card->pos.x, card->pos.y, card->pos.z); return ApiStatus_DONE2; } diff --git a/src/world/area_omo/common/ToyTrain.inc.c b/src/world/area_omo/common/ToyTrain.inc.c index 786b8d0f5a..064d136ce0 100644 --- a/src/world/area_omo/common/ToyTrain.inc.c +++ b/src/world/area_omo/common/ToyTrain.inc.c @@ -1,7 +1,7 @@ #include "common.h" #include "sprite/player.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" #include "common/SetAngleClamped.inc.c" diff --git a/src/world/area_omo/omo_02/omo_02_3_entity.c b/src/world/area_omo/omo_02/omo_02_3_entity.c index 0f2282dbc5..791c4710f1 100644 --- a/src/world/area_omo/omo_02/omo_02_3_entity.c +++ b/src/world/area_omo/omo_02/omo_02_3_entity.c @@ -1,8 +1,8 @@ #include "omo_02.h" #include "entity.h" -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" EvtScript N(EVS_TetherCamToPlayer) = { EVT_LABEL(0) @@ -24,15 +24,15 @@ EvtScript N(EVS_StarBoxLaunch_Impl) = { EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_EXEC_GET_TID(N(EVS_TetherCamToPlayer), LVarA) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.7)) EVT_CALL(PlayerJump, -290, 85, -78, 40) EVT_KILL_THREAD(LVarA) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_WAIT(3) EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN diff --git a/src/world/area_omo/omo_03/omo_03_4_entity.c b/src/world/area_omo/omo_03/omo_03_4_entity.c index dcc1c01ffa..a3049f54a1 100644 --- a/src/world/area_omo/omo_03/omo_03_4_entity.c +++ b/src/world/area_omo/omo_03/omo_03_4_entity.c @@ -2,7 +2,7 @@ #include "entity.h" #define NAME_SUFFIX _Spring -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" #define NAME_SUFFIX EvtScript N(EVS_TetherCamToPlayer) = { @@ -22,7 +22,7 @@ EvtScript N(EVS_UseSpring_Exit) = { EVT_WAIT(1) EVT_EXEC_GET_TID(N(EVS_TetherCamToPlayer), LVarA) EVT_IF_EQ(AF_OMO_04, FALSE) - EVT_CALL(N(UnsetCamera0MoveFlag1_Spring)) + EVT_CALL(N(EnableCameraFollowPlayerY_Spring)) EVT_THREAD EVT_WAIT(6) EVT_CALL(GotoMap, EVT_PTR("mac_04"), mac_04_ENTRY_2) diff --git a/src/world/area_omo/omo_03/omo_03_6_train.c b/src/world/area_omo/omo_03/omo_03_6_train.c index 98a4ef8008..9374a5e6f4 100644 --- a/src/world/area_omo/omo_03/omo_03_6_train.c +++ b/src/world/area_omo/omo_03/omo_03_6_train.c @@ -71,7 +71,7 @@ EvtScript N(EVS_80246108) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80246080_DAB2C0))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_000E) @@ -214,7 +214,7 @@ EvtScript N(D_802468F8_DABB38) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80246080_DAB2C0))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_000E) @@ -300,7 +300,7 @@ EvtScript N(D_80246C80_DABEC0) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_IF_EQ(GF_OMO03_BlueSwitchActivated, TRUE) EVT_SET(LVar9, EVT_PTR(N(D_80246080_DAB2C0))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) diff --git a/src/world/area_omo/omo_04/omo_04_4_entity.c b/src/world/area_omo/omo_04/omo_04_4_entity.c index 090371198a..9f8de4dc31 100644 --- a/src/world/area_omo/omo_04/omo_04_4_entity.c +++ b/src/world/area_omo/omo_04/omo_04_4_entity.c @@ -14,8 +14,8 @@ EvtScript N(EVS_OpenChest_StoreroomKey) = { EVT_END }; -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" EvtScript N(EVS_TetherCamToPlayer) = { EVT_LABEL(0) @@ -49,12 +49,12 @@ EvtScript N(EVS_StarBoxLaunch_Impl) = { EVT_WAIT(1) EVT_CALL(SetPlayerActionState, ACTION_STATE_LAUNCH) EVT_WAIT(1) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_EXEC_GET_TID(N(EVS_TetherCamToPlayer), LVarA) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.7)) EVT_CALL(PlayerJump, LVar7, LVar8, LVar9, 40) EVT_KILL_THREAD(LVarA) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_WAIT(1) EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) EVT_CALL(DisablePlayerPhysics, FALSE) diff --git a/src/world/area_omo/omo_04/omo_04_5_npc.c b/src/world/area_omo/omo_04/omo_04_5_npc.c index 650ffac16a..f94a81a795 100644 --- a/src/world/area_omo/omo_04/omo_04_5_npc.c +++ b/src/world/area_omo/omo_04/omo_04_5_npc.c @@ -18,8 +18,8 @@ NpcSettings N(NpcSettings_Goomba) = { #include "world/common/enemy/Clubba.inc.c" #include "world/common/enemy/Kammy_Flying.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" EvtScript N(EVS_NpcIdle_Goomba) = { EVT_LABEL(0) @@ -29,7 +29,7 @@ EvtScript N(EVS_NpcIdle_Goomba) = { EVT_GOTO(0) EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(5.0), LVar0, LVar1, LVar2, 300, EVT_FLOAT(13.0), EVT_FLOAT(-9.5)) EVT_IF_EQ(GB_OMO_PeachChoice1, 0) @@ -38,7 +38,7 @@ EvtScript N(EVS_NpcIdle_Goomba) = { EVT_CALL(SpeakToPlayer, NPC_Clubba, ANIM_WorldClubba_Anim05, ANIM_WorldClubba_Anim02, 0, MSG_CH4_003B) EVT_END_IF EVT_THREAD - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) EVT_END_THREAD EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_omo/omo_04/omo_04_6_scenes.c b/src/world/area_omo/omo_04/omo_04_6_scenes.c index 0fa3004c4c..3080d5b395 100644 --- a/src/world/area_omo/omo_04/omo_04_6_scenes.c +++ b/src/world/area_omo/omo_04/omo_04_6_scenes.c @@ -236,7 +236,7 @@ EvtScript N(EVS_Scene_KammySetAmbush) = { EVT_END_THREAD EVT_WAIT(90 * DT) EVT_IF_NE(AB_OMO_CurrentPeachChoice, 2) - EVT_CALL(PlaySoundAtNpc, MV_AmbushID, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, MV_AmbushID, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, MV_AmbushID, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(5 * DT) EVT_END_IF diff --git a/src/world/area_omo/omo_06/omo_06_4_train.c b/src/world/area_omo/omo_06/omo_06_4_train.c index 09fc510e5e..3eb78b9d25 100644 --- a/src/world/area_omo/omo_06/omo_06_4_train.c +++ b/src/world/area_omo/omo_06/omo_06_4_train.c @@ -114,7 +114,7 @@ EvtScript N(D_80244518_DBBE28) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80244160_DBBA70))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_000F) @@ -182,7 +182,7 @@ EvtScript N(D_80244840_DBC150) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80244160_DBBA70))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_000F) diff --git a/src/world/area_omo/omo_07/omo_07_4_npc.c b/src/world/area_omo/omo_07/omo_07_4_npc.c index 3ac17276ff..b76be486ac 100644 --- a/src/world/area_omo/omo_07/omo_07_4_npc.c +++ b/src/world/area_omo/omo_07/omo_07_4_npc.c @@ -20,8 +20,8 @@ NpcSettings N(NpcSettings_HammerBros) = { }; #include "world/common/enemy/Kammy_Flying.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" // an 'unlimited' number of shy guys walk along the path and emerge from the playhouse // they are drawn from a pool of 4 NPCs, with their lifecycle tracked via these states @@ -288,7 +288,7 @@ EvtScript N(EVS_NpcIdle_Fuzzy) = { EVT_GOTO(0) EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(5.0), LVar0, LVar1, LVar2, 300, EVT_FLOAT(13.0), EVT_FLOAT(-9.5)) EVT_IF_EQ(GB_OMO_PeachChoice2, 0) @@ -297,7 +297,7 @@ EvtScript N(EVS_NpcIdle_Fuzzy) = { EVT_CALL(SpeakToPlayer, NPC_HammerBros, ANIM_HammerBros_Anim0A, ANIM_HammerBros_Anim02, 0, MSG_CH4_003D) EVT_END_IF EVT_THREAD - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) EVT_END_THREAD EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_omo/omo_07/omo_07_5_entity.c b/src/world/area_omo/omo_07/omo_07_5_entity.c index 89112e1c1f..737e66c9a3 100644 --- a/src/world/area_omo/omo_07/omo_07_5_entity.c +++ b/src/world/area_omo/omo_07/omo_07_5_entity.c @@ -17,8 +17,8 @@ EvtScript N(EVS_OpenChest_DefendPlus) = EVT_OPEN_CHEST_BADGE(ITEM_DEFEND_PLUS_A, EvtScript N(EVS_OpenChest_IcePower) = EVT_OPEN_CHEST_BADGE(ITEM_ICE_POWER, GF_OMO07_Chest_IcePower); -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" EvtScript N(EVS_TetherCamToPlayer) = { EVT_LABEL(0) @@ -50,14 +50,14 @@ EvtScript N(EVS_StarBoxLaunch_Impl) = { EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_EXEC_GET_TID(N(EVS_TetherCamToPlayer), LVarA) EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.7)) EVT_CALL(PlayerJump, LVar7, LVar8, LVar9, 40) EVT_KILL_THREAD(LVarA) EVT_WAIT(3) EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN diff --git a/src/world/area_omo/omo_07/omo_07_6_scenes.c b/src/world/area_omo/omo_07/omo_07_6_scenes.c index c3c4a96d6c..4c570c375c 100644 --- a/src/world/area_omo/omo_07/omo_07_6_scenes.c +++ b/src/world/area_omo/omo_07/omo_07_6_scenes.c @@ -107,7 +107,7 @@ EvtScript N(EVS_Scene_KammySetAmbush) = { EVT_CALL(SetNpcVar, NPC_Kammy, 0, 0) EVT_WAIT(5 * DT) EVT_IF_NE(AB_OMO_CurrentPeachChoice, 2) - EVT_CALL(PlaySoundAtNpc, MV_AmbushID, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, MV_AmbushID, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, MV_AmbushID, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(5 * DT) EVT_END_IF diff --git a/src/world/area_omo/omo_08/omo_08_3_boxes.c b/src/world/area_omo/omo_08/omo_08_3_boxes.c index 5d3ec31a27..92b93fd8b8 100644 --- a/src/world/area_omo/omo_08/omo_08_3_boxes.c +++ b/src/world/area_omo/omo_08/omo_08_3_boxes.c @@ -208,16 +208,16 @@ EvtScript N(EVS_BoxResult_GiveCoins) = { EVT_WAIT(LVar0) EVT_EXEC(N(EVS_BlueLightOff)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_01A6, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_OMO_BOX_CHIME_2, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_GreenLightOn)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_01A5, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_OMO_BOX_CHIME_1, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_YellowLightOn)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_01A7, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_OMO_BOX_CHIME_3, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_RedLightOn)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_01A8, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_OMO_BOX_CHIME_4, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_BlueLightOn)) EVT_WAIT(LVar0) EVT_SUB(LVar0, 1) @@ -230,7 +230,7 @@ EvtScript N(EVS_BoxResult_GiveCoins) = { EVT_EXEC(N(EVS_RedLightOff)) EVT_EXEC(N(EVS_BlueLightOff)) EVT_WAIT(LVar0) - EVT_CALL(PlaySound, SOUND_01A9) + EVT_CALL(PlaySound, SOUND_OMO_BOX_DONE) EVT_EXEC(N(EVS_GreenLightOn)) EVT_EXEC(N(EVS_YellowLightOn)) EVT_EXEC(N(EVS_RedLightOn)) @@ -315,16 +315,16 @@ EvtScript N(EVS_BoxResult_RepairTrack) = { EVT_WAIT(3) EVT_EXEC(N(EVS_BlueLightOff)) EVT_WAIT(3) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_01A6, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_OMO_BOX_CHIME_2, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_GreenLightOn)) EVT_WAIT(3) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_01A5, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_OMO_BOX_CHIME_1, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_YellowLightOn)) EVT_WAIT(3) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_01A7, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_OMO_BOX_CHIME_3, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_RedLightOn)) EVT_WAIT(3) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_01A8, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_OMO_BOX_CHIME_4, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_BlueLightOn)) EVT_WAIT(3) EVT_END_LOOP @@ -516,16 +516,16 @@ EvtScript N(EVS_BoxResult_ReleaseShyGuys) = { EVT_WAIT(LVar0) EVT_EXEC(N(EVS_BlueLightOff)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_01A6, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_OMO_BOX_CHIME_2, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_BlueLightOn)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_01A5, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_OMO_BOX_CHIME_1, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_RedLightOn)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_01A7, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_OMO_BOX_CHIME_3, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_YellowLightOn)) EVT_WAIT(LVar0) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_01A8, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_OMO_BOX_CHIME_4, SOUND_SPACE_DEFAULT) EVT_EXEC(N(EVS_GreenLightOn)) EVT_WAIT(LVar0) EVT_SUB(LVar0, 1) @@ -538,7 +538,7 @@ EvtScript N(EVS_BoxResult_ReleaseShyGuys) = { EVT_EXEC(N(EVS_RedLightOff)) EVT_EXEC(N(EVS_BlueLightOff)) EVT_WAIT(LVar0) - EVT_CALL(PlaySound, SOUND_01A9) + EVT_CALL(PlaySound, SOUND_OMO_BOX_DONE) EVT_EXEC(N(EVS_GreenLightOn)) EVT_EXEC(N(EVS_YellowLightOn)) EVT_EXEC(N(EVS_RedLightOn)) @@ -635,13 +635,13 @@ EvtScript N(EVS_BoxResult_ReleaseShyGuys) = { EvtScript N(EVS_HitBox) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(EVT_PTR(N(GreenBoxInfo))) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_01A2, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o907, SOUND_OMO_BOX_GLOW_2, SOUND_SPACE_DEFAULT) EVT_CASE_EQ(EVT_PTR(N(YellowBoxInfo))) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_01A1, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o911, SOUND_OMO_BOX_GLOW_1, SOUND_SPACE_DEFAULT) EVT_CASE_EQ(EVT_PTR(N(RedBoxInfo))) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_01A3, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o915, SOUND_OMO_BOX_GLOW_3, SOUND_SPACE_DEFAULT) EVT_CASE_EQ(EVT_PTR(N(BlueBoxInfo))) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_01A4, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o918, SOUND_OMO_BOX_GLOW_4, SOUND_SPACE_DEFAULT) EVT_END_SWITCH EVT_USE_BUF(LVar0) EVT_BUF_READ1(LVar1) diff --git a/src/world/area_omo/omo_08/omo_08_4_train.c b/src/world/area_omo/omo_08/omo_08_4_train.c index 6b2451b00a..87625caf46 100644 --- a/src/world/area_omo/omo_08/omo_08_4_train.c +++ b/src/world/area_omo/omo_08/omo_08_4_train.c @@ -116,7 +116,7 @@ EvtScript N(D_80246B08_DCAED8) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80246740_DCAB10))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_0010) @@ -184,7 +184,7 @@ EvtScript N(D_80246E30_DCB200) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80246740_DCAB10))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_0010) diff --git a/src/world/area_omo/omo_09/omo_09.h b/src/world/area_omo/omo_09/omo_09.h index f546930785..2a7000b24a 100644 --- a/src/world/area_omo/omo_09/omo_09.h +++ b/src/world/area_omo/omo_09/omo_09.h @@ -65,5 +65,5 @@ extern NpcGroupList N(PokeyAmbushNPCs); extern NpcGroupList N(KoopatrolAmbushNPCs); extern NpcGroupList N(DefaultNPCs); -API_CALLABLE(N(SetCamera0Flag1000)); -API_CALLABLE(N(UnsetCamera0Flag1000)); +API_CALLABLE(N(DisableCameraLeadingPlayer)); +API_CALLABLE(N(EnableCameraLeadingPlayer)); diff --git a/src/world/area_omo/omo_09/omo_09_4_slot_machine.c b/src/world/area_omo/omo_09/omo_09_4_slot_machine.c index de3e3aa03b..26ee8c8168 100644 --- a/src/world/area_omo/omo_09/omo_09_4_slot_machine.c +++ b/src/world/area_omo/omo_09/omo_09_4_slot_machine.c @@ -22,7 +22,7 @@ enum SlotMachineProgress { EvtScript N(EVS_SetCam_ViewReels) = { EVT_WAIT(8) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 535, 0, 0) EVT_CALL(SetPanTarget, CAM_DEFAULT, 535, 0, 0) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.5)) @@ -720,7 +720,7 @@ EvtScript N(EVS_SlotMachine_MainUpdate) = { EVT_SET(MV_ResetCamSpeed, EVT_FLOAT(2.0)) EVT_END_SWITCH EVT_END_SWITCH - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, MV_ResetCamSpeed) EVT_CALL(DisablePlayerInput, FALSE) EVT_LOOP(0) @@ -786,7 +786,7 @@ API_CALLABLE(N(UpdateSlotMachineBlockShadows)) { script->functionTempPtr[0] = shadowIDs = heap_malloc(sizeof(*shadowIDs)); for (i = 0; i < ARRAY_COUNT(N(SlotMachineBlocks)); i++) { model = get_model_from_list_index(get_model_list_index_from_tree_index(N(SlotMachineBlocks)[i])); - (*shadowIDs)[i] = create_shadow_type(1, model->center.x, model->center.y - 100.0f, model->center.z); + (*shadowIDs)[i] = create_shadow_type(SHADOW_VARYING_SQUARE, model->center.x, model->center.y - 100.0f, model->center.z); } } diff --git a/src/world/area_omo/omo_09/omo_09_7_npc.c b/src/world/area_omo/omo_09/omo_09_7_npc.c index e979d7e4cc..555fda390f 100644 --- a/src/world/area_omo/omo_09/omo_09_7_npc.c +++ b/src/world/area_omo/omo_09/omo_09_7_npc.c @@ -39,8 +39,8 @@ NpcSettings N(NpcSettings_ShyGuy_Wander_NoReaction) = { #include "world/common/enemy/Pokey.inc.c" #include "world/common/enemy/Kammy_Flying.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" EvtScript N(EVS_ShyGuy_CarryItem) = { EVT_SET(LVarA, LVar0) // npcID @@ -104,7 +104,7 @@ EvtScript N(EVS_NpcIdle_Pokey) = { EVT_GOTO(0) EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(5.0), LVar0, LVar1, LVar2, 300, EVT_FLOAT(13.0), EVT_FLOAT(-9.5)) EVT_IF_EQ(GB_OMO_PeachChoice3, 0) @@ -113,7 +113,7 @@ EvtScript N(EVS_NpcIdle_Pokey) = { EVT_CALL(SpeakToPlayer, NPC_Koopatrol, ANIM_WorldKoopatrol_Anim08, ANIM_WorldKoopatrol_Anim01, 0, MSG_CH4_003F) EVT_END_IF EVT_THREAD - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) EVT_END_THREAD EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_omo/omo_09/omo_09_8_scenes.c b/src/world/area_omo/omo_09/omo_09_8_scenes.c index b1e15fe4d9..270b6ed493 100644 --- a/src/world/area_omo/omo_09/omo_09_8_scenes.c +++ b/src/world/area_omo/omo_09/omo_09_8_scenes.c @@ -107,7 +107,7 @@ EvtScript N(EVS_Scene_KammySetAmbush) = { EVT_CALL(SetNpcVar, NPC_Kammy, 0, 0) EVT_WAIT(5 * DT) EVT_IF_NE(AB_OMO_CurrentPeachChoice, 2) - EVT_CALL(PlaySoundAtNpc, MV_AmbushID, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, MV_AmbushID, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, MV_AmbushID, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(5 * DT) EVT_END_IF diff --git a/src/world/area_omo/omo_10/omo_10_4_train.c b/src/world/area_omo/omo_10/omo_10_4_train.c index b3858861c7..6a9656c1bd 100644 --- a/src/world/area_omo/omo_10/omo_10_4_train.c +++ b/src/world/area_omo/omo_10/omo_10_4_train.c @@ -118,7 +118,7 @@ EvtScript N(D_80243E98_DDB848) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80243AC0_DDB470))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_0011) @@ -187,7 +187,7 @@ EvtScript N(D_802441D0_DDBB80) = { EVT_WAIT(20) EVT_KILL_THREAD(LVarB) EVT_EXEC(N(EVS_TrainUnk_B)) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar9, EVT_PTR(N(D_80243AC0_DDB470))) EVT_EXEC_WAIT(N(EVS_TrainUnk_E)) EVT_CALL(SpeakToPlayer, NPC_Conductor, ANIM_TrainToad_Talk, ANIM_TrainToad_Idle, 0, MSG_CH4_0011) diff --git a/src/world/area_omo/omo_11/omo_11_3_gizmos.c b/src/world/area_omo/omo_11/omo_11_3_gizmos.c index 1b8781250e..577a5d9cd2 100644 --- a/src/world/area_omo/omo_11/omo_11_3_gizmos.c +++ b/src/world/area_omo/omo_11/omo_11_3_gizmos.c @@ -78,7 +78,7 @@ API_CALLABLE(N(UpdatePlatformShadows)) { script->functionTempPtr[0] = shadowIDs = heap_malloc(sizeof(*shadowIDs)); for (i = 0; i < ARRAY_COUNT(N(PlatformFloorModels)); i++) { model = get_model_from_list_index(get_model_list_index_from_tree_index(N(PlatformFloorModels)[i])); - (*shadowIDs)[i] = create_shadow_type(0, model->center.x, model->center.y - 100.0f, model->center.z); + (*shadowIDs)[i] = create_shadow_type(SHADOW_VARYING_CIRCLE, model->center.x, model->center.y - 100.0f, model->center.z); } } diff --git a/src/world/area_omo/omo_12/omo_12_3_npc.c b/src/world/area_omo/omo_12/omo_12_3_npc.c index 00307c4400..2120b66059 100644 --- a/src/world/area_omo/omo_12/omo_12_3_npc.c +++ b/src/world/area_omo/omo_12/omo_12_3_npc.c @@ -16,8 +16,8 @@ NpcSettings N(NpcSettings_Watt) = { #include "world/common/atomic/CreateDarkness.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" API_CALLABLE(N(SetLightOriginAndPower)) { Bytecode* args = script->ptrReadPos; @@ -193,7 +193,7 @@ BombTrigger N(BombPos_Lantern_Unused) = { EvtScript N(EVS_Scene_ReleaseWatt) = { EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(GetNpcPos, NPC_LaternTop, LVar0, LVar1, LVar2) EVT_CALL(SetCamProperties, CAM_DEFAULT, EVT_FLOAT(2.0 / DT), LVar0, LVar1, LVar2, EVT_FLOAT(450.0), EVT_FLOAT(15.0), EVT_FLOAT(-6.0)) EVT_SET(LVarA, 0) @@ -306,7 +306,7 @@ EvtScript N(EVS_Scene_ReleaseWatt) = { EVT_CALL(func_802D2C14, 0) EVT_WAIT(20 * DT) EVT_CALL(SetNpcAnimation, NPC_Watt, ANIM_WorldWatt_Idle) - EVT_CALL(PlaySoundAtNpc, NPC_Watt, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Watt, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Watt, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(40 * DT) EVT_CALL(SpeakToPlayer, NPC_Watt, ANIM_WorldWatt_Talk, ANIM_WorldWatt_Idle, 0, MSG_CH4_0059) @@ -398,7 +398,7 @@ EvtScript N(EVS_Scene_ReleaseWatt) = { EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldWatt_Talk, ANIM_WorldWatt_Idle, 0, MSG_CH4_005B) EVT_CALL(EnablePartnerAI) EVT_EXEC(N(EVS_UseWattTutorial)) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(5.0 / DT)) EVT_SET(GB_StoryProgress, STORY_CH4_WATT_JOINED_PARTY) EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_omo/omo_13/omo_13_4_npc.c b/src/world/area_omo/omo_13/omo_13_4_npc.c index 30075c21c0..a1eed070af 100644 --- a/src/world/area_omo/omo_13/omo_13_4_npc.c +++ b/src/world/area_omo/omo_13/omo_13_4_npc.c @@ -52,7 +52,7 @@ EvtScript N(EVS_NpcInteract_AntiGuy) = { EVT_END_IF EVT_ELSE EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ShyGuy_Black_Anim11, ANIM_ShyGuy_Black_Anim01, 0, MSG_CH4_004A) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(30) EVT_CALL(EndSpeech, NPC_SELF, ANIM_ShyGuy_Black_Anim11, ANIM_ShyGuy_Black_Anim01, 0) diff --git a/src/world/area_osr/osr_03/osr_03_4_starship.c b/src/world/area_osr/osr_03/osr_03_4_starship.c index acb192a824..be700bdb75 100644 --- a/src/world/area_osr/osr_03/osr_03_4_starship.c +++ b/src/world/area_osr/osr_03/osr_03_4_starship.c @@ -52,7 +52,7 @@ EvtScript N(EVS_Scene_Starship) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_THREAD - EVT_CALL(PlaySound, SOUND_0180) + EVT_CALL(PlaySound, SOUND_STARSHIP_NEAR_FLYBY) EVT_CALL(MakeLerp, 50, 10, 10, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_pra/pra_02/pra_02_4_entity.c b/src/world/area_pra/pra_02/pra_02_4_entity.c index d4f9a9cc6b..0aa9cd6f81 100644 --- a/src/world/area_pra/pra_02/pra_02_4_entity.c +++ b/src/world/area_pra/pra_02/pra_02_4_entity.c @@ -183,9 +183,9 @@ EvtScript N(EVS_ItemPrompt_RedPadlock) = { EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_pra_16_0)), TRIGGER_WALL_PRESS_A, COLLIDER_deilittse, 1, 0) EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_pra_16_3)), TRIGGER_WALL_PRESS_A, COLLIDER_deilittne, 1, 0) EVT_CALL(N(GetEntityPosition), MV_NearRedPadlock, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(N(GetEntityPosition), MV_FarRedPadlock, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_NearRedPadlock) EVT_SET(MV_NearRedPadlock, -1) EVT_CALL(N(RemovePadlock)) @@ -220,9 +220,9 @@ EvtScript N(EVS_ItemPrompt_BluePadlock) = { EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_pra_13_0)), TRIGGER_WALL_PRESS_A, COLLIDER_deilittse2, 1, 0) EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitDoors_pra_13_3)), TRIGGER_WALL_PRESS_A, COLLIDER_deilittne2, 1, 0) EVT_CALL(N(GetEntityPosition), MV_NearBluePadlock, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(N(GetEntityPosition), MV_FarBluePadlock, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_NearBluePadlock) EVT_SET(MV_NearBluePadlock, -1) EVT_CALL(N(RemovePadlock)) diff --git a/src/world/area_pra/pra_19/pra_19_3_npc.c b/src/world/area_pra/pra_19/pra_19_3_npc.c index ae58b6f18a..ccae33a2e8 100644 --- a/src/world/area_pra/pra_19/pra_19_3_npc.c +++ b/src/world/area_pra/pra_19/pra_19_3_npc.c @@ -628,7 +628,7 @@ EvtScript N(EVS_ManageImpostersScene) = { EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_CHANGE_PARTNER | PS_FLAG_NO_PARTNER_USAGE, TRUE) EVT_WAIT(60) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Question) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, 0, 30, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(35) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Flail) @@ -670,7 +670,7 @@ EvtScript N(EVS_ManageImpostersScene) = { EVT_THREAD EVT_WAIT(2) EVT_CALL(N(AwaitImposterHitPlayer)) - EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARDS, TRUE) + EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARD, TRUE) EVT_CALL(MakeLerp, 0, 11 * 180, 30, EASING_QUADRATIC_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -681,7 +681,7 @@ EvtScript N(EVS_ManageImpostersScene) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARDS, FALSE) + EVT_CALL(SetPlayerFlagBits, PS_FLAG_NO_STATIC_COLLISION | PS_FLAG_ROTATION_LOCKED | PS_FLAG_FACE_FORWARD, FALSE) EVT_END_THREAD EVT_WAIT(60) EVT_CALL(InterpPlayerYaw, 270, 0) diff --git a/src/world/area_pra/pra_34/pra_34_2_main.c b/src/world/area_pra/pra_34/pra_34_2_main.c index 3acc3a1861..cad6076cc9 100644 --- a/src/world/area_pra/pra_34/pra_34_2_main.c +++ b/src/world/area_pra/pra_34/pra_34_2_main.c @@ -126,9 +126,9 @@ EvtScript N(EVS_UnlockPrompt_Doors) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_PRA34_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_FarPadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(N(GetEntityPosition), MV_NearPadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_FarPadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_SET(LVar0, MV_NearPadlockEntityID) diff --git a/src/world/area_sam/sam_01/sam_01_5_scenes.c b/src/world/area_sam/sam_01/sam_01_5_scenes.c index 05061cee06..9d9b9cf5ec 100644 --- a/src/world/area_sam/sam_01/sam_01_5_scenes.c +++ b/src/world/area_sam/sam_01/sam_01_5_scenes.c @@ -117,7 +117,7 @@ EvtScript N(EVS_Scene_MysteryBegins) = { EVT_CALL(InterpNpcYaw, NPC_PARTNER, 0, 0) EVT_CALL(NpcMoveTo, NPC_MayorPenguinWife, -255, -185, 0) EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Idle) - EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguinWife, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MayorPenguinWife, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MayorPenguinWife, EMOTE_EXCLAMATION, 0, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(30 * DT) EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Walk) diff --git a/src/world/area_sam/sam_07/sam_07_4_frozen_pit.c b/src/world/area_sam/sam_07/sam_07_4_frozen_pit.c index f5736ca4cd..e46048df30 100644 --- a/src/world/area_sam/sam_07/sam_07_4_frozen_pit.c +++ b/src/world/area_sam/sam_07/sam_07_4_frozen_pit.c @@ -135,7 +135,7 @@ API_CALLABLE(N(AwaitPlayerNotPoundingFloor)) { return ApiStatus_DONE2; } -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" EvtScript N(EVS_BreakIce) = { EVT_CALL(PlaySoundAtCollider, COLLIDER_o116, SOUND_0396, 0) @@ -198,7 +198,7 @@ EvtScript N(EVS_UseGreenSwitch) = { EVT_CALL(UpdateColliderTransform, COLLIDER_m1_yuka) EVT_ADD(LVar0, LVar8) EVT_CALL(N(SetEntityPositionF), MV_SwitchEntityID, LVar7, LVar0, LVar9) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_WAIT(1) EVT_CALL(N(AwaitPlayerNotPoundingFloor), COLLIDER_m1_yuka, ENTITY_COLLIDER_ID(0)) EVT_IF_EQ(LVar1, 1) @@ -219,7 +219,7 @@ EvtScript N(EVS_UseGreenSwitch) = { EVT_CALL(UpdateColliderTransform, COLLIDER_m1_yuka) EVT_ADD(LVar0, LVar8) EVT_CALL(N(SetEntityPositionF), MV_SwitchEntityID, LVar7, LVar0, LVar9) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_WAIT(1) EVT_CALL(N(AwaitPlayerNotPoundingFloor), COLLIDER_m1_yuka, ENTITY_COLLIDER_ID(0)) EVT_IF_EQ(LVar1, 1) diff --git a/src/world/area_sam/sam_08/sam_08_5_scenes.c b/src/world/area_sam/sam_08/sam_08_5_scenes.c index 093bc8b620..dbdf21a2b3 100644 --- a/src/world/area_sam/sam_08/sam_08_5_scenes.c +++ b/src/world/area_sam/sam_08/sam_08_5_scenes.c @@ -9,7 +9,7 @@ API_CALLABLE(N(AdjustFightingSoundsPos)) { s32 z = evt_get_variable(script, *args++); // @bug need to use real sound id, not environmental sound id - sfx_adjust_env_sound_pos(SOUND_LOOP_6C, SOUND_SPACE_DEFAULT, x, y, z); + sfx_adjust_env_sound_pos(SOUND_LOOP_FIGHTING, SOUND_SPACE_DEFAULT, x, y, z); return ApiStatus_DONE2; } @@ -25,7 +25,7 @@ API_CALLABLE(N(StartFightingRumble)) { } EvtScript N(EVS_TwoKoopesFightingFX) = { - EVT_CALL(PlaySoundAtNpc, NPC_Kooper_01A, SOUND_LOOP_6C, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kooper_01A, SOUND_LOOP_FIGHTING, SOUND_SPACE_DEFAULT) EVT_LOOP(0) EVT_CALL(N(StartFightingRumble), 80, 10) EVT_CALL(GetNpcPos, NPC_Kooper_01A, LVar0, LVar1, LVar2) @@ -93,19 +93,19 @@ EvtScript N(EVS_Scene_ImposterAppears) = { EVT_CALL(InterpNpcYaw, NPC_Kooper_01A, 270, 0) EVT_CALL(InterpNpcYaw, NPC_Kooper_02A, 90, 0) EVT_WAIT(15 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_Kooper_02A, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kooper_02A, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Kooper_02A, EMOTE_QUESTION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_Kooper_01A, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kooper_01A, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Kooper_01A, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15 * DT) - EVT_CALL(PlaySoundAtPlayer, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtPlayer, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, 0, EMOTE_QUESTION, -45, 20, EMOTER_PLAYER, 0, 0, 0, 0) EVT_WAIT(15 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_Kooper_02A, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kooper_02A, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Kooper_02A, EMOTE_QUESTION, 45, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_Kooper_01A, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Kooper_01A, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Kooper_01A, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(SpeakToPlayer, NPC_Kooper_01A, ANIM_WorldKooper_Idle, ANIM_WorldKooper_Idle, 5, MSG_CH7_011F) EVT_THREAD @@ -377,7 +377,7 @@ EvtScript N(EVS_Scene_HitTrueKooper) = { EVT_CALL(N(PlayBigSmokePuff), LVar0, LVar1, LVar2) EVT_WAIT(6 * DT) EVT_END_LOOP - EVT_CALL(StopSound, SOUND_LOOP_6C) + EVT_CALL(StopSound, SOUND_LOOP_FIGHTING) EVT_KILL_THREAD(MV_KoopersFightingScript) EVT_CALL(RandInt, 100, LVar0) EVT_IF_GT(LVar0, 50) diff --git a/src/world/area_sam/sam_11/sam_11_3_rooms.c b/src/world/area_sam/sam_11/sam_11_3_rooms.c index 6109d70d9f..ca97eccc97 100644 --- a/src/world/area_sam/sam_11/sam_11_3_rooms.c +++ b/src/world/area_sam/sam_11/sam_11_3_rooms.c @@ -134,7 +134,7 @@ EvtScript N(EVS_UnlockPrompt_LeftHouse) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_SAM11_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_PadlockEntityID, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_PadlockEntityID) EVT_CALL(N(RemovePadlock)) EVT_RESUME_GROUP(EVT_GROUP_01) diff --git a/src/world/area_sam/sam_11/sam_11_4_entity.c b/src/world/area_sam/sam_11/sam_11_4_entity.c index 480ca510cd..f2810c9d86 100644 --- a/src/world/area_sam/sam_11/sam_11_4_entity.c +++ b/src/world/area_sam/sam_11/sam_11_4_entity.c @@ -64,8 +64,8 @@ API_CALLABLE(N(SetEntityHideMode0)) { return ApiStatus_DONE2; } -#include "world/common/todo/UnsetCamera0MoveFlag1.inc.c" -#include "world/common/todo/SetCamera0MoveFlag1.inc.c" +#include "world/common/EnableCameraFollowPlayerY.inc.c" +#include "world/common/DisableCameraFollowPlayerY.inc.c" API_CALLABLE(N(MovePlayerAlongRoofSlide)) { PlayerStatus* playerStatus = &gPlayerStatus; @@ -194,7 +194,7 @@ EvtScript N(EVS_TouchFloor_RightRoof) = { EVT_WAIT(1) EVT_CALL(SetZoneEnabled, ZONE_gon, FALSE) EVT_CALL(SetZoneEnabled, ZONE_sou, FALSE) - EVT_CALL(N(UnsetCamera0MoveFlag1)) + EVT_CALL(N(EnableCameraFollowPlayerY)) EVT_SET(LVar3, 500) EVT_EXEC_GET_TID(N(EVS_TetherCamToPlayerCappedY), LVarA) EVT_CALL(PlaySoundAtPlayer, SOUND_SLIDE, SOUND_SPACE_DEFAULT) @@ -206,7 +206,7 @@ EvtScript N(EVS_TouchFloor_RightRoof) = { EVT_CALL(SetZoneEnabled, ZONE_s, TRUE) EVT_CALL(SetZoneEnabled, ZONE_gon, TRUE) EVT_CALL(SetZoneEnabled, ZONE_sou, TRUE) - EVT_CALL(N(SetCamera0MoveFlag1)) + EVT_CALL(N(DisableCameraFollowPlayerY)) EVT_KILL_THREAD(LVarA) EVT_CALL(DisablePlayerInput, FALSE) EVT_CALL(DisablePlayerPhysics, FALSE) diff --git a/src/world/area_tik/tik_01/tik_01_2_main.c b/src/world/area_tik/tik_01/tik_01_2_main.c index f85355598d..018dfade11 100644 --- a/src/world/area_tik/tik_01/tik_01_2_main.c +++ b/src/world/area_tik/tik_01/tik_01_2_main.c @@ -22,7 +22,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(MakeNpcs, TRUE, EVT_PTR(N(DefaultNPCs))) EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_27) + EVT_CALL(PlaySound, SOUND_LOOP_TIK01_WATER) EVT_CALL(EnableTexPanning, MODEL_nagare1, TRUE) EVT_THREAD TEX_PAN_PARAMS_ID(TEX_PANNER_1) diff --git a/src/world/area_tik/tik_02/tik_02_2_main.c b/src/world/area_tik/tik_02/tik_02_2_main.c index 1b78128613..352797d223 100644 --- a/src/world/area_tik/tik_02/tik_02_2_main.c +++ b/src/world/area_tik/tik_02/tik_02_2_main.c @@ -17,9 +17,9 @@ EvtScript N(EVS_Main) = { EVT_CALL(MakeNpcs, TRUE, EVT_PTR(N(DefaultNPCs))) EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_28) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_29, SOUND_SPACE_WITH_DEPTH, -230, -180, 120) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_2A, SOUND_SPACE_WITH_DEPTH, 20, -180, 120) + EVT_CALL(PlaySound, SOUND_LOOP_TIK02_WATER) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK02_FLOW2, SOUND_SPACE_WITH_DEPTH, -230, -180, 120) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK02_FLOW3, SOUND_SPACE_WITH_DEPTH, 20, -180, 120) EVT_EXEC(N(EVS_SetupDrips)) EVT_CALL(EnableTexPanning, MODEL_nagare1, TRUE) EVT_THREAD diff --git a/src/world/area_tik/tik_03/tik_03_2_main.c b/src/world/area_tik/tik_03/tik_03_2_main.c index 9d9f0a3f72..33b889a54a 100644 --- a/src/world/area_tik/tik_03/tik_03_2_main.c +++ b/src/world/area_tik/tik_03/tik_03_2_main.c @@ -81,8 +81,8 @@ EvtScript N(EVS_Main) = { EVT_RETURN EVT_END_IF EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_2B) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_2C, SOUND_SPACE_WITH_DEPTH, -10, -20, 120) + EVT_CALL(PlaySound, SOUND_LOOP_TIK03_WATER) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK03_FLOW1, SOUND_SPACE_WITH_DEPTH, -10, -20, 120) EVT_EXEC(N(EVS_EnterMap)) EVT_WAIT(1) EVT_RETURN diff --git a/src/world/area_tik/tik_04/tik_04_4_platforms.c b/src/world/area_tik/tik_04/tik_04_4_platforms.c index a4f998fe67..5183488a59 100644 --- a/src/world/area_tik/tik_04/tik_04_4_platforms.c +++ b/src/world/area_tik/tik_04/tik_04_4_platforms.c @@ -5,9 +5,9 @@ API_CALLABLE(N(CreatePlatformShadows)) { Model* model; model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_erb1)); - script->array[0] = create_shadow_type(1, model->center.x, model->center.y - 100.0f, model->center.z); + script->array[0] = create_shadow_type(SHADOW_VARYING_SQUARE, model->center.x, model->center.y - 100.0f, model->center.z); model = get_model_from_list_index(get_model_list_index_from_tree_index(MODEL_erb2)); - script->array[1] = create_shadow_type(1, model->center.x, model->center.y - 100.0f, model->center.z); + script->array[1] = create_shadow_type(SHADOW_VARYING_SQUARE, model->center.x, model->center.y - 100.0f, model->center.z); return ApiStatus_DONE2; } diff --git a/src/world/area_tik/tik_05/tik_05_2_main.c b/src/world/area_tik/tik_05/tik_05_2_main.c index 64c44a1d18..6f2876f82f 100644 --- a/src/world/area_tik/tik_05/tik_05_2_main.c +++ b/src/world/area_tik/tik_05/tik_05_2_main.c @@ -17,8 +17,8 @@ EvtScript N(EVS_Main) = { EVT_CALL(MakeNpcs, TRUE, EVT_PTR(N(DefaultNPCs))) EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_2D) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_2E, SOUND_SPACE_WITH_DEPTH, -85, -20, 120) + EVT_CALL(PlaySound, SOUND_LOOP_TIK05_WATER) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK05_FLOW1, SOUND_SPACE_WITH_DEPTH, -85, -20, 120) EVT_EXEC(N(EVS_SetupDrips)) EVT_CALL(EnableTexPanning, MODEL_nagare, TRUE) EVT_THREAD diff --git a/src/world/area_tik/tik_06/tik_06_2_main.c b/src/world/area_tik/tik_06/tik_06_2_main.c index 1db13ac1f8..9e9fb051ab 100644 --- a/src/world/area_tik/tik_06/tik_06_2_main.c +++ b/src/world/area_tik/tik_06/tik_06_2_main.c @@ -67,10 +67,10 @@ EvtScript N(EVS_Main) = { EVT_SET(GF_MAP_ToadTownTunnels, TRUE) EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_2F) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_30, SOUND_SPACE_WITH_DEPTH, -85, -180, 120) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_31, SOUND_SPACE_WITH_DEPTH, -25, -140, -130) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_32, SOUND_SPACE_WITH_DEPTH, -35, -180, 130) + EVT_CALL(PlaySound, SOUND_LOOP_TIK06_WATER) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK06_FLOW2, SOUND_SPACE_WITH_DEPTH, -85, -180, 120) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK06_FLOW3, SOUND_SPACE_WITH_DEPTH, -25, -140, -130) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK06_FLOW4, SOUND_SPACE_WITH_DEPTH, -35, -180, 130) EVT_EXEC(N(EVS_SetupDrips)) EVT_CALL(EnableTexPanning, MODEL_nagare1, TRUE) EVT_THREAD diff --git a/src/world/area_tik/tik_08/tik_08_2_main.c b/src/world/area_tik/tik_08/tik_08_2_main.c index 138867398d..85924bfe4b 100644 --- a/src/world/area_tik/tik_08/tik_08_2_main.c +++ b/src/world/area_tik/tik_08/tik_08_2_main.c @@ -32,8 +32,8 @@ EvtScript N(EVS_Main) = { EVT_CALL(MakeNpcs, TRUE, EVT_PTR(N(DefaultNPCs))) EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_33) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_34, SOUND_SPACE_WITH_DEPTH, -30, -30, -85) + EVT_CALL(PlaySound, SOUND_LOOP_TIK08_WATER) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK08_FLOW1, SOUND_SPACE_WITH_DEPTH, -30, -30, -85) EVT_EXEC(N(EVS_SetupDrips)) EVT_CALL(EnableTexPanning, MODEL_nagare1, TRUE) EVT_CALL(EnableTexPanning, MODEL_o92, TRUE) diff --git a/src/world/area_tik/tik_09/tik_09_2_main.c b/src/world/area_tik/tik_09/tik_09_2_main.c index f1c4699f4b..ac0f4a3a62 100644 --- a/src/world/area_tik/tik_09/tik_09_2_main.c +++ b/src/world/area_tik/tik_09/tik_09_2_main.c @@ -9,7 +9,7 @@ EvtScript N(EVS_CloseGates) = { EVT_SET_GROUP(EVT_GROUP_00) EVT_CALL(SetTimeFreezeMode, TIME_FREEZE_PARTIAL) EVT_CALL(PlaySound, SOUND_CHIME_BEGIN_AMBUSH) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o59, SOUND_026B, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o59, SOUND_LARGE_GATE_OPEN, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 60, 0, 25, EASING_COS_IN_OUT) EVT_LOOP(0) EVT_CALL(UpdateLerp) @@ -20,7 +20,7 @@ EvtScript N(EVS_CloseGates) = { EVT_BREAK_LOOP EVT_END_IF EVT_END_LOOP - EVT_CALL(PlaySoundAtCollider, COLLIDER_o59, SOUND_026C, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o59, SOUND_LARGE_GATE_CLOSE, SOUND_SPACE_DEFAULT) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(1.0)) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o58, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o59, COLLIDER_FLAGS_UPPER_MASK) @@ -67,10 +67,10 @@ EvtScript N(EVS_Main) = { EVT_CALL(MakeNpcs, TRUE, EVT_PTR(N(DefaultNPCs))) EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_35) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_36, SOUND_SPACE_WITH_DEPTH, -190, -20, -120) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_37, SOUND_SPACE_WITH_DEPTH, 50, -20, -120) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_38, SOUND_SPACE_WITH_DEPTH, 290, -20, -120) + EVT_CALL(PlaySound, SOUND_LOOP_TIK09_WATER) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK09_FLOW2, SOUND_SPACE_WITH_DEPTH, -190, -20, -120) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK09_FLOW4, SOUND_SPACE_WITH_DEPTH, 50, -20, -120) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK09_FLOW3, SOUND_SPACE_WITH_DEPTH, 290, -20, -120) EVT_EXEC(N(EVS_SetupDrips)) EVT_CALL(EnableTexPanning, MODEL_nagare, TRUE) EVT_CALL(EnableTexPanning, MODEL_o84, TRUE) diff --git a/src/world/area_tik/tik_10/tik_10_2_main.c b/src/world/area_tik/tik_10/tik_10_2_main.c index bd599fb928..f06f3518fb 100644 --- a/src/world/area_tik/tik_10/tik_10_2_main.c +++ b/src/world/area_tik/tik_10/tik_10_2_main.c @@ -16,7 +16,7 @@ EvtScript N(EVS_Main) = { EVT_SETUP_CAMERA_NO_LEAD() EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_39) + EVT_CALL(PlaySound, SOUND_LOOP_TIK10_WATER) EVT_EXEC(N(EVS_SetupDrips)) EVT_CALL(EnableTexPanning, MODEL_nagare, TRUE) EVT_THREAD diff --git a/src/world/area_tik/tik_18/tik_18_2_main.c b/src/world/area_tik/tik_18/tik_18_2_main.c index 5020ed4bef..765ba723af 100644 --- a/src/world/area_tik/tik_18/tik_18_2_main.c +++ b/src/world/area_tik/tik_18/tik_18_2_main.c @@ -22,7 +22,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o45, COLLIDER_FLAGS_UPPER_MASK) EVT_EXEC(N(EVS_SetupDrips)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_43) + EVT_CALL(PlaySound, SOUND_LOOP_TIK18_WATER) EVT_CALL(EnableTexPanning, MODEL_nagare, TRUE) EVT_THREAD TEX_PAN_PARAMS_ID(TEX_PANNER_1) diff --git a/src/world/area_tik/tik_19/tik_19_2_main.c b/src/world/area_tik/tik_19/tik_19_2_main.c index a376a135a1..08ab449d5f 100644 --- a/src/world/area_tik/tik_19/tik_19_2_main.c +++ b/src/world/area_tik/tik_19/tik_19_2_main.c @@ -26,9 +26,9 @@ EvtScript N(EVS_Main) = { EVT_SETUP_CAMERA_NO_LEAD() EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_44) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_45, SOUND_SPACE_WITH_DEPTH, 0, -20, 30) - EVT_CALL(PlaySoundAtF, SOUND_LOOP_46, SOUND_SPACE_WITH_DEPTH, 270, -20, 30) + EVT_CALL(PlaySound, SOUND_LOOP_TIK19_WATER) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK19_FLOW3, SOUND_SPACE_WITH_DEPTH, 0, -20, 30) + EVT_CALL(PlaySoundAtF, SOUND_LOOP_TIK19_FLOW4, SOUND_SPACE_WITH_DEPTH, 270, -20, 30) EVT_CALL(EnableTexPanning, MODEL_nagare, TRUE) EVT_THREAD TEX_PAN_PARAMS_ID(TEX_PANNER_1) diff --git a/src/world/area_tik/tik_20/tik_20_2_main.c b/src/world/area_tik/tik_20/tik_20_2_main.c index 42cdbda41d..e00e074d5f 100644 --- a/src/world/area_tik/tik_20/tik_20_2_main.c +++ b/src/world/area_tik/tik_20/tik_20_2_main.c @@ -77,7 +77,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(ResetFromLava, EVT_PTR(N(SafeFloorColliders))) EVT_END_THREAD EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_47) + EVT_CALL(PlaySound, SOUND_LOOP_TIK20_WATER) EVT_EXEC(N(EVS_SetupDrips)) EVT_THREAD TEX_PAN_PARAMS_ID(TEX_PANNER_0) diff --git a/src/world/area_tik/tik_23/tik_23_2_main.c b/src/world/area_tik/tik_23/tik_23_2_main.c index 1afca16032..e06c2a7773 100644 --- a/src/world/area_tik/tik_23/tik_23_2_main.c +++ b/src/world/area_tik/tik_23/tik_23_2_main.c @@ -71,7 +71,7 @@ EvtScript N(EVS_Main) = { EVT_END_IF EVT_WAIT(1) EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_48) + EVT_CALL(PlaySound, SOUND_LOOP_TIK23_WATER) EVT_EXEC_WAIT(N(EVS_SetupDrips)) EVT_CALL(SetTexPanner, MODEL_nagare1, 0) EVT_CALL(SetTexPanner, MODEL_o97, 0) diff --git a/src/world/area_tik/tik_24/tik_24_2_main.c b/src/world/area_tik/tik_24/tik_24_2_main.c index 4b387d4983..ab2db6ab33 100644 --- a/src/world/area_tik/tik_24/tik_24_2_main.c +++ b/src/world/area_tik/tik_24/tik_24_2_main.c @@ -47,7 +47,7 @@ EvtScript N(EVS_Main) = { EVT_EXEC(N(EVS_UpdateTexturePan)) EVT_END_THREAD EVT_EXEC(N(EVS_SetupMusic)) - EVT_CALL(PlaySound, SOUND_LOOP_49) + EVT_CALL(PlaySound, SOUND_LOOP_TIK24_WATER) EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) EVT_EXEC(EnterWalk) EVT_WAIT(1) diff --git a/src/world/area_trd/trd_00/trd_00_3_npc.c b/src/world/area_trd/trd_00/trd_00_3_npc.c index 1e23d13218..6e2b461e5f 100644 --- a/src/world/area_trd/trd_00/trd_00_3_npc.c +++ b/src/world/area_trd/trd_00/trd_00_3_npc.c @@ -63,7 +63,7 @@ EvtScript N(EVS_NpcIdle_KoopaBros) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaBros_Black_Talk, ANIM_KoopaBros_Black_Idle, 0, MSG_CH1_00D2) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaBros_Black_Walk) EVT_CALL(InterpNpcYaw, NPC_SELF, 45, 2) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0173, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_RUN_AWAY_BUILDUP, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaBros_Black_Run) EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.8)) EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) @@ -71,7 +71,7 @@ EvtScript N(EVS_NpcIdle_KoopaBros) = { EVT_WAIT(8 * DT) EVT_WAIT(12 * DT) EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0174, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_RUN_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(8.0 / DT)) EVT_CALL(NpcMoveTo, NPC_SELF, -496, 101, 0) EVT_END_THREAD diff --git a/src/world/area_trd/trd_01/trd_01_1_main.c b/src/world/area_trd/trd_01/trd_01_1_main.c index 9a5f5235ec..ab01ce1798 100644 --- a/src/world/area_trd/trd_01/trd_01_1_main.c +++ b/src/world/area_trd/trd_01/trd_01_1_main.c @@ -125,13 +125,13 @@ EvtScript N(EVS_Scene_RaiseStairs) = { EVT_END_THREAD EVT_THREAD EVT_WAIT(20 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaTroopa_02, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaTroopa_02, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaTroopa_02, EMOTE_QUESTION, 0, 20, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(120 * DT) EVT_CALL(SetNpcAnimation, NPC_KoopaTroopa_02, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(20 * DT) EVT_CALL(SetNpcAnimation, NPC_KoopaTroopa_02, ANIM_KoopaTroopa_Panic) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaTroopa_02, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaTroopa_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaTroopa_02, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_LOOP(4) EVT_CALL(InterpNpcYaw, NPC_KoopaTroopa_02, 270, 0) @@ -162,7 +162,7 @@ EvtScript N(EVS_Scene_RaiseStairs) = { EVT_CALL(SetNpcAnimation, NPC_KoopaTroopa_03, ANIM_KoopaTroopa_ShellExit) EVT_WAIT(20 * DT) EVT_CALL(SetNpcAnimation, NPC_KoopaTroopa_03, ANIM_KoopaTroopa_Panic) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaTroopa_03, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaTroopa_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaTroopa_03, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_LOOP(4) EVT_CALL(InterpNpcYaw, NPC_KoopaTroopa_03, 270, 0) diff --git a/src/world/area_trd/trd_01/trd_01_2_entity.c b/src/world/area_trd/trd_01/trd_01_2_entity.c index fb4a5f8952..43fd9d5356 100644 --- a/src/world/area_trd/trd_01/trd_01_2_entity.c +++ b/src/world/area_trd/trd_01/trd_01_2_entity.c @@ -46,7 +46,7 @@ EvtScript N(EVS_UnlockDoors) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_TRD01_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_Padlock_EntityIndex, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Padlock_EntityIndex) EVT_CALL(N(RemovePadlock)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) diff --git a/src/world/area_trd/trd_02/trd_02_2_entity.c b/src/world/area_trd/trd_02/trd_02_2_entity.c index d1cc0f244a..4e3cbd79d6 100644 --- a/src/world/area_trd/trd_02/trd_02_2_entity.c +++ b/src/world/area_trd/trd_02/trd_02_2_entity.c @@ -25,7 +25,7 @@ EvtScript N(D_80242890_9A3870) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_TRD02_UnlockedDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_Padlock_EntityIndex, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Padlock_EntityIndex) EVT_CALL(N(RemovePadlock)) EVT_RESUME_GROUP(EVT_GROUP_01) 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 4ccba4bb93..b073ffba6d 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 @@ -51,7 +51,7 @@ EvtScript N(EVS_Scene_GreenKoopaBros) = { EVT_WAIT(25 * DT) EVT_CALL(SetNpcAnimation, NPC_KoopaTroopa_01, ANIM_KoopaTroopa_Idle) EVT_THREAD - EVT_CALL(PlaySoundAtCollider, COLLIDER_ori1, SOUND_026B, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_ori1, SOUND_LARGE_GATE_OPEN, SOUND_SPACE_DEFAULT) EVT_CALL(MakeLerp, 100, 0, 40 * DT, EASING_QUADRATIC_IN) EVT_LABEL(0) EVT_CALL(UpdateLerp) @@ -60,7 +60,7 @@ EvtScript N(EVS_Scene_GreenKoopaBros) = { EVT_IF_EQ(LVar1, 1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(PlaySoundAtCollider, COLLIDER_ori1, SOUND_026C, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_ori1, SOUND_LARGE_GATE_CLOSE, SOUND_SPACE_DEFAULT) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 5, EVT_FLOAT(1.0)) EVT_WAIT(10 * DT) EVT_END_THREAD @@ -98,13 +98,13 @@ EvtScript N(EVS_Scene_GreenKoopaBros) = { EVT_CALL(SpeakToPlayer, NPC_KoopaBros, ANIM_KoopaBros_Green_Talk, ANIM_KoopaBros_Green_Idle, 0, MSG_CH1_00D4) EVT_CALL(SetNpcAnimation, NPC_KoopaBros, ANIM_KoopaBros_Green_Walk) EVT_CALL(InterpNpcYaw, NPC_KoopaBros, 45, 2) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros, SOUND_0173, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros, SOUND_RUN_AWAY_BUILDUP, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcAnimation, NPC_KoopaBros, ANIM_KoopaBros_Green_Run) EVT_CALL(SetNpcJumpscale, NPC_KoopaBros, EVT_FLOAT(0.8)) EVT_CALL(GetNpcPos, NPC_KoopaBros, LVar0, LVar1, LVar2) EVT_CALL(NpcJump0, NPC_KoopaBros, LVar0, LVar1, LVar2, 8 * DT) EVT_WAIT(8 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros, SOUND_0174, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros, SOUND_RUN_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcSpeed, NPC_KoopaBros, EVT_FLOAT(8.0 / DT)) EVT_CALL(NpcMoveTo, NPC_KoopaBros, -300, 70, 0) EVT_SET(GB_StoryProgress, STORY_CH1_KOOPA_BROS_HID_KEY) diff --git a/src/world/area_trd/trd_04/trd_04_2_entity.c b/src/world/area_trd/trd_04/trd_04_2_entity.c index dac6411be0..f8577fbbba 100644 --- a/src/world/area_trd/trd_04/trd_04_2_entity.c +++ b/src/world/area_trd/trd_04/trd_04_2_entity.c @@ -51,7 +51,7 @@ EvtScript N(EVS_UnlockUpperLeftDoors) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_TRD04_UnlockedUpperDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_Unk_00, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Unk_00) EVT_CALL(N(RemovePadlock)) EVT_RESUME_GROUP(EVT_GROUP_01) @@ -79,7 +79,7 @@ EvtScript N(EVS_UnlockLowerRightDoors) = { EVT_CALL(CloseChoicePopup) EVT_SET(GF_TRD04_UnlockedLowerDoor, TRUE) EVT_CALL(N(GetEntityPosition), MV_Unk_01, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0269, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_USE_KEY, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_SET(LVar0, MV_Unk_01) EVT_CALL(N(RemovePadlock)) EVT_RESUME_GROUP(EVT_GROUP_01) diff --git a/src/world/area_trd/trd_05/trd_05_3_trap.c b/src/world/area_trd/trd_05/trd_05_3_trap.c index 7bd5b53f2a..0dd18eed83 100644 --- a/src/world/area_trd/trd_05/trd_05_3_trap.c +++ b/src/world/area_trd/trd_05/trd_05_3_trap.c @@ -148,7 +148,7 @@ Vec3f N(UnusedPath)[] = { EvtScript N(EVS_PlayerFalling) = { EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySound, SOUND_0175) + EVT_CALL(PlaySound, SOUND_PAPER_GLIDE_1) EVT_END_THREAD EVT_THREAD EVT_CALL(MakeLerp, 0, 150, 45, EASING_COS_IN_OUT) @@ -179,7 +179,7 @@ EvtScript N(EVS_PlayerFalling) = { EVT_SETF(LVar6, LVar3) EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySound, SOUND_0175) + EVT_CALL(PlaySound, SOUND_PAPER_GLIDE_1) EVT_END_THREAD EVT_CALL(MakeLerp, 0, 100, 30, EASING_QUADRATIC_IN) EVT_LABEL(1) @@ -207,7 +207,7 @@ EvtScript N(EVS_PartnerFalling) = { EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySound, SOUND_0176) + EVT_CALL(PlaySound, SOUND_PAPER_GLIDE_2) EVT_END_THREAD EVT_THREAD EVT_CALL(MakeLerp, 0, -135, 45, EASING_COS_IN_OUT) @@ -236,7 +236,7 @@ EvtScript N(EVS_PartnerFalling) = { EVT_CALL(SetNpcPos, NPC_PARTNER, LVar1, LVar2, LVar3) EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySound, SOUND_0176) + EVT_CALL(PlaySound, SOUND_PAPER_GLIDE_2) EVT_END_THREAD EVT_CALL(GetNpcPos, NPC_PARTNER, LVar4, LVar5, LVar6) EVT_CALL(MakeLerp, 0, 100, 30, EASING_QUADRATIC_IN) 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 d6a2a1d72c..8132f4e6a1 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 @@ -144,7 +144,7 @@ EvtScript N(EVS_KoopaBros_SetTrap) = { EVT_WAIT(10 * DT) EVT_CALL(SpeakToPlayer, NPC_KoopaBros_01, ANIM_KoopaBros_Yellow_Talk, ANIM_KoopaBros_Yellow_Idle, 5, MSG_CH1_00D5) EVT_CALL(GetNpcPos, NPC_KoopaBros_01, LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_01, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaBros_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_KoopaBros_01, EMOTE_EXCLAMATION, 0, 25, EMOTER_POS, LVar0, LVar1, LVar2, 40) EVT_WAIT(25 * DT) EVT_CALL(InterpNpcYaw, NPC_KoopaBros_01, 270, 2) @@ -156,13 +156,13 @@ EvtScript N(EVS_KoopaBros_SetTrap) = { EVT_CALL(SetNpcJumpscale, NPC_KoopaBros_01, EVT_FLOAT(3.0)) EVT_CALL(NpcJump0, NPC_KoopaBros_01, LVar0, LVar1, LVar2, 5 * DT) EVT_CALL(SpeakToPlayer, NPC_KoopaBros_01, ANIM_KoopaBros_Yellow_Talk, ANIM_KoopaBros_Yellow_Idle, 0, MSG_CH1_00D6) - EVT_CALL(PlaySound, SOUND_0173) + EVT_CALL(PlaySound, SOUND_RUN_AWAY_BUILDUP) EVT_CALL(SetNpcAnimation, NPC_KoopaBros_01, ANIM_KoopaBros_Yellow_Run) EVT_CALL(SetNpcJumpscale, NPC_KoopaBros_01, EVT_FLOAT(0.8)) EVT_CALL(GetNpcPos, NPC_KoopaBros_01, LVar0, LVar1, LVar2) EVT_CALL(NpcJump0, NPC_KoopaBros_01, LVar0, LVar1, LVar2, 8 * DT) EVT_WAIT(8 * DT) - EVT_CALL(PlaySound, SOUND_0174) + EVT_CALL(PlaySound, SOUND_RUN_AWAY) EVT_CALL(SetNpcSpeed, NPC_KoopaBros_01, EVT_FLOAT(8.0 / DT)) EVT_CALL(NpcMoveTo, NPC_KoopaBros_01, -400, -10, 0) EVT_EXEC(N(EVS_EndKoopaBrosTheme)) diff --git a/src/world/area_trd/trd_06/trd_06_2_falling.c b/src/world/area_trd/trd_06/trd_06_2_falling.c index 0a0ba6aea2..10b9b99529 100644 --- a/src/world/area_trd/trd_06/trd_06_2_falling.c +++ b/src/world/area_trd/trd_06/trd_06_2_falling.c @@ -170,7 +170,7 @@ EvtScript N(EVS_PlayerFalling) = { EVT_CALL(SetPlayerPos, 0, 130, 0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySound, SOUND_0175) + EVT_CALL(PlaySound, SOUND_PAPER_GLIDE_1) EVT_END_THREAD EVT_THREAD EVT_CALL(MakeLerp, 180, 210, 25, EASING_QUADRATIC_IN) @@ -207,7 +207,7 @@ EvtScript N(EVS_PartnerFalling) = { EVT_CALL(SetNpcPos, NPC_PARTNER, 0, LVar0, 0) EVT_THREAD EVT_WAIT(5) - EVT_CALL(PlaySound, SOUND_0176) + EVT_CALL(PlaySound, SOUND_PAPER_GLIDE_2) EVT_END_THREAD EVT_THREAD EVT_CALL(MakeLerp, 180, 150, 25, EASING_QUADRATIC_IN) diff --git a/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c b/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c index d1ac029a17..9e4d373646 100644 --- a/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c +++ b/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c @@ -111,7 +111,7 @@ EvtScript N(EVS_NpcInteract_Bombette) = { EVT_WAIT(15 * DT) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle) EVT_WAIT(25 * DT) - EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_PARTNER, EMOTE_EXCLAMATION, -45, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(40 * DT) EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, MSG_CH1_00E0) diff --git a/src/world/common/todo/SetCamera0MoveFlag1.inc.c b/src/world/common/DisableCameraFollowPlayerY.inc.c similarity index 78% rename from src/world/common/todo/SetCamera0MoveFlag1.inc.c rename to src/world/common/DisableCameraFollowPlayerY.inc.c index 04e8e273ee..6a09cccdb8 100644 --- a/src/world/common/todo/SetCamera0MoveFlag1.inc.c +++ b/src/world/common/DisableCameraFollowPlayerY.inc.c @@ -1,7 +1,7 @@ #include "common.h" #include "npc.h" -API_CALLABLE(N(SetCamera0MoveFlag1)) { +API_CALLABLE(N(DisableCameraFollowPlayerY)) { Camera* camera = &gCameras[CAM_DEFAULT]; camera->moveFlags |= CAMERA_MOVE_IGNORE_PLAYER_Y; diff --git a/src/world/common/todo/SetCamera0Flag1000.inc.c b/src/world/common/DisableCameraLeadingPlayer.inc.c similarity index 58% rename from src/world/common/todo/SetCamera0Flag1000.inc.c rename to src/world/common/DisableCameraLeadingPlayer.inc.c index 82db7c10d2..407b032171 100644 --- a/src/world/common/todo/SetCamera0Flag1000.inc.c +++ b/src/world/common/DisableCameraLeadingPlayer.inc.c @@ -2,9 +2,9 @@ #include "npc.h" #include "camera.h" -API_CALLABLE(N(SetCamera0Flag1000)) { +API_CALLABLE(N(DisableCameraLeadingPlayer)) { Camera* camera = &gCameras[CAM_DEFAULT]; - camera->flags |= CAMERA_FLAG_1000; + camera->flags |= CAMERA_FLAG_SUPRESS_LEADING; return ApiStatus_DONE2; } diff --git a/src/world/common/todo/UnsetCamera0MoveFlag1.inc.c b/src/world/common/EnableCameraFollowPlayerY.inc.c similarity index 78% rename from src/world/common/todo/UnsetCamera0MoveFlag1.inc.c rename to src/world/common/EnableCameraFollowPlayerY.inc.c index 4147cc9857..bed6113965 100644 --- a/src/world/common/todo/UnsetCamera0MoveFlag1.inc.c +++ b/src/world/common/EnableCameraFollowPlayerY.inc.c @@ -1,7 +1,7 @@ #include "common.h" #include "npc.h" -API_CALLABLE(N(UnsetCamera0MoveFlag1)) { +API_CALLABLE(N(EnableCameraFollowPlayerY)) { Camera* camera = &gCameras[CAM_DEFAULT]; camera->moveFlags &= ~CAMERA_MOVE_IGNORE_PLAYER_Y; diff --git a/src/world/common/todo/UnsetCamera0Flag1000.inc.c b/src/world/common/EnableCameraLeadingPlayer.inc.c similarity index 58% rename from src/world/common/todo/UnsetCamera0Flag1000.inc.c rename to src/world/common/EnableCameraLeadingPlayer.inc.c index 9213823866..08e984994e 100644 --- a/src/world/common/todo/UnsetCamera0Flag1000.inc.c +++ b/src/world/common/EnableCameraLeadingPlayer.inc.c @@ -2,9 +2,9 @@ #include "npc.h" #include "camera.h" -API_CALLABLE(N(UnsetCamera0Flag1000)) { +API_CALLABLE(N(EnableCameraLeadingPlayer)) { Camera* camera = &gCameras[CAM_DEFAULT]; - camera->flags &= ~CAMERA_FLAG_1000; + camera->flags &= ~CAMERA_FLAG_SUPRESS_LEADING; return ApiStatus_DONE2; } diff --git a/src/world/common/enemy/ai/SpinyAI.inc.c b/src/world/common/enemy/ai/SpinyAI.inc.c index 9621d6ce54..32736d55aa 100644 --- a/src/world/common/enemy/ai/SpinyAI.inc.c +++ b/src/world/common/enemy/ai/SpinyAI.inc.c @@ -74,7 +74,7 @@ API_CALLABLE(N(SpinyAI_Main)) { script->AI_TEMP_STATE = 200; } } - get_screen_coords(0, npc->pos.x, npc->pos.y, npc->pos.z, &x, &y, &z); + get_screen_coords(CAM_DEFAULT, npc->pos.x, npc->pos.y, npc->pos.z, &x, &y, &z); if (script->AI_TEMP_STATE < 100 && x + 50 >= 421) { script->AI_TEMP_STATE = 110; } diff --git a/src/world/common/todo/StarSpiritEffectFunc.inc.c b/src/world/common/todo/StarSpiritEffectFunc.inc.c index 439d39d92f..119d86388b 100644 --- a/src/world/common/todo/StarSpiritEffectFunc.inc.c +++ b/src/world/common/todo/StarSpiritEffectFunc.inc.c @@ -90,7 +90,7 @@ API_CALLABLE(N(StarSpiritEffectFunc3)) { ptr->unk_54 = fx_spirit_card(1, ptr->unk_18, ptr->unk_1C, ptr->unk_20, 1.0f, 0); ptr->unk_54->data.spiritCard->chapter = ptr->unk_38; ptr->unk_54->data.spiritCard->unk_20 = 0; - ptr->unk_40 = create_shadow_type(0, ptr->unk_18, ptr->unk_28, ptr->unk_20); + ptr->unk_40 = create_shadow_type(SHADOW_VARYING_CIRCLE, ptr->unk_18, ptr->unk_28, ptr->unk_20); ptr->unk_44 = 3; ptr->unk_46 = 0; ptr->unk_2C = 0.0f; @@ -171,7 +171,7 @@ API_CALLABLE(N(StarSpiritEffectFunc5)) { ptr->unk_54 = fx_spirit_card(1, ptr->unk_18, ptr->unk_24, ptr->unk_20, 1.0f, 0); ptr->unk_54->data.spiritCard->chapter = ptr->unk_38; ptr->unk_54->data.spiritCard->unk_20 = 0; - ptr->unk_40 = create_shadow_type(0, ptr->unk_18, ptr->unk_28, ptr->unk_20); + ptr->unk_40 = create_shadow_type(SHADOW_VARYING_CIRCLE, ptr->unk_18, ptr->unk_28, ptr->unk_20); ptr->unk_4C = 270; } diff --git a/src/world/common/todo/UnkFunc62.inc.c b/src/world/common/todo/UnkFunc62.inc.c index 3253c9b8d6..064a51a210 100644 --- a/src/world/common/todo/UnkFunc62.inc.c +++ b/src/world/common/todo/UnkFunc62.inc.c @@ -59,9 +59,9 @@ API_CALLABLE(N(UnkFunc62)) { return ApiStatus_DONE2; } - state->unk_30.x = (state->goalPos.x - state->curPos.x) / state->moveTime; - state->unk_30.y = (state->goalPos.y - state->curPos.y) / state->moveTime; - state->unk_30.z = (state->goalPos.z - state->curPos.z) / state->moveTime; + state->velStep.x = (state->goalPos.x - state->curPos.x) / state->moveTime; + state->velStep.y = (state->goalPos.y - state->curPos.y) / state->moveTime; + state->velStep.z = (state->goalPos.z - state->curPos.z) / state->moveTime; state->acceleration = PI_S / state->moveTime; state->vel = 0.0f; state->speed += temp / state->moveTime; @@ -103,7 +103,7 @@ API_CALLABLE(N(UnkFunc62)) { phi_f2 = 0.8; state->vel = velocity + ((phi_f0 * phi_f2 * temp_f22_3) + temp_f22_3); } - set_animation(ACTOR_SELF, 1, state->animJumpRise); + set_actor_anim(ACTOR_SELF, 1, state->animJumpRise); sfx_play_sound(SOUND_JUMP_2081); script->functionTemp[0] = 1; } @@ -111,13 +111,13 @@ API_CALLABLE(N(UnkFunc62)) { switch (script->functionTemp[0]) { case 1: if (state->vel > PI_S / 2) { - set_animation(ACTOR_SELF, 1, state->animJumpFall); + set_actor_anim(ACTOR_SELF, 1, state->animJumpFall); } oldActorX = actor->curPos.x; oldActorY = actor->curPos.y; - state->curPos.x += state->unk_30.x; - state->curPos.y = state->curPos.y + state->unk_30.y; - state->curPos.z = state->curPos.z + state->unk_30.z; + state->curPos.x += state->velStep.x; + state->curPos.y = state->curPos.y + state->velStep.y; + state->curPos.z = state->curPos.z + state->velStep.z; state->unk_18.x = actor->curPos.y; actor->curPos.x = state->curPos.x; actor->curPos.y = state->curPos.y + (state->bounceDivisor * sin_rad(state->vel)); @@ -149,7 +149,7 @@ API_CALLABLE(N(UnkFunc62)) { actor->curPos.y = state->goalPos.y; state->acceleration = 1.8f; state->vel = -(state->unk_18.x - state->unk_18.y); - set_animation(ACTOR_SELF, 1, state->animJumpLand); + set_actor_anim(ACTOR_SELF, 1, state->animJumpLand); return ApiStatus_DONE1; } break; diff --git a/src/world/common/todo/UnkMoveFunc1.inc.c b/src/world/common/todo/UnkMoveFunc1.inc.c deleted file mode 100644 index 1449d8094b..0000000000 --- a/src/world/common/todo/UnkMoveFunc1.inc.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "common.h" -#include "npc.h" -#include "battle/action_cmd.h" - -API_CALLABLE(N(UnkMoveFunc1)) { - BattleStatus* battleStatus = &gBattleStatus; - Actor* playerActor = battleStatus->playerActor; - f32 posX = playerActor->curPos.x; - f32 posY = playerActor->curPos.y; - f32 posZ = playerActor->curPos.z; - f32 goalX = playerActor->state.goalPos.x; - f32 goalY = playerActor->state.goalPos.y; - f32 goalZ = playerActor->state.goalPos.z; - - script->varTable[0] = (dist3D(posX, posY, posZ, goalX, goalY, goalZ) * 15.0f) / 100.0f; - - if (script->varTable[0] > 20) { - script->varTable[0] = 20; - } - - if (battleStatus->actionCommandMode != ACTION_COMMAND_MODE_NOT_LEARNED) { - if (script->varTable[0] < 6) { - script->varTable[0] = 6; - } - } else if (script->varTable[0] < 12) { - script->varTable[0] = 12; - } - - return ApiStatus_DONE2; -} diff --git a/src/world/common/todo/UpdateLogShadow.inc.c b/src/world/common/todo/UpdateLogShadow.inc.c index 4d59eb9eaa..43e37bb440 100644 --- a/src/world/common/todo/UpdateLogShadow.inc.c +++ b/src/world/common/todo/UpdateLogShadow.inc.c @@ -13,7 +13,7 @@ API_CALLABLE(N(UpdateLogShadow)) { script->functionTemp[3] = *args++; script->functionTempPtr[1] = model = get_model_from_list_index(get_model_list_index_from_tree_index(modelID)); - script->functionTemp[2] = create_shadow_type(0, model->center.x, 0.0f, model->center.z); + script->functionTemp[2] = create_shadow_type(SHADOW_VARYING_CIRCLE, model->center.x, 0.0f, model->center.z); evt_set_variable(script, script->functionTemp[3], 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 6206984ebe..a3bd8f4bf7 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 @@ -252,7 +252,7 @@ EvtScript N(EVS_Exit_Beanstalk) = { EVT_CALL(PlayerMoveTo, LVar9, LVarB, 8) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_PARTNER, LVarC, LVarD, LVarE, 5) - EVT_CALL(PlaySound, SOUND_019C) + EVT_CALL(PlaySound, SOUND_FLO_RIDE_BEANSTALK_UP_LOOP) EVT_CALL(SetMusicTrack, 0, SONG_MAGIC_BEANSTALK, 1, 8) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Walk) @@ -352,7 +352,7 @@ EvtScript N(EVS_Enter_Beanstalk) = { EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o261, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o351, COLLIDER_FLAGS_UPPER_MASK) EVT_SET(AF_FLO_RidingBeanstalk, FALSE) - EVT_CALL(StopSound, SOUND_019D) + EVT_CALL(StopSound, SOUND_FLO_RIDE_BEANSTALK_DOWN_LOOP) EVT_EXEC_WAIT(N(EVS_SetupMusic)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_CALL(DisablePlayerInput, FALSE) @@ -361,7 +361,7 @@ EvtScript N(EVS_Enter_Beanstalk) = { }; EvtScript N(EVS_Scene_BeanstalkGrowing) = { - EVT_CALL(PlaySoundAtCollider, COLLIDER_o261, SOUND_019B, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o261, SOUND_FLO_BEANSTALK_START_GROWING, SOUND_SPACE_DEFAULT) EVT_SET(LVarF, 0) EVT_LOOP(100) EVT_ADD(LVarF, 1) diff --git a/src/world/dead/area_flo/flo_03/flo_03_3_npc.c b/src/world/dead/area_flo/flo_03/flo_03_3_npc.c index 82db6987b0..cc29bf9ef8 100644 --- a/src/world/dead/area_flo/flo_03/flo_03_3_npc.c +++ b/src/world/dead/area_flo/flo_03/flo_03_3_npc.c @@ -173,7 +173,7 @@ EvtScript N(EVS_NpcInteract_Petunia) = { EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_BURROW_SURFACE, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcAnimation, NPC_MontyMole_01, ANIM_MontyMole_Dark_Anim16) EVT_WAIT(10) - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_0263, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_EMOTE_QUESTION, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_01, EMOTE_QUESTION, -45, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_CALL(GetNpcPos, NPC_MontyMole_02, LVar0, LVar1, LVar2) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Petunia_AngryTalk, ANIM_Petunia_Angry, 0, MSG_CH6_0052) @@ -228,7 +228,7 @@ EvtScript N(EVS_NpcInteract_Petunia) = { EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_CALL(SetNpcAnimation, NPC_Dayzee, ANIM_Dayzee_Anim0D) - EVT_CALL(PlaySoundAtNpc, NPC_Dayzee, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Dayzee, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_Dayzee, EMOTE_EXCLAMATION, 45, 30, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Petunia_AngryTalk, ANIM_Petunia_Angry, 0, MSG_CH6_0056) @@ -405,7 +405,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_01) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_01, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_01, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) @@ -484,7 +484,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_02) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_02, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_02, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_02, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) @@ -563,7 +563,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_03) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_03, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_03, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_03, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) @@ -642,7 +642,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_04) = { EVT_ELSE EVT_SET(LVar1, 10) EVT_END_IF - EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_04, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_MontyMole_04, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_MontyMole_04, EMOTE_EXCLAMATION, 0, LVar1, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(LVar1) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_IGNORE_PARTNER, 1) diff --git a/src/world/dead/area_flo/flo_07/flo_07_1_music.c b/src/world/dead/area_flo/flo_07/flo_07_1_music.c index edf315c69c..0bf6139960 100644 --- a/src/world/dead/area_flo/flo_07/flo_07_1_music.c +++ b/src/world/dead/area_flo/flo_07/flo_07_1_music.c @@ -12,7 +12,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_CALL(SetMusicTrack, 0, SONG_FLOWER_FIELDS_SUNNY, 0, 8) EVT_END_SWITCH EVT_END_IF - EVT_CALL(PlaySound, SOUND_LOOP_21) + EVT_CALL(PlaySound, SOUND_LOOP_FLO_WATER_FLOW_1) EVT_RETURN EVT_END }; diff --git a/src/world/dead/area_flo/flo_07/flo_07_3_npc.c b/src/world/dead/area_flo/flo_07/flo_07_3_npc.c index 638486caf7..1eb92c982c 100644 --- a/src/world/dead/area_flo/flo_07/flo_07_3_npc.c +++ b/src/world/dead/area_flo/flo_07/flo_07_3_npc.c @@ -47,7 +47,7 @@ EvtScript N(EVS_MakeCrystalBerry) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.5)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_END_THREAD - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_EXEC_GET_TID(N(EVS_ShakeGround), MV_GroundShakingScript) EVT_CALL(SpeakToPlayer, NPC_Posie, ANIM_Posie_Strain, ANIM_Posie_Strain, 0, MSG_CH6_0069) EVT_KILL_THREAD(MV_GroundShakingScript) @@ -65,8 +65,8 @@ EvtScript N(EVS_MakeCrystalBerry) = { EVT_CALL(MakeItemEntity, ITEM_CRYSTAL_BERRY, -265, 100, 54, ITEM_SPAWN_MODE_FALL_NEVER_VANISH, GF_FLO07_Item_CrystalBerry) EVT_SET(GF_FLO07_CrystalBerryFellOnLeftSide, TRUE) EVT_END_IF - EVT_CALL(PlaySound, SOUND_LRAW_03BC | SOUND_ID_TRIGGER_CHANGE_SOUND) - EVT_CALL(StopTrackingSoundPos, SOUND_LRAW_03BC) + EVT_CALL(PlaySound, SOUND_LRAW_RUMBLE | SOUND_ID_TRIGGER_CHANGE_SOUND) + EVT_CALL(StopTrackingSoundPos, SOUND_LRAW_RUMBLE) EVT_SET(AF_FLO_MadeCrystalBerry, TRUE) EVT_WAIT(20) EVT_CALL(SpeakToPlayer, NPC_Posie, ANIM_Posie_Talk, ANIM_Posie_Idle, 0, MSG_CH6_006A) diff --git a/src/world/dead/area_flo/flo_10/flo_10_1_music.c b/src/world/dead/area_flo/flo_10/flo_10_1_music.c index 56146a6b0f..5289a4af6f 100644 --- a/src/world/dead/area_flo/flo_10/flo_10_1_music.c +++ b/src/world/dead/area_flo/flo_10/flo_10_1_music.c @@ -13,7 +13,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_END_SWITCH EVT_END_IF EVT_IF_GE(GB_StoryProgress, STORY_CH6_FILLED_SPRING_WITH_WATER) - EVT_CALL(PlaySound, SOUND_LOOP_22) + EVT_CALL(PlaySound, SOUND_LOOP_FLO_WATER_FLOW_2) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/world/dead/area_flo/flo_10/flo_10_4_fountain.c b/src/world/dead/area_flo/flo_10/flo_10_4_fountain.c index efcf472308..62def281bb 100644 --- a/src/world/dead/area_flo/flo_10/flo_10_4_fountain.c +++ b/src/world/dead/area_flo/flo_10/flo_10_4_fountain.c @@ -189,7 +189,7 @@ EvtScript N(EVS_Scene_ReleaseFountain) = { EVT_CALL(EnableGroup, MODEL_g31, TRUE) EVT_EXEC_WAIT(N(EVS_UnleashFountain)) EVT_WAIT(20) - EVT_CALL(PlaySound, SOUND_LOOP_24) + EVT_CALL(PlaySound, SOUND_LOOP_FLO_RELEASE_FOUNTAIN) EVT_WAIT(360) EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_Flail) diff --git a/src/world/dead/area_flo/flo_10/flo_10_5_npc.c b/src/world/dead/area_flo/flo_10/flo_10_5_npc.c index eb498e6d71..b79b0ab7a6 100644 --- a/src/world/dead/area_flo/flo_10/flo_10_5_npc.c +++ b/src/world/dead/area_flo/flo_10/flo_10_5_npc.c @@ -137,7 +137,7 @@ EvtScript N(EVS_NpcInteract_Lily) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Lily_TalkPlead, ANIM_Lily_IdlePlead, 5, MSG_CH6_0079) EVT_CALL(NpcFacePlayer, NPC_SELF, 1) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Lily_Idle) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Lily_Idle, ANIM_Lily_Idle, 0, MSG_CH6_007A) diff --git a/src/world/dead/area_flo/flo_14/flo_14_3_bubbles.c b/src/world/dead/area_flo/flo_14/flo_14_3_bubbles.c index 62ffc4b153..cc9e138e32 100644 --- a/src/world/dead/area_flo/flo_14/flo_14_3_bubbles.c +++ b/src/world/dead/area_flo/flo_14/flo_14_3_bubbles.c @@ -63,7 +63,7 @@ API_CALLABLE(N(UpdateBubbleSoundPos)) { script->functionTemp[0] = evt_get_variable(script, *args++); script->functionTemp[1] = evt_get_variable(script, *args++); script->functionTemp[2] = evt_get_variable(script, *args++); - sfx_adjust_env_sound_pos(SOUND_LRAW_0194, SOUND_SPACE_DEFAULT, script->functionTemp[0], script->functionTemp[1], script->functionTemp[2]); + sfx_adjust_env_sound_pos(SOUND_LRAW_BUBBLE_DRIFT, SOUND_SPACE_DEFAULT, script->functionTemp[0], script->functionTemp[1], script->functionTemp[2]); return ApiStatus_DONE2; } @@ -85,7 +85,7 @@ Vec3f N(BubbleFlightPath)[] = { EvtScript N(EVS_BubbleFollowPath) = { EVT_WAIT(20) - EVT_CALL(PlaySound, SOUND_LOOP_23) + EVT_CALL(PlaySound, SOUND_LOOP_BUBBLE_DRIFT) EVT_CALL(LoadPath, 165, EVT_PTR(N(BubbleFlightPath)), ARRAY_COUNT(N(BubbleFlightPath)), EASING_COS_IN_OUT) EVT_LABEL(0) EVT_CALL(GetNextPathPos) @@ -98,7 +98,7 @@ EvtScript N(EVS_BubbleFollowPath) = { EVT_IF_EQ(LVar0, 1) EVT_GOTO(0) EVT_END_IF - EVT_CALL(StopSound, SOUND_LOOP_23) + EVT_CALL(StopSound, SOUND_LOOP_BUBBLE_DRIFT) EVT_RETURN EVT_END }; @@ -159,7 +159,7 @@ EvtScript N(EVS_RideBigBubble) = { }; EvtScript N(EVS_BlowBigBubble) = { - EVT_CALL(PlaySoundAt, SOUND_0193, SOUND_SPACE_DEFAULT, 591, 55, 121) + EVT_CALL(PlaySoundAt, SOUND_FLO_BLOW_BUBBLE, SOUND_SPACE_DEFAULT, 591, 55, 121) EVT_CALL(EnableModel, MODEL_o167, TRUE) EVT_SETF(LVar2, EVT_FLOAT(1.0)) EVT_SETF(LVar4, EVT_FLOAT(0.0)) diff --git a/src/world/dead/area_flo/flo_15/flo_15_3_npc.c b/src/world/dead/area_flo/flo_15/flo_15_3_npc.c index 0c464f2b84..46228e6fa3 100644 --- a/src/world/dead/area_flo/flo_15/flo_15_3_npc.c +++ b/src/world/dead/area_flo/flo_15/flo_15_3_npc.c @@ -184,8 +184,8 @@ EvtScript N(EVS_NpcInit_Sun_01) = { EvtScript N(EVS_NpcInit_Sun_02) = { EVT_CALL(EnableNpcShadow, NPC_Sun_02, FALSE) EVT_CALL(SetNpcAnimation, NPC_Sun_02, ANIM_Sun_FireIdle) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_01, 3) - EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_02, 3) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_01, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) + EVT_CALL(SetNpcPaletteSwapMode, NPC_Sun_02, NPC_PAL_ADJUST_BLEND_PALETTES_VARYING_INTERVALS) EVT_CALL(SetNpcPaletteSwapping, NPC_Sun_01, 0, 1, 5, 5, 13, 5, 0, 0) EVT_CALL(SetNpcPaletteSwapping, NPC_Sun_02, 0, 1, 5, 5, 13, 5, 0, 0) EVT_IF_LT(GB_StoryProgress, STORY_CH6_DESTROYED_PUFF_PUFF_MACHINE) diff --git a/src/world/dead/area_flo/flo_15/flo_15_5_stairs.c b/src/world/dead/area_flo/flo_15/flo_15_5_stairs.c index 686b446b49..242bfcf270 100644 --- a/src/world/dead/area_flo/flo_15/flo_15_5_stairs.c +++ b/src/world/dead/area_flo/flo_15/flo_15_5_stairs.c @@ -44,7 +44,7 @@ EvtScript N(EVS_MonitorFallingStairs) = { EVT_END_THREAD EVT_THREAD EVT_LOOP(6) - EVT_CALL(PlaySoundAtCollider, COLLIDER_o175, SOUND_0187, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtCollider, COLLIDER_o175, SOUND_FLO_STAIRS_LOWERING, SOUND_SPACE_DEFAULT) EVT_WAIT(20) EVT_END_LOOP EVT_END_THREAD diff --git a/src/world/dead/area_flo/flo_18/flo_18_3_machine.c b/src/world/dead/area_flo/flo_18/flo_18_3_machine.c index 3c1c1c2ba7..6b124427e2 100644 --- a/src/world/dead/area_flo/flo_18/flo_18_3_machine.c +++ b/src/world/dead/area_flo/flo_18/flo_18_3_machine.c @@ -580,11 +580,11 @@ EvtScript N(EVS_DamageMachine) = { EVT_USE_BUF(EVT_PTR(N(SmokeBurstPositions))) EVT_LOOP(ARRAY_COUNT(N(SmokeBurstPositions))) EVT_BUF_READ3(LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0190, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_SMOKE_BURST, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, 1, 6) EVT_WAIT(2) EVT_ADD(LVar1, 5) - EVT_CALL(PlaySoundAt, SOUND_0190, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_SMOKE_BURST, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, 2, 15) EVT_WAIT(LVar3) EVT_ADD(LVar3, 1) @@ -594,7 +594,7 @@ EvtScript N(EVS_DamageMachine) = { EVT_USE_BUF(EVT_PTR(N(SmokeBurstPositions))) EVT_LOOP(ARRAY_COUNT(N(SmokeBurstPositions))) EVT_BUF_READ3(LVar0, LVar1, LVar2) - EVT_CALL(PlaySoundAt, SOUND_0190, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_SMOKE_BURST, SOUND_SPACE_DEFAULT, LVar0, LVar1, LVar2) EVT_PLAY_EFFECT(EFFECT_SMOKE_BURST, 0, LVar0, LVar1, LVar2, 1, 25) EVT_WAIT(LVar3) EVT_ADD(LVar3, LVar4) @@ -602,10 +602,10 @@ EvtScript N(EVS_DamageMachine) = { EVT_END_LOOP EVT_END_LOOP EVT_END_THREAD - EVT_CALL(PlaySoundAt, SOUND_01A0, SOUND_SPACE_DEFAULT, 70, 40, 10) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_EXPLODE, SOUND_SPACE_DEFAULT, 70, 40, 10) EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, 70, 40, 10, EVT_FLOAT(3.0), 30) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20, EVT_FLOAT(1.0)) - EVT_CALL(PlaySoundAt, SOUND_01A0, SOUND_SPACE_DEFAULT, 0, 30, 30) + EVT_CALL(PlaySoundAt, SOUND_FLO_PUFF_PUFF_EXPLODE, SOUND_SPACE_DEFAULT, 0, 30, 30) EVT_PLAY_EFFECT(EFFECT_RING_BLAST, 0, 0, 30, 30, EVT_FLOAT(4.0), 40) EVT_CALL(ShakeCam, CAM_DEFAULT, 0, 20, EVT_FLOAT(2.0)) EVT_EXEC_WAIT(N(EVS_BreakSmokestack)) diff --git a/src/world/dead/area_flo/flo_18/flo_18_4_npc.c b/src/world/dead/area_flo/flo_18/flo_18_4_npc.c index 4a7b8b8562..500822b039 100644 --- a/src/world/dead/area_flo/flo_18/flo_18_4_npc.c +++ b/src/world/dead/area_flo/flo_18/flo_18_4_npc.c @@ -89,7 +89,7 @@ EvtScript N(EVS_Scene_LakilesterLikesBeingGood) = { EvtScript N(EVS_GangRetreat) = { EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_FlyingMagikoopa, SOUND_019E, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_FlyingMagikoopa, SOUND_FLO_MAGIKOOPA_FLY_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcFlagBits, NPC_FlyingMagikoopa, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(InterpNpcYaw, NPC_FlyingMagikoopa, 270, 0) EVT_CALL(LoadPath, 60, EVT_PTR(N(RetreatPath_Magikoopa)), ARRAY_COUNT(N(RetreatPath_Magikoopa)), EASING_LINEAR) @@ -104,7 +104,7 @@ EvtScript N(EVS_GangRetreat) = { EVT_END_THREAD EVT_WAIT(15) EVT_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_01, SOUND_019F, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_01, SOUND_FLO_LAKITU_FLY_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcFlagBits, NPC_Lakitu_01, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(InterpNpcYaw, NPC_Lakitu_01, 270, 0) EVT_CALL(LoadPath, 60, EVT_PTR(N(RetreatPath_Lakitu_01)), ARRAY_COUNT(N(RetreatPath_Lakitu_01)), EASING_LINEAR) @@ -130,7 +130,7 @@ EvtScript N(EVS_GangRetreat) = { EVT_END_IF EVT_END_LOOP EVT_END_THREAD - EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_03, SOUND_019F, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_Lakitu_03, SOUND_FLO_LAKITU_FLY_AWAY, SOUND_SPACE_DEFAULT) EVT_CALL(SetNpcFlagBits, NPC_Lakitu_03, NPC_FLAG_IGNORE_PLAYER_COLLISION, TRUE) EVT_CALL(InterpNpcYaw, NPC_Lakitu_03, 270, 0) EVT_CALL(LoadPath, 80, EVT_PTR(N(RetreatPath_Lakitu_03)), ARRAY_COUNT(N(RetreatPath_Lakitu_03)), EASING_LINEAR) diff --git a/src/world/dead/area_flo/flo_19/flo_19_5_beanstalk.c b/src/world/dead/area_flo/flo_19/flo_19_5_beanstalk.c index 9a7b35d262..1f38af879d 100644 --- a/src/world/dead/area_flo/flo_19/flo_19_5_beanstalk.c +++ b/src/world/dead/area_flo/flo_19/flo_19_5_beanstalk.c @@ -204,7 +204,7 @@ EvtScript N(EVS_Enter_Beanstalk) = { EVT_CALL(InterpPlayerYaw, 90, 0) EVT_WAIT(5) EVT_SET(AF_FLO_RidingBeanstalk, FALSE) - EVT_CALL(StopSound, SOUND_019C) + EVT_CALL(StopSound, SOUND_FLO_RIDE_BEANSTALK_UP_LOOP) EVT_EXEC_WAIT(N(EVS_SetupMusic)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_CALL(DisablePlayerInput, FALSE) @@ -230,7 +230,7 @@ EvtScript N(EVS_Exit_Beanstalk) = { EVT_CALL(PlayerMoveTo, LVar9, LVarB, 8) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.0)) EVT_CALL(NpcJump0, NPC_PARTNER, LVarC, LVarD, LVarE, 5) - EVT_CALL(PlaySound, SOUND_019D) + EVT_CALL(PlaySound, SOUND_FLO_RIDE_BEANSTALK_DOWN_LOOP) EVT_CALL(SetMusicTrack, 0, SONG_MAGIC_BEANSTALK, 1, 8) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Walk) diff --git a/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c b/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c index 36e36052f0..24b5aae7b4 100644 --- a/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c +++ b/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c @@ -3,8 +3,8 @@ #include "world/common/npc/Kolorado.inc.c" #include "world/common/enemy/PutridPiranhaSentinel.inc.c" -#include "world/common/todo/SetCamera0Flag1000.inc.c" -#include "world/common/todo/UnsetCamera0Flag1000.inc.c" +#include "world/common/DisableCameraLeadingPlayer.inc.c" +#include "world/common/EnableCameraLeadingPlayer.inc.c" #include "world/common/todo/GetFloorCollider.inc.c" EvtScript N(EVS_NpcIdle_Kolorado) = { @@ -106,7 +106,7 @@ EvtScript N(EVS_NpcIdle_Piranha) = { EVT_GOTO(0) EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) - EVT_CALL(N(SetCamera0Flag1000)) + EVT_CALL(N(DisableCameraLeadingPlayer)) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, 285, 25, 35) EVT_CALL(SetCamDistance, CAM_DEFAULT, 400) @@ -125,7 +125,7 @@ EvtScript N(EVS_NpcIdle_Piranha) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_LargePiranha_Putrid_Anim18) EVT_WAIT(25) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) - EVT_CALL(N(UnsetCamera0Flag1000)) + EVT_CALL(N(EnableCameraLeadingPlayer)) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(3.0)) EVT_SET(GF_KZN18_IntruderAlert, TRUE) EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/dead/area_kzn/kzn_19/kzn_19_1_music.c b/src/world/dead/area_kzn/kzn_19/kzn_19_1_music.c index 3874a44476..3ac45c7349 100644 --- a/src/world/dead/area_kzn/kzn_19/kzn_19_1_music.c +++ b/src/world/dead/area_kzn/kzn_19/kzn_19_1_music.c @@ -11,7 +11,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_END_IF EVT_END_IF //@bug extra endif EVT_CASE_GE(STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_END_SWITCH EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) EVT_CALL(PlayAmbientSounds, AMBIENT_LAVA_1) diff --git a/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c b/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c index 066fd4d379..60ccd3df2a 100644 --- a/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c +++ b/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c @@ -479,7 +479,7 @@ EvtScript N(EVS_Misstar_Escape) = { EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_WAIT(30) EVT_SET(AF_KZN_BossRoomFloorBroken, TRUE) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_LOOP(0) EVT_WAIT(1) EVT_IF_NE(AF_KZN_BossRoomFloorBroken, TRUE) diff --git a/src/world/dead/area_kzn/kzn_20/kzn_20_1_music.c b/src/world/dead/area_kzn/kzn_20/kzn_20_1_music.c index 155ae5216e..3ab10abfac 100644 --- a/src/world/dead/area_kzn/kzn_20/kzn_20_1_music.c +++ b/src/world/dead/area_kzn/kzn_20/kzn_20_1_music.c @@ -2,7 +2,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_END_IF EVT_IF_LT(GB_StoryProgress, STORY_CH5_OPENED_ESCAPE_ROUTE) EVT_CALL(SetMusicTrack, 0, SONG_MT_LAVALAVA, 0, 8) diff --git a/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c b/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c index 240b2d7fc8..5035db12d1 100644 --- a/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c +++ b/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c @@ -227,7 +227,7 @@ EvtScript N(EVS_NpcIdle_Kolorado) = { EVT_END_IF EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Idle) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 5, MSG_CH5_010B) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(15) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Panic) @@ -447,7 +447,7 @@ EvtScript N(EVS_Scene_Misstar) = { EVT_WAIT(15) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(3.0)) EVT_CALL(NpcMoveTo, NPC_SELF, 145, -10, 0) - EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_0262, SOUND_SPACE_DEFAULT) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_EMOTE_IDEA, SOUND_SPACE_DEFAULT) EVT_CALL(ShowEmote, NPC_SELF, EMOTE_EXCLAMATION, 0, 15, EMOTER_NPC, 0, 0, 0, 0) EVT_WAIT(20) EVT_CALL(SetNpcRotation, NPC_SELF, 0, -30, 0) diff --git a/src/world/dead/area_kzn/kzn_22/kzn_22_1_music.c b/src/world/dead/area_kzn/kzn_22/kzn_22_1_music.c index d8b1799aee..4a82776367 100644 --- a/src/world/dead/area_kzn/kzn_22/kzn_22_1_music.c +++ b/src/world/dead/area_kzn/kzn_22/kzn_22_1_music.c @@ -2,7 +2,7 @@ EvtScript N(EVS_SetupMusic) = { EVT_IF_GE(GB_StoryProgress, STORY_CH5_MT_LAVA_LAVA_ERUPTING) - EVT_CALL(PlaySound, SOUND_LOOP_6B) + EVT_CALL(PlaySound, SOUND_LOOP_RUMBLE) EVT_END_IF EVT_CALL(SetMusicTrack, 0, SONG_VOLCANO_ESCAPE, 0, 8) EVT_CALL(PlayAmbientSounds, AMBIENT_LAVA_4) diff --git a/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c b/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c index 48dbcd0ad4..343d753d5b 100644 --- a/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c +++ b/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c @@ -145,10 +145,10 @@ EvtScript N(EVS_PlayPyroclastSounds) = { EVT_BUF_READ1(LVar1) EVT_END_LOOP EVT_IF_EQ(AF_KZN23_UseAlternateSound, FALSE) - EVT_CALL(PlaySoundAt, SOUND_01AD, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) + EVT_CALL(PlaySoundAt, SOUND_FLYING_PYROCLAST_1, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) EVT_SET(AF_KZN23_UseAlternateSound, TRUE) EVT_ELSE - EVT_CALL(PlaySoundAt, SOUND_01AE, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) + EVT_CALL(PlaySoundAt, SOUND_FLYING_PYROCLAST_2, SOUND_SPACE_DEFAULT, LVar1, 2800, 0) EVT_SET(AF_KZN23_UseAlternateSound, FALSE) EVT_END_IF EVT_RETURN diff --git a/src/world/partner/lakilester.c b/src/world/partner/lakilester.c index bc023bf077..e59a820a12 100644 --- a/src/world/partner/lakilester.c +++ b/src/world/partner/lakilester.c @@ -1169,7 +1169,7 @@ API_CALLABLE(N(EnterMap)) { sfx_play_sound_at_npc(SOUND_FLIGHT, SOUND_SPACE_DEFAULT, NPC_PARTNER); playerStatus->anim = ANIM_MarioW2_RideLaki; playerStatus->animNotifyValue = 0; - playerStatus->flags |= PS_FLAG_FACE_FORWARDS; + playerStatus->flags |= PS_FLAG_FACE_FORWARD; N(offset_player_from_camera)(2.0f); gGameStatusPtr->keepUsingPartnerOnMapChange = TRUE; lakilester->flags |= NPC_FLAG_IGNORE_PLAYER_COLLISION; diff --git a/src/world/partner/watt.c b/src/world/partner/watt.c index d23ed068c7..2d1158225c 100644 --- a/src/world/partner/watt.c +++ b/src/world/partner/watt.c @@ -303,7 +303,7 @@ API_CALLABLE(N(UseAbility)) { npc->curAnim = ANIM_WorldWatt_Idle; playerStatus->animFlags |= PA_FLAG_WATT_IN_HANDS; N(update_player_carry_anim)(); - npc_set_palswap_mode_A(npc, 1); + npc_set_palswap_mode_A(npc, NPC_PAL_ADJUST_WATT_IDLE); script->functionTemp[1] = 2; N(AbilityState) = SHINING_STATE_HOLDING; } else { @@ -376,7 +376,7 @@ API_CALLABLE(N(UseAbility)) { partnerStatus->partnerActionState = PARTNER_ACTION_NONE; gGameStatusPtr->keepUsingPartnerOnMapChange = FALSE; N(AbilityState) = SHINING_STATE_BEGIN; - npc_set_palswap_mode_A(npc, 0); + npc_set_palswap_mode_A(npc, NPC_PAL_ADJUST_NONE); if (!(playerStatus->flags & PS_FLAG_HIT_FIRE)) { set_action_state(ACTION_STATE_IDLE); } diff --git a/src/world/partners.c b/src/world/partners.c index 480ccd0a2a..50e8cb54ec 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -488,7 +488,7 @@ s32 use_consumable(s32 invSlot) { } void remove_consumable(void) { - gPlayerData.invItems[D_8010CD20] = 0; + gPlayerData.invItems[D_8010CD20] = ITEM_NONE; sort_items(); } @@ -1197,7 +1197,7 @@ void partner_walking_update_motion(Npc* partner) { PlayerStatus* playerStatus = &gPlayerStatus; PartnerStatus* partnerStatus = &gPartnerStatus; - if (gGameStatusPtr->multiplayerEnabled == 0 || playerStatus->flags & (PS_FLAG_INPUT_DISABLED | PS_FLAG_NO_STATIC_COLLISION) + if (!gGameStatusPtr->multiplayerEnabled || playerStatus->flags & (PS_FLAG_INPUT_DISABLED | PS_FLAG_NO_STATIC_COLLISION) || partnerStatus->inputDisabledCount != 0 || partnerStatus->partnerAction_unk_2) { if (!(playerStatus->animFlags & PA_FLAG_OPENED_HIDDEN_PANEL)) { partner_walking_follow_player(partner); @@ -1774,7 +1774,7 @@ void partner_flying_update_motion(Npc* partner) { f32 var_f0; f32 var_f2; - if (gGameStatusPtr->multiplayerEnabled == 0 || + if (!gGameStatusPtr->multiplayerEnabled || (playerStatus->flags & (PS_FLAG_INPUT_DISABLED | PS_FLAG_NO_STATIC_COLLISION)) || partnerStatus->inputDisabledCount || partnerStatus->partnerAction_unk_2) diff --git a/src/world/script_api/shops.c b/src/world/script_api/shops.c index 8fd73b5e27..c577ebda6c 100644 --- a/src/world/script_api/shops.c +++ b/src/world/script_api/shops.c @@ -616,7 +616,7 @@ API_CALLABLE(ShowShopOwnerDialog) { if (script->functionTemp[2] == 1) { if (D_80286538->curOption == 0) { add_coins(shop_get_sell_price(playerData->invItems[shop->selectedStoreItemSlot])); - playerData->invItems[shop->selectedStoreItemSlot] = 0; + playerData->invItems[shop->selectedStoreItemSlot] = ITEM_NONE; if (get_item_count() == 0) { script->functionTemp[1] = shop_owner_reset_speech(SHOP_MSG_SELL_THANKS); script->functionTemp[0] = DIALOG_STATE_CLOSED_SUBMENU; @@ -672,7 +672,7 @@ API_CALLABLE(ShowShopOwnerDialog) { shop_close_item_select_popup(); if (shop->selectedStoreItemSlot >= 0) { if (store_item(playerData->invItems[shop->selectedStoreItemSlot]) >= 0) { - playerData->invItems[shop->selectedStoreItemSlot] = 0; + playerData->invItems[shop->selectedStoreItemSlot] = ITEM_NONE; } if ((get_item_count() == 0) || (get_stored_empty_count() == 0)) { diff --git a/src/world/world.c b/src/world/world.c index b82575a806..8d22298b65 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -177,7 +177,7 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { clear_sprite_shading_data(); reset_background_settings(); - if (gGameStatusPtr->creditsViewportMode == -1) { + if (gGameStatusPtr->introPart == INTRO_PART_NONE) { func_80138188(); } @@ -188,7 +188,7 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { reset_battle_status(); clear_encounter_status(); - clear_entity_data(1); + clear_entity_data(TRUE); clear_effect_data(); clear_player_status(); player_reset_data(); @@ -221,10 +221,10 @@ void load_map_by_IDs(s16 areaID, s16 mapID, s16 loadType) { gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED; gCameras[CAM_3].flags |= CAMERA_FLAG_DISABLED; - if (gGameStatusPtr->creditsViewportMode == -1) { - set_cam_viewport(0, 12, 20, 296, 200); + if (gGameStatusPtr->introPart == INTRO_PART_NONE) { + set_cam_viewport(CAM_DEFAULT, 12, 20, 296, 200); } else { - set_cam_viewport(0, 29, 28, 262, 162); + set_cam_viewport(CAM_DEFAULT, 29, 28, 262, 162); } initialize_status_bar(); diff --git a/tools/build/move_data.py b/tools/build/move_data.py index 03f608f186..d1cae9ed25 100644 --- a/tools/build/move_data.py +++ b/tools/build/move_data.py @@ -18,10 +18,15 @@ class MoveEntry: self.shortDescMsg = data.get("shortDescMsg", "MSG_NONE") self.flags = data.get("flags", []) self.category = data.get("category", "") - self.actionTip = data.get("actionTip", "") + self.actionTip = data.get("actionTip", "NONE") self.costFP = data.get("costFP", 0) self.costBP = data.get("costBP", 0) + if self.actionTip == "NONE": + self.actionTip = "-1" + else: + self.actionTip = f"({self.actionTip} - BTL_MSG_FIRST_ACTION_TIP)" + def read_moves_yaml(in_yaml: Path) -> List[MoveEntry]: items: List[MoveEntry] = [] diff --git a/tools/disasm_script.py b/tools/disasm_script.py index 69729d7e9f..2cd5b461c8 100755 --- a/tools/disasm_script.py +++ b/tools/disasm_script.py @@ -418,7 +418,7 @@ replace_funcs = { "ContinueSpeech": {1: "CustomAnim", 2: "CustomAnim", 4: "CustomMsg"}, "CopyBuffs": {0: "ActorIDs", 1: "ActorIDs"}, "CopyStatusEffects": {0: "ActorIDs", 1: "ActorIDs"}, - "CountPlayerTargets": {0: "ActorIDs"}, + "CountTargets": {0: "ActorIDs"}, "DisablePlayerInput": {0: "Bool"}, "DisablePlayerPhysics": {0: "Bool"}, "DispatchDamagePlayerEvent": {1: "Events"}, diff --git a/ver/ique/asm/bss.s b/ver/ique/asm/bss.s index 0feef0f4d7..17210c8c00 100644 --- a/ver/ique/asm/bss.s +++ b/ver/ique/asm/bss.s @@ -207,16 +207,16 @@ dlabel D_8009A6A6 dlabel D_8009A6A8 .space 8 -dlabel D_8009A6B0 +dlabel FetchSaveBuffer .space 0x00001380 -dlabel logicalSaveInfo +dlabel LogicalSaveInfo .space 0x00000020 -dlabel physicalSaveInfo +dlabel PhysicalSaveInfo .space 0x00000030 -dlabel nextAvailableSavePage +dlabel NextAvailablePhysicalSave .space 4 dlabel D_8009BA84 @@ -316,13 +316,13 @@ dlabel gLogosImage1 dlabel gLogosImage2 .space 4 -dlabel D_800A0920 +dlabel StepPauseDelay .space 1 -dlabel D_800A0921 +dlabel StepPauseState .space 1 -dlabel D_800A0922 +dlabel StepPauseAlpha .space 2 dlabel SavedReverbMode @@ -361,28 +361,28 @@ dlabel gLoadedFromFileSelect dlabel D_800A094C .space 4 -dlabel D_800A0950 +dlabel IntroEnableDrawFrameDelay .space 4 -dlabel D_800A0954 +dlabel IntroOverlayAlpha .space 2 -dlabel D_800A0956 +dlabel IntroFrontFadeAlpha .space 2 -dlabel D_800A0958 +dlabel IntroOverlayDelta .space 2 -dlabel D_800A095A +dlabel IntroFadeColorR .space 2 -dlabel D_800A095C +dlabel IntroFadeColorG .space 2 -dlabel D_800A095E +dlabel IntroFadeColorB .space 2 -dlabel D_800A0960 +dlabel IntroOverlayType .space 0x00000004 dlabel D_800A0964 @@ -391,7 +391,7 @@ dlabel D_800A0964 dlabel D_800A0968 .space 8 -dlabel D_800A0970 +dlabel TitleScreen_AppearDelay .space 4 dlabel TitleScreen_ImgList @@ -409,7 +409,7 @@ dlabel TitleScreen_ImgList_PressStart dlabel D_800A0984 .space 4 -dlabel D_800A0988 +dlabel TitleScreen_TimeLeft .space 4 dlabel D_800A098C @@ -828,7 +828,7 @@ dlabel __osFlashMessageQ dlabel nuGfxTask .space 0x58*10 -dlabel D_800D95E8 +dlabel gSaveGlobals .space 0x80 dlabel wMapBgName diff --git a/ver/ique/splat.yaml b/ver/ique/splat.yaml index bb822d734c..5b22e2f4ab 100644 --- a/ver/ique/splat.yaml +++ b/ver/ique/splat.yaml @@ -51,14 +51,18 @@ segments: - [0x6B10, c, curtains] - [0x7010, c, crash_screen] - [0x7B10, c, os/nusys/nugfxtaskmgr, -fforce-addr] - - [0x7EB0, c, 8800] - - [0x93C0, c, 9d10_len_1080] - - [0xA440, c, ad90_len_2880] - - [0xA790, c, B0E0] - - [0xCCC0, c, camera] + - [0x7EB0, c, cam_main] + - [auto, c, cam_mode_2] + - [auto, c, cam_mode_1] + - [auto, c, cam_mode_0] + - [auto, c, cam_mode_6] + - [auto, c, cam_mode_unused] + - [auto, c, cam_mode_5] + - [auto, c, cam_mode_zone_interp] + - [auto, c, cam_math] - [0xDFA0, c, game_modes] - [0xDFF0, c, state_startup] - - [0xE280, c, intro_logos] + - [0xE280, c, startup_screen_fading] - [0xE380, c, state_battle] - [0xE920, c, state_logos] - [0xF3F0, c, state_pause] @@ -321,7 +325,7 @@ segments: - [0x511B0] - [0x51280, .data, crash_screen] - [0x51460, .data, os/nusys/nugfxtaskmgr] - - [0x51470, .data, camera] + - [0x51470, .data, cam_math] - [0x51480, .data, game_modes] - [0x51900, .data, state_battle] - [0x51920, .data, state_logos] @@ -398,16 +402,17 @@ segments: - [0xA4990, c, entity] - [auto, c, game_states] - [auto, c, model] - - [0xB3140, c, B4580] + - [0xB3140, c, animator] - [0xB5E70, c, entity_model] - [0xB8370, c, worker] - [0xB8920, c, msg] - - [0xC4010, c, C50A0] - - [0xCC0F0, c, cd180_len_38f0] - - [0xCDDB0, c, CEE40] + - [0xC4010, c, draw_img_util] + - [auto, c, item_entity] + - [0xCC0F0, c, screen_overlays] + - [0xCDDB0, c, screen_render_util] - [0xCF9E0, c, imgfx] - [0xD49C0, c, hud_element] - - [0xDA990, c, dba20_len_350] + - [0xDA990, c, vars_access] - [0xDACE0, c, trigger] - [0xDB3E0, c, background] - [0xDC8A0, c, audio/ambience] @@ -418,13 +423,14 @@ segments: - [0xE0620, .data, entity] - [auto, .data, game_states] - [auto, .data, model] - - [0xE18C0, .data, B4580] + - [0xE18C0, .data, animator] - [0xE18D0, .data, entity_model] - [0xE18F0, .data, msg] - - [0xE1C10, .data, C50A0] + - [0xE1C10, .data, draw_img_util] + - [auto, .data, item_entity] - start: 0xE1D60 type: .data - name: cd180_len_38f0 + name: screen_overlays subsegments: - [0xE1D60] - [0xE1D70, i4, ui/stencil/star, 32, 64] @@ -435,7 +441,7 @@ segments: - [0xE3C10] - [0xE3DE0, vtx, vtx/stencil2] - [0xE3F60] - - [0xE4400, .data, CEE40] + - [0xE4400, .data, screen_render_util] - [0xE4480, .data, imgfx] - [0xE4630, .data, hud_element] - [0xE4790, .data, background] diff --git a/ver/ique/symbol_addrs.txt b/ver/ique/symbol_addrs.txt index 975616fd64..e79d2df6d3 100644 --- a/ver/ique/symbol_addrs.txt +++ b/ver/ique/symbol_addrs.txt @@ -132,7 +132,7 @@ au_driver_init = 0x80055910; au_engine_init = 0x8005251c; nuAuDmaNew = 0x8004a8dc; nuAuPreNMI = 0x80076dd0; -D_80077A50 = 0x800766b0; +TitleSetupGfx = 0x800766b0; osAiGetLength = 0x80060310; osAiGetStatus = 0x80060320; osAiSetFrequency = 0x80060330; diff --git a/ver/jp/asm/main.bss.s b/ver/jp/asm/main.bss.s index 2b021c6ae1..77720f0cbb 100644 --- a/ver/jp/asm/main.bss.s +++ b/ver/jp/asm/main.bss.s @@ -154,16 +154,16 @@ dlabel D_8009A6A4 dlabel D_8009A6A6 .space 10 -dlabel D_8009A6B0 +dlabel FetchSaveBuffer .space 0x00001380 -dlabel logicalSaveInfo +dlabel LogicalSaveInfo .space 0x00000020 -dlabel physicalSaveInfo +dlabel PhysicalSaveInfo .space 0x00000030 -dlabel nextAvailableSavePage +dlabel NextAvailablePhysicalSave .space 0x00000010 dlabel gCurtainScale @@ -247,13 +247,13 @@ dlabel gLogosImage1 dlabel gLogosImage2 .space 4 -dlabel D_800A0920 +dlabel StepPauseDelay .space 1 -dlabel D_800A0921 +dlabel StepPauseState .space 1 -dlabel D_800A0922 +dlabel StepPauseAlpha .space 2 dlabel SavedReverbMode @@ -283,34 +283,34 @@ dlabel gMapTransitionStateTime dlabel gLoadedFromFileSelect .space 8 -dlabel D_800A0950 +dlabel IntroEnableDrawFrameDelay .space 4 -dlabel D_800A0954 +dlabel IntroOverlayAlpha .space 2 -dlabel D_800A0956 +dlabel IntroFrontFadeAlpha .space 2 -dlabel D_800A0958 +dlabel IntroOverlayDelta .space 2 -dlabel D_800A095A +dlabel IntroFadeColorR .space 2 -dlabel D_800A095C +dlabel IntroFadeColorG .space 2 -dlabel D_800A095E +dlabel IntroFadeColorB .space 2 -dlabel D_800A0960 +dlabel IntroOverlayType .space 4 dlabel D_800A0964 .space 12 -dlabel D_800A0970 +dlabel TitleScreen_AppearDelay .space 4 dlabel TitleScreen_ImgList @@ -328,7 +328,7 @@ dlabel TitleScreen_ImgList_PressStart dlabel TitleScreen_ImgList_CopyrightPalette .space 4 -dlabel D_800A0988 +dlabel TitleScreen_TimeLeft .space 8 dlabel gWorldNpcList @@ -682,7 +682,7 @@ dlabel nuAuHeap dlabel nuGfxTask .space 0x00000370 -dlabel D_800D95E8 +dlabel gSaveGlobals .space 0x00000080 dlabel wMapBgName diff --git a/ver/jp/splat.yaml b/ver/jp/splat.yaml index 668093dbc9..e084046d5b 100644 --- a/ver/jp/splat.yaml +++ b/ver/jp/splat.yaml @@ -52,14 +52,18 @@ segments: - [0x7300, c, crash_screen] - [0x7E00, c, load_obfuscation_shims] - [0x80A0, c, os/nusys/nugfxtaskmgr, -fforce-addr] - - [0x8490, c, 8800] - - [0x99A0, c, 9d10_len_1080] - - [0xAA20, c, ad90_len_2880] - - [0xAD70, c, B0E0] - - [0xD2A0, c, camera] + - [0x8490, c, cam_main] + - [auto, c, cam_mode_2] + - [auto, c, cam_mode_1] + - [auto, c, cam_mode_0] + - [auto, c, cam_mode_6] + - [auto, c, cam_mode_unused] + - [auto, c, cam_mode_5] + - [auto, c, cam_mode_zone_interp] + - [auto, c, cam_math] - [0xE580, c, game_modes] - [0xE580, c, state_startup] - - [0xE860, c, intro_logos] + - [0xE860, c, startup_screen_fading] - [0xE960, c, state_battle] - [0xEF00, c, state_logos] - [0xF9C0, c, state_pause] @@ -319,7 +323,7 @@ segments: - [0x52520] - [auto, .data, crash_screen] - [auto, .data, os/nusys/nugfxtaskmgr] - - [auto, .data, camera] + - [auto, .data, cam_math] - [auto, .data, game_modes] - [auto, .data, state_battle] - [auto, .data, state_logos] @@ -383,9 +387,10 @@ segments: - [auto, .rodata, 43F0] - [auto, .rodata, curtains] - [auto, .rodata, crash_screen] - - [auto, .rodata, 8800] - - [auto, .rodata, B0E0] - - [auto, .rodata, camera] + - [auto, .rodata, cam_main] + - [auto, .rodata, cam_mode_5] + - [auto, .rodata, cam_mode_zone_interp] + - [auto, .rodata, cam_math] - [auto, .rodata, state_logos] - [auto, .rodata, state_file_select] - [auto, .rodata, 111f0_len_860] diff --git a/ver/jp/symbol_addrs.txt b/ver/jp/symbol_addrs.txt index fb26ee45f5..b0eb014e04 100644 --- a/ver/jp/symbol_addrs.txt +++ b/ver/jp/symbol_addrs.txt @@ -212,10 +212,10 @@ D_8009A6A0 = 0x8009A680; D_8009A6A2 = 0x8009A682; D_8009A6A4 = 0x8009A684; D_8009A6A6 = 0x8009A686; -D_8009A6B0 = 0x8009A690; -logicalSaveInfo = 0x8009BA10; -physicalSaveInfo = 0x8009BA30; -nextAvailableSavePage = 0x8009BA60; +FetchSaveBuffer = 0x8009A690; +LogicalSaveInfo = 0x8009BA10; +PhysicalSaveInfo = 0x8009BA30; +NextAvailablePhysicalSave = 0x8009BA60; gCurtainScale = 0x8009BA70; gCurtainScaleGoal = 0x8009BA74; gCurtainFade = 0x8009BA78; @@ -240,7 +240,7 @@ nuYieldBuf = 0x800B8570; D_800B91D0 = 0x800B91B0; gZoneCollisionData = 0x800D91B0; nuGfxTask = 0x800D9258; -D_800D95E8 = 0x800D95C8; +gSaveGlobals = 0x800D95C8; rspbootUcodeBuffer = 0x800D9760; __osEventStateTab = 0x800D9F60; D_800DA040 = 0x800DA020; diff --git a/ver/pal/asm/bss2.s b/ver/pal/asm/bss2.s index 773ffd9c7f..fd1019a927 100644 --- a/ver/pal/asm/bss2.s +++ b/ver/pal/asm/bss2.s @@ -27,7 +27,7 @@ dlabel wPartnerNpc dlabel TweesterTouchingPlayer .space 4 -dlabel D_8010C938 +dlabel PlayerNormalYaw .space 4 dlabel ISpyNotificationCallback @@ -42,7 +42,7 @@ dlabel gSpinHistoryBufferPos dlabel D_8010C948 .space 4 -dlabel D_8010C94C +dlabel NpcHitQueryBehindRightY .space 4 dlabel D_8010C950 @@ -63,16 +63,16 @@ dlabel JumpedOnSwitchX dlabel D_8010C964 .space 4 -dlabel D_8010C968 +dlabel NpcHitQueryBehindCollider .space 4 dlabel PeachDisguiseNpcIndex .space 4 -dlabel D_8010C970 +dlabel NpcHitQueryAheadY .space 4 -dlabel D_8010C974 +dlabel NpcHitQueryBehindLeftY .space 4 dlabel NpcHitQueryColliderID @@ -81,7 +81,7 @@ dlabel NpcHitQueryColliderID dlabel JumpedOnSwitchZ .space 4 -dlabel D_8010C980 +dlabel PlayerRunStateTime .space 4 dlabel D_8010C984 @@ -90,16 +90,16 @@ dlabel D_8010C984 dlabel D_8010C988 .space 4 -dlabel D_8010C98C +dlabel NpcHitQueryAheadCollider .space 4 -dlabel D_8010C990 +dlabel PlayerNormalPitch .space 4 dlabel D_8010C994 .space 0x0000000c -dlabel D_8010C9A0 +dlabel PlayerYInterpUpdateDelay .space 4 dlabel D_8010C9A4 diff --git a/ver/pal/asm/nonmatchings/filemenu/filemenu_yesno/filemenu_yesno_handle_input.s b/ver/pal/asm/nonmatchings/filemenu/filemenu_yesno/filemenu_yesno_handle_input.s index a83f123fdd..6343fe6112 100644 --- a/ver/pal/asm/nonmatchings/filemenu/filemenu_yesno/filemenu_yesno_handle_input.s +++ b/ver/pal/asm/nonmatchings/filemenu/filemenu_yesno/filemenu_yesno_handle_input.s @@ -487,8 +487,8 @@ glabel filemenu_yesno_handle_input /* 1744C8 8024BAA8 08092F1D */ j .Lfilemenu_8024BC74 /* 1744CC 8024BAAC 24050001 */ addiu $a1, $zero, 0x1 .Lfilemenu_8024BAB0: -/* 1744D0 8024BAB0 3C05800D */ lui $a1, %hi(D_800D95E8) -/* 1744D4 8024BAB4 24A55D58 */ addiu $a1, $a1, %lo(D_800D95E8) +/* 1744D0 8024BAB0 3C05800D */ lui $a1, %hi(gSaveGlobals) +/* 1744D4 8024BAB4 24A55D58 */ addiu $a1, $a1, %lo(gSaveGlobals) /* 1744D8 8024BAB8 8CA20038 */ lw $v0, 0x38($a1) /* 1744DC 8024BABC 3C038007 */ lui $v1, %hi(gGameStatusPtr) /* 1744E0 8024BAC0 8C6314AC */ lw $v1, %lo(gGameStatusPtr)($v1) @@ -512,13 +512,13 @@ glabel filemenu_yesno_handle_input /* 174524 8024BB04 904400AB */ lbu $a0, 0xAB($v0) /* 174528 8024BB08 3C028015 */ lui $v0, %hi(gCurrentLanguage) /* 17452C 8024BB0C 8C42AE4C */ lw $v0, %lo(gCurrentLanguage)($v0) -/* 174530 8024BB10 3C03800D */ lui $v1, %hi(D_800D95E8) -/* 174534 8024BB14 24635D58 */ addiu $v1, $v1, %lo(D_800D95E8) +/* 174530 8024BB10 3C03800D */ lui $v1, %hi(gSaveGlobals) +/* 174534 8024BB14 24635D58 */ addiu $v1, $v1, %lo(gSaveGlobals) /* 174538 8024BB18 AC70003C */ sw $s0, 0x3C($v1) /* 17453C 8024BB1C AC620040 */ sw $v0, 0x40($v1) /* 174540 8024BB20 24020001 */ addiu $v0, $zero, 0x1 /* 174544 8024BB24 00441023 */ subu $v0, $v0, $a0 -/* 174548 8024BB28 0C00AC15 */ jal fio_flush_backups +/* 174548 8024BB28 0C00AC15 */ jal fio_flush_globals /* 17454C 8024BB2C AC620038 */ sw $v0, 0x38($v1) .Lfilemenu_8024BB30: /* 174550 8024BB30 0C00ACD3 */ jal fio_load_game diff --git a/ver/pal/splat.yaml b/ver/pal/splat.yaml index e4fa060f9b..c29ff16b97 100644 --- a/ver/pal/splat.yaml +++ b/ver/pal/splat.yaml @@ -555,16 +555,17 @@ segments: - [auto, c, entity] - [auto, c, game_states] - [auto, c, model] - - [auto, c, B4580] + - [auto, c, animator] - [auto, c, entity_model] - [auto, c, worker] - [auto, c, msg] - - [auto, c, C50A0] - - [auto, c, cd180_len_38f0] - - [auto, c, CEE40] + - [auto, c, draw_img_util] + - [auto, c, item_entity] + - [auto, c, screen_overlays] + - [auto, c, screen_render_util] - [auto, c, imgfx] - [auto, c, hud_element] - - [auto, c, dba20_len_350] + - [auto, c, vars_access] - [auto, c, trigger] - [auto, c, background] - [auto, c, audio/ambience] @@ -575,13 +576,14 @@ segments: - [auto, .data, entity] - [auto, .data, game_states] - [auto, .data, model] - - [auto, .data, B4580] + - [auto, .data, animator] - [auto, .data, entity_model] - [auto, .data, msg] - - [auto, .data, C50A0] + - [auto, .data, draw_img_util] + - [auto, .data, item_entity] - start: 0xE1610 type: .data - name: cd180_len_38f0 + name: screen_overlays subsegments: - [0xE1610] - [0xE1620, i4, ui/stencil/star, 32, 64] @@ -592,7 +594,7 @@ segments: - [0xE34C0] - [0xE3690, vtx, vtx/stencil2] - [0xE3810] - - [auto, .data, CEE40] + - [auto, .data, screen_render_util] - [auto, .data, imgfx] - [auto, .data, hud_element] - [auto, .data, background] @@ -618,7 +620,8 @@ segments: - [auto, c, player_api] - [auto, c, virtual_entity] - [auto, c, f8f60_len_1560] - - [auto, c, fa4c0_len_3bf0] + - [auto, c, audio_api] + - [auto, c, item_api] - [auto, c, fx_api] - [auto, c, demo_api] - [auto, pm_effect_loads, effect_loads] diff --git a/ver/pal/undefined_syms.txt b/ver/pal/undefined_syms.txt index fbacac5140..9f863cae43 100644 --- a/ver/pal/undefined_syms.txt +++ b/ver/pal/undefined_syms.txt @@ -43,8 +43,8 @@ general_heap_malloc = 0x8002ABA8; general_heap_free = 0x8002ABF8; heap_malloc = 0x8002AC64; heap_free = 0x8002ACAC; -fio_has_valid_backup = 0x8002AFE0; -fio_flush_backups = 0x8002B054; +fio_has_valid_globals = 0x8002AFE0; +fio_flush_globals = 0x8002B054; fio_load_game = 0x8002B34C; fio_save_game = 0x8002B41C; fio_erase_game = 0x8002B510; @@ -57,8 +57,8 @@ set_cam_viewport = 0x8002E634; get_screen_coords = 0x8002E858; set_game_mode = 0x80033810; get_game_mode = 0x80033848; -intro_logos_set_fade_alpha = 0x80033B10; -intro_logos_set_fade_color = 0x80033B20; +startup_set_fade_screen_alpha = 0x80033B10; +startup_set_fade_screen_color = 0x80033B20; set_map_change_fade_rate = 0x80035CF0; state_init_intro = 0x80036550; clear_npcs = 0x800389AC; @@ -249,7 +249,7 @@ gMatrixListPos = 0x80071500; gCurrentDisplayContextIndex = 0x80071504; nuGfxCfbNum = 0x80073710; gCurrentCameraID = 0x80073730; -D_800779B0 = 0x80073D00; +IntroMessageIdx = 0x80073D00; gSaveSlotMetadata = 0x80073D14; gSaveSlotHasData = 0x80073D74; EnemyNpcHit = 0x80074310; @@ -292,7 +292,7 @@ gCollisionData = 0x800B29C0; gZoneCollisionData = 0x800D5928; wMapHitName = 0x800D5938; wMapShapeName = 0x800D5988; -D_800D95E8 = 0x800D5D58; +gSaveGlobals = 0x800D5D58; wMapBgName = 0x800D5DD8; gCurrentSaveFile = 0x800D7430; gBattleStatus = 0x800D87E0; @@ -368,8 +368,8 @@ MultiplyByActorScale = 0x8025419C; MultiplyVec3ByActorScale = 0x8025429C; ApplyShrinkFromOwner = 0x80254358; StartRumble = 0x802543D8; -player_create_target_list = 0x80263424; -set_animation = 0x802640F4; +create_current_pos_target_list = 0x80263424; +set_actor_anim = 0x802640F4; add_xz_vec3f = 0x80264520; play_movement_dust_effects = 0x802646E8; get_actor_part = 0x80264854; @@ -413,7 +413,7 @@ SetIdleGoalToHome = 0x8026A31C; SetGoalToIndex = 0x8026A384; GetIndexFromPos = 0x8026A44C; GetIndexFromHome = 0x8026A4C4; -CountPlayerTargets = 0x8026A53C; +CountTargets = 0x8026A53C; ForceHomePos = 0x8026A5DC; SetHomePos = 0x8026A6C0; SetGoalToTarget = 0x8026A798; @@ -488,8 +488,8 @@ CheckButtonDown = 0x8026E4F8; SetBattleState = 0x8026E55C; WaitForState = 0x8026E588; CancelEnemyTurn = 0x8026E5F8; -PlayerCreateTargetList = 0x8026E6BC; -EnemyCreateTargetList = 0x8026E700; +CreateCurrentPosTargetList = 0x8026E6BC; +CreateHomeTargetList = 0x8026E700; InitTargetIterator = 0x8026E744; SetOwnerTarget = 0x8026E798; ChooseNextTarget = 0x8026E804; @@ -596,7 +596,7 @@ PartnerDamageEnemy = 0x802801A4; PartnerAfflictEnemy = 0x802803F4; PartnerPowerBounceEnemy = 0x80280660; PartnerTestEnemy = 0x802808C0; -GetActionCommandResult = 0x80280BC0; +GetPartnerActionSuccess = 0x80280BC0; PartnerYieldTurn = 0x80280C08; GetDamageIntensity = 0x80280C30; LoadStarPowerScript = 0x80280D40; diff --git a/ver/us/asm/bss.s b/ver/us/asm/bss.s index 096cf8b64f..b91edfb2bc 100644 --- a/ver/us/asm/bss.s +++ b/ver/us/asm/bss.s @@ -192,16 +192,16 @@ dlabel D_8009A6A6 dlabel D_8009A6A8 .space 8 -dlabel D_8009A6B0 +dlabel FetchSaveBuffer .space 0x00001380 -dlabel logicalSaveInfo +dlabel LogicalSaveInfo .space 0x00000020 -dlabel physicalSaveInfo +dlabel PhysicalSaveInfo .space 0x00000030 -dlabel nextAvailableSavePage +dlabel NextAvailablePhysicalSave .space 4 dlabel D_8009BA84 @@ -310,13 +310,13 @@ dlabel gLogosImage1 dlabel gLogosImage2 .space 4 -dlabel D_800A0920 +dlabel StepPauseDelay .space 1 -dlabel D_800A0921 +dlabel StepPauseState .space 1 -dlabel D_800A0922 +dlabel StepPauseAlpha .space 2 dlabel SavedReverbMode @@ -355,28 +355,28 @@ dlabel gLoadedFromFileSelect dlabel D_800A094C .space 4 -dlabel D_800A0950 +dlabel IntroEnableDrawFrameDelay .space 4 -dlabel D_800A0954 +dlabel IntroOverlayAlpha .space 2 -dlabel D_800A0956 +dlabel IntroFrontFadeAlpha .space 2 -dlabel D_800A0958 +dlabel IntroOverlayDelta .space 2 -dlabel D_800A095A +dlabel IntroFadeColorR .space 2 -dlabel D_800A095C +dlabel IntroFadeColorG .space 2 -dlabel D_800A095E +dlabel IntroFadeColorB .space 2 -dlabel D_800A0960 +dlabel IntroOverlayType .space 0x00000004 dlabel D_800A0964 @@ -385,7 +385,7 @@ dlabel D_800A0964 dlabel D_800A0968 .space 8 -dlabel D_800A0970 +dlabel TitleScreen_AppearDelay .space 4 dlabel TitleScreen_ImgList @@ -403,7 +403,7 @@ dlabel TitleScreen_ImgList_PressStart dlabel D_800A0984 .space 4 -dlabel D_800A0988 +dlabel TitleScreen_TimeLeft .space 4 dlabel D_800A098C @@ -869,7 +869,7 @@ dlabel nuAuHeap dlabel nuGfxTask .space 0x00000370 -dlabel D_800D95E8 +dlabel gSaveGlobals .space 0x00000038 dlabel D_800D9620 diff --git a/ver/us/asm/bss2.s b/ver/us/asm/bss2.s index 773ffd9c7f..fd1019a927 100644 --- a/ver/us/asm/bss2.s +++ b/ver/us/asm/bss2.s @@ -27,7 +27,7 @@ dlabel wPartnerNpc dlabel TweesterTouchingPlayer .space 4 -dlabel D_8010C938 +dlabel PlayerNormalYaw .space 4 dlabel ISpyNotificationCallback @@ -42,7 +42,7 @@ dlabel gSpinHistoryBufferPos dlabel D_8010C948 .space 4 -dlabel D_8010C94C +dlabel NpcHitQueryBehindRightY .space 4 dlabel D_8010C950 @@ -63,16 +63,16 @@ dlabel JumpedOnSwitchX dlabel D_8010C964 .space 4 -dlabel D_8010C968 +dlabel NpcHitQueryBehindCollider .space 4 dlabel PeachDisguiseNpcIndex .space 4 -dlabel D_8010C970 +dlabel NpcHitQueryAheadY .space 4 -dlabel D_8010C974 +dlabel NpcHitQueryBehindLeftY .space 4 dlabel NpcHitQueryColliderID @@ -81,7 +81,7 @@ dlabel NpcHitQueryColliderID dlabel JumpedOnSwitchZ .space 4 -dlabel D_8010C980 +dlabel PlayerRunStateTime .space 4 dlabel D_8010C984 @@ -90,16 +90,16 @@ dlabel D_8010C984 dlabel D_8010C988 .space 4 -dlabel D_8010C98C +dlabel NpcHitQueryAheadCollider .space 4 -dlabel D_8010C990 +dlabel PlayerNormalPitch .space 4 dlabel D_8010C994 .space 0x0000000c -dlabel D_8010C9A0 +dlabel PlayerYInterpUpdateDelay .space 4 dlabel D_8010C9A4 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index dbd698f9df..3b387b4dcc 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -61,14 +61,18 @@ segments: - [auto, c, os/nusys/nugfxtaskmgr, -fforce-addr] - [auto, c, os/nusys/nusimgr] - [auto, c, load_obfuscation_shims] - - [auto, c, 8800] - - [auto, c, 9d10_len_1080] - - [auto, c, ad90_len_2880] - - [auto, c, B0E0] - - [auto, c, camera] + - [auto, c, cam_main] + - [auto, c, cam_mode_2] + - [auto, c, cam_mode_1] + - [auto, c, cam_mode_0] + - [auto, c, cam_mode_6] + - [auto, c, cam_mode_unused] + - [auto, c, cam_mode_5] + - [auto, c, cam_mode_zone_interp] + - [auto, c, cam_math] - [auto, c, game_modes] - [auto, c, state_startup] - - [auto, c, intro_logos] + - [auto, c, startup_screen_fading] - [auto, c, state_battle] - [auto, c, state_logos] - [auto, c, state_pause] @@ -321,7 +325,7 @@ segments: - [auto, .data, crash_screen] - [auto, .data, os/nusys/nugfxtaskmgr] - [auto, .data, os/nusys/nusimgr] - - [auto, .data, camera] + - [auto, .data, cam_math] - [auto, .data, game_modes] - [auto, .data, state_battle] - [auto, .data, state_logos] @@ -831,16 +835,17 @@ segments: - [auto, c, entity] - [auto, c, game_states] - [auto, c, model] - - [auto, c, B4580] + - [auto, c, animator] - [auto, c, entity_model] - [auto, c, worker] - [auto, c, msg] - - [auto, c, C50A0] - - [auto, c, cd180_len_38f0] - - [auto, c, CEE40] + - [auto, c, draw_img_util] + - [auto, c, item_entity] + - [auto, c, screen_overlays] + - [auto, c, screen_render_util] - [auto, c, imgfx] - [auto, c, hud_element] - - [auto, c, dba20_len_350] + - [auto, c, vars_access] - [auto, c, trigger] - [auto, c, background] - [auto, c, audio/ambience] @@ -851,13 +856,14 @@ segments: - [auto, .data, entity] - [auto, .data, game_states] - [auto, .data, model] - - [auto, .data, B4580] + - [auto, .data, animator] - [auto, .data, entity_model] - [auto, .data, msg] - - [auto, .data, C50A0] + - [auto, .data, draw_img_util] + - [auto, .data, item_entity] - start: 0xE2DF0 type: .data - name: cd180_len_38f0 + name: screen_overlays subsegments: - [0xE2DF0] - [0xE2E00, i4, ui/stencil/star, 32, 64] @@ -868,7 +874,7 @@ segments: - [0xE4CA0] - [0xE4E70, vtx, vtx/stencil2] - [0xE4FF0] - - [auto, .data, CEE40] + - [auto, .data, screen_render_util] - [auto, .data, imgfx] - [auto, .data, hud_element] - [auto, .data, background] @@ -902,7 +908,8 @@ segments: - [auto, c, player_api] - [auto, c, virtual_entity] - [auto, c, f8f60_len_1560] - - [auto, c, fa4c0_len_3bf0] + - [auto, c, audio_api] + - [auto, c, item_api] - [auto, c, fx_api] - [auto, c, demo_api] - name: engine4 @@ -1373,41 +1380,47 @@ segments: vram: 0x8023E000 vram_of_symbol: battle_code_vram_start subsegments: - - [auto, c, 16c8e0] - - [auto, c, 16F740] - - [auto, c, battle_cam] - - [auto, c, 17D6A0] - - [auto, c, 17FEB0] - - [auto, c, 181810] - - [auto, c, 182B30] - - [auto, c, 18C790] - - [auto, c, 18F340] - - [auto, c, 190A10] - - [auto, c, 190B20] + - [auto, c, battle/16C8E0] + - [auto, c, battle/btl_states_actions] + - [auto, c, battle/camera] + - [auto, c, battle/actors] + - [auto, c, battle/popup_messages] + - [auto, c, battle/entity_model_icons] + - [auto, c, battle/partner_dma] + - [auto, c, battle/dmg_item] + - [auto, c, battle/181810] + - [auto, c, battle/actor_rendering] + - [auto, c, battle/level_up] + - [auto, c, battle/player_events] + - [auto, c, battle/190A10] + - [auto, c, battle/190B20] - [auto, c, battle/use_items] - [auto, c, battle/use_moves] - [auto, c, battle/action_cmd] - - [auto, c, actor_api] - - [auto, c, 19FAF0] - - [auto, c, 1A5830] - - [auto, c, 1AC760] - - [auto, c, battle/btl_evt_library] + - [auto, c, battle/actor_api] + - [auto, c, battle/dmg_player] + - [auto, c, battle/1A5830] + - [auto, c, battle/dmg_partner] + - [auto, c, battle/standard_events] - [auto, c, battle/use_star_powers] - - [auto, .data, 16c8e0] - - [auto, .data, battle_cam] - - [auto, .data, 17D6A0] + - [auto, .data, battle/16C8E0] + - [auto, .data, battle/camera] + - [auto, .data, battle/actors] + - [auto, .data, battle/popup_messages] + - [auto, .data, battle/entity_model_icons] + - [auto, .data, battle/partner_dma] - start: 0x1B2050 type: .data - name: 17D6A0 + name: battle/popup_messages subsegments: - [0x1B2050] - [0x1B21E0, ci4, ui/battle/cursor_hand, 32, 32] - [0x1B23E0, palette, ui/battle/cursor_hand] - [0x1B2400] - - [auto, .data, 181810] - - [auto, .data, 182B30] - - [auto, .data, 18C790] - - [auto, .data, 18F340] + - [auto, .data, battle/181810] + - [auto, .data, battle/actor_rendering] + - [auto, .data, battle/level_up] + - [auto, .data, battle/player_events] - start: 0x1B7CE0 type: .data name: battle_ui_gfx @@ -1567,13 +1580,13 @@ segments: - [0x1C0558] - [0x1C0560, ia8, ui/battle/swap_background, 48, 16] - [0x1C0860] - - [auto, .data, 190B20] + - [auto, .data, battle/190B20] - [auto, .data, battle/use_items] - [auto, .data, battle/use_moves] - [auto, .data, battle/action_cmd] - - [auto, .data, 19FAF0] - - [auto, .data, 1A5830] - - [auto, .data, battle/btl_evt_library] + - [auto, .data, battle/dmg_player] + - [auto, .data, battle/1A5830] + - [auto, .data, battle/standard_events] - [auto, .data, battle/use_star_powers] - [0x1CB240] - [0x1CC310, pm_icons, icon] @@ -5809,11 +5822,11 @@ segments: ####################### - type: code start: 0x415D90 - name: 415D90 + name: btl_states_menus vram: 0x802A1000 follows_vram: battle_code subsegments: - - [auto, c, 415D90] + - [auto, c, battle/btl_states_menus] - type: code start: 0x4219F0 vram: 0x802A9000 diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index c539816334..01939f59bc 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -90,10 +90,10 @@ collision_heap_create = 0x8002AD74; // type:func rom:0x6174 collision_heap_malloc = 0x8002ADB0; // type:func rom:0x61B0 collision_heap_free = 0x8002ADF4; // type:func rom:0x61F4 get_spirits_rescued = 0x8002AE40; // type:func rom:0x6240 -fio_calc_header_checksum = 0x8002AF40; // type:func rom:0x6340 -fio_validate_header_checksums = 0x8002AF70; // type:func rom:0x6370 -fio_has_valid_backup = 0x8002AFD8; // type:func rom:0x63D8 -fio_flush_backups = 0x8002B04C; // type:func rom:0x644C +fio_calc_globals_checksum = 0x8002AF40; // type:func rom:0x6340 +fio_validate_globals_checksums = 0x8002AF70; // type:func rom:0x6370 +fio_has_valid_globals = 0x8002AFD8; // type:func rom:0x63D8 +fio_flush_globals = 0x8002B04C; // type:func rom:0x644C fio_calc_file_checksum = 0x8002B0D0; // type:func rom:0x64D0 fio_validate_file_checksum = 0x8002B0F8; // type:func rom:0x64F8 fio_fetch_saved_file_info = 0x8002B154; // type:func rom:0x6554 @@ -165,7 +165,7 @@ test_ray_zone = 0x80032210; // type:func rom:0xD610 calculate_segment_intersection = 0x800322DC; // type:func rom:0xD6DC calculate_line_segment_intersection = 0x800325E4; // type:func rom:0xD9E4 func_800328A4 = 0x800328A4; // type:func rom:0xDCA4 -func_80032970 = 0x80032970; // type:func rom:0xDD70 +update_camera_lead_amount = 0x80032970; // type:func rom:0xDD70 func_80032C64 = 0x80032C64; // type:func rom:0xE064 create_camera_leadplayer_matrix = 0x80033394; // type:func rom:0xE794 func_800334E8 = 0x800334E8; // type:func rom:0xE8E8 @@ -174,11 +174,11 @@ get_game_mode = 0x80033528; // type:func rom:0xE928 state_init_startup = 0x80033540; // type:func rom:0xE940 state_step_startup = 0x80033568; // type:func rom:0xE968 state_drawUI_startup = 0x80033788; // type:func rom:0xEB88 -intro_logos_set_fade_alpha = 0x800337D0; // type:func rom:0xEBD0 -intro_logos_set_fade_color = 0x800337E0; // type:func rom:0xEBE0 -intro_logos_fade_in = 0x800337F8; // type:func rom:0xEBF8 -intro_logos_fade_out = 0x80033830; // type:func rom:0xEC30 -intro_logos_update_fade = 0x80033874; // type:func rom:0xEC74 +startup_set_fade_screen_alpha = 0x800337D0; // type:func rom:0xEBD0 +startup_set_fade_screen_color = 0x800337E0; // type:func rom:0xEBE0 +startup_fade_screen_in = 0x800337F8; // type:func rom:0xEBF8 +startup_fade_screen_out = 0x80033830; // type:func rom:0xEC30 +startup_fade_screen_update = 0x80033874; // type:func rom:0xEC74 state_init_battle = 0x800338D0; // type:func rom:0xECD0 state_step_battle = 0x800338E4; // type:func rom:0xECE4 state_drawUI_battle = 0x80033B54; // type:func rom:0xEF54 @@ -276,15 +276,15 @@ npc_reload_all = 0x8003B1B0; // type:func rom:0x165B0 set_npc_yaw = 0x8003B340; // type:func rom:0x16740 npc_set_palswap_mode_A = 0x8003B3D0; // type:func rom:0x167D0 npc_set_palswap_mode_B = 0x8003B3F8; // type:func rom:0x167F8 -func_8003B420 = 0x8003B420; // type:func rom:0x16820 +npc_revert_palswap_mode = 0x8003B420; // type:func rom:0x16820 npc_set_palswap_1 = 0x8003B44C; // type:func rom:0x1684C npc_set_palswap_2 = 0x8003B464; // type:func rom:0x16864 npc_draw_with_palswap = 0x8003B47C; // type:func rom:0x1687C -npc_draw_palswap_mode_0 = 0x8003B500; // type:func rom:0x16900 -npc_draw_palswap_mode_1 = 0x8003B5B4; // type:func rom:0x169B4 +npc_render_without_adjusted_palettes = 0x8003B500; // type:func rom:0x16900 +npc_render_with_watt_idle_palettes = 0x8003B5B4; // type:func rom:0x169B4 npc_blend_palette_colors = 0x8003B96C; // type:func rom:0x16D6C -npc_draw_palswap_mode_2 = 0x8003BA60; // type:func rom:0x16E60 -npc_draw_palswap_mode_4 = 0x8003BED8; // type:func rom:0x172D8 +npc_render_with_single_pal_blending = 0x8003BA60; // type:func rom:0x16E60 +npc_render_with_double_pal_blending = 0x8003BED8; // type:func rom:0x172D8 npc_set_decoration = 0x8003C3D8; // type:func rom:0x177D8 npc_remove_decoration = 0x8003C428; // type:func rom:0x17828 npc_update_decorations = 0x8003C444; // type:func rom:0x17844 @@ -441,7 +441,7 @@ remove_status_debuff = 0x80047898; // type:func rom:0x22C98 enable_status_debuff = 0x800478F8; // type:func rom:0x22CF8 create_status_static = 0x80047928; // type:func rom:0x22D28 remove_status_static = 0x800479A0; // type:func rom:0x22DA0 -enable_status_2 = 0x80047A00; // type:func rom:0x22E00 +enable_status_static = 0x80047A00; // type:func rom:0x22E00 create_status_transparent = 0x80047A30; // type:func rom:0x22E30 remove_status_transparent = 0x80047AA8; // type:func rom:0x22EA8 enable_status_transparent = 0x80047B08; // type:func rom:0x22F08 @@ -1390,17 +1390,17 @@ pause_frameBuffers = 0x80077950; // rom:0x52D50 D_8007795C = 0x8007795C; // rom:0x52D5C fsFrameBuffers = 0x80077980; // rom:0x52D80 D_8007798C = 0x8007798C; // rom:0x52D8C -D_800779B0 = 0x800779B0; // rom:0x52DB0 -D_800779C0 = 0x800779C0; // rom:0x52DC0 +IntroMessageIdx = 0x800779B0; // rom:0x52DB0 +TitleScreenNextState = 0x800779C0; // rom:0x52DC0 gSaveSlotMetadata = 0x800779C4; // rom:0x52DC4 gSaveSlotHasData = 0x80077A24; // rom:0x52E24 TitleScreen_PressStart_Alpha = 0x80077A28; // rom:0x52E28 TitleScreen_PressStart_isVisibile = 0x80077A2C; // rom:0x52E2C TitleScreen_PressStart_BlinkCounter = 0x80077A30; // rom:0x52E30 -D_80077A34 = 0x80077A34; // rom:0x52E34 +PlayIntroNext = 0x80077A34; // rom:0x52E34 D_80077A38 = 0x80077A38; // rom:0x52E38 D_80077A40 = 0x80077A40; // rom:0x52E40 -D_80077A50 = 0x80077A50; // rom:0x52E50 +TitleSetupGfx = 0x80077A50; // rom:0x52E50 DemoScenes = 0x80077AE0; // rom:0x52EE0 versionString = 0x80077BD0; // rom:0x52FD0 EVS_NpcDefeat = 0x80077E38; // rom:0x53238 @@ -2606,7 +2606,7 @@ D_8009A6A2 = 0x8009A6A2; // rom:0x75AA2 D_8009A6A4 = 0x8009A6A4; // rom:0x75AA4 D_8009A6A6 = 0x8009A6A6; // rom:0x75AA6 D_8009A6A8 = 0x8009A6A8; // rom:0x75AA8 -D_8009A6B0 = 0x8009A6B0; // rom:0x75AB0 +FetchSaveBuffer = 0x8009A6B0; // rom:0x75AB0 npc_raycast_down_around = 0x800DC778; // type:func rom:0x75C28 npc_raycast_down_sides = 0x800DCB7C; // type:func rom:0x7602C npc_raycast_up = 0x800DCE70; // type:func rom:0x76320 @@ -2616,9 +2616,9 @@ npc_raycast_general = 0x800DD44C; // type:func rom:0x768FC npc_get_slip_vector = 0x800DD5B4; // type:func rom:0x76A64 npc_test_move_with_slipping = 0x800DD618; // type:func rom:0x76AC8 npc_test_move_without_slipping = 0x800DD8FC; // type:func rom:0x76DAC -logicalSaveInfo = 0x8009BA30; // rom:0x76E30 -physicalSaveInfo = 0x8009BA50; // rom:0x76E50 -nextAvailableSavePage = 0x8009BA80; // rom:0x76E80 +LogicalSaveInfo = 0x8009BA30; // rom:0x76E30 +PhysicalSaveInfo = 0x8009BA50; // rom:0x76E50 +NextAvailablePhysicalSave = 0x8009BA80; // rom:0x76E80 D_8009BA84 = 0x8009BA84; // rom:0x76E84 gCurtainScale = 0x8009BA90; // rom:0x76E90 gCurtainScaleGoal = 0x8009BA94; // rom:0x76E94 @@ -2701,7 +2701,7 @@ reset_player_status = 0x800E205C; // type:func rom:0x7B50C get_packed_buttons = 0x800E22E4; // type:func rom:0x7B794 player_input_to_move_vector = 0x800E2304; // type:func rom:0x7B7B4 game_input_to_move_vector = 0x800E23FC; // type:func rom:0x7B8AC -func_800E24F8 = 0x800E24F8; // type:func rom:0x7B9A8 +calculate_camera_yinterp_rate = 0x800E24F8; // type:func rom:0x7B9A8 record_jump_apex = 0x800E26B0; // type:func rom:0x7BB60 can_trigger_loading_zone = 0x800E26C4; // type:func rom:0x7BB74 move_player = 0x800E2778; // type:func rom:0x7BC28 @@ -2722,9 +2722,9 @@ gLogosImages = 0x800A0910; // rom:0x7BD10 gLogosImage3 = 0x800A0914; // rom:0x7BD14 gLogosImage1 = 0x800A0918; // rom:0x7BD18 gLogosImage2 = 0x800A091C; // rom:0x7BD1C -D_800A0920 = 0x800A0920; // rom:0x7BD20 -D_800A0921 = 0x800A0921; // rom:0x7BD21 -D_800A0922 = 0x800A0922; // rom:0x7BD22 +StepPauseDelay = 0x800A0920; // rom:0x7BD20 +StepPauseState = 0x800A0921; // rom:0x7BD21 +StepPauseAlpha = 0x800A0922; // rom:0x7BD22 SavedReverbMode = 0x800A0924; // rom:0x7BD24 D_800A0928 = 0x800A0928; // rom:0x7BD28 D_800A0930 = 0x800A0930; // rom:0x7BD30 @@ -2737,23 +2737,23 @@ gMapTransitionState = 0x800A0944; // rom:0x7BD44 gMapTransitionStateTime = 0x800A0946; // rom:0x7BD46 gLoadedFromFileSelect = 0x800A0948; // rom:0x7BD48 D_800A094C = 0x800A094C; // rom:0x7BD4C -D_800A0950 = 0x800A0950; // rom:0x7BD50 -D_800A0954 = 0x800A0954; // rom:0x7BD54 -D_800A0956 = 0x800A0956; // rom:0x7BD56 -D_800A0958 = 0x800A0958; // rom:0x7BD58 -D_800A095A = 0x800A095A; // rom:0x7BD5A -D_800A095C = 0x800A095C; // rom:0x7BD5C -D_800A095E = 0x800A095E; // rom:0x7BD5E -D_800A0960 = 0x800A0960; // rom:0x7BD60 +IntroEnableDrawFrameDelay = 0x800A0950; // rom:0x7BD50 +IntroOverlayAlpha = 0x800A0954; // rom:0x7BD54 +IntroFrontFadeAlpha = 0x800A0956; // rom:0x7BD56 +IntroOverlayDelta = 0x800A0958; // rom:0x7BD58 +IntroFadeColorR = 0x800A095A; // rom:0x7BD5A +IntroFadeColorG = 0x800A095C; // rom:0x7BD5C +IntroFadeColorB = 0x800A095E; // rom:0x7BD5E +IntroOverlayType = 0x800A0960; // rom:0x7BD60 D_800A0964 = 0x800A0964; // rom:0x7BD64 D_800A0968 = 0x800A0968; // rom:0x7BD68 -D_800A0970 = 0x800A0970; // rom:0x7BD70 +TitleScreen_AppearDelay = 0x800A0970; // rom:0x7BD70 TitleScreen_ImgList = 0x800A0974; // rom:0x7BD74 TitleScreen_ImgList_Logo = 0x800A0978; // rom:0x7BD78 TitleScreen_ImgList_Copyright = 0x800A097C; // rom:0x7BD7C TitleScreen_ImgList_PressStart = 0x800A0980; // rom:0x7BD80 D_800A0984 = 0x800A0984; // rom:0x7BD84 -D_800A0988 = 0x800A0988; // rom:0x7BD88 +TitleScreen_TimeLeft = 0x800A0988; // rom:0x7BD88 D_800A098C = 0x800A098C; // rom:0x7BD8C gWorldNpcList = 0x800A0990; // rom:0x7BD90 func_800E29C8 = 0x800E29C8; // type:func rom:0x7BE78 @@ -2770,7 +2770,7 @@ D_800A0BB4 = 0x800A0BB4; // rom:0x7BFB4 D_800A0BB8 = 0x800A0BB8; // rom:0x7BFB8 D_800A0BBC = 0x800A0BBC; // rom:0x7BFBC D_800A0BC0 = 0x800A0BC0; // rom:0x7BFC0 -func_800E2BB0 = 0x800E2BB0; // type:func rom:0x7C060 +handle_jumping_launch = 0x800E2BB0; // type:func rom:0x7C060 phys_update_jump = 0x800E2D18; // type:func rom:0x7C1C8 D_800A0F40 = 0x800A0F40; // rom:0x7C340 D_800A0F44 = 0x800A0F44; // rom:0x7C344 @@ -3765,31 +3765,31 @@ D_8010C928 = 0x8010C928; // rom:0xA5DD8 D_8010C92C = 0x8010C92C; // rom:0xA5DDC wPartnerNpc = 0x8010C930; // rom:0xA5DE0 TweesterTouchingPlayer = 0x8010C934; // rom:0xA5DE4 -D_8010C938 = 0x8010C938; // rom:0xA5DE8 +PlayerNormalYaw = 0x8010C938; // rom:0xA5DE8 ISpyNotificationCallback = 0x8010C93C; // rom:0xA5DEC TalkNotificationCallback = 0x8010C940; // rom:0xA5DF0 gSpinHistoryBufferPos = 0x8010C944; // rom:0xA5DF4 D_8010C948 = 0x8010C948; // rom:0xA5DF8 -D_8010C94C = 0x8010C94C; // rom:0xA5DFC +NpcHitQueryBehindRightY = 0x8010C94C; // rom:0xA5DFC D_8010C950 = 0x8010C950; // rom:0xA5E00 TweesterTouchingPartner = 0x8010C954; // rom:0xA5E04 InteractNotificationCallback = 0x8010C958; // rom:0xA5E08 PrevPlayerDirection = 0x8010C95C; // rom:0xA5E0C JumpedOnSwitchX = 0x8010C960; // rom:0xA5E10 D_8010C964 = 0x8010C964; // rom:0xA5E14 -D_8010C968 = 0x8010C968; // rom:0xA5E18 +NpcHitQueryBehindCollider = 0x8010C968; // rom:0xA5E18 PeachDisguiseNpcIndex = 0x8010C96C; // rom:0xA5E1C -D_8010C970 = 0x8010C970; // rom:0xA5E20 -D_8010C974 = 0x8010C974; // rom:0xA5E24 +NpcHitQueryAheadY = 0x8010C970; // rom:0xA5E20 +NpcHitQueryBehindLeftY = 0x8010C974; // rom:0xA5E24 NpcHitQueryColliderID = 0x8010C978; // rom:0xA5E28 JumpedOnSwitchZ = 0x8010C97C; // rom:0xA5E2C -D_8010C980 = 0x8010C980; // rom:0xA5E30 +PlayerRunStateTime = 0x8010C980; // rom:0xA5E30 D_8010C984 = 0x8010C984; // rom:0xA5E34 D_8010C988 = 0x8010C988; // rom:0xA5E38 -D_8010C98C = 0x8010C98C; // rom:0xA5E3C -D_8010C990 = 0x8010C990; // rom:0xA5E40 +NpcHitQueryAheadCollider = 0x8010C98C; // rom:0xA5E3C +PlayerNormalPitch = 0x8010C990; // rom:0xA5E40 D_8010C994 = 0x8010C994; // rom:0xA5E44 -D_8010C9A0 = 0x8010C9A0; // rom:0xA5E50 +PlayerYInterpUpdateDelay = 0x8010C9A0; // rom:0xA5E50 D_8010C9A4 = 0x8010C9A4; // rom:0xA5E54 D_8010C9B0 = 0x8010C9B0; // rom:0xA5E60 D_8010C9B4 = 0x8010C9B4; // rom:0xA5E64 @@ -4049,7 +4049,7 @@ get_animator_child_with_id = 0x8011E0DC; // type:func rom:0xB47DC get_animator_child_for_model = 0x8011E150; // type:func rom:0xB4850 free_animator_nodes = 0x8011E1C4; // type:func rom:0xB48C4 clear_animator_list = 0x8011E224; // type:func rom:0xB4924 -D_800D95E8 = 0x800D95E8; // rom:0xB49E8 +gSaveGlobals = 0x800D95E8; // rom:0xB49E8 reset_animator_list = 0x8011E310; // type:func rom:0xB4A10 D_800D9620 = 0x800D9620; // rom:0xB4A20 wMapBgName = 0x800D9668; // rom:0xB4A68 @@ -5151,7 +5151,7 @@ SetRenderMode = 0x802CA4F4; // type:func rom:0xEEEA4 PlaySoundAtModel = 0x802CA558; // type:func rom:0xEEF08 PlaySoundAtCollider = 0x802CA614; // type:func rom:0xEEFC4 SetCamEnabled = 0x802CA6C0; // type:func rom:0xEF070 -SetCamFlag80 = 0x802CA774; // type:func rom:0xEF124 +SetCamNoDraw = 0x802CA774; // type:func rom:0xEF124 SetCamPerspective = 0x802CA828; // type:func rom:0xEF1D8 gHudElementCacheTablePaletteBattle = 0x80158B80; // rom:0xEF280 func_802CA90C = 0x802CA90C; // type:func rom:0xEF2BC @@ -6445,9 +6445,9 @@ update_nonplayer_actor_shadows = 0x8023E404; // type:func rom:0x16CCE4 btl_update = 0x8023E438; // type:func rom:0x16CD18 btl_draw_ui = 0x8023EA7C; // type:func rom:0x16D35C btl_render_actors = 0x8023ED5C; // type:func rom:0x16D63C -blend_background_channel_COPY = 0x8023F060; // type:func rom:0x16D940 +blend_tattle_background_channel = 0x8023F060; // type:func rom:0x16D940 tattle_cam_pre_render = 0x8023F088; // type:func rom:0x16D968 -func_8023FF84 = 0x8023FF84; // type:func rom:0x16E864 +tattle_cam_post_render = 0x8023FF84; // type:func rom:0x16E864 btl_draw_enemy_health_bars = 0x8023FFA0; // type:func rom:0x16E880 btl_update_starpoints_display = 0x802403BC; // type:func rom:0x16EC9C btl_save_world_cameras = 0x802409F4; // type:func rom:0x16F2D4 @@ -6582,7 +6582,7 @@ func_8024FAE8 = 0x8024FAE8; // type:func rom:0x17E3C8 func_8024FAFC = 0x8024FAFC; // type:func rom:0x17E3DC close_action_command_instruction_popup = 0x8024FB0C; // type:func rom:0x17E3EC btl_update_message_popup = 0x8024FB3C; // type:func rom:0x17E41C -func_80250818 = 0x80250818; // type:func rom:0x17F0F8 +btl_message_popup_draw_content = 0x80250818; // type:func rom:0x17F0F8 btl_show_message_popup = 0x80250EA4; // type:func rom:0x17F784 ShowMessageBox = 0x802512B4; // type:func rom:0x17FB94 ShowVariableMessageBox = 0x8025130C; // type:func rom:0x17FBEC @@ -6626,7 +6626,7 @@ MultiplyVec2ByActorScale = 0x80254048; // type:func rom:0x182928 MultiplyVec3ByActorScale = 0x802540DC; // type:func rom:0x1829BC ApplyShrinkFromOwner = 0x80254198; // type:func rom:0x182A78 StartRumble = 0x80254218; // type:func rom:0x182AF8 -func_80254250 = 0x80254250; // type:func rom:0x182B30 +get_flash_damage_intensity = 0x80254250; // type:func rom:0x182B30 mtx_mirror_y = 0x80254288; // type:func rom:0x182B68 enable_actor_blur = 0x802542CC; // type:func rom:0x182BAC disable_actor_blur = 0x8025455C; // type:func rom:0x182E3C @@ -6663,11 +6663,11 @@ update_player_actor_shadow = 0x80257BAC; // type:func rom:0x18648C appendGfx_player_actor = 0x80257DA4; // type:func rom:0x186684 appendGfx_player_actor_reflection = 0x80258E14; // type:func rom:0x1876F4 render_with_adjusted_palettes = 0x802591EC; // type:func rom:0x187ACC -func_80259494 = 0x80259494; // type:func rom:0x187D74 -func_8025950C = 0x8025950C; // type:func rom:0x187DEC -func_802596C0 = 0x802596C0; // type:func rom:0x187FA0 -func_802597B0 = 0x802597B0; // type:func rom:0x188090 -func_8025995C = 0x8025995C; // type:func rom:0x18823C +make_flash_palettes = 0x80259494; // type:func rom:0x187D74 +func_unkA_draw_npc = 0x8025950C; // type:func rom:0x187DEC +func_unkB_draw_npc = 0x802596C0; // type:func rom:0x187FA0 +func_unkA_draw_player = 0x802597B0; // type:func rom:0x188090 +func_unkB_draw_player = 0x8025995C; // type:func rom:0x18823C render_without_adjusted_palettes = 0x80259A48; // type:func rom:0x188328 render_with_sleep_palettes = 0x80259AAC; // type:func rom:0x18838C render_with_static_palettes = 0x80259D9C; // type:func rom:0x18867C @@ -6680,38 +6680,38 @@ render_with_watt_attack_palettes = 0x8025B1A8; // type:func rom:0x189A88 render_with_player_debuff_palettes = 0x8025B5C0; // type:func rom:0x189EA0 render_with_pal_blending = 0x8025BAA0; // type:func rom:0x18A380 render_with_palset_blending = 0x8025C120; // type:func rom:0x18AA00 -func_8025C840 = 0x8025C840; // type:func rom:0x18B120 -func_8025C8A0 = 0x8025C8A0; // type:func rom:0x18B180 -func_8025C918 = 0x8025C918; // type:func rom:0x18B1F8 -func_8025CCC8 = 0x8025CCC8; // type:func rom:0x18B5A8 -func_8025CD28 = 0x8025CD28; // type:func rom:0x18B608 -func_8025CD40 = 0x8025CD40; // type:func rom:0x18B620 +update_part_glow = 0x8025C840; // type:func rom:0x18B120 +part_glow_off = 0x8025C8A0; // type:func rom:0x18B180 +part_glow_on = 0x8025C918; // type:func rom:0x18B1F8 +update_part_flash = 0x8025CCC8; // type:func rom:0x18B5A8 +part_flash_off = 0x8025CD28; // type:func rom:0x18B608 +part_flash_on = 0x8025CD40; // type:func rom:0x18B620 _add_part_decoration = 0x8025CEC8; // type:func rom:0x18B7A8 _remove_part_decoration = 0x8025D03C; // type:func rom:0x18B91C -func_8025D150 = 0x8025D150; // type:func rom:0x18BA30 -func_8025D158 = 0x8025D158; // type:func rom:0x18BA38 -func_8025D160 = 0x8025D160; // type:func rom:0x18BA40 -func_8025D290 = 0x8025D290; // type:func rom:0x18BB70 -func_8025D2B0 = 0x8025D2B0; // type:func rom:0x18BB90 -func_8025D3C4 = 0x8025D3C4; // type:func rom:0x18BCA4 -func_8025D3CC = 0x8025D3CC; // type:func rom:0x18BCAC -func_8025D4A0 = 0x8025D4A0; // type:func rom:0x18BD80 -func_8025D4C8 = 0x8025D4C8; // type:func rom:0x18BDA8 -func_8025D620 = 0x8025D620; // type:func rom:0x18BF00 -func_8025D640 = 0x8025D640; // type:func rom:0x18BF20 -func_8025D6FC = 0x8025D6FC; // type:func rom:0x18BFDC -func_8025D71C = 0x8025D71C; // type:func rom:0x18BFFC -func_8025D810 = 0x8025D810; // type:func rom:0x18C0F0 -func_8025D830 = 0x8025D830; // type:func rom:0x18C110 -func_8025D8EC = 0x8025D8EC; // type:func rom:0x18C1CC -func_8025D90C = 0x8025D90C; // type:func rom:0x18C1EC -func_8025DA60 = 0x8025DA60; // type:func rom:0x18C340 -func_8025DA68 = 0x8025DA68; // type:func rom:0x18C348 -func_8025DBC8 = 0x8025DBC8; // type:func rom:0x18C4A8 -func_8025DBD0 = 0x8025DBD0; // type:func rom:0x18C4B0 -func_8025DD40 = 0x8025DD40; // type:func rom:0x18C620 -func_8025DD60 = 0x8025DD60; // type:func rom:0x18C640 -func_8025DE88 = 0x8025DE88; // type:func rom:0x18C768 +add_part_decor_none = 0x8025D150; // type:func rom:0x18BA30 +remove_part_decor_none = 0x8025D158; // type:func rom:0x18BA38 +add_part_decor_golden_flames = 0x8025D160; // type:func rom:0x18BA40 +remove_part_decor_golden_flames = 0x8025D290; // type:func rom:0x18BB70 +add_part_decor_sweat = 0x8025D2B0; // type:func rom:0x18BB90 +remove_part_decor_sweat = 0x8025D3C4; // type:func rom:0x18BCA4 +add_part_decor_seeing_stars = 0x8025D3CC; // type:func rom:0x18BCAC +remove_part_decor_seeing_stars = 0x8025D4A0; // type:func rom:0x18BD80 +add_part_decor_red_flames = 0x8025D4C8; // type:func rom:0x18BDA8 +remove_part_decor_red_flames = 0x8025D620; // type:func rom:0x18BF00 +add_part_decor_smoky_trail = 0x8025D640; // type:func rom:0x18BF20 +remove_part_decor_smoky_trail = 0x8025D6FC; // type:func rom:0x18BFDC +add_part_decor_fiery_trail = 0x8025D71C; // type:func rom:0x18BFFC +remove_part_decor_fiery_trail = 0x8025D810; // type:func rom:0x18C0F0 +add_part_decor_whirlwind = 0x8025D830; // type:func rom:0x18C110 +remove_part_decor_whirlwind = 0x8025D8EC; // type:func rom:0x18C1CC +add_part_decor_steam = 0x8025D90C; // type:func rom:0x18C1EC +remove_part_decor_steam = 0x8025DA60; // type:func rom:0x18C340 +add_part_decor_sparkles = 0x8025DA68; // type:func rom:0x18C348 +remove_part_decor_sparkles = 0x8025DBC8; // type:func rom:0x18C4A8 +add_part_decor_bowser_aura = 0x8025DBD0; // type:func rom:0x18C4B0 +remove_part_decor_bowser_aura = 0x8025DD40; // type:func rom:0x18C620 +add_part_decor_radiating_stars = 0x8025DD60; // type:func rom:0x18C640 +remove_part_decor_radiating_stars = 0x8025DE88; // type:func rom:0x18C768 GetRemainingStarPointsReward = 0x8025DEB0; // type:func rom:0x18C790 GetStarPointDigitScripts = 0x8025DEC4; // type:func rom:0x18C7A4 AwaitBattleRewardsDone = 0x8025E030; // type:func rom:0x18C910 @@ -6749,22 +6749,22 @@ BattleFadeOutMerlee = 0x802616B4; // type:func rom:0x18FF94 BattleMerleeUpdateFX = 0x802616F4; // type:func rom:0x18FFD4 func_802619B4 = 0x802619B4; // type:func rom:0x190294 HasMerleeCastsLeft = 0x802619C8; // type:func rom:0x1902A8 -func_802619E8 = 0x802619E8; // type:func rom:0x1902C8 -func_80261B40 = 0x80261B40; // type:func rom:0x190420 -FXRecoverHP = 0x80261BA8; // type:func rom:0x190488 -FXRecoverFP = 0x80261C68; // type:func rom:0x190548 +SpawnTurnEndFX = 0x802619E8; // type:func rom:0x1902C8 +RemoveTurnEndFX = 0x80261B40; // type:func rom:0x190420 +SpawnRecoverHeartFX = 0x80261BA8; // type:func rom:0x190488 +SpawnRecoverFlowerFX = 0x80261C68; // type:func rom:0x190548 IncrementPlayerHP = 0x80261D28; // type:func rom:0x190608 IncrementPlayerFP = 0x80261D60; // type:func rom:0x190640 -func_80261D98 = 0x80261D98; // type:func rom:0x190678 +InflictDizzyAttackStatus = 0x80261D98; // type:func rom:0x190678 func_80261DD4 = 0x80261DD4; // type:func rom:0x1906B4 func_80261DF4 = 0x80261DF4; // type:func rom:0x1906D4 func_80261FB4 = 0x80261FB4; // type:func rom:0x190894 -func_802620F8 = 0x802620F8; // type:func rom:0x1909D8 +AbilityItemUnkDelay = 0x802620F8; // type:func rom:0x1909D8 func_80262130 = 0x80262130; // type:func rom:0x190A10 func_8026220C = 0x8026220C; // type:func rom:0x190AEC create_target_list = 0x80262240; // type:func rom:0x190B20 -player_create_target_list = 0x8026302C; // type:func rom:0x19190C -enemy_create_target_list = 0x80263048; // type:func rom:0x191928 +create_current_pos_target_list = 0x8026302C; // type:func rom:0x19190C +create_home_target_list = 0x80263048; // type:func rom:0x191928 func_80263064 = 0x80263064; // type:func rom:0x191944 func_80263230 = 0x80263230; // type:func rom:0x191B10 func_8026324C = 0x8026324C; // type:func rom:0x191B2C @@ -6780,9 +6780,9 @@ count_power_plus = 0x80263B10; // type:func rom:0x1923F0 deduct_current_move_fp = 0x80263BC8; // type:func rom:0x1924A8 reset_actor_turn_info = 0x80263C60; // type:func rom:0x192540 func_80263CC4 = 0x80263CC4; // type:func rom:0x1925A4 -set_animation = 0x80263CFC; // type:func rom:0x1925DC -func_80263E08 = 0x80263E08; // type:func rom:0x1926E8 -set_animation_rate = 0x80263EB8; // type:func rom:0x192798 +set_actor_anim = 0x80263CFC; // type:func rom:0x1925DC +set_actor_anim_by_ref = 0x80263E08; // type:func rom:0x1926E8 +set_actor_anim_rate = 0x80263EB8; // type:func rom:0x192798 set_actor_yaw = 0x80263F68; // type:func rom:0x192848 set_part_yaw = 0x80263F9C; // type:func rom:0x19287C set_part_flag_bits = 0x80263FE8; // type:func rom:0x1928C8 @@ -6819,14 +6819,14 @@ set_part_pal_adjustment = 0x80266D6C; // type:func rom:0x19564C set_actor_pal_adjustment = 0x80266DAC; // type:func rom:0x19568C clear_part_pal_adjustment = 0x80266E14; // type:func rom:0x1956F4 func_80266E40 = 0x80266E40; // type:func rom:0x195720 -func_80266EA8 = 0x80266EA8; // type:func rom:0x195788 -func_80266EE8 = 0x80266EE8; // type:func rom:0x1957C8 -func_80266F60 = 0x80266F60; // type:func rom:0x195840 -func_80266F8C = 0x80266F8C; // type:func rom:0x19586C -func_80266FD8 = 0x80266FD8; // type:func rom:0x1958B8 -func_80267018 = 0x80267018; // type:func rom:0x1958F8 -func_8026709C = 0x8026709C; // type:func rom:0x19597C -func_802670C8 = 0x802670C8; // type:func rom:0x1959A8 +set_part_pal_effect = 0x80266EA8; // type:func rom:0x195788 +set_actor_pal_effect = 0x80266EE8; // type:func rom:0x1957C8 +clear_part_pal_effect = 0x80266F60; // type:func rom:0x195840 +clear_actor_pal_effect = 0x80266F8C; // type:func rom:0x19586C +set_part_flash_mode = 0x80266FD8; // type:func rom:0x1958B8 +set_actor_flash_mode = 0x80267018; // type:func rom:0x1958F8 +clear_part_flash_mode = 0x8026709C; // type:func rom:0x19597C +clear_actor_flash_mode = 0x802670C8; // type:func rom:0x1959A8 add_part_decoration = 0x80267114; // type:func rom:0x1959F4 add_actor_decoration = 0x80267190; // type:func rom:0x195A70 remove_part_decoration = 0x80267218; // type:func rom:0x195AF8 @@ -6905,7 +6905,7 @@ SetIdleGoalToHome = 0x80269F2C; // type:func rom:0x19880C SetGoalToIndex = 0x80269F94; // type:func rom:0x198874 GetIndexFromPos = 0x8026A05C; // type:func rom:0x19893C GetIndexFromHome = 0x8026A0D4; // type:func rom:0x1989B4 -CountPlayerTargets = 0x8026A14C; // type:func rom:0x198A2C +CountTargets = 0x8026A14C; // type:func rom:0x198A2C ForceHomePos = 0x8026A1EC; // type:func rom:0x198ACC SetHomePos = 0x8026A2D0; // type:func rom:0x198BB0 SetGoalToTarget = 0x8026A3A8; // type:func rom:0x198C88 @@ -7002,8 +7002,8 @@ SetBattleState = 0x8026E16C; // type:func rom:0x19CA4C WaitForState = 0x8026E198; // type:func rom:0x19CA78 CancelEnemyTurn = 0x8026E208; // type:func rom:0x19CAE8 func_8026E260 = 0x8026E260; // type:func rom:0x19CB40 -PlayerCreateTargetList = 0x8026E2CC; // type:func rom:0x19CBAC -EnemyCreateTargetList = 0x8026E310; // type:func rom:0x19CBF0 +CreateCurrentPosTargetList = 0x8026E2CC; // type:func rom:0x19CBAC +CreateHomeTargetList = 0x8026E310; // type:func rom:0x19CBF0 InitTargetIterator = 0x8026E354; // type:func rom:0x19CC34 SetOwnerTarget = 0x8026E3A8; // type:func rom:0x19CC88 ChooseNextTarget = 0x8026E414; // type:func rom:0x19CCF4 @@ -7079,7 +7079,7 @@ ForceDisablePlayerBlurImmediately = 0x802749F8; // type:func rom:0x1A32D8 func_80274A18 = 0x80274A18; // type:func rom:0x1A32F8 func_802752AC = 0x802752AC; // type:func rom:0x1A3B8C func_80275F00 = 0x80275F00; // type:func rom:0x1A47E0 -DidActionSucceed = 0x80276EB4; // type:func rom:0x1A5794 +GetPlayerActionSuccess = 0x80276EB4; // type:func rom:0x1A5794 PlayerYieldTurn = 0x80276EFC; // type:func rom:0x1A57DC DispatchEventPlayer = 0x80276F1C; // type:func rom:0x1A57FC has_enchanted_part = 0x80276F50; // type:func rom:0x1A5830 @@ -7167,7 +7167,7 @@ PartnerPowerBounceEnemy = 0x80280270; // type:func rom:0x1AEB50 PartnerTestEnemy = 0x802804D0; // type:func rom:0x1AEDB0 func_8028070C = 0x8028070C; // type:func rom:0x1AEFEC DeletePartner = 0x802807A8; // type:func rom:0x1AF088 -GetActionCommandResult = 0x802807D0; // type:func rom:0x1AF0B0 +GetPartnerActionSuccess = 0x802807D0; // type:func rom:0x1AF0B0 PartnerYieldTurn = 0x80280818; // type:func rom:0x1AF0F8 GetDamageIntensity = 0x80280840; // type:func rom:0x1AF120 AddEffectOffset = 0x80280880; // type:func rom:0x1AF160 @@ -7199,7 +7199,7 @@ CamPreset_K = 0x80280E1C; // rom:0x1AF6FC CamPreset_L = 0x80280E38; // rom:0x1AF718 CamPreset_A = 0x80280E54; // rom:0x1AF734 EVS_OnBattleInit = 0x80280EB8; // rom:0x1AF798 -D_80280FC0 = 0x80280FC0; // rom:0x1AF8A0 +bPlayerCelebrations = 0x80280FC0; // rom:0x1AF8A0 bActorNames = 0x80281104; // rom:0x1AF9E4 bActorsIgnoreDuringCount = 0x80281454; // rom:0x1AFD34 bActorSoundTable = 0x80281468; // rom:0x1AFD48 size:0x1730 @@ -7212,15 +7212,15 @@ bMarioDefenseTable = 0x80283420; // rom:0x1B1D00 bPlayerStatusTable = 0x8028342C; // rom:0x1B1D0C bPlayerActorBlueprint = 0x802834D8; // rom:0x1B1DB8 bMarioParts = 0x80283500; // rom:0x1B1DE0 -btl_actorHomePositions = 0x80283524; // rom:0x1B1E04 +StandardActorHomePositions = 0x80283524; // rom:0x1B1E04 D_8028358C = 0x8028358C; // rom:0x1B1E6C -bMsgHeights = 0x802835D0; // rom:0x1B1EB0 -D_802835D4 = 0x802835D4; // rom:0x1B1EB4 -D_802835D8 = 0x802835D8; // rom:0x1B1EB8 +BattleMessage_BoxSizesY = 0x802835D0; // rom:0x1B1EB0 +BattleMessage_TextOffsetsY = 0x802835D4; // rom:0x1B1EB4 +BattleMessage_BoxOffsetsY = 0x802835D8; // rom:0x1B1EB8 D_802835DC = 0x802835DC; // rom:0x1B1EBC D_80283690 = 0x80283690; // rom:0x1B1F70 -bBonkModelScripts = 0x80283744; // rom:0x1B2024 -bMessages = 0x80283770; // rom:0x1B2050 +BonkModelScripts = 0x80283744; // rom:0x1B2024 +BattleMessages = 0x80283770; // rom:0x1B2050 bActorMessages = 0x802838C4; // rom:0x1B21A4 bPopupMessage = 0x802838F8; // rom:0x1B21D8 ui_battle_cursor_hand_png = 0x80283900; // rom:0x1B21E0 @@ -9070,7 +9070,7 @@ battle_menu_DoNothingHudScripts = 0x802AB480; // rom:0x420210 battle_menu_FleeHudScripts = 0x802AB488; // rom:0x420218 BattleMenu_LeftJustMessages = 0x802AB490; // rom:0x420220 BattleMenu_CenteredMessages = 0x802AB4C0; // rom:0x420250 -D_802AB4F0 = 0x802AB4F0; // rom:0x420280 +BattleMenu_CategoryForSubmenu = 0x802AB4F0; // rom:0x420280 BattleMenu_PartnerThinkAnims = 0x802AB520; // rom:0x4202B0 BattleMenu_PartnerIdleAnims = 0x802AB558; // rom:0x4202E8 battle_menu_PartnerMoveHudScripts = 0x802AB590; // rom:0x420320 @@ -16081,8 +16081,8 @@ kmr_03_ChangeNpcToPartner = 0x80240000; // type:func rom:0x8C7F90 kmr_03_CheckPartnerFlags1000 = 0x80240184; // type:func rom:0x8C8114 kmr_03_func_802401B0_8C8140 = 0x802401B0; // type:func rom:0x8C8140 kmr_03_CheckPositionRelativeToPlane = 0x80240218; // type:func rom:0x8C81A8 -kmr_03_UnsetCamera0MoveFlag1 = 0x80240320; // type:func rom:0x8C82B0 -kmr_03_SetCamera0MoveFlag1 = 0x8024033C; // type:func rom:0x8C82CC +kmr_03_EnableCameraFollowPlayerY = 0x80240320; // type:func rom:0x8C82B0 +kmr_03_DisableCameraFollowPlayerY = 0x8024033C; // type:func rom:0x8C82CC func_80240358_8C82E8 = 0x80240358; // type:func rom:0x8C82E8 kmr_03_foliage_setup_shear_mtx = 0x80240410; // type:func rom:0x8C83A0 kmr_03_TransformFoliage = 0x80240480; // type:func rom:0x8C8410 @@ -16272,7 +16272,7 @@ InitDiary = 0x80240B48; // type:func rom:0x8EC968 ReadDiary = 0x80240B54; // type:func rom:0x8EC974 func_80240DA4_8ECBC4 = 0x80240DA4; // type:func rom:0x8ECBC4 func_80240DD0_8ECBF0 = 0x80240DD0; // type:func rom:0x8ECBF0 -kmr_20_UnsetCamera0MoveFlag1 = 0x80240DF8; // type:func rom:0x8ECC18 +kmr_20_EnableCameraFollowPlayerY = 0x80240DF8; // type:func rom:0x8ECC18 dup_kmr_20_foliage_setup_shear_mtx = 0x80240E20; // type:func rom:0x8ECC40 dup_kmr_20_TransformFoliage = 0x80240E90; // type:func rom:0x8ECCB0 dup2_kmr_20_foliage_setup_shear_mtx = 0x80241060; // type:func rom:0x8ECE80 @@ -17798,8 +17798,8 @@ D_80245D60_9FA7A0 = 0x80245D60; // rom:0x9FA7A0 UpdateEnounterStages = 0x80240000; // type:func rom:0x9FA7F0 func_80240180_9FA970 = 0x80240180; // type:func rom:0x9FA970 nok_12_SetEntityPosition = 0x80240224; // type:func rom:0x9FAA14 -nok_12_SetCamera0Flag1000 = 0x802402F0; // type:func rom:0x9FAAE0 -nok_12_UnsetCamera0Flag1000 = 0x8024030C; // type:func rom:0x9FAAFC +nok_12_DisableCameraLeadingPlayer = 0x802402F0; // type:func rom:0x9FAAE0 +nok_12_EnableCameraLeadingPlayer = 0x8024030C; // type:func rom:0x9FAAFC nok_12_foliage_setup_shear_mtx = 0x80240330; // type:func rom:0x9FAB20 nok_12_TransformFoliage = 0x802403A0; // type:func rom:0x9FAB90 nok_12_set_script_owner_npc_anim = 0x80240570; // type:func rom:0x9FAD60 @@ -17841,8 +17841,8 @@ nok_13_musical_hill_orbit_listener = 0x802413CC; // type:func rom:0xA019CC D_80242134_A02734 = 0x80242134; // rom:0xA02734 D_802421D0_A027D0 = 0x802421D0; // rom:0xA027D0 UpdateEnounterStages = 0x80240000; // type:func rom:0xA02840 -nok_14_SetCamera0Flag1000 = 0x80240180; // type:func rom:0xA029C0 -nok_14_UnsetCamera0Flag1000 = 0x8024019C; // type:func rom:0xA029DC +nok_14_DisableCameraLeadingPlayer = 0x80240180; // type:func rom:0xA029C0 +nok_14_EnableCameraLeadingPlayer = 0x8024019C; // type:func rom:0xA029DC nok_14_set_script_owner_npc_anim = 0x802401C0; // type:func rom:0xA02A00 nok_14_UnkDistFunc = 0x8024023C; // type:func rom:0xA02A7C nok_14_UnkNpcAIFunc12 = 0x80240370; // type:func rom:0xA02BB0 @@ -17915,7 +17915,7 @@ hos_00_EnableActionCommands = 0x80240908; // type:func rom:0xA0C5F8 func_8024091C_A0C60C = 0x8024091C; // type:func rom:0xA0C60C func_80240994_A0C684 = 0x80240994; // type:func rom:0xA0C684 func_80240A54_A0C744 = 0x80240A54; // type:func rom:0xA0C744 -hos_00_SetCamera0Flag1000 = 0x80240B20; // type:func rom:0xA0C810 +hos_00_DisableCameraLeadingPlayer = 0x80240B20; // type:func rom:0xA0C810 func_80240B3C_A0C82C = 0x80240B3C; // type:func rom:0xA0C82C func_80240C40_A0C930 = 0x80240C40; // type:func rom:0xA0C930 hos_00_varStash = 0x80242970; // rom:0xA0E660 @@ -17941,7 +17941,7 @@ func_80240C34_A114B4 = 0x80240C34; // type:func rom:0xA114B4 func_80240C84_A11504 = 0x80240C84; // type:func rom:0xA11504 hos_01_SwitchToPartner = 0x80240CB0; // type:func rom:0xA11530 func_80240CDC_A1155C = 0x80240CDC; // type:func rom:0xA1155C -hos_01_UnsetCamera0MoveFlag1 = 0x80240DD0; // type:func rom:0xA11650 +hos_01_EnableCameraFollowPlayerY = 0x80240DD0; // type:func rom:0xA11650 hos_01_dup_GetFloorCollider = 0x80240DEC; // type:func rom:0xA1166C D_80241C2C_A124AC = 0x80241C2C; // rom:0xA124AC D_80241C30_A124B0 = 0x80241C30; // rom:0xA124B0 @@ -18372,7 +18372,7 @@ D_80243920_A4BEE0 = 0x80243920; // rom:0xA4BEE0 D_80243928_A4BEE8 = 0x80243928; // rom:0xA4BEE8 kpa_04_UnkFunc11 = 0x80240000; // type:func rom:0xA4BF60 func_802400BC_A4C01C = 0x802400BC; // type:func rom:0xA4C01C -kpa_08_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xA4CA20 +kpa_08_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xA4CA20 func_8024001C_A4CA3C = 0x8024001C; // type:func rom:0xA4CA3C kpa_08_MagikoopaAI_CanShootSpell = 0x802400A0; // type:func rom:0xA4CAC0 kpa_08_MagikoopaAI_SpellMain = 0x80240270; // type:func rom:0xA4CC90 @@ -18402,7 +18402,7 @@ D_80242538_A4EF58 = 0x80242538; // rom:0xA4EF58 D_80242558_A4EF78 = 0x80242558; // rom:0xA4EF78 D_80242560_A4EF80 = 0x80242560; // rom:0xA4EF80 D_80242568_A4EF88 = 0x80242568; // rom:0xA4EF88 -kpa_09_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xA4F000 +kpa_09_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xA4F000 func_8024001C_A4F01C = 0x8024001C; // type:func rom:0xA4F01C kpa_09_ProjectileHitbox_GetUsableProjectileID = 0x802400A0; // type:func rom:0xA4F0A0 kpa_09_UnkNpcAIFunc48 = 0x80240290; // type:func rom:0xA4F290 @@ -19195,8 +19195,8 @@ jan_01_HoppingAI_ChaseInit = 0x80240B0C; // type:func rom:0xB28B3C jan_01_HoppingAI_Chase = 0x80240BEC; // type:func rom:0xB28C1C jan_01_HoppingAI_LosePlayer = 0x80240EEC; // type:func rom:0xB28F1C jan_01_HoppingAI_Main = 0x80240F30; // type:func rom:0xB28F60 -jan_01_SetCamera0Flag1000 = 0x80241154; // type:func rom:0xB29184 -jan_01_UnsetCamera0Flag1000 = 0x80241170; // type:func rom:0xB291A0 +jan_01_DisableCameraLeadingPlayer = 0x80241154; // type:func rom:0xB29184 +jan_01_EnableCameraLeadingPlayer = 0x80241170; // type:func rom:0xB291A0 jan_01_foliage_setup_shear_mtx = 0x80241190; // type:func rom:0xB291C0 jan_01_TransformFoliage = 0x80241200; // type:func rom:0xB29230 D_802443F0_B2C420 = 0x802443F0; // rom:0xB2C420 @@ -19606,8 +19606,8 @@ jan_22_PatrolNoAttackAI_15 = 0x80240AD4; // type:func rom:0xB84C54 jan_22_PatrolNoAttackAI_Main = 0x80240B94; // type:func rom:0xB84D14 jan_22_StashVars = 0x80240E90; // type:func rom:0xB85010 jan_22_GetItemName = 0x80240F44; // type:func rom:0xB850C4 -jan_22_SetCamera0Flag1000 = 0x80240FA8; // type:func rom:0xB85128 -jan_22_UnsetCamera0Flag1000 = 0x80240FC4; // type:func rom:0xB85144 +jan_22_DisableCameraLeadingPlayer = 0x80240FA8; // type:func rom:0xB85128 +jan_22_EnableCameraLeadingPlayer = 0x80240FC4; // type:func rom:0xB85144 UpgradeStarPowerCh5 = 0x80240FE0; // type:func rom:0xB85160 func_80241020_B851A0 = 0x80241020; // type:func rom:0xB851A0 func_802410C4_B85244 = 0x802410C4; // type:func rom:0xB85244 @@ -19839,8 +19839,8 @@ mim_12_InterpFogDistance = 0x802400CC; // type:func rom:0xBBB44C mim_12_InterpBackgroundDarkness = 0x8024019C; // type:func rom:0xBBB51C 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 +obk_01_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xBBD1A0 +obk_01_DisableCameraFollowPlayerY = 0x8024001C; // type:func rom:0xBBD1BC obk_01_SetCameraVFOV = 0x80240038; // type:func rom:0xBBD1D8 obk_01_CheckForAPress = 0x8024007C; // type:func rom:0xBBD21C obk_01_UpdateChandelier = 0x80240098; // type:func rom:0xBBD238 @@ -19908,8 +19908,8 @@ 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; // rom:0xBCB870 -obk_05_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xBCD060 -obk_05_SetCamera0MoveFlag1 = 0x8024001C; // type:func rom:0xBCD07C +obk_05_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xBCD060 +obk_05_DisableCameraFollowPlayerY = 0x8024001C; // type:func rom:0xBCD07C obk_05_RetroJar_AwaitPlayerEntry = 0x80240038; // type:func rom:0xBCD098 obk_05_UpdateRockingChair = 0x80240050; // type:func rom:0xBCD0B0 obk_05_AwaitPlayerEnterHole = 0x80240770; // type:func rom:0xBCD7D0 @@ -22020,8 +22020,8 @@ kzn_03_LetterDelivery_Init = 0x80242A08; // type:func rom:0xC63718 kzn_03_LetterDelivery_CalcLetterPos = 0x80242AF8; // type:func rom:0xC63808 kzn_03_LetterDelivery_SaveNpcAnim = 0x80242C84; // type:func rom:0xC63994 kzn_03_LetterDelivery_RestoreNpcAnim = 0x80242CC8; // type:func rom:0xC639D8 -kzn_03_UnsetCamera0MoveFlag1 = 0x80242D00; // type:func rom:0xC63A10 -kzn_03_SetCamera0MoveFlag1 = 0x80242D1C; // type:func rom:0xC63A2C +kzn_03_EnableCameraFollowPlayerY = 0x80242D00; // type:func rom:0xC63A10 +kzn_03_DisableCameraFollowPlayerY = 0x80242D1C; // type:func rom:0xC63A2C kzn_03_func_80242D38_C63A48 = 0x80242D38; // type:func rom:0xC63A48 kzn_03_Zipline_AdjustMoveDownSound = 0x80242DB0; // type:func rom:0xC63AC0 kzn_03_Zipline_AdjustMoveUpSound = 0x80242E54; // type:func rom:0xC63B64 @@ -22339,8 +22339,8 @@ D_802465E8_C8C098 = 0x802465E8; // rom:0xC8C098 kzn_18_get_tattle = 0x80240000; // type:func rom:0xC8C0A0 kzn_18_UpdateTexturePanSmooth = 0x80240040; // type:func rom:0xC8C0E0 kzn_18_UpdateTexturePanStepped = 0x80240164; // type:func rom:0xC8C204 -kzn_18_SetCamera0Flag1000 = 0x80240350; // type:func rom:0xC8C3F0 -kzn_18_UnsetCamera0Flag1000 = 0x8024036C; // type:func rom:0xC8C40C +kzn_18_DisableCameraLeadingPlayer = 0x80240350; // type:func rom:0xC8C3F0 +kzn_18_EnableCameraLeadingPlayer = 0x8024036C; // type:func rom:0xC8C40C kzn_18_GetFloorCollider = 0x80240388; // type:func rom:0xC8C428 kzn_19_UpdateTexturePanSmooth = 0x80240000; // type:func rom:0xC8DBB0 kzn_19_UpdateTexturePanStepped = 0x80240124; // type:func rom:0xC8DCD4 @@ -22406,7 +22406,7 @@ kzn_23_UpdateTexturePanStepped = 0x80240124; // type:func rom:0xC9C424 kzn_23_SetEntityPositionF = 0x80240310; // type:func rom:0xC9C610 kzn_23_GetEntityPosition = 0x802403D8; // type:func rom:0xC9C6D8 kzn_23_SetPyroclastPos = 0x80240478; // type:func rom:0xC9C778 -kzn_23_UnsetCamera0MoveFlag1 = 0x80240504; // type:func rom:0xC9C804 +kzn_23_EnableCameraFollowPlayerY = 0x80240504; // type:func rom:0xC9C804 kzn_23_AnimateChestSize = 0x80240520; // type:func rom:0xC9C820 D_80241C10_C9DF10 = 0x80241C10; // rom:0xC9DF10 flo_00_func_80240000_C9DF20 = 0x80240000; // type:func rom:0xC9DF20 @@ -23322,7 +23322,7 @@ flo_21_UpdateTexturePanSmooth = 0x802407F4; // type:func rom:0xCE6EF4 flo_21_UpdateTexturePanStepped = 0x80240918; // type:func rom:0xCE7018 flo_21_SpawnSunEffect = 0x80240B00; // type:func rom:0xCE7200 flo_21_CosInterpMinMax = 0x80240B40; // type:func rom:0xCE7240 -flo_21_UnsetCamera0MoveFlag1 = 0x80240CD0; // type:func rom:0xCE73D0 +flo_21_EnableCameraFollowPlayerY = 0x80240CD0; // type:func rom:0xCE73D0 flo_21_entryList = 0x80240CF0; // rom:0xCE73F0 flo_21_settings = 0x80240D00; // rom:0xCE7400 flo_21_80240D40 = 0x80240D40; // rom:0xCE7440 @@ -23739,7 +23739,7 @@ func_80240000_D2BD30 = 0x80240000; // type:func rom:0xD2BD30 sam_07_SetEntityPositionF = 0x80240448; // type:func rom:0xD2C178 sam_07_GetEntityPosition = 0x80240510; // type:func rom:0xD2C240 func_802405B0_D2C2E0 = 0x802405B0; // type:func rom:0xD2C2E0 -sam_07_UnsetCamera0MoveFlag1 = 0x80240634; // type:func rom:0xD2C364 +sam_07_EnableCameraFollowPlayerY = 0x80240634; // type:func rom:0xD2C364 sam_07_MeleeHitbox_30 = 0x80240650; // type:func rom:0xD2C380 sam_07_MeleeHitbox_31 = 0x802406BC; // type:func rom:0xD2C3EC sam_07_MeleeHitbox_32 = 0x8024072C; // type:func rom:0xD2C45C @@ -23827,8 +23827,8 @@ func_80240360_D3A930 = 0x80240360; // type:func rom:0xD3A930 func_8024052C_D3AAFC = 0x8024052C; // type:func rom:0xD3AAFC dup_sam_11_Set80151310_2 = 0x80240540; // type:func rom:0xD3AB10 dup_sam_11_Set80151310_0 = 0x80240554; // type:func rom:0xD3AB24 -sam_11_UnsetCamera0MoveFlag1 = 0x80240564; // type:func rom:0xD3AB34 -sam_11_SetCamera0MoveFlag1 = 0x80240580; // type:func rom:0xD3AB50 +sam_11_EnableCameraFollowPlayerY = 0x80240564; // type:func rom:0xD3AB34 +sam_11_DisableCameraFollowPlayerY = 0x80240580; // type:func rom:0xD3AB50 func_8024059C_D3AB6C = 0x8024059C; // type:func rom:0xD3AB6C func_8024072C_D3ACFC = 0x8024072C; // type:func rom:0xD3ACFC func_80240754_D3AD24 = 0x80240754; // type:func rom:0xD3AD24 @@ -24516,8 +24516,8 @@ func_80240844_D9B734 = 0x80240844; // type:func rom:0xD9B734 func_802409A8_D9B898 = 0x802409A8; // type:func rom:0xD9B898 omo_01_AvoidPlayerAI_Main = 0x802409EC; // type:func rom:0xD9B8DC D_802412A0_D9C190 = 0x802412A0; // rom:0xD9C190 -omo_02_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xD9D4D0 -omo_02_SetCamera0MoveFlag1 = 0x8024001C; // type:func rom:0xD9D4EC +omo_02_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xD9D4D0 +omo_02_DisableCameraFollowPlayerY = 0x8024001C; // type:func rom:0xD9D4EC func_80240040_D9D510 = 0x80240040; // type:func rom:0xD9D510 func_802402C0_D9D790 = 0x802402C0; // type:func rom:0xD9D790 func_8024043C_D9D90C = 0x8024043C; // type:func rom:0xD9D90C @@ -24560,8 +24560,8 @@ D_80247BC0_DA5090 = 0x80247BC0; // rom:0xDA5090 D_80247BC8_DA5098 = 0x80247BC8; // rom:0xDA5098 D_80247BD0_DA50A0 = 0x80247BD0; // rom:0xDA50A0 D_80247BD8_DA50A8 = 0x80247BD8; // rom:0xDA50A8 -omo_03_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xDA5240 -dup_omo_03_UnsetCamera0MoveFlag1 = 0x80240020; // type:func rom:0xDA5260 +omo_03_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xDA5240 +dup_omo_03_EnableCameraFollowPlayerY = 0x80240020; // type:func rom:0xDA5260 omo_03_SetAngleClamped = 0x8024003C; // type:func rom:0xDA527C omo_03_CompareFloats = 0x80240104; // type:func rom:0xDA5344 omo_03_AdvanceBuffer = 0x80240188; // type:func rom:0xDA53C8 @@ -24575,8 +24575,8 @@ omo_04_StashVars = 0x80240000; // type:func rom:0xDAD400 omo_04_GetItemName = 0x802400B4; // type:func rom:0xDAD4B4 omo_04_SomeItemEntityFunc = 0x80240118; // type:func rom:0xDAD518 omo_04_IsItemBadge = 0x80240268; // type:func rom:0xDAD668 -omo_04_UnsetCamera0MoveFlag1 = 0x802402BC; // type:func rom:0xDAD6BC -omo_04_SetCamera0MoveFlag1 = 0x802402D8; // type:func rom:0xDAD6D8 +omo_04_EnableCameraFollowPlayerY = 0x802402BC; // type:func rom:0xDAD6BC +omo_04_DisableCameraFollowPlayerY = 0x802402D8; // type:func rom:0xDAD6D8 func_802402F4_DAD6F4 = 0x802402F4; // type:func rom:0xDAD6F4 omo_04_FlyingAI_WanderInit = 0x802403A0; // type:func rom:0xDAD7A0 omo_04_FlyingAI_Wander = 0x80240550; // type:func rom:0xDAD950 @@ -24594,8 +24594,8 @@ omo_04_ShyGuyWanderAI_15 = 0x80241908; // type:func rom:0xDAED08 omo_04_ShyGuyWanderAI_16 = 0x802419D8; // type:func rom:0xDAEDD8 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_DisableCameraLeadingPlayer = 0x80241E04; // type:func rom:0xDAF204 +omo_04_EnableCameraLeadingPlayer = 0x80241E20; // type:func rom:0xDAF220 omo_04_GetKammyBroomEmitterPos = 0x80241E40; // type:func rom:0xDAF240 omo_04_varStash = 0x80242630; // rom:0xDAFA30 omo_04_FlyingAI_JumpVels = 0x80242EF0; // rom:0xDB02F0 @@ -24643,7 +24643,7 @@ D_802455F0_DB78B0 = 0x802455F0; // rom:0xDB78B0 D_802455F8_DB78B8 = 0x802455F8; // rom:0xDB78B8 D_80245600_DB78C0 = 0x80245600; // rom:0xDB78C0 D_80245648_DB7908 = 0x80245648; // rom:0xDB7908 -omo_06_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xDB7910 +omo_06_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xDB7910 omo_06_SetAngleClamped = 0x8024001C; // type:func rom:0xDB792C omo_06_CompareFloats = 0x802400E4; // type:func rom:0xDB79F4 omo_06_AdvanceBuffer = 0x80240168; // type:func rom:0xDB7A78 @@ -24691,15 +24691,15 @@ omo_07_FlyingAI_Chase = 0x8024276C; // type:func rom:0xDBFA1C omo_07_FlyingAI_LosePlayer = 0x802427D0; // type:func rom:0xDBFA80 omo_07_FlyingAI_Init = 0x80242B60; // type:func rom:0xDBFE10 omo_07_FlyingAI_Main = 0x80242C84; // type:func rom:0xDBFF34 -omo_07_SetCamera0Flag1000 = 0x80242E70; // type:func rom:0xDC0120 -omo_07_UnsetCamera0Flag1000 = 0x80242E8C; // type:func rom:0xDC013C +omo_07_DisableCameraLeadingPlayer = 0x80242E70; // type:func rom:0xDC0120 +omo_07_EnableCameraLeadingPlayer = 0x80242E8C; // type:func rom:0xDC013C omo_07_SetShyGuyPoolState = 0x80242EA8; // type:func rom:0xDC0158 omo_07_StashVars = 0x80242F20; // type:func rom:0xDC01D0 omo_07_GetItemName = 0x80242FD4; // type:func rom:0xDC0284 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_EnableCameraFollowPlayerY = 0x802431DC; // type:func rom:0xDC048C +omo_07_DisableCameraFollowPlayerY = 0x802431F8; // type:func rom:0xDC04A8 omo_07_GetKammyBroomEmitterPos = 0x80243220; // type:func rom:0xDC04D0 omo_07_FlyingAI_JumpVels = 0x80243A14; // rom:0xDC0CC4 omo_07_varStash = 0x80245E00; // rom:0xDC30B0 @@ -24712,7 +24712,7 @@ D_80246F18_DC41C8 = 0x80246F18; // rom:0xDC41C8 D_802470B0_DC4360 = 0x802470B0; // rom:0xDC4360 D_802470B8_DC4368 = 0x802470B8; // rom:0xDC4368 D_802470C0_DC4370 = 0x802470C0; // rom:0xDC4370 -omo_08_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xDC43D0 +omo_08_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xDC43D0 omo_08_SetAngleClamped = 0x8024001C; // type:func rom:0xDC43EC omo_08_CompareFloats = 0x802400E4; // type:func rom:0xDC44B4 omo_08_AdvanceBuffer = 0x80240168; // type:func rom:0xDC4538 @@ -24773,8 +24773,8 @@ omo_09_RangedAttackAI_Main = 0x8024324C; // type:func rom:0xDCFF1C omo_09_SetInstigatorValue_3 = 0x8024356C; // type:func rom:0xDD023C omo_09_GetEncounterEnemyIsOwner = 0x80243580; // type:func rom:0xDD0250 dup_omo_09_SetInstigatorValue_3 = 0x802435B8; // type:func rom:0xDD0288 -omo_09_SetCamera0Flag1000 = 0x802435CC; // type:func rom:0xDD029C -omo_09_UnsetCamera0Flag1000 = 0x802435E8; // type:func rom:0xDD02B8 +omo_09_DisableCameraLeadingPlayer = 0x802435CC; // type:func rom:0xDD029C +omo_09_EnableCameraLeadingPlayer = 0x802435E8; // type:func rom:0xDD02B8 omo_09_GetKammyBroomEmitterPos = 0x80243610; // type:func rom:0xDD02E0 D_80243A80_DD0750 = 0x80243A80; // rom:0xDD0750 D_80243A90_DD0760 = 0x80243A90; // rom:0xDD0760 @@ -24792,7 +24792,7 @@ D_8024AB18_DD77E8 = 0x8024AB18; // rom:0xDD77E8 D_8024AB20_DD77F0 = 0x8024AB20; // rom:0xDD77F0 D_8024AB28_DD77F8 = 0x8024AB28; // rom:0xDD77F8 D_8024AB30_DD7800 = 0x8024AB30; // rom:0xDD7800 -omo_10_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xDD79B0 +omo_10_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xDD79B0 omo_10_SetAngleClamped = 0x8024001C; // type:func rom:0xDD79CC omo_10_CompareFloats = 0x802400E4; // type:func rom:0xDD7A94 omo_10_AdvanceBuffer = 0x80240168; // type:func rom:0xDD7B18 @@ -24831,8 +24831,8 @@ omo_11_SuperBlock_UpgradeDescMessages = 0x80241E58; // rom:0xDDE688 omo_11_SuperBlock_UpgradeOrbAngles = 0x80241E98; // rom:0xDDE6C8 omo_12_ChangeNpcToPartner = 0x80240000; // type:func rom:0xDDF310 omo_12_DarkRoomUpdate = 0x80240184; // type:func rom:0xDDF494 -omo_12_SetCamera0Flag1000 = 0x802402DC; // type:func rom:0xDDF5EC -omo_12_UnsetCamera0Flag1000 = 0x802402F8; // type:func rom:0xDDF608 +omo_12_DisableCameraLeadingPlayer = 0x802402DC; // type:func rom:0xDDF5EC +omo_12_EnableCameraLeadingPlayer = 0x802402F8; // type:func rom:0xDDF608 func_80240314_DDF624 = 0x80240314; // type:func rom:0xDDF624 SetLightOff = 0x802403D8; // type:func rom:0xDDF6E8 omo_12_LoadPartyImage = 0x80240420; // type:func rom:0xDDF730 @@ -24875,7 +24875,7 @@ omo_15_StarSpiritEffectFunc3 = 0x802401AC; // type:func rom:0xDE891C omo_15_StarSpiritEffectFunc4 = 0x802405BC; // type:func rom:0xDE8D2C omo_15_StarSpiritEffectFunc5 = 0x802405FC; // type:func rom:0xDE8D6C omo_15_StarSpiritEffectFunc6 = 0x80240708; // type:func rom:0xDE8E78 -omo_16_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xDEBED0 +omo_16_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xDEBED0 omo_16_SetAngleClamped = 0x8024001C; // type:func rom:0xDEBEEC omo_16_CompareFloats = 0x802400E4; // type:func rom:0xDEBFB4 omo_16_AdvanceBuffer = 0x80240168; // type:func rom:0xDEC038 @@ -24884,7 +24884,7 @@ omo_16_SetNpcPosYaw = 0x80240290; // type:func rom:0xDEC160 omo_16_CosInterpMinMax = 0x80240388; // type:func rom:0xDEC258 omo_16_IsAOrBPressed = 0x80240518; // type:func rom:0xDEC3E8 omo_16_CheckForSceneSkip = 0x8024055C; // type:func rom:0xDEC42C -omo_17_UnsetCamera0MoveFlag1 = 0x80240000; // type:func rom:0xDEEEA0 +omo_17_EnableCameraFollowPlayerY = 0x80240000; // type:func rom:0xDEEEA0 omo_17_SetAngleClamped = 0x8024001C; // type:func rom:0xDEEEBC omo_17_CompareFloats = 0x802400E4; // type:func rom:0xDEEF84 omo_17_AdvanceBuffer = 0x80240168; // type:func rom:0xDEF008 @@ -25427,8 +25427,8 @@ D_802466C8_EA6FC8 = 0x802466C8; // rom:0xEA6FC8 func_80240000_EA6FD0 = 0x80240000; // type:func rom:0xEA6FD0 dead_kzn_18_UpdateTexturePanSmooth = 0x80240040; // type:func rom:0xEA7010 dead_kzn_18_UpdateTexturePanStepped = 0x80240164; // type:func rom:0xEA7134 -dead_kzn_18_SetCamera0Flag1000 = 0x80240350; // type:func rom:0xEA7320 -dead_kzn_18_UnsetCamera0Flag1000 = 0x8024036C; // type:func rom:0xEA733C +dead_kzn_18_DisableCameraLeadingPlayer = 0x80240350; // type:func rom:0xEA7320 +dead_kzn_18_EnableCameraLeadingPlayer = 0x8024036C; // type:func rom:0xEA733C func_80240388_EA7358 = 0x80240388; // type:func rom:0xEA7358 dead_kzn_19_UpdateTexturePanSmooth = 0x80240000; // type:func rom:0xEA8AE0 dead_kzn_19_UpdateTexturePanStepped = 0x80240124; // type:func rom:0xEA8C04 @@ -25492,7 +25492,7 @@ dead_kzn_23_UpdateTexturePanStepped = 0x80240124; // type:func rom:0xEB7354 dead_kzn_23_SetEntityPositionF = 0x80240310; // type:func rom:0xEB7540 dead_kzn_23_GetEntityPosition = 0x802403D8; // type:func rom:0xEB7608 func_80240478_EB76A8 = 0x80240478; // type:func rom:0xEB76A8 -dead_kzn_23_UnsetCamera0MoveFlag1 = 0x80240504; // type:func rom:0xEB7734 +dead_kzn_23_EnableCameraFollowPlayerY = 0x80240504; // type:func rom:0xEB7734 func_80240520_EB7750 = 0x80240520; // type:func rom:0xEB7750 D_80241C10_EB8E40 = 0x80241C10; // rom:0xEB8E40 func_80240000_EB8E50 = 0x80240000; // type:func rom:0xEB8E50 @@ -25913,28 +25913,28 @@ D_8010C928 = 0x8010C928; // D_8010C92C = 0x8010C92C; // wPartnerNpc = 0x8010C930; // TweesterTouchingPlayer = 0x8010C934; // -D_8010C938 = 0x8010C938; // +PlayerNormalYaw = 0x8010C938; // ISpyNotificationCallback = 0x8010C93C; // TalkNotificationCallback = 0x8010C940; // gSpinHistoryBufferPos = 0x8010C944; // -D_8010C94C = 0x8010C94C; // +NpcHitQueryBehindRightY = 0x8010C94C; // D_8010C950 = 0x8010C950; // TweesterTouchingPartner = 0x8010C954; // InteractNotificationCallback = 0x8010C958; // PrevPlayerDirection = 0x8010C95C; // JumpedOnSwitchX = 0x8010C960; // D_8010C964 = 0x8010C964; // -D_8010C968 = 0x8010C968; // +NpcHitQueryBehindCollider = 0x8010C968; // PeachDisguiseNpcIndex = 0x8010C96C; // -D_8010C970 = 0x8010C970; // -D_8010C974 = 0x8010C974; // +NpcHitQueryAheadY = 0x8010C970; // +NpcHitQueryBehindLeftY = 0x8010C974; // NpcHitQueryColliderID = 0x8010C978; // JumpedOnSwitchZ = 0x8010C97C; // -D_8010C980 = 0x8010C980; // +PlayerRunStateTime = 0x8010C980; // D_8010C984 = 0x8010C984; // -D_8010C98C = 0x8010C98C; // -D_8010C990 = 0x8010C990; // -D_8010C9A0 = 0x8010C9A0; // +NpcHitQueryAheadCollider = 0x8010C98C; // +PlayerNormalPitch = 0x8010C990; // +PlayerYInterpUpdateDelay = 0x8010C9A0; // D_8010C9B0 = 0x8010C9B0; // D_8010C9C0 = 0x8010C9C0; // D_8010C9C8 = 0x8010C9C8; // @@ -26759,14 +26759,14 @@ actionCmdTableWaterBlock = 0x80294460; // actionCmdTableTidalWave = 0x802944A0; // bSavedPartner = 0x8029DA30; // bSavedOverrideFlags = 0x8029DA34; // -D_8029DA40 = 0x8029DA40; // -D_8029DA44 = 0x8029DA44; // -D_8029DA48 = 0x8029DA48; // +StarPointsBasePosX = 0x8029DA40; // +StarPointsBasePosY = 0x8029DA44; // +StarPointsMoveInterpAmt = 0x8029DA48; // D_8029DA4C = 0x8029DA4C; // -D_8029DA50 = 0x8029DA50; // -D_8029EFB0 = 0x8029EFB0; // -D_8029EFB4 = 0x8029EFB4; // -D_8029EFB8 = 0x8029EFB8; // +SavedWorldCameras = 0x8029DA50; // +SavedWorldPlayerPosX = 0x8029EFB0; // +SavedWorldPlayerPosY = 0x8029EFB4; // +SavedWorldPlayerPosZ = 0x8029EFB8; // D_8029EFBC = 0x8029EFBC; // BtlStarPointTensHIDs = 0x8029EFC0; // BtlStarPointShinesHIDs = 0x8029EFE8; // @@ -26774,7 +26774,7 @@ BtlStarPointOnesHIDs = 0x8029F010; // gTattleBgPalette = 0x8029F038; // BattleEnemiesCreated = 0x8029F240; // D_8029F244 = 0x8029F244; // -D_8029F248 = 0x8029F248; // +BattleSubStateDelay = 0x8029F248; // D_8029F24C = 0x8029F24C; // RunAwayRewardStep = 0x8029F250; // D_8029F254 = 0x8029F254; // @@ -26810,11 +26810,11 @@ BattleCam_InitialPosY = 0x8029F2AC; // BattleCam_InitialPosZ = 0x8029F2B0; // BattleCam_ControlScript = 0x8029F2B4; // popupMessages = 0x8029F2C0; // -D_8029F640 = 0x8029F640; // -D_8029F642 = 0x8029F642; // -D_8029F644 = 0x8029F644; // -D_8029F646 = 0x8029F646; // -D_8029F648 = 0x8029F648; // +BattlePopupMessageVar = 0x8029F640; // +HID_BattleMessage1 = 0x8029F642; // +HID_BattleMessage2 = 0x8029F644; // +HID_BattleMessage3 = 0x8029F646; // +HID_BattleMessage4 = 0x8029F648; // D_8029F64A = 0x8029F64A; // D_8029F64C = 0x8029F64C; // D_8029F64E = 0x8029F64E; // @@ -26926,9 +26926,9 @@ D_802AB513 = 0x802AB513; // padding2 = 0x802ACC04; // D_802ACC38 = 0x802ACC38; // D_802ACC60 = 0x802ACC60; // -D_802ACC64 = 0x802ACC64; // -D_802ACC68 = 0x802ACC68; // -D_802ACC6C = 0x802ACC6C; // +BattleMenu_TargetPointerAlpha = 0x802ACC64; // +BattleMenu_TargetNameOffsetX = 0x802ACC68; // +BattleMenu_SwapDelay = 0x802ACC6C; // BattleMenu_TargetHudElems = 0x802ACC70; // D_802ACCD0 = 0x802ACCD0; // D_802ACFE8 = 0x802ACFE8; // @@ -27014,8 +27014,8 @@ battle_menu_moveOptionActive = 0x802AD600; // D_802AD603 = 0x802AD603; // BattleSubmenuStratsState = 0x802AD604; // StratsMenuPos = 0x802AD605; // -D_802AD606 = 0x802AD606; // -D_802AD607 = 0x802AD607; // +OldStratsMenuPos = 0x802AD606; // +ShowingErrorMessage = 0x802AD607; // D_802AD608 = 0x802AD608; // D_802AD609 = 0x802AD609; // StratsMenuLines = 0x802AD60A; //