From b48eb150d286dd6b912fcfdb80b1fa358808ca6a Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 31 Jul 2021 17:50:10 +0100 Subject: [PATCH] battle/action_cmd (#348) * compile * improve match * improve * ~check_block_input * match LoadActionCommand * cleanup * match SetupMashMeter * check_block_input much closer * name action_cmd segments * make better for great good * improve again * revert removing blah * close * improve * match func_80268224 * match func_80268284 wrappers * improvements * work on func_80268938 * maide changes to check_block_input * check_block_input :OK: - thanks Maide! Co-authored-by: Ethan Roseman --- include/common_structs.h | 21 +- include/enums.h | 25 +- include/functions.h | 2 +- include/script_api/battle.h | 2 +- src/190B20.c | 2 +- src/196AA0.c | 343 +++++++++- src/1A5830.c | 627 +++++++++++++++++- src/4219F0.c | 11 - src/422000.c | 11 - src/422AD0.c | 11 - src/4233F0.c | 11 - src/423C70.c | 11 - src/425590.c | 11 - src/425B50.c | 11 - src/426170.c | 11 - src/4269D0.c | 11 - src/4273B0.c | 11 - src/427A70.c | 11 - src/4282E0.c | 11 - src/428A70.c | 11 - src/429320.c | 11 - src/429D20.c | 11 - src/42A4F0.c | 11 - src/42C6F0.c | 11 - src/42CF10.c | 11 - src/42DA10.c | 11 - src/42E3A0.c | 11 - src/42EE20.c | 11 - src/42F6E0.c | 11 - src/430020.c | 11 - src/battle/action_cmd/07.c | 11 + src/battle/action_cmd/0A.c | 11 + src/battle/action_cmd/air_lift.c | 11 + src/battle/action_cmd/air_raid.c | 11 + src/battle/action_cmd/body_slam.c | 11 + src/battle/action_cmd/bomb.c | 11 + src/battle/action_cmd/break_free.c | 11 + src/battle/action_cmd/dizzy_shell.c | 11 + src/battle/action_cmd/fire_shell.c | 11 + src/battle/action_cmd/flee.c | 11 + src/battle/action_cmd/hammer.c | 11 + src/battle/action_cmd/hurricane.c | 11 + src/battle/action_cmd/jump.c | 11 + src/battle/action_cmd/mega_shock.c | 11 + src/battle/action_cmd/power_shock.c | 11 + src/battle/action_cmd/smack.c | 11 + src/battle/action_cmd/spiny_surge.c | 11 + src/battle/action_cmd/spook.c | 11 + src/battle/action_cmd/squirt.c | 11 + src/battle/action_cmd/stop_leech.c | 11 + src/battle/action_cmd/tidal_wave.c | 11 + src/battle/action_cmd/water_block.c | 11 + src/battle/action_cmd/whirlwind.c | 11 + ver/us/asm/data/1AF2D0.data.s | 32 +- .../{ => battle/action_cmd}/422A90.data.s | 0 .../{ => battle/action_cmd}/4233B0.data.s | 0 .../{ => battle/action_cmd}/423C30.data.s | 0 .../{ => battle/action_cmd}/424550.data.s | 0 .../{ => battle/action_cmd}/425B10.data.s | 0 .../{ => battle/action_cmd}/426130.data.s | 0 .../{ => battle/action_cmd}/426970.data.s | 0 .../{ => battle/action_cmd}/427320.data.s | 0 .../{ => battle/action_cmd}/427A30.data.s | 0 .../{ => battle/action_cmd}/428280.data.s | 0 .../{ => battle/action_cmd}/428A30.data.s | 0 .../{ => battle/action_cmd}/4292C0.data.s | 0 .../{ => battle/action_cmd}/429C90.data.s | 0 .../{ => battle/action_cmd}/42A480.data.s | 0 .../{ => battle/action_cmd}/42B650.data.s | 0 .../{ => battle/action_cmd}/42CEB0.data.s | 0 .../{ => battle/action_cmd}/42D9B0.data.s | 0 .../{ => battle/action_cmd}/42E330.data.s | 0 .../{ => battle/action_cmd}/42ED70.data.s | 0 .../{ => battle/action_cmd}/42F680.data.s | 0 .../{ => battle/action_cmd}/42FFC0.data.s | 0 .../{ => battle/action_cmd}/430940.data.s | 0 .../17FEB0/calc_item_damage_enemy.s | 4 +- .../nonmatchings/196AA0/LoadActionCommand.s | 29 - .../asm/nonmatchings/196AA0/SetupMashMeter.s | 55 -- .../nonmatchings/196AA0/check_block_input.s | 171 ----- .../asm/nonmatchings/196AA0/func_80268224.s | 31 - .../asm/nonmatchings/196AA0/func_80268770.s | 14 - .../asm/nonmatchings/196AA0/func_80268798.s | 13 - .../asm/nonmatchings/196AA0/func_802687BC.s | 14 - .../asm/nonmatchings/196AA0/func_802687E4.s | 14 - .../asm/nonmatchings/196AA0/func_8026880C.s | 14 - .../asm/nonmatchings/196AA0/func_80268834.s | 13 - .../asm/nonmatchings/196AA0/func_80268858.s | 64 -- .../19FAF0/calc_player_damage_enemy.s | 4 +- .../1A5830/calc_enemy_damage_target.s | 4 +- .../1AC760/calc_partner_damage_enemy.s | 4 +- .../action_cmd/07}/func_802A9000_425B50.s | 0 .../action_cmd/07}/func_802A916C_425CBC.s | 0 .../action_cmd/07}/func_802A9228_425D78.s | 0 .../action_cmd/07}/func_802A94D8_426028.s | 0 .../action_cmd/07}/func_802A959C_4260EC.s | 0 .../action_cmd/0A}/func_802A9000_4273B0.s | 0 .../action_cmd/0A}/func_802A9170_427520.s | 0 .../action_cmd/0A}/func_802A928C_42763C.s | 0 .../action_cmd/0A}/func_802A955C_42790C.s | 0 .../action_cmd/0A}/func_802A963C_4279EC.s | 0 .../air_lift}/func_802A9000_428A70.s | 0 .../air_lift}/func_802A9184_428BF4.s | 0 .../air_lift}/func_802A9278_428CE8.s | 0 .../air_lift}/func_802A96EC_42915C.s | 0 .../air_lift}/func_802A9810_429280.s | 0 .../air_raid}/func_802A9000_429320.s | 0 .../air_raid}/func_802A9178_429498.s | 0 .../air_raid}/func_802A9294_4295B4.s | 0 .../air_raid}/func_802A984C_429B6C.s | 0 .../air_raid}/func_802A992C_429C4C.s | 0 .../body_slam}/func_802A9000_4282E0.s | 0 .../body_slam}/func_802A91B8_428498.s | 0 .../body_slam}/func_802A92D4_4285B4.s | 0 .../body_slam}/func_802A9664_428944.s | 0 .../body_slam}/func_802A9708_4289E8.s | 0 .../action_cmd/bomb}/func_802A9000_427A70.s | 0 .../action_cmd/bomb}/func_802A9170_427BE0.s | 0 .../action_cmd/bomb}/func_802A928C_427CFC.s | 0 .../action_cmd/bomb}/func_802A96EC_42815C.s | 0 .../action_cmd/bomb}/func_802A97CC_42823C.s | 0 .../break_free}/func_802A9000_4233F0.s | 0 .../break_free}/func_802A91B0_4235A0.s | 0 .../break_free}/func_802A92DC_4236CC.s | 0 .../break_free}/func_802A96B8_423AA8.s | 0 .../break_free}/func_802A97FC_423BEC.s | 0 .../dizzy_shell}/func_802A9000_426170.s | 0 .../dizzy_shell}/func_802A9170_4262E0.s | 0 .../dizzy_shell}/func_802A928C_4263FC.s | 0 .../dizzy_shell}/func_802A96DC_42684C.s | 0 .../dizzy_shell}/func_802A97BC_42692C.s | 0 .../fire_shell}/func_802A9000_4269D0.s | 0 .../fire_shell}/func_802A9178_426B48.s | 0 .../fire_shell}/func_802A9294_426C64.s | 0 .../fire_shell}/func_802A9834_427204.s | 0 .../fire_shell}/func_802A9914_4272E4.s | 0 .../action_cmd/flee}/func_802A9000_422AD0.s | 0 .../action_cmd/flee}/func_802A92A0_422D70.s | 0 .../action_cmd/flee}/func_802A9378_422E48.s | 0 .../action_cmd/flee}/func_802A96F4_4231C4.s | 0 .../action_cmd/flee}/func_802A9894_423364.s | 0 .../action_cmd/hammer}/func_802A9000_422000.s | 0 .../action_cmd/hammer}/func_802A9258_422258.s | 0 .../action_cmd/hammer}/func_802A936C_42236C.s | 0 .../action_cmd/hammer}/func_802A99D4_4229D4.s | 0 .../action_cmd/hammer}/func_802A9A30_422A30.s | 0 .../hurricane}/func_802A9000_42F6E0.s | 0 .../hurricane}/func_802A91A0_42F880.s | 0 .../hurricane}/func_802A92A0_42F980.s | 0 .../hurricane}/func_802A97AC_42FE8C.s | 0 .../hurricane}/func_802A9894_42FF74.s | 0 .../action_cmd/jump}/func_802A9000_4219F0.s | 0 .../action_cmd/jump}/func_802A9120_421B10.s | 0 .../action_cmd/jump}/func_802A9234_421C24.s | 0 .../action_cmd/jump}/func_802A9544_421F34.s | 0 .../action_cmd/jump}/func_802A9590_421F80.s | 0 .../mega_shock}/func_802A9000_42DA10.s | 0 .../mega_shock}/func_802A91A0_42DBB0.s | 0 .../mega_shock}/func_802A92A0_42DCB0.s | 0 .../mega_shock}/func_802A97F8_42E208.s | 0 .../mega_shock}/func_802A98E0_42E2F0.s | 0 .../power_shock}/func_802A9000_42CF10.s | 0 .../power_shock}/func_802A9210_42D120.s | 0 .../power_shock}/func_802A9310_42D220.s | 0 .../power_shock}/func_802A98D0_42D7E0.s | 0 .../power_shock}/func_802A9A54_42D964.s | 0 .../action_cmd/smack}/func_802A9000_42E3A0.s | 0 .../action_cmd/smack}/func_802A917C_42E51C.s | 0 .../action_cmd/smack}/func_802A9298_42E638.s | 0 .../action_cmd/smack}/func_802A98B0_42EC50.s | 0 .../action_cmd/smack}/func_802A9990_42ED30.s | 0 .../spiny_surge}/func_802A9000_42EE20.s | 0 .../spiny_surge}/func_802A916C_42EF8C.s | 0 .../spiny_surge}/func_802A9254_42F074.s | 0 .../spiny_surge}/func_802A973C_42F55C.s | 0 .../spiny_surge}/func_802A981C_42F63C.s | 0 .../action_cmd/spook}/func_802A9000_430020.s | 0 .../action_cmd/spook}/func_802A917C_43019C.s | 0 .../action_cmd/spook}/func_802A9298_4302B8.s | 0 .../action_cmd/spook}/func_802A97FC_43081C.s | 0 .../action_cmd/spook}/func_802A98DC_4308FC.s | 0 .../action_cmd/squirt}/func_802A9000_429D20.s | 0 .../action_cmd/squirt}/func_802A911C_429E3C.s | 0 .../action_cmd/squirt}/func_802A9208_429F28.s | 0 .../action_cmd/squirt}/func_802A9634_42A354.s | 0 .../action_cmd/squirt}/func_802A9720_42A440.s | 0 .../stop_leech}/func_802A9000_425590.s | 0 .../stop_leech}/func_802A9110_4256A0.s | 0 .../stop_leech}/func_802A91F8_425788.s | 0 .../stop_leech}/func_802A94A4_425A34.s | 0 .../stop_leech}/func_802A9544_425AD4.s | 0 .../tidal_wave}/func_802A9000_42C6F0.s | 0 .../tidal_wave}/func_802A9138_42C828.s | 0 .../tidal_wave}/func_802A9228_42C918.s | 0 .../tidal_wave}/func_802A9718_42CE08.s | 0 .../tidal_wave}/func_802A9764_42CE54.s | 0 .../water_block}/func_802A9000_42A4F0.s | 0 .../water_block}/func_802A9398_42A888.s | 0 .../water_block}/func_802A948C_42A97C.s | 0 .../water_block}/func_802AA014_42B504.s | 0 .../water_block}/func_802AA0D8_42B5C8.s | 0 .../whirlwind}/func_802A9000_423C70.s | 0 .../whirlwind}/func_802A91E0_423E50.s | 0 .../whirlwind}/func_802A92F0_423F60.s | 0 .../whirlwind}/func_802A9744_4243B4.s | 0 .../whirlwind}/func_802A9898_424508.s | 0 ver/us/splat.yaml | 93 ++- ver/us/symbol_addrs.txt | 2 +- 208 files changed, 1326 insertions(+), 777 deletions(-) delete mode 100644 src/4219F0.c delete mode 100644 src/422000.c delete mode 100644 src/422AD0.c delete mode 100644 src/4233F0.c delete mode 100644 src/423C70.c delete mode 100644 src/425590.c delete mode 100644 src/425B50.c delete mode 100644 src/426170.c delete mode 100644 src/4269D0.c delete mode 100644 src/4273B0.c delete mode 100644 src/427A70.c delete mode 100644 src/4282E0.c delete mode 100644 src/428A70.c delete mode 100644 src/429320.c delete mode 100644 src/429D20.c delete mode 100644 src/42A4F0.c delete mode 100644 src/42C6F0.c delete mode 100644 src/42CF10.c delete mode 100644 src/42DA10.c delete mode 100644 src/42E3A0.c delete mode 100644 src/42EE20.c delete mode 100644 src/42F6E0.c delete mode 100644 src/430020.c create mode 100644 src/battle/action_cmd/07.c create mode 100644 src/battle/action_cmd/0A.c create mode 100644 src/battle/action_cmd/air_lift.c create mode 100644 src/battle/action_cmd/air_raid.c create mode 100644 src/battle/action_cmd/body_slam.c create mode 100644 src/battle/action_cmd/bomb.c create mode 100644 src/battle/action_cmd/break_free.c create mode 100644 src/battle/action_cmd/dizzy_shell.c create mode 100644 src/battle/action_cmd/fire_shell.c create mode 100644 src/battle/action_cmd/flee.c create mode 100644 src/battle/action_cmd/hammer.c create mode 100644 src/battle/action_cmd/hurricane.c create mode 100644 src/battle/action_cmd/jump.c create mode 100644 src/battle/action_cmd/mega_shock.c create mode 100644 src/battle/action_cmd/power_shock.c create mode 100644 src/battle/action_cmd/smack.c create mode 100644 src/battle/action_cmd/spiny_surge.c create mode 100644 src/battle/action_cmd/spook.c create mode 100644 src/battle/action_cmd/squirt.c create mode 100644 src/battle/action_cmd/stop_leech.c create mode 100644 src/battle/action_cmd/tidal_wave.c create mode 100644 src/battle/action_cmd/water_block.c create mode 100644 src/battle/action_cmd/whirlwind.c rename ver/us/asm/data/{ => battle/action_cmd}/422A90.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/4233B0.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/423C30.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/424550.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/425B10.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/426130.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/426970.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/427320.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/427A30.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/428280.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/428A30.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/4292C0.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/429C90.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42A480.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42B650.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42CEB0.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42D9B0.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42E330.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42ED70.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42F680.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/42FFC0.data.s (100%) rename ver/us/asm/data/{ => battle/action_cmd}/430940.data.s (100%) delete mode 100644 ver/us/asm/nonmatchings/196AA0/LoadActionCommand.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/SetupMashMeter.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/check_block_input.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80268224.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80268770.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80268798.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_802687BC.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_802687E4.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_8026880C.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80268834.s delete mode 100644 ver/us/asm/nonmatchings/196AA0/func_80268858.s rename ver/us/asm/nonmatchings/{425B50 => battle/action_cmd/07}/func_802A9000_425B50.s (100%) rename ver/us/asm/nonmatchings/{425B50 => battle/action_cmd/07}/func_802A916C_425CBC.s (100%) rename ver/us/asm/nonmatchings/{425B50 => battle/action_cmd/07}/func_802A9228_425D78.s (100%) rename ver/us/asm/nonmatchings/{425B50 => battle/action_cmd/07}/func_802A94D8_426028.s (100%) rename ver/us/asm/nonmatchings/{425B50 => battle/action_cmd/07}/func_802A959C_4260EC.s (100%) rename ver/us/asm/nonmatchings/{4273B0 => battle/action_cmd/0A}/func_802A9000_4273B0.s (100%) rename ver/us/asm/nonmatchings/{4273B0 => battle/action_cmd/0A}/func_802A9170_427520.s (100%) rename ver/us/asm/nonmatchings/{4273B0 => battle/action_cmd/0A}/func_802A928C_42763C.s (100%) rename ver/us/asm/nonmatchings/{4273B0 => battle/action_cmd/0A}/func_802A955C_42790C.s (100%) rename ver/us/asm/nonmatchings/{4273B0 => battle/action_cmd/0A}/func_802A963C_4279EC.s (100%) rename ver/us/asm/nonmatchings/{428A70 => battle/action_cmd/air_lift}/func_802A9000_428A70.s (100%) rename ver/us/asm/nonmatchings/{428A70 => battle/action_cmd/air_lift}/func_802A9184_428BF4.s (100%) rename ver/us/asm/nonmatchings/{428A70 => battle/action_cmd/air_lift}/func_802A9278_428CE8.s (100%) rename ver/us/asm/nonmatchings/{428A70 => battle/action_cmd/air_lift}/func_802A96EC_42915C.s (100%) rename ver/us/asm/nonmatchings/{428A70 => battle/action_cmd/air_lift}/func_802A9810_429280.s (100%) rename ver/us/asm/nonmatchings/{429320 => battle/action_cmd/air_raid}/func_802A9000_429320.s (100%) rename ver/us/asm/nonmatchings/{429320 => battle/action_cmd/air_raid}/func_802A9178_429498.s (100%) rename ver/us/asm/nonmatchings/{429320 => battle/action_cmd/air_raid}/func_802A9294_4295B4.s (100%) rename ver/us/asm/nonmatchings/{429320 => battle/action_cmd/air_raid}/func_802A984C_429B6C.s (100%) rename ver/us/asm/nonmatchings/{429320 => battle/action_cmd/air_raid}/func_802A992C_429C4C.s (100%) rename ver/us/asm/nonmatchings/{4282E0 => battle/action_cmd/body_slam}/func_802A9000_4282E0.s (100%) rename ver/us/asm/nonmatchings/{4282E0 => battle/action_cmd/body_slam}/func_802A91B8_428498.s (100%) rename ver/us/asm/nonmatchings/{4282E0 => battle/action_cmd/body_slam}/func_802A92D4_4285B4.s (100%) rename ver/us/asm/nonmatchings/{4282E0 => battle/action_cmd/body_slam}/func_802A9664_428944.s (100%) rename ver/us/asm/nonmatchings/{4282E0 => battle/action_cmd/body_slam}/func_802A9708_4289E8.s (100%) rename ver/us/asm/nonmatchings/{427A70 => battle/action_cmd/bomb}/func_802A9000_427A70.s (100%) rename ver/us/asm/nonmatchings/{427A70 => battle/action_cmd/bomb}/func_802A9170_427BE0.s (100%) rename ver/us/asm/nonmatchings/{427A70 => battle/action_cmd/bomb}/func_802A928C_427CFC.s (100%) rename ver/us/asm/nonmatchings/{427A70 => battle/action_cmd/bomb}/func_802A96EC_42815C.s (100%) rename ver/us/asm/nonmatchings/{427A70 => battle/action_cmd/bomb}/func_802A97CC_42823C.s (100%) rename ver/us/asm/nonmatchings/{4233F0 => battle/action_cmd/break_free}/func_802A9000_4233F0.s (100%) rename ver/us/asm/nonmatchings/{4233F0 => battle/action_cmd/break_free}/func_802A91B0_4235A0.s (100%) rename ver/us/asm/nonmatchings/{4233F0 => battle/action_cmd/break_free}/func_802A92DC_4236CC.s (100%) rename ver/us/asm/nonmatchings/{4233F0 => battle/action_cmd/break_free}/func_802A96B8_423AA8.s (100%) rename ver/us/asm/nonmatchings/{4233F0 => battle/action_cmd/break_free}/func_802A97FC_423BEC.s (100%) rename ver/us/asm/nonmatchings/{426170 => battle/action_cmd/dizzy_shell}/func_802A9000_426170.s (100%) rename ver/us/asm/nonmatchings/{426170 => battle/action_cmd/dizzy_shell}/func_802A9170_4262E0.s (100%) rename ver/us/asm/nonmatchings/{426170 => battle/action_cmd/dizzy_shell}/func_802A928C_4263FC.s (100%) rename ver/us/asm/nonmatchings/{426170 => battle/action_cmd/dizzy_shell}/func_802A96DC_42684C.s (100%) rename ver/us/asm/nonmatchings/{426170 => battle/action_cmd/dizzy_shell}/func_802A97BC_42692C.s (100%) rename ver/us/asm/nonmatchings/{4269D0 => battle/action_cmd/fire_shell}/func_802A9000_4269D0.s (100%) rename ver/us/asm/nonmatchings/{4269D0 => battle/action_cmd/fire_shell}/func_802A9178_426B48.s (100%) rename ver/us/asm/nonmatchings/{4269D0 => battle/action_cmd/fire_shell}/func_802A9294_426C64.s (100%) rename ver/us/asm/nonmatchings/{4269D0 => battle/action_cmd/fire_shell}/func_802A9834_427204.s (100%) rename ver/us/asm/nonmatchings/{4269D0 => battle/action_cmd/fire_shell}/func_802A9914_4272E4.s (100%) rename ver/us/asm/nonmatchings/{422AD0 => battle/action_cmd/flee}/func_802A9000_422AD0.s (100%) rename ver/us/asm/nonmatchings/{422AD0 => battle/action_cmd/flee}/func_802A92A0_422D70.s (100%) rename ver/us/asm/nonmatchings/{422AD0 => battle/action_cmd/flee}/func_802A9378_422E48.s (100%) rename ver/us/asm/nonmatchings/{422AD0 => battle/action_cmd/flee}/func_802A96F4_4231C4.s (100%) rename ver/us/asm/nonmatchings/{422AD0 => battle/action_cmd/flee}/func_802A9894_423364.s (100%) rename ver/us/asm/nonmatchings/{422000 => battle/action_cmd/hammer}/func_802A9000_422000.s (100%) rename ver/us/asm/nonmatchings/{422000 => battle/action_cmd/hammer}/func_802A9258_422258.s (100%) rename ver/us/asm/nonmatchings/{422000 => battle/action_cmd/hammer}/func_802A936C_42236C.s (100%) rename ver/us/asm/nonmatchings/{422000 => battle/action_cmd/hammer}/func_802A99D4_4229D4.s (100%) rename ver/us/asm/nonmatchings/{422000 => battle/action_cmd/hammer}/func_802A9A30_422A30.s (100%) rename ver/us/asm/nonmatchings/{42F6E0 => battle/action_cmd/hurricane}/func_802A9000_42F6E0.s (100%) rename ver/us/asm/nonmatchings/{42F6E0 => battle/action_cmd/hurricane}/func_802A91A0_42F880.s (100%) rename ver/us/asm/nonmatchings/{42F6E0 => battle/action_cmd/hurricane}/func_802A92A0_42F980.s (100%) rename ver/us/asm/nonmatchings/{42F6E0 => battle/action_cmd/hurricane}/func_802A97AC_42FE8C.s (100%) rename ver/us/asm/nonmatchings/{42F6E0 => battle/action_cmd/hurricane}/func_802A9894_42FF74.s (100%) rename ver/us/asm/nonmatchings/{4219F0 => battle/action_cmd/jump}/func_802A9000_4219F0.s (100%) rename ver/us/asm/nonmatchings/{4219F0 => battle/action_cmd/jump}/func_802A9120_421B10.s (100%) rename ver/us/asm/nonmatchings/{4219F0 => battle/action_cmd/jump}/func_802A9234_421C24.s (100%) rename ver/us/asm/nonmatchings/{4219F0 => battle/action_cmd/jump}/func_802A9544_421F34.s (100%) rename ver/us/asm/nonmatchings/{4219F0 => battle/action_cmd/jump}/func_802A9590_421F80.s (100%) rename ver/us/asm/nonmatchings/{42DA10 => battle/action_cmd/mega_shock}/func_802A9000_42DA10.s (100%) rename ver/us/asm/nonmatchings/{42DA10 => battle/action_cmd/mega_shock}/func_802A91A0_42DBB0.s (100%) rename ver/us/asm/nonmatchings/{42DA10 => battle/action_cmd/mega_shock}/func_802A92A0_42DCB0.s (100%) rename ver/us/asm/nonmatchings/{42DA10 => battle/action_cmd/mega_shock}/func_802A97F8_42E208.s (100%) rename ver/us/asm/nonmatchings/{42DA10 => battle/action_cmd/mega_shock}/func_802A98E0_42E2F0.s (100%) rename ver/us/asm/nonmatchings/{42CF10 => battle/action_cmd/power_shock}/func_802A9000_42CF10.s (100%) rename ver/us/asm/nonmatchings/{42CF10 => battle/action_cmd/power_shock}/func_802A9210_42D120.s (100%) rename ver/us/asm/nonmatchings/{42CF10 => battle/action_cmd/power_shock}/func_802A9310_42D220.s (100%) rename ver/us/asm/nonmatchings/{42CF10 => battle/action_cmd/power_shock}/func_802A98D0_42D7E0.s (100%) rename ver/us/asm/nonmatchings/{42CF10 => battle/action_cmd/power_shock}/func_802A9A54_42D964.s (100%) rename ver/us/asm/nonmatchings/{42E3A0 => battle/action_cmd/smack}/func_802A9000_42E3A0.s (100%) rename ver/us/asm/nonmatchings/{42E3A0 => battle/action_cmd/smack}/func_802A917C_42E51C.s (100%) rename ver/us/asm/nonmatchings/{42E3A0 => battle/action_cmd/smack}/func_802A9298_42E638.s (100%) rename ver/us/asm/nonmatchings/{42E3A0 => battle/action_cmd/smack}/func_802A98B0_42EC50.s (100%) rename ver/us/asm/nonmatchings/{42E3A0 => battle/action_cmd/smack}/func_802A9990_42ED30.s (100%) rename ver/us/asm/nonmatchings/{42EE20 => battle/action_cmd/spiny_surge}/func_802A9000_42EE20.s (100%) rename ver/us/asm/nonmatchings/{42EE20 => battle/action_cmd/spiny_surge}/func_802A916C_42EF8C.s (100%) rename ver/us/asm/nonmatchings/{42EE20 => battle/action_cmd/spiny_surge}/func_802A9254_42F074.s (100%) rename ver/us/asm/nonmatchings/{42EE20 => battle/action_cmd/spiny_surge}/func_802A973C_42F55C.s (100%) rename ver/us/asm/nonmatchings/{42EE20 => battle/action_cmd/spiny_surge}/func_802A981C_42F63C.s (100%) rename ver/us/asm/nonmatchings/{430020 => battle/action_cmd/spook}/func_802A9000_430020.s (100%) rename ver/us/asm/nonmatchings/{430020 => battle/action_cmd/spook}/func_802A917C_43019C.s (100%) rename ver/us/asm/nonmatchings/{430020 => battle/action_cmd/spook}/func_802A9298_4302B8.s (100%) rename ver/us/asm/nonmatchings/{430020 => battle/action_cmd/spook}/func_802A97FC_43081C.s (100%) rename ver/us/asm/nonmatchings/{430020 => battle/action_cmd/spook}/func_802A98DC_4308FC.s (100%) rename ver/us/asm/nonmatchings/{429D20 => battle/action_cmd/squirt}/func_802A9000_429D20.s (100%) rename ver/us/asm/nonmatchings/{429D20 => battle/action_cmd/squirt}/func_802A911C_429E3C.s (100%) rename ver/us/asm/nonmatchings/{429D20 => battle/action_cmd/squirt}/func_802A9208_429F28.s (100%) rename ver/us/asm/nonmatchings/{429D20 => battle/action_cmd/squirt}/func_802A9634_42A354.s (100%) rename ver/us/asm/nonmatchings/{429D20 => battle/action_cmd/squirt}/func_802A9720_42A440.s (100%) rename ver/us/asm/nonmatchings/{425590 => battle/action_cmd/stop_leech}/func_802A9000_425590.s (100%) rename ver/us/asm/nonmatchings/{425590 => battle/action_cmd/stop_leech}/func_802A9110_4256A0.s (100%) rename ver/us/asm/nonmatchings/{425590 => battle/action_cmd/stop_leech}/func_802A91F8_425788.s (100%) rename ver/us/asm/nonmatchings/{425590 => battle/action_cmd/stop_leech}/func_802A94A4_425A34.s (100%) rename ver/us/asm/nonmatchings/{425590 => battle/action_cmd/stop_leech}/func_802A9544_425AD4.s (100%) rename ver/us/asm/nonmatchings/{42C6F0 => battle/action_cmd/tidal_wave}/func_802A9000_42C6F0.s (100%) rename ver/us/asm/nonmatchings/{42C6F0 => battle/action_cmd/tidal_wave}/func_802A9138_42C828.s (100%) rename ver/us/asm/nonmatchings/{42C6F0 => battle/action_cmd/tidal_wave}/func_802A9228_42C918.s (100%) rename ver/us/asm/nonmatchings/{42C6F0 => battle/action_cmd/tidal_wave}/func_802A9718_42CE08.s (100%) rename ver/us/asm/nonmatchings/{42C6F0 => battle/action_cmd/tidal_wave}/func_802A9764_42CE54.s (100%) rename ver/us/asm/nonmatchings/{42A4F0 => battle/action_cmd/water_block}/func_802A9000_42A4F0.s (100%) rename ver/us/asm/nonmatchings/{42A4F0 => battle/action_cmd/water_block}/func_802A9398_42A888.s (100%) rename ver/us/asm/nonmatchings/{42A4F0 => battle/action_cmd/water_block}/func_802A948C_42A97C.s (100%) rename ver/us/asm/nonmatchings/{42A4F0 => battle/action_cmd/water_block}/func_802AA014_42B504.s (100%) rename ver/us/asm/nonmatchings/{42A4F0 => battle/action_cmd/water_block}/func_802AA0D8_42B5C8.s (100%) rename ver/us/asm/nonmatchings/{423C70 => battle/action_cmd/whirlwind}/func_802A9000_423C70.s (100%) rename ver/us/asm/nonmatchings/{423C70 => battle/action_cmd/whirlwind}/func_802A91E0_423E50.s (100%) rename ver/us/asm/nonmatchings/{423C70 => battle/action_cmd/whirlwind}/func_802A92F0_423F60.s (100%) rename ver/us/asm/nonmatchings/{423C70 => battle/action_cmd/whirlwind}/func_802A9744_4243B4.s (100%) rename ver/us/asm/nonmatchings/{423C70 => battle/action_cmd/whirlwind}/func_802A9898_424508.s (100%) diff --git a/include/common_structs.h b/include/common_structs.h index e6998ee351..94271cda63 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -227,8 +227,8 @@ typedef struct PlayerData { /* 0x293 */ char unk_293[0x1]; /* 0x294 */ s16 otherHitsTaken; /* 0x296 */ s16 unk_296; - /* 0x298 */ s16 hitsTaken; - /* 0x29A */ s16 hitsBlocked; + /* 0x298 */ u16 hitsTaken; + /* 0x29A */ u16 hitsBlocked; /* 0x29C */ s16 playerFirstStrikes; /* 0x29E */ s16 enemyFirstStrikes; /* 0x2A0 */ u16 powerBounces; @@ -690,7 +690,8 @@ typedef struct BattleStatus { /* 0x0A5 */ u8 cloudNineDodgeChance; /* = 50% */ /* 0x0A6 */ char unk_A6[2]; /* 0x0A8 */ s32 cloudNineEffect; - /* 0x0AC */ char unk_AC[2]; + /* 0x0AC */ char unk_AC; + /* 0x0AD */ s8 unk_AD; /* 0x0AE */ u8 hammerLossTurns; /* 0x0AF */ u8 jumpLossTurns; /* 0x0B0 */ u8 itemLossTurns; @@ -729,10 +730,10 @@ typedef struct BattleStatus { /* 0x19A */ u8 unk_19A; /* 0x19B */ char unk_19B[5]; /* 0x1A0 */ s16 currentTargetID; /* selected? */ - /* 0x1A2 */ u8 currentTargetPart; /* selected? */ + /* 0x1A2 */ s8 currentTargetPart; /* selected? */ /* 0x1A3 */ char unk_1A3; /* 0x1A4 */ s16 currentTargetID2; - /* 0x1A6 */ u8 currentTargetPart2; + /* 0x1A6 */ s8 currentTargetPart2; /* 0x1A7 */ s8 battlePhase; /* 0x1A8 */ s16 attackerActorID; /* 0x1AA */ char unk_1AA[4]; @@ -751,7 +752,7 @@ typedef struct BattleStatus { /* 0x22C */ s32 dpadY; /* 0-60 */ /* 0x230 */ s32 holdInputBuffer[64]; /* 0x330 */ s32 pushInputBuffer[64]; - /* 0x430 */ u8 holdInputBufferPos; + /* 0x430 */ s8 holdInputBufferPos; /* 0x431 */ s8 inputBufferPos; /* 0x432 */ s8 unk_432; /* 0x433 */ char unk_433; @@ -1736,7 +1737,7 @@ typedef struct Actor { /* 0x198 */ Vec2b unk_198; /* 0x19A */ s8 unk_19A; /* 0x19B */ char unk_19B[1]; - /* 0x19C */ s32 actorTypeData1[6]; /* 4 = jump sound */ + /* 0x19C */ s32 actorTypeData1[6]; /* 4 = jump sound, 5 = attack sound */ // TODO: struct /* 0x1B4 */ s16 actorTypeData1b[2]; /* 0x1B8 */ s8 currentHP; /* 0x1B9 */ s8 maxHP; @@ -1784,10 +1785,10 @@ typedef struct Actor { /* 0x21C */ u8 status; /* 0x21D */ char unk_21D[3]; /* 0x220 */ s8 isGlowing; - /* 0x221 */ u8 attackBoost; + /* 0x221 */ s8 attackBoost; /* 0x222 */ s8 defenseBoost; - /* 0x223 */ u8 chillOutAmount; /* attack reduction */ - /* 0x224 */ u8 chillOutTurns; + /* 0x223 */ s8 chillOutAmount; /* attack reduction */ + /* 0x224 */ s8 chillOutTurns; /* 0x225 */ char unk_225[3]; /* 0x228 */ EffectInstance* unk_228; /* 0x22C */ struct SelectableTarget targetData[24]; diff --git a/include/enums.h b/include/enums.h index bb08b8e554..c1f01da80b 100644 --- a/include/enums.h +++ b/include/enums.h @@ -517,7 +517,7 @@ enum SoundIDs { SOUND_E3, SOUND_E9 = 233, SOUND_EA, - SOUND_EB, + SOUND_FREEZE, SOUND_10C = 268, SOUND_10D, SOUND_STEP1 = 321, @@ -528,6 +528,7 @@ enum SoundIDs { SOUND_HIT_BLOCK = 334, SOUND_SEARCH_BUSH = 339, SOUND_UNKNOWN_162 = 354, + SOUND_SMASH_GOOMNUT_TREE = 357, SOUND_BASIC_DOOR_OPEN = 449, SOUND_BASIC_DOOR_CLOSE, SOUND_METAL_DOOR_OPEN, @@ -600,6 +601,8 @@ enum SoundIDs { SOUND_UNKNOWN_202E, SOUND_UNKNOWN_202F, SOUND_UNKNOWN_2030, + SOUND_INFLICT_SLEEP, + SOUND_INFLICT_STATUS, //< Stop, poison, paralyze SOUND_UNKNOWN_2038 = 8248, SOUND_UNKNOWN_2039, SOUND_BOMB_BLAST = 8310, @@ -1096,6 +1099,7 @@ typedef UNK_TYPE HitResult; enum HitResults { HIT_RESULT_TRIGGERED_EXPLODE = -1, HIT_RESULT_HIT, + HIT_RESULT_MISS_QUAKE = 2, HIT_RESULT_LANDED_ON_SPIKE = 4, HIT_RESULT_LUCKY, HIT_RESULT_MISS, @@ -1201,8 +1205,9 @@ enum Events { EVENT_STAR_BEAM = 19, EVENT_POWER_BOUNCE_HIT = 21, EVENT_BLOW_AWAY, - EVENT_23 = 23, - EVENT_IMMUNE = 25, + EVENT_23, + EVENT_24, + EVENT_IMMUNE, EVENT_BLOCK, EVENT_SPIKE_TAUNT, EVENT_BURN_TAUNT, @@ -1215,7 +1220,8 @@ enum Events { EVENT_SHOCK_DEATH = 38, EVENT_SPIKE_DEATH, EVENT_POWER_BOUNCE_DEATH, - EVENT_SPIKE_CONTACT = 42, + EVENT_41, // burn death copy? + EVENT_SPIKE_CONTACT, EVENT_BURN_CONTACT = 44, EVENT_SHOCK_HIT = 47, EVENT_RECOVER_STATUS = 49, @@ -1257,6 +1263,7 @@ enum Statuses { STATUS_STONE, STATUS_DAZE, STATUS_E, + STATUS_KO, STATUS_BERSERK = 16, STATUS_TURN_DONE = 18, STATUS_HUSTLE = 25, @@ -1272,7 +1279,8 @@ enum Statuses { STATUS_POISON_TURN_MOD, STATUS_PARALYZE_TURN_MOD, STATUS_SHRINK_TURN_MOD, - STATUS_STOP_TURN_MOD = 41, + STATUS_STONE_TURN_MOD, + STATUS_STOP_TURN_MOD, }; typedef UNK_TYPE DoorSwing; @@ -1470,8 +1478,8 @@ typedef UNK_TYPE StatusFlag; enum StatusFlags { STATUS_FLAG_SLEEP = 0x00001000, STATUS_FLAG_STATIC = 0x00002000, - STATUS_FLAG_FROZEN = 0x00004000, - STATUS_FLAG_UNKNOWN_STATUS3 = 0x00008000, + STATUS_FLAG_FROZEN = 0x00004000, // TODO: rename to "freeze" + STATUS_FLAG_FEAR = 0x00008000, STATUS_FLAG_PARALYZE = 0x00010000, STATUS_FLAG_POISON = 0x00020000, STATUS_FLAG_DIZZY = 0x00040000, @@ -1500,6 +1508,7 @@ enum DamageTypes { DAMAGE_TYPE_BLAST = 0x00000200, DAMAGE_TYPE_POW = 0x00000400, DAMAGE_TYPE_QUAKE = 0x00000800, + DAMAGE_TYPE_4000 = 0x00004000, DAMAGE_TYPE_THROW = 0x00040000, DAMAGE_TYPE_IGNORE_DEFENSE = 0x08000000, DAMAGE_TYPE_NO_CONTACT = 0x10000000, @@ -1646,12 +1655,14 @@ enum ActorFlags { ACTOR_FLAG_TARGET_ONLY = 0x00004000, ///< Battle ends even if undefeated. No turn. ACTOR_FLAG_80000 = 0x00080000, 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_10000000 = 0x10000000, }; enum ActorPartFlags { PART_FLAG_INVISIBLE = 0x00000001, + PART_FLAG_2000 = 0x00002000, ///< Plays extra hurt SFX? PART_FLAG_NO_TARGET = 0x00020000, ///< Cannot be targeted. PART_FLAG_MULTI_TARGET = 0x00800000, ///< Can be targeted with multi-target attacks (e.g. Star Storm). }; diff --git a/include/functions.h b/include/functions.h index b64d8e0cc6..0b8cbc7ddc 100644 --- a/include/functions.h +++ b/include/functions.h @@ -44,7 +44,7 @@ u32 get_entity_type(s32 arg0); Entity* get_entity_by_index(s32 index); s32 create_entity(StaticEntityData*, s32, s32, s32, s32, s32); void entity_shattering_idle(Entity* entity); -void func_802666E4(Actor* actor, f32 arg1, f32 arg2, f32 arg3, s16); +void func_802666E4(Actor* actor, f32 x, f32 y, f32 z, s16 damage); void step_game_loop(void); s32 resume_all_group(s32 groupFlags); diff --git a/include/script_api/battle.h b/include/script_api/battle.h index b27b5ecee5..366e230ed1 100644 --- a/include/script_api/battle.h +++ b/include/script_api/battle.h @@ -321,7 +321,7 @@ extern Script DoParalyzeHit; extern Script DoPoisonHit; extern Script DoStopHit; extern Script DoFreezeHit; -extern Script DoShinkHit; +extern Script DoShrinkHit; extern Script ForceNextTarget; extern Script DoNormalHit; extern Script DoBurnHit; diff --git a/src/190B20.c b/src/190B20.c index f7e4c7ca8f..39bda8c6e4 100644 --- a/src/190B20.c +++ b/src/190B20.c @@ -1441,7 +1441,7 @@ INCLUDE_ASM(void, "190B20", func_802666E4, Actor* actor, f32 arg1, f32 arg2, f32 INCLUDE_ASM(void, "190B20", func_802667F0, s32 arg0, Actor* arg1, f32 arg2, f32 arg3, f32 arg4); -INCLUDE_ASM(s32, "190B20", func_80266970); +INCLUDE_ASM(void, "190B20", func_80266970, Actor* target); INCLUDE_ASM(s32, "190B20", func_80266978); diff --git a/src/196AA0.c b/src/196AA0.c index a4e3ffb3d6..b8cbcb9ea4 100644 --- a/src/196AA0.c +++ b/src/196AA0.c @@ -1,26 +1,235 @@ #include "common.h" -INCLUDE_ASM(s32, "196AA0", LoadActionCommand); +// TODO: move to src/battle/action_cmd.c -INCLUDE_ASM(s32, "196AA0", func_80268224); +enum ActionCommand { + ACTION_COMMAND_JUMP = 1, + ACTION_COMMAND_SMASH, + ACTION_COMMAND_FLEE, + ACTION_COMMAND_BREAK_FREE, + ACTION_COMMAND_WHIRLWIND, + ACTION_COMMAND_STOP_LEECH, + ACTION_COMMAND_07, + ACTION_COMMAND_DIZZY_SHELL, + ACTION_COMMAND_FIRE_SHELL, + ACTION_COMMAND_0A, + ACTION_COMMAND_BOMB, + ACTION_COMMAND_BODY_SLAM, + ACTION_COMMAND_AIR_LIFT, + ACTION_COMMAND_AIR_RAID, + ACTION_COMMAND_SQUIRT, + ACTION_COMMAND_POWER_SHOCK, + ACTION_COMMAND_MEGA_SHOCK, + ACTION_COMMAND_SMACK, + ACTION_COMMAND_SPINY_SURGE, + ACTION_COMMAND_HURRICANE, + ACTION_COMMAND_SPOOK, + ACTION_COMMAND_WATER_BLOCK, + ACTION_COMMAND_TIDAL_WAVE, +}; + +// action command state +extern struct D_8029FBE0 { + /* 0x00 */ char unk_00[0x4A]; + /* 0x4A */ s16 unk_4A; // current action command id? + /* 0x4C */ s16 unk_4C; + /* 0x4E */ char unk_4E[0x10]; + /* 0x5E */ s8 unk_5E; + /* 0x5F */ s8 unk_5F; + /* 0x60 */ s8 unk_60; + /* 0x61 */ s8 unk_61; + /* 0x62 */ s16 unk_62; + /* 0x64 */ s16 unk_64; + /* 0x66 */ s16 unk_66; + /* 0x68 */ s16 unk_68; + /* 0x6A */ s16 unk_6A; + /* 0x6C */ s16 unk_6C; + /* 0x6E */ s16 hitsTakenIsMax; + /* 0x70 */ char unk_70[2]; + /* 0x72 */ char unk_72[2]; + /* 0x74 */ s16 unk_74; + /* 0x76 */ s16 unk_76; + /* 0x78 */ s16 unk_78; + /* 0x7A */ s16 unk_7A; + /* 0x7C */ s16 unk_7C; + /* 0x7E */ s16 unk_7E; + /* 0x80 */ s8 unk_80; +} D_8029FBE0; // size unknown + +extern void* actionCommandDmaTable[23]; +extern s32 D_8029FBC0; + +ApiStatus LoadActionCommand(ScriptInstance* script, s32 isInitialCall) { + s32 cmd = get_variable(script, *script->ptrReadPos); + + dma_copy(actionCommandDmaTable[cmd * 3], actionCommandDmaTable[cmd * 3 + 1], actionCommandDmaTable[cmd * 3 + 2]); + return ApiStatus_DONE2; +} + +s32 func_80268224(s32 arg0) { + if (!(gBattleStatus.flags1 & 0x80000)) { + arg0 -= is_ability_active(ABILITY_DODGE_MASTER) * 3; + } + + if (arg0 < 0) { + arg0 = 0; + } + if (arg0 > 7) { + arg0 = 7; + } + + return arg0; +} INCLUDE_ASM(s32, "196AA0", func_80268284); -INCLUDE_ASM(s32, "196AA0", func_80268770); +void func_80268770(s32 arg0, s32 arg1, s32 arg2) { + D_8029FBC0 = 2; + func_80268284(arg0, arg1, arg2, 0); +} -INCLUDE_ASM(s32, "196AA0", func_80268798); +void func_80268798(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { + D_8029FBC0 = arg3; + func_80268284(arg0, arg1, arg2, 0); +} -INCLUDE_ASM(s32, "196AA0", func_802687BC); +void func_802687BC(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { + D_8029FBC0 = 2; + func_80268284(arg0, arg1, arg2, arg3); +} -INCLUDE_ASM(s32, "196AA0", func_802687E4); +void func_802687E4(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { + D_8029FBC0 = arg3; + func_80268284(arg0, arg1, arg2, arg4); +} -INCLUDE_ASM(s32, "196AA0", func_8026880C); +void func_8026880C(s32 arg0, s32 arg1, s32 arg2) { + D_8029FBC0 = 2; + func_80268284(arg0, arg1, arg2, -1); +} -INCLUDE_ASM(s32, "196AA0", func_80268834); +void func_80268834(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { + D_8029FBC0 = arg3; + func_80268284(arg0, arg1, arg2, -1); +} -INCLUDE_ASM(s32, "196AA0", func_80268858); +void func_80268858(void) { + struct D_8029FBE0* d8029FBE0 = &D_8029FBE0; + d8029FBE0->unk_5E = FALSE; + d8029FBE0->unk_6A = FALSE; + + if (!(gBattleStatus.flags1 & 0x80000)) { + if (is_ability_active(ABILITY_RIGHT_ON)) { + d8029FBE0->unk_5E = TRUE; + } + + if (!(gBattleStatus.flags1 & 0x80000) && is_ability_active(ABILITY_BERSERKER)) { + d8029FBE0->unk_61 = FALSE; + d8029FBE0->unk_6A = TRUE; + + if (rand_int(100) < 25) { + d8029FBE0->unk_5E = TRUE; + } + } + } + + if (gGameStatusPtr->demoFlags & 1) { + d8029FBE0->unk_5E = TRUE; + } + + if (gBattleStatus.flags1 & 0x1000) { + d8029FBE0->unk_5E = TRUE; + d8029FBE0->unk_61 = FALSE; + } +} + +// action_cmd_current_main - calls current action command's main func +#ifdef NON_MATCHING +void func_80268938(void) { + enum ActionCommand ac; + + if (gBattleStatus.flags1 & 0x8000) { + func_80268C9C(); + } + + ac = D_8029FBE0.unk_4A; + + switch (ac) { + case ACTION_COMMAND_JUMP: + func_802A9234_421C24(); + return; + case ACTION_COMMAND_SMASH: + func_802A936C_42236C(); + return; + case ACTION_COMMAND_FLEE: + func_802A9378_422E48(); + return; + case ACTION_COMMAND_BREAK_FREE: + func_802A92DC_4236CC(); + return; + case ACTION_COMMAND_WHIRLWIND: + func_802A92F0_423F60(); + return; + case ACTION_COMMAND_STOP_LEECH: + func_802A91F8_425788(); + return; + case ACTION_COMMAND_07: + func_802A9228_425D78(); + return; + case ACTION_COMMAND_DIZZY_SHELL: + func_802A928C_4263FC(); + return; + case ACTION_COMMAND_FIRE_SHELL: + func_802A9294_426C64(); + return; + case ACTION_COMMAND_0A: + func_802A928C_4263FC(); + return; + case ACTION_COMMAND_BOMB: + func_802A928C_4263FC(); + return; + case ACTION_COMMAND_BODY_SLAM: + func_802A92D4_4285B4(); + return; + case ACTION_COMMAND_AIR_LIFT: + func_802A9278_428CE8(); + return; + case ACTION_COMMAND_AIR_RAID: + func_802A9294_426C64(); + return; + case ACTION_COMMAND_SQUIRT: + func_802A9208_429F28(); + return; + case ACTION_COMMAND_POWER_SHOCK: + func_802A9310_42D220(); + return; + case ACTION_COMMAND_MEGA_SHOCK: + func_802A92A0_422D70(); + return; + case ACTION_COMMAND_SMACK: + func_802A9298_42E638(); + return; + case ACTION_COMMAND_SPINY_SURGE: + func_802A9254_42F074(); + return; + case ACTION_COMMAND_HURRICANE: + func_802A92A0_422D70(); + return; + case ACTION_COMMAND_SPOOK: + func_802A9298_42E638(); + return; + case ACTION_COMMAND_WATER_BLOCK: + func_802A948C_42A97C(); + return; + case ACTION_COMMAND_TIDAL_WAVE: + func_802A9228_425D78(); + return; + } +} +#else INCLUDE_ASM(s32, "196AA0", func_80268938); +#endif INCLUDE_ASM(s32, "196AA0", func_80268AF8); @@ -28,7 +237,109 @@ INCLUDE_ASM(s32, "196AA0", func_80268C9C); INCLUDE_ASM(s32, "196AA0", func_80268E88); -INCLUDE_ASM(s32, "196AA0", check_block_input); +s32 check_block_input(s32 buttonMask) { + BattleStatus* battleStatus = &gBattleStatus; + PlayerData* playerData = &gPlayerData; + struct D_8029FBE0* d8029FBE0 = &D_8029FBE0; + s32 mashWindow; + s32 blockWindow; + s32 block; + s32 mash = FALSE; + s32 bufferPos; + s32 i; + s32 ignoreWindow; + + battleStatus->blockResult = 0; // Fail + + if (battleStatus->unk_83 == -1 && (battleStatus->flags1 & 0x2000000)) { + battleStatus->blockResult = 1; + return TRUE; + } + + if (!battleStatus->unk_83 || (gGameStatusPtr->demoFlags & 1)) { + return FALSE; + } + + if (playerData->hitsTaken < 9999) { + playerData->hitsTaken += 1; + d8029FBE0->hitsTakenIsMax = FALSE; + } else { + d8029FBE0->hitsTakenIsMax = TRUE; + } + + block = FALSE; + blockWindow = 3; + mashWindow = 10; + + if (!(gBattleStatus.flags1 & 0x80000) && is_ability_active(ABILITY_DODGE_MASTER)) { + blockWindow = 5; + } + + // Pre-window mashing check + bufferPos = battleStatus->inputBufferPos; + bufferPos -= mashWindow + blockWindow; + + if (bufferPos < 0) { + bufferPos += ARRAY_COUNT(battleStatus->pushInputBuffer); + } + for (i = 0; i < mashWindow; i++) { + if (bufferPos >= ARRAY_COUNT(battleStatus->pushInputBuffer)) { + bufferPos -= ARRAY_COUNT(battleStatus->pushInputBuffer); + } + + if (battleStatus->pushInputBuffer[bufferPos] & buttonMask) { + mash = TRUE; + break; + } + bufferPos++; + } + + // Block check + bufferPos = battleStatus->inputBufferPos; + bufferPos -= blockWindow; + if (bufferPos < 0) { + bufferPos += ARRAY_COUNT(battleStatus->pushInputBuffer); + } + for (i = 0; i < blockWindow; i++) { + if (bufferPos >= ARRAY_COUNT(battleStatus->pushInputBuffer)) { + bufferPos -= ARRAY_COUNT(battleStatus->pushInputBuffer); + } + + if (battleStatus->pushInputBuffer[bufferPos] & buttonMask) { + battleStatus->blockResult = 1; // Block + block = TRUE; + break; + } + bufferPos++; + } + + if (mash) { + battleStatus->blockResult = -1; // Mash + block = FALSE; + } + + // Ignore inputs until another mash window has passed, so check_block_input() can be called in quick succession + if (block == TRUE) { + bufferPos = battleStatus->inputBufferPos; + bufferPos -= mashWindow + blockWindow; + if (bufferPos < 0) { + bufferPos += ARRAY_COUNT(battleStatus->pushInputBuffer); + } + + for (i = 0; i < mashWindow + blockWindow; i++) { + if (bufferPos >= ARRAY_COUNT(battleStatus->pushInputBuffer)) { + bufferPos -= ARRAY_COUNT(battleStatus->pushInputBuffer); + } + battleStatus->pushInputBuffer[bufferPos] = 0; + bufferPos++; + } + } + if (block && !d8029FBE0->hitsTakenIsMax) { + playerData->hitsBlocked += 1; + } + + return block; +} INCLUDE_ASM(s32, "196AA0", func_80269118); @@ -39,7 +350,17 @@ ApiStatus func_8026919C(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "196AA0", SetupMashMeter); +ApiStatus SetupMashMeter(ScriptInstance* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + D_8029FBE0.unk_80 = get_variable(script, *args++); + D_8029FBE0.unk_76 = get_variable(script, *args++); + D_8029FBE0.unk_78 = get_variable(script, *args++); + D_8029FBE0.unk_7A = get_variable(script, *args++); + D_8029FBE0.unk_7C = get_variable(script, *args++); + D_8029FBE0.unk_7E = get_variable(script, *args++); + D_8029FBE0.unk_74 = D_8029FBE0.unk_76 / 2; + return ApiStatus_DONE2; +} ApiStatus GetActionSuccess(ScriptInstance* script, s32 isInitialCall) { set_variable(script, *script->ptrReadPos, gBattleStatus.actionSuccess); diff --git a/src/1A5830.c b/src/1A5830.c index bd2f8d3d8e..4ded025dc9 100644 --- a/src/1A5830.c +++ b/src/1A5830.c @@ -1,9 +1,14 @@ #include "common.h" #include "battle/battle.h" +#include "script_api/battle.h" +#include "effects.h" extern s32 D_802946E0[]; void dispatch_event_actor(Actor* actor, Event event); +void func_8024EFE0(f32 x, f32 y, f32 z, s32 a, s32 b); +void func_802664DC(f32 x, f32 y, f32 z, s32 damage); +s32 dispatch_damage_event_actor_1(Actor* actor, s32 damageAmount, s32 event); s32 func_80263230(Actor*, Actor*); void func_80267018(Actor* actor, s32 arg1); @@ -38,63 +43,63 @@ void dispatch_event_general(Actor* actor, Event event) { } void play_hit_sound(Actor* actor, f32 x, f32 y, f32 z, u32 hitSound) { - s32 actorType = actor->actorID & 0x700; + s32 actorKind = actor->actorID & 0x700; switch (hitSound) { - case 0: + case HIT_SOUND_MISS: sfx_play_sound_at_position(SOUND_10C, 0, x, y, z); break; - case 1: + case HIT_SOUND_BONES: sfx_play_sound_at_position(SOUND_10D, 0, x, y, z); break; - case 2: - switch (actorType) { - case 0: + case HIT_SOUND_NORMAL: + switch (actorKind) { + case ACTOR_PLAYER: sfx_play_sound_at_position(SOUND_E1, 0, x, y, z); break; - case 0x100: + case ACTOR_PARTNER: sfx_play_sound_at_position(SOUND_E9, 0, x, y, z); break; - case 0x200: + case ACTOR_ENEMY0: sfx_play_sound_at_position(SOUND_E9, 0, x, y, z); break; } break; - case 3: - switch (actorType) { - case 0: + case HIT_SOUND_FIRE: + switch (actorKind) { + case ACTOR_PLAYER: sfx_play_sound_at_position(SOUND_E2, 0, x, y, z); break; - case 0x100: + case ACTOR_PARTNER: sfx_play_sound_at_position(SOUND_EA, 0, x, y, z); break; - case 0x200: + case ACTOR_ENEMY0: sfx_play_sound_at_position(SOUND_EA, 0, x, y, z); break; } break; - case 4: - switch (actorType) { - case 0: + case HIT_SOUND_ICE: + switch (actorKind) { + case ACTOR_PLAYER: sfx_play_sound_at_position(SOUND_E3, 0, x, y, z); break; - case 0x100: - sfx_play_sound_at_position(SOUND_EB, 0, x, y, z); + case ACTOR_PARTNER: + sfx_play_sound_at_position(SOUND_FREEZE, 0, x, y, z); break; - case 0x200: - sfx_play_sound_at_position(SOUND_EB, 0, x, y, z); + case ACTOR_ENEMY0: + sfx_play_sound_at_position(SOUND_FREEZE, 0, x, y, z); break; } break; - case 5: - switch (actorType) { - case 0: + case HIT_SOUND_SHOCK: + switch (actorKind) { + case ACTOR_PLAYER: sfx_play_sound_at_position(SOUND_37A, 0, x, y, z); break; - case 0x100: + case ACTOR_PARTNER: sfx_play_sound_at_position(SOUND_37B, 0, x, y, z); break; - case 0x200: + case ACTOR_ENEMY0: sfx_play_sound_at_position(SOUND_37B, 0, x, y, z); break; } @@ -129,7 +134,579 @@ void dispatch_event_actor(Actor* actor, Event event) { INCLUDE_ASM(s32, "1A5830", calc_enemy_test_target); +#ifdef NON_MATCHING +// attacker needs to be in 0x58(sp) not a save register +s32 calc_enemy_damage_target(Actor* attacker) { + Actor *target; + s32 attack; + s32 eventFlags; + s32 targetID; + s32 defense; + s32 attackElement; + s32 targetPartIdx; + ActorMovementWalk* walk; + s32 phi_s2; + s8 phi_s5; + s8 phi_s7; + s32 isFire = FALSE; + s32 isElectric = FALSE; + s32 isEnchanted = FALSE; + s32 damage; + ActorPart* targetPart; + BattleStatus* battleStatus = &gBattleStatus; + s32 hitResult = HIT_RESULT_HIT; // ? + + targetID = battleStatus->currentTargetID; + targetPartIdx = battleStatus->currentTargetPart; + + battleStatus->wasStatusInflicted = FALSE; + battleStatus->lastAttackDamage = 0; + battleStatus->currentTargetID2 = targetID; + battleStatus->attackerActorID = attacker->actorID; + battleStatus->currentTargetPart2 = targetPartIdx; + walk = &attacker->walk; + + target = get_actor(targetID); + if (target == NULL) { + return HIT_RESULT_HIT; + } + + targetPart = get_actor_part(target, targetPartIdx); + ASSERT(targetPart != NULL); + + targetID &= 0x700; + target->lastDamageTaken = 0; + + /* + if (targetID != ACTOR_PARTNER) { + if (targetID < 0x101 && targetID == 0) { + target->currentHP = (s8) (u8) gPlayerData.curHP; + } + } else { + target->currentHP = 127; + } + */ + switch (targetID) { + case ACTOR_PLAYER: + target->currentHP = gPlayerData.curHP; + break; + case ACTOR_PARTNER: + target->currentHP = 127; + break; + } + + eventFlags = targetPart->eventFlags; + if ((eventFlags & 0x20) == 0) { + if (target->transStatus == 0xE) { + return HIT_RESULT_MISS; + } + if (((eventFlags & 0x800) != 0) && ((battleStatus->currentAttackElement & 0x800) == 0)) { + return HIT_RESULT_MISS; + } + if (target->stoneStatus == STATUS_STONE) { + func_8024EFE0(walk->goalPos.x, walk->goalPos.y, /*eventFlags,*/ walk->goalPos.z, /*0,*/ 1, -1); + show_damage_popup(walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, 0, 0); + play_hit_sound(attacker, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, 0); + dispatch_event_general(target, EVENT_IMMUNE); + return HIT_RESULT_HIT; + } + if ((battleStatus->currentAttackElement & DAMAGE_TYPE_BLAST) && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) && (targetPart->eventFlags & EVENT_FLAG_EXPLOSIVE)) { + play_hit_sound(attacker, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, 3); + dispatch_event_general(target, EVENT_EXPLODE_TRIGGER); + return HIT_RESULT_TRIGGERED_EXPLODE; + } + if ((battleStatus->currentAttackElement & DAMAGE_TYPE_QUAKE) && (target->flags & ACTOR_FLAG_FLYING)) { + play_hit_sound(attacker, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, 1); + return HIT_RESULT_MISS_QUAKE; + } + if (battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE) { + playFX_24(0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z + 5.0f, 1.0f, 0x18); + isFire = TRUE; + } + if (battleStatus->currentAttackElement & DAMAGE_TYPE_ELECTRIC) { + func_80251474(target); + isElectric = TRUE; + } + if (battleStatus->currentAttackElement & DAMAGE_TYPE_WATER) { + playFX_5F(0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z + 5.0f, 1.0f, 0x18); + } + if (battleStatus->currentAttackElement & DAMAGE_TYPE_ICE) { + playFX_30(0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z + 5.0f); + } + + // TODO: if/else ordering + if (attacker->staticStatus == STATUS_STATIC) { + gBattleStatus.flags1 &= ~1; + } else if ((targetPart->eventFlags & EVENT_FLAG_ELECTRIFIED) && !(battleStatus->currentAttackElement & 0x10000020)) { + if (!(battleStatus->currentAttackEventSuppression & 8)) { + if (!has_enchanted_part(attacker)) { + battleStatus->flags1 |= 0x20; + } + gBattleStatus.flags1 &= ~1; + } + } else { + gBattleStatus.flags1 &= ~1; + } + + defense = get_defense(target, targetPart->defenseTable, gBattleStatus.currentAttackElement); + attackElement = gBattleStatus.currentAttackElement; + + if (!(attackElement & DAMAGE_TYPE_IGNORE_DEFENSE)) { + defense += target->defenseBoost; + + if (targetID == ACTOR_PLAYER) { + if (battleStatus->waterBlockTurnsLeft > 0) { + if (!(attackElement & (DAMAGE_TYPE_BLAST | DAMAGE_TYPE_FIRE))) { + defense += 1; + } else { + defense += 2; + } + } + + if (gBattleStatus.flags1 & 0x400000) { + defense += 1; + } + } + } + + attack = battleStatus->currentAttackDamage; + + switch (targetID) { + case ACTOR_PARTNER: + break; + case ACTOR_PLAYER: + attack -= battleStatus->unk_AD; + break; + } + + attack += attacker->attackBoost; + + if (attacker->chillOutTurns != 0) { + attack -= attacker->chillOutAmount; + } + + if (attacker->debuff == STATUS_SHRINK) { + if (attack > 0) { + attack /= 2; + } + } + + if (attack > 99) { + attack = 99; + } + if (attack <= 0) { + attack = 0; + } + + target->hpChangeCounter = 0; + damage = attack - defense; + + if (targetID == ACTOR_PLAYER) { + if (player_team_is_ability_active(target, ABILITY_FIRE_SHIELD)) { + if (battleStatus->currentAttackElement & DAMAGE_TYPE_FIRE) { + damage--; + } + } + + damage -= player_team_is_ability_active(target, ABILITY_DEFEND_PLUS); + damage -= player_team_is_ability_active(target, ABILITY_P_DOWN_D_UP); + damage += player_team_is_ability_active(target, ABILITY_P_UP_D_DOWN); + + if (target->currentHP <= 5) { + if (player_team_is_ability_active(target, ABILITY_LAST_STAND)) { + damage /= 2; + } + } + } + + switch (targetID) { + case ACTOR_PLAYER: + if ((target->debuff == 0 || target->debuff >= STATUS_POISON) && (target->stoneStatus == 0) && ((battleStatus->currentAttackElement & 0x2000000) == 0)) { + s32 blocked; + + if (player_team_is_ability_active(target, ABILITY_BERSERKER)) { + blocked = rand_int(1); + } else { + blocked = check_block_input(BUTTON_A); + } + + if (blocked) { + damage = damage - 1 - player_team_is_ability_active(target, ABILITY_DAMAGE_DODGE); + sfx_play_sound_at_position(0x231, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + func_802667F0(0, target, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + gBattleStatus.flags1 |= 0x80000000; + } + + func_80266970(target); + } + break; + case ACTOR_PARTNER: + if ((target->stoneStatus == 0) && (target->koStatus == 0) && ((battleStatus->currentAttackElement & 0x2000000) == 0)) { + if (check_block_input(BUTTON_A)) { + damage = 0; + sfx_play_sound_at_position(0x231, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + func_802667F0(0, target, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + gBattleStatus.flags1 |= 0x80000000; + } + + func_80266970(target); + } + break; + } + + if (gBattleStatus.flags1 & 0x20) { + func_80266970(target); + } + + if (damage <= 0) { + target->hpChangeCounter = 0; + if ((battleStatus->currentAttackElement & 0x40000000) == 0) { + hitResult = HIT_RESULT_MISS_QUAKE; + phi_s2 = 0x17; + } else { + hitResult = HIT_RESULT_MISS_QUAKE; + phi_s2 = 0x17; + if (target->currentHP <= 0) { + phi_s2 = EVENT_DEATH; + } + } + battleStatus->lastAttackDamage = 0; + } else { + target->damageCounter += damage; + target->hpChangeCounter -= damage; + battleStatus->lastAttackDamage = 0; + hitResult = HIT_RESULT_HIT; //phi_s2 = 9; + if (!(targetPart->flags & PART_FLAG_2000)) { + if (!(battleStatus->flags1 & 0x2000000)) { + if (!(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) { + target->currentHP -= damage; + } + + if (target->currentHP <= 0) { + target->currentHP = 0; + phi_s2 = EVENT_DEATH; + } + } + } + battleStatus->lastAttackDamage += damage; + target->lastDamageTaken = battleStatus->lastAttackDamage; + target->hpChangeCounter = 0; + + if (targetID == ACTOR_PLAYER) { + battleStatus->damageTaken += damage; + gPlayerData.curHP = target->currentHP; + } + } + + if (gBattleStatus.flags1 & 0x20) { + if (phi_s2 == 9) { + phi_s2 = 0xA; + } + if (phi_s2 == 0x17) { + phi_s2 = 0x19; + } + if (target->currentHP <= 0) { + if (phi_s2 == 0x19) { + phi_s2 = 0x20; + } + } + } else { + if (phi_s2 == 0x20) { + phi_s2 = 9; + } + } + + if (gBattleStatus.flags1 & 0x20) { + func_80266E14(targetPart); + + if (gBattleStatus.currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_JUMP)) { + if (targetPart->eventFlags & EVENT_FLAG_FLIPABLE) { + if (phi_s2 == 0xA) { + phi_s2 = EVENT_FLIP_TRIGGER; + } + if (phi_s2 == 0x19) { + phi_s2 = EVENT_FLIP_TRIGGER; + } + } + } + } + + if (!(gBattleStatus.flags1 & 0x20)) { + if (battleStatus->currentAttackElement & (DAMAGE_TYPE_POW | DAMAGE_TYPE_QUAKE | DAMAGE_TYPE_JUMP)) { + if (targetPart->eventFlags & EVENT_FLAG_FLIPABLE) { + if (phi_s2 == EVENT_HIT_COMBO) { + phi_s2 = EVENT_FLIP_TRIGGER; + } + if (phi_s2 == EVENT_23) { + phi_s2 = EVENT_FLIP_TRIGGER; + } + } + } + } else if (battleStatus->currentAttackElement & (DAMAGE_TYPE_FIRE | DAMAGE_TYPE_BLAST | DAMAGE_TYPE_4000)) { + if (phi_s2 == 0xA) { + phi_s2 = EVENT_BURN_HIT; + } + if (phi_s2 == EVENT_DEATH) { + phi_s2 = EVENT_41; + } + } + + if (gBattleStatus.flags1 & 0x80000000) { + if (phi_s2 == EVENT_HIT_COMBO) { + phi_s2 = EVENT_24; + } + if (phi_s2 == EVENT_HIT) { + phi_s2 = EVENT_BLOCK; + } + if (phi_s2 == EVENT_23) { + phi_s2 = EVENT_24; + } + if (phi_s2 == EVENT_IMMUNE) { + phi_s2 = EVENT_BLOCK; + } + if (phi_s2 == EVENT_BURN_HIT) { + phi_s2 = EVENT_BLOCK; + } + } + + phi_s5 = FALSE; + phi_s7 = FALSE; // what is this for + if (gBattleStatus.flags1 & 0x20) { + if (battleStatus->lastAttackDamage >= 0 && phi_s2 != EVENT_DEATH && phi_s2 != EVENT_SPIN_SMASH_DEATH) { + if (phi_s2 != EVENT_EXPLODE_TRIGGER) { + if (!(battleStatus->flags1 & 0x80000000)) { + if (!(battleStatus->flags2 & 0x1000000)) { + if (targetID != ACTOR_PLAYER || !is_ability_active(ABILITY_HEALTHY_HEALTHY) || !(rand_int(100) < 20)) { + if ((battleStatus->currentAttackStatus & STATUS_FLAG_SHRINK) && try_inflict_status(target, STATUS_SHRINK, STATUS_SHRINK_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_POISON) && try_inflict_status(target, STATUS_POISON, STATUS_POISON_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_STONE) && try_inflict_status(target, STATUS_STONE, STATUS_STONE_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_SLEEP) && try_inflict_status(target, STATUS_SLEEP, STATUS_SLEEP_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY) && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_STOP) && try_inflict_status(target, STATUS_STOP, STATUS_STOP_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_STATIC) && try_inflict_status(target, STATUS_STATIC, STATUS_STATIC_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE) && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_FEAR) && try_inflict_status(target, STATUS_FEAR, STATUS_FEAR_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + + // BUG? repeated paralyse and dizzy infliction + if ((battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE) && try_inflict_status(target, STATUS_PARALYZE, STATUS_PARALYZE_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY) && try_inflict_status(target, STATUS_DIZZY, STATUS_DIZZY_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + + if ((battleStatus->currentAttackStatus & STATUS_FLAG_FROZEN) && target->debuff != STATUS_FROZEN && try_inflict_status(target, STATUS_FROZEN, STATUS_FROZEN_TURN_MOD)) { + phi_s5 = TRUE; + phi_s7 = TRUE; + } + + if (phi_s5) { + if (phi_s2 == EVENT_23) { + phi_s2 = EVENT_HIT_COMBO; + } + if (phi_s2 == EVENT_IMMUNE) { + phi_s2 = EVENT_HIT; + } + } + } + } + } + } + } + } + + battleStatus->wasStatusInflicted = phi_s5; + + switch (targetID) { + case ACTOR_PARTNER: + dispatch_event_partner(phi_s2); + break; + case ACTOR_PLAYER: + dispatch_event_player(target, phi_s2); + break; + case ACTOR_ENEMY0: + dispatch_event_actor(target, phi_s2); + break; + } + + if (targetID == ACTOR_PARTNER) { + if (battleStatus->lastAttackDamage > 0 && (gBattleStatus.flags1 & 0x20) && !(target->flags & ACTOR_FLAG_NO_DMG_APPLY)) { + inflict_partner_ko(target, STATUS_KO, battleStatus->lastAttackDamage); + } + } + if (!(target->flags & ACTOR_FLAG_NO_DMG_POPUP)) { + switch (targetID) { + case ACTOR_PARTNER: + case ACTOR_PLAYER: + if (battleStatus->lastAttackDamage == 0) { + if (!phi_s7 && !phi_s5) { + // immune star fx? + func_8024EFE0(walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, 0, -3); + } + } else { + if (battleStatus->currentAttackElement & 0x20000040) { // TODO flags + show_damage_popup(walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, battleStatus->lastAttackDamage, 1); + } else { + func_802664DC(walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, battleStatus->lastAttackDamage); + } + + func_802666E4(target, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, battleStatus->lastAttackDamage); + } + break; + case ACTOR_ENEMY0: + if (battleStatus->lastAttackDamage == 0) { + if (!phi_s7 && !phi_s5) { + func_8024EFE0(walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, 0, 3); + } + } else { + if (battleStatus->currentAttackElement & 0x20000040) { + // XXX: last arg + show_damage_popup(walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, battleStatus->lastAttackDamage, 0); + } else { + func_802664DC(walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, battleStatus->lastAttackDamage); + } + + func_802666E4(target, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, battleStatus->lastAttackDamage); + } + break; + } + } + + if (battleStatus->lastAttackDamage > 0) { + u32 hitSound; + + func_80267018(target, 1); + + if (attacker->actorTypeData1[5] != 0) { + sfx_play_sound_at_position(attacker->actorTypeData1[5], 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + + hitSound = HIT_SOUND_FIRE; + if (!isFire) { + hitSound = HIT_SOUND_SHOCK; + if (!isElectric) { + hitSound = HIT_SOUND_NORMAL; + } + } + play_hit_sound(target, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z, hitSound); + } else { // maybe not else + if (phi_s7 || isEnchanted) { + if (targetPart->flags & PART_FLAG_2000) { + sfx_play_sound_at_position(SOUND_10C, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + } + } + + // possibly vars stored as floats + if ((battleStatus->currentAttackStatus & STATUS_FLAG_SLEEP) && phi_s5) { + ScriptInstance* script = start_script(&DoSleepHit, 10, 0); + script->varTable[0] = walk->goalPos.x; + script->varTable[1] = walk->goalPos.y; + script->varTable[2] = walk->goalPos.z; + sfx_play_sound_at_position(SOUND_INFLICT_SLEEP, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_DIZZY) && phi_s5) { + ScriptInstance* script = start_script(&DoDizzyHit, 10, 0); + script->varTable[0] = walk->goalPos.x; + script->varTable[1] = walk->goalPos.y; + script->varTable[2] = walk->goalPos.z; + sfx_play_sound_at_position(SOUND_INFLICT_STATUS, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_PARALYZE) && phi_s5) { + ScriptInstance* script = start_script(&DoParalyzeHit, 10, 0); + script->varTable[0] = walk->goalPos.x; + script->varTable[1] = walk->goalPos.y; + script->varTable[2] = walk->goalPos.z; + sfx_play_sound_at_position(SOUND_INFLICT_STATUS, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_POISON) && phi_s5) { + ScriptInstance* script = start_script(&DoPoisonHit, 10, 0); + script->varTable[0] = walk->goalPos.x; + script->varTable[1] = walk->goalPos.y; + script->varTable[2] = walk->goalPos.z; + sfx_play_sound_at_position(SOUND_INFLICT_STATUS, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_STOP) && phi_s5) { + ScriptInstance* script = start_script(&DoStopHit, 10, 0); + script->varTable[0] = walk->goalPos.x; + script->varTable[1] = walk->goalPos.y; + script->varTable[2] = walk->goalPos.z; + sfx_play_sound_at_position(SOUND_INFLICT_STATUS, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_FROZEN) && phi_s5) { + ScriptInstance* script = start_script(&DoFreezeHit, 10, 0); + script->varTable[0] = walk->goalPos.x; + script->varTable[1] = walk->goalPos.y; + script->varTable[2] = walk->goalPos.z; + script->varTable[3] = target; + sfx_play_sound_at_position(SOUND_FREEZE, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + if ((battleStatus->currentAttackStatus & STATUS_FLAG_SHRINK) && phi_s5) { + ScriptInstance* script = start_script(&DoShrinkHit, 10, 0); + script->varTable[0] = walk->goalPos.x; + script->varTable[1] = walk->goalPos.y; + script->varTable[2] = walk->goalPos.z; + script->varTable[3] = target; + sfx_play_sound_at_position(SOUND_INFLICT_STATUS, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + + if ((battleStatus->currentAttackElement & DAMAGE_TYPE_SMASH) && target->actorType == ACTOR_TYPE_goomnut_tree) { + sfx_play_sound_at_position(SOUND_SMASH_GOOMNUT_TREE, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + } + + func_80266ADC(target); + if ( + ( + attacker->staticStatus != STATUS_STATIC + && (target->staticStatus == STATUS_STATIC || (targetPart->eventFlags & EVENT_FLAG_ELECTRIFIED)) + ) + && !(battleStatus->currentAttackElement & DAMAGE_TYPE_NO_CONTACT) + && !(battleStatus->currentAttackEventSuppression & 8) + && (attacker->transStatus != 0xE) + && !has_enchanted_part(attacker) + ) { + // enum mismatch? shock vs explode :raised_eyebrow: + sfx_play_sound_at_position(SOUND_37B, 0, walk->goalPos.x, walk->goalPos.y, walk->goalPos.z); + func_80251474(attacker); + dispatch_damage_event_actor_1(attacker, 1, EVENT_SHOCK_HIT); + return HIT_RESULT_TRIGGERED_EXPLODE; + } + } + + return hitResult; +} +#else INCLUDE_ASM(s32, "1A5830", calc_enemy_damage_target); +#endif // part before the first conditional needs work diff --git a/src/4219F0.c b/src/4219F0.c deleted file mode 100644 index 912c62e99a..0000000000 --- a/src/4219F0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "4219F0", func_802A9000_4219F0); - -INCLUDE_ASM(s32, "4219F0", func_802A9120_421B10); - -INCLUDE_ASM(s32, "4219F0", func_802A9234_421C24); - -INCLUDE_ASM(s32, "4219F0", func_802A9544_421F34); - -INCLUDE_ASM(s32, "4219F0", func_802A9590_421F80); diff --git a/src/422000.c b/src/422000.c deleted file mode 100644 index 373aa2d798..0000000000 --- a/src/422000.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "422000", func_802A9000_422000); - -INCLUDE_ASM(s32, "422000", func_802A9258_422258); - -INCLUDE_ASM(s32, "422000", func_802A936C_42236C); - -INCLUDE_ASM(s32, "422000", func_802A99D4_4229D4); - -INCLUDE_ASM(s32, "422000", func_802A9A30_422A30); diff --git a/src/422AD0.c b/src/422AD0.c deleted file mode 100644 index efdec0a1fc..0000000000 --- a/src/422AD0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "422AD0", func_802A9000_422AD0); - -INCLUDE_ASM(s32, "422AD0", func_802A92A0_422D70); - -INCLUDE_ASM(s32, "422AD0", func_802A9378_422E48); - -INCLUDE_ASM(s32, "422AD0", func_802A96F4_4231C4); - -INCLUDE_ASM(s32, "422AD0", func_802A9894_423364); diff --git a/src/4233F0.c b/src/4233F0.c deleted file mode 100644 index 63a08196eb..0000000000 --- a/src/4233F0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "4233F0", func_802A9000_4233F0); - -INCLUDE_ASM(s32, "4233F0", func_802A91B0_4235A0); - -INCLUDE_ASM(s32, "4233F0", func_802A92DC_4236CC); - -INCLUDE_ASM(s32, "4233F0", func_802A96B8_423AA8); - -INCLUDE_ASM(s32, "4233F0", func_802A97FC_423BEC); diff --git a/src/423C70.c b/src/423C70.c deleted file mode 100644 index d8ad6e597f..0000000000 --- a/src/423C70.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "423C70", func_802A9000_423C70); - -INCLUDE_ASM(s32, "423C70", func_802A91E0_423E50); - -INCLUDE_ASM(s32, "423C70", func_802A92F0_423F60); - -INCLUDE_ASM(s32, "423C70", func_802A9744_4243B4); - -INCLUDE_ASM(s32, "423C70", func_802A9898_424508); diff --git a/src/425590.c b/src/425590.c deleted file mode 100644 index 5d2ad9b98c..0000000000 --- a/src/425590.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "425590", func_802A9000_425590); - -INCLUDE_ASM(s32, "425590", func_802A9110_4256A0); - -INCLUDE_ASM(s32, "425590", func_802A91F8_425788); - -INCLUDE_ASM(s32, "425590", func_802A94A4_425A34); - -INCLUDE_ASM(s32, "425590", func_802A9544_425AD4); diff --git a/src/425B50.c b/src/425B50.c deleted file mode 100644 index 3c381f23d7..0000000000 --- a/src/425B50.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "425B50", func_802A9000_425B50); - -INCLUDE_ASM(s32, "425B50", func_802A916C_425CBC); - -INCLUDE_ASM(s32, "425B50", func_802A9228_425D78); - -INCLUDE_ASM(s32, "425B50", func_802A94D8_426028); - -INCLUDE_ASM(s32, "425B50", func_802A959C_4260EC); diff --git a/src/426170.c b/src/426170.c deleted file mode 100644 index 4523675c55..0000000000 --- a/src/426170.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "426170", func_802A9000_426170); - -INCLUDE_ASM(s32, "426170", func_802A9170_4262E0); - -INCLUDE_ASM(s32, "426170", func_802A928C_4263FC); - -INCLUDE_ASM(s32, "426170", func_802A96DC_42684C); - -INCLUDE_ASM(s32, "426170", func_802A97BC_42692C); diff --git a/src/4269D0.c b/src/4269D0.c deleted file mode 100644 index f46dd38cdb..0000000000 --- a/src/4269D0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "4269D0", func_802A9000_4269D0); - -INCLUDE_ASM(s32, "4269D0", func_802A9178_426B48); - -INCLUDE_ASM(s32, "4269D0", func_802A9294_426C64); - -INCLUDE_ASM(s32, "4269D0", func_802A9834_427204); - -INCLUDE_ASM(s32, "4269D0", func_802A9914_4272E4); diff --git a/src/4273B0.c b/src/4273B0.c deleted file mode 100644 index e9854f7248..0000000000 --- a/src/4273B0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "4273B0", func_802A9000_4273B0); - -INCLUDE_ASM(s32, "4273B0", func_802A9170_427520); - -INCLUDE_ASM(s32, "4273B0", func_802A928C_42763C); - -INCLUDE_ASM(s32, "4273B0", func_802A955C_42790C); - -INCLUDE_ASM(s32, "4273B0", func_802A963C_4279EC); diff --git a/src/427A70.c b/src/427A70.c deleted file mode 100644 index 0d47d9775a..0000000000 --- a/src/427A70.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "427A70", func_802A9000_427A70); - -INCLUDE_ASM(s32, "427A70", func_802A9170_427BE0); - -INCLUDE_ASM(s32, "427A70", func_802A928C_427CFC); - -INCLUDE_ASM(s32, "427A70", func_802A96EC_42815C); - -INCLUDE_ASM(s32, "427A70", func_802A97CC_42823C); diff --git a/src/4282E0.c b/src/4282E0.c deleted file mode 100644 index 3178014c68..0000000000 --- a/src/4282E0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "4282E0", func_802A9000_4282E0); - -INCLUDE_ASM(s32, "4282E0", func_802A91B8_428498); - -INCLUDE_ASM(s32, "4282E0", func_802A92D4_4285B4); - -INCLUDE_ASM(s32, "4282E0", func_802A9664_428944); - -INCLUDE_ASM(s32, "4282E0", func_802A9708_4289E8); diff --git a/src/428A70.c b/src/428A70.c deleted file mode 100644 index b5d51f52ac..0000000000 --- a/src/428A70.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "428A70", func_802A9000_428A70); - -INCLUDE_ASM(s32, "428A70", func_802A9184_428BF4); - -INCLUDE_ASM(s32, "428A70", func_802A9278_428CE8); - -INCLUDE_ASM(s32, "428A70", func_802A96EC_42915C); - -INCLUDE_ASM(s32, "428A70", func_802A9810_429280); diff --git a/src/429320.c b/src/429320.c deleted file mode 100644 index dd8acec07f..0000000000 --- a/src/429320.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "429320", func_802A9000_429320); - -INCLUDE_ASM(s32, "429320", func_802A9178_429498); - -INCLUDE_ASM(s32, "429320", func_802A9294_4295B4); - -INCLUDE_ASM(s32, "429320", func_802A984C_429B6C); - -INCLUDE_ASM(s32, "429320", func_802A992C_429C4C); diff --git a/src/429D20.c b/src/429D20.c deleted file mode 100644 index 5bd553f639..0000000000 --- a/src/429D20.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "429D20", func_802A9000_429D20); - -INCLUDE_ASM(s32, "429D20", func_802A911C_429E3C); - -INCLUDE_ASM(s32, "429D20", func_802A9208_429F28); - -INCLUDE_ASM(s32, "429D20", func_802A9634_42A354); - -INCLUDE_ASM(s32, "429D20", func_802A9720_42A440); diff --git a/src/42A4F0.c b/src/42A4F0.c deleted file mode 100644 index 5cf72570ac..0000000000 --- a/src/42A4F0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "42A4F0", func_802A9000_42A4F0); - -INCLUDE_ASM(s32, "42A4F0", func_802A9398_42A888); - -INCLUDE_ASM(s32, "42A4F0", func_802A948C_42A97C); - -INCLUDE_ASM(s32, "42A4F0", func_802AA014_42B504); - -INCLUDE_ASM(s32, "42A4F0", func_802AA0D8_42B5C8); diff --git a/src/42C6F0.c b/src/42C6F0.c deleted file mode 100644 index d89d881ec3..0000000000 --- a/src/42C6F0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "42C6F0", func_802A9000_42C6F0); - -INCLUDE_ASM(s32, "42C6F0", func_802A9138_42C828); - -INCLUDE_ASM(s32, "42C6F0", func_802A9228_42C918); - -INCLUDE_ASM(s32, "42C6F0", func_802A9718_42CE08); - -INCLUDE_ASM(s32, "42C6F0", func_802A9764_42CE54); diff --git a/src/42CF10.c b/src/42CF10.c deleted file mode 100644 index e8f65fd3a4..0000000000 --- a/src/42CF10.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "42CF10", func_802A9000_42CF10); - -INCLUDE_ASM(s32, "42CF10", func_802A9210_42D120); - -INCLUDE_ASM(s32, "42CF10", func_802A9310_42D220); - -INCLUDE_ASM(s32, "42CF10", func_802A98D0_42D7E0); - -INCLUDE_ASM(s32, "42CF10", func_802A9A54_42D964); diff --git a/src/42DA10.c b/src/42DA10.c deleted file mode 100644 index 52c679eab0..0000000000 --- a/src/42DA10.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "42DA10", func_802A9000_42DA10); - -INCLUDE_ASM(s32, "42DA10", func_802A91A0_42DBB0); - -INCLUDE_ASM(s32, "42DA10", func_802A92A0_42DCB0); - -INCLUDE_ASM(s32, "42DA10", func_802A97F8_42E208); - -INCLUDE_ASM(s32, "42DA10", func_802A98E0_42E2F0); diff --git a/src/42E3A0.c b/src/42E3A0.c deleted file mode 100644 index 02bdee51c8..0000000000 --- a/src/42E3A0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "42E3A0", func_802A9000_42E3A0); - -INCLUDE_ASM(s32, "42E3A0", func_802A917C_42E51C); - -INCLUDE_ASM(s32, "42E3A0", func_802A9298_42E638); - -INCLUDE_ASM(s32, "42E3A0", func_802A98B0_42EC50); - -INCLUDE_ASM(s32, "42E3A0", func_802A9990_42ED30); diff --git a/src/42EE20.c b/src/42EE20.c deleted file mode 100644 index 42700644c8..0000000000 --- a/src/42EE20.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "42EE20", func_802A9000_42EE20); - -INCLUDE_ASM(s32, "42EE20", func_802A916C_42EF8C); - -INCLUDE_ASM(s32, "42EE20", func_802A9254_42F074); - -INCLUDE_ASM(s32, "42EE20", func_802A973C_42F55C); - -INCLUDE_ASM(s32, "42EE20", func_802A981C_42F63C); diff --git a/src/42F6E0.c b/src/42F6E0.c deleted file mode 100644 index e849ea4638..0000000000 --- a/src/42F6E0.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "42F6E0", func_802A9000_42F6E0); - -INCLUDE_ASM(s32, "42F6E0", func_802A91A0_42F880); - -INCLUDE_ASM(s32, "42F6E0", func_802A92A0_42F980); - -INCLUDE_ASM(s32, "42F6E0", func_802A97AC_42FE8C); - -INCLUDE_ASM(s32, "42F6E0", func_802A9894_42FF74); diff --git a/src/430020.c b/src/430020.c deleted file mode 100644 index 10e2046fc2..0000000000 --- a/src/430020.c +++ /dev/null @@ -1,11 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "430020", func_802A9000_430020); - -INCLUDE_ASM(s32, "430020", func_802A917C_43019C); - -INCLUDE_ASM(s32, "430020", func_802A9298_4302B8); - -INCLUDE_ASM(s32, "430020", func_802A97FC_43081C); - -INCLUDE_ASM(s32, "430020", func_802A98DC_4308FC); diff --git a/src/battle/action_cmd/07.c b/src/battle/action_cmd/07.c new file mode 100644 index 0000000000..dec2917928 --- /dev/null +++ b/src/battle/action_cmd/07.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/07", func_802A9000_425B50); + +INCLUDE_ASM(s32, "battle/action_cmd/07", func_802A916C_425CBC); + +INCLUDE_ASM(s32, "battle/action_cmd/07", func_802A9228_425D78); + +INCLUDE_ASM(s32, "battle/action_cmd/07", func_802A94D8_426028); + +INCLUDE_ASM(s32, "battle/action_cmd/07", func_802A959C_4260EC); diff --git a/src/battle/action_cmd/0A.c b/src/battle/action_cmd/0A.c new file mode 100644 index 0000000000..f55d4594dd --- /dev/null +++ b/src/battle/action_cmd/0A.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/0A", func_802A9000_4273B0); + +INCLUDE_ASM(s32, "battle/action_cmd/0A", func_802A9170_427520); + +INCLUDE_ASM(s32, "battle/action_cmd/0A", func_802A928C_42763C); + +INCLUDE_ASM(s32, "battle/action_cmd/0A", func_802A955C_42790C); + +INCLUDE_ASM(s32, "battle/action_cmd/0A", func_802A963C_4279EC); diff --git a/src/battle/action_cmd/air_lift.c b/src/battle/action_cmd/air_lift.c new file mode 100644 index 0000000000..909817476f --- /dev/null +++ b/src/battle/action_cmd/air_lift.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/air_lift", func_802A9000_428A70); + +INCLUDE_ASM(s32, "battle/action_cmd/air_lift", func_802A9184_428BF4); + +INCLUDE_ASM(s32, "battle/action_cmd/air_lift", func_802A9278_428CE8); + +INCLUDE_ASM(s32, "battle/action_cmd/air_lift", func_802A96EC_42915C); + +INCLUDE_ASM(s32, "battle/action_cmd/air_lift", func_802A9810_429280); diff --git a/src/battle/action_cmd/air_raid.c b/src/battle/action_cmd/air_raid.c new file mode 100644 index 0000000000..f2bd59a334 --- /dev/null +++ b/src/battle/action_cmd/air_raid.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/air_raid", func_802A9000_429320); + +INCLUDE_ASM(s32, "battle/action_cmd/air_raid", func_802A9178_429498); + +INCLUDE_ASM(s32, "battle/action_cmd/air_raid", func_802A9294_4295B4); + +INCLUDE_ASM(s32, "battle/action_cmd/air_raid", func_802A984C_429B6C); + +INCLUDE_ASM(s32, "battle/action_cmd/air_raid", func_802A992C_429C4C); diff --git a/src/battle/action_cmd/body_slam.c b/src/battle/action_cmd/body_slam.c new file mode 100644 index 0000000000..abd0c41983 --- /dev/null +++ b/src/battle/action_cmd/body_slam.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/body_slam", func_802A9000_4282E0); + +INCLUDE_ASM(s32, "battle/action_cmd/body_slam", func_802A91B8_428498); + +INCLUDE_ASM(s32, "battle/action_cmd/body_slam", func_802A92D4_4285B4); + +INCLUDE_ASM(s32, "battle/action_cmd/body_slam", func_802A9664_428944); + +INCLUDE_ASM(s32, "battle/action_cmd/body_slam", func_802A9708_4289E8); diff --git a/src/battle/action_cmd/bomb.c b/src/battle/action_cmd/bomb.c new file mode 100644 index 0000000000..1b4461a275 --- /dev/null +++ b/src/battle/action_cmd/bomb.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/bomb", func_802A9000_427A70); + +INCLUDE_ASM(s32, "battle/action_cmd/bomb", func_802A9170_427BE0); + +INCLUDE_ASM(s32, "battle/action_cmd/bomb", func_802A928C_427CFC); + +INCLUDE_ASM(s32, "battle/action_cmd/bomb", func_802A96EC_42815C); + +INCLUDE_ASM(s32, "battle/action_cmd/bomb", func_802A97CC_42823C); diff --git a/src/battle/action_cmd/break_free.c b/src/battle/action_cmd/break_free.c new file mode 100644 index 0000000000..5953624f76 --- /dev/null +++ b/src/battle/action_cmd/break_free.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/break_free", func_802A9000_4233F0); + +INCLUDE_ASM(s32, "battle/action_cmd/break_free", func_802A91B0_4235A0); + +INCLUDE_ASM(s32, "battle/action_cmd/break_free", func_802A92DC_4236CC); + +INCLUDE_ASM(s32, "battle/action_cmd/break_free", func_802A96B8_423AA8); + +INCLUDE_ASM(s32, "battle/action_cmd/break_free", func_802A97FC_423BEC); diff --git a/src/battle/action_cmd/dizzy_shell.c b/src/battle/action_cmd/dizzy_shell.c new file mode 100644 index 0000000000..64d6012c00 --- /dev/null +++ b/src/battle/action_cmd/dizzy_shell.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/dizzy_shell", func_802A9000_426170); + +INCLUDE_ASM(s32, "battle/action_cmd/dizzy_shell", func_802A9170_4262E0); + +INCLUDE_ASM(s32, "battle/action_cmd/dizzy_shell", func_802A928C_4263FC); + +INCLUDE_ASM(s32, "battle/action_cmd/dizzy_shell", func_802A96DC_42684C); + +INCLUDE_ASM(s32, "battle/action_cmd/dizzy_shell", func_802A97BC_42692C); diff --git a/src/battle/action_cmd/fire_shell.c b/src/battle/action_cmd/fire_shell.c new file mode 100644 index 0000000000..195a985db6 --- /dev/null +++ b/src/battle/action_cmd/fire_shell.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/fire_shell", func_802A9000_4269D0); + +INCLUDE_ASM(s32, "battle/action_cmd/fire_shell", func_802A9178_426B48); + +INCLUDE_ASM(s32, "battle/action_cmd/fire_shell", func_802A9294_426C64); + +INCLUDE_ASM(s32, "battle/action_cmd/fire_shell", func_802A9834_427204); + +INCLUDE_ASM(s32, "battle/action_cmd/fire_shell", func_802A9914_4272E4); diff --git a/src/battle/action_cmd/flee.c b/src/battle/action_cmd/flee.c new file mode 100644 index 0000000000..758f3134a5 --- /dev/null +++ b/src/battle/action_cmd/flee.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/flee", func_802A9000_422AD0); + +INCLUDE_ASM(s32, "battle/action_cmd/flee", func_802A92A0_422D70); + +INCLUDE_ASM(s32, "battle/action_cmd/flee", func_802A9378_422E48); + +INCLUDE_ASM(s32, "battle/action_cmd/flee", func_802A96F4_4231C4); + +INCLUDE_ASM(s32, "battle/action_cmd/flee", func_802A9894_423364); diff --git a/src/battle/action_cmd/hammer.c b/src/battle/action_cmd/hammer.c new file mode 100644 index 0000000000..990c36297e --- /dev/null +++ b/src/battle/action_cmd/hammer.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/hammer", func_802A9000_422000); + +INCLUDE_ASM(s32, "battle/action_cmd/hammer", func_802A9258_422258); + +INCLUDE_ASM(s32, "battle/action_cmd/hammer", func_802A936C_42236C); + +INCLUDE_ASM(s32, "battle/action_cmd/hammer", func_802A99D4_4229D4); + +INCLUDE_ASM(s32, "battle/action_cmd/hammer", func_802A9A30_422A30); diff --git a/src/battle/action_cmd/hurricane.c b/src/battle/action_cmd/hurricane.c new file mode 100644 index 0000000000..65b4ff856e --- /dev/null +++ b/src/battle/action_cmd/hurricane.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/hurricane", func_802A9000_42F6E0); + +INCLUDE_ASM(s32, "battle/action_cmd/hurricane", func_802A91A0_42F880); + +INCLUDE_ASM(s32, "battle/action_cmd/hurricane", func_802A92A0_42F980); + +INCLUDE_ASM(s32, "battle/action_cmd/hurricane", func_802A97AC_42FE8C); + +INCLUDE_ASM(s32, "battle/action_cmd/hurricane", func_802A9894_42FF74); diff --git a/src/battle/action_cmd/jump.c b/src/battle/action_cmd/jump.c new file mode 100644 index 0000000000..29608eb656 --- /dev/null +++ b/src/battle/action_cmd/jump.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/jump", func_802A9000_4219F0); + +INCLUDE_ASM(s32, "battle/action_cmd/jump", func_802A9120_421B10); + +INCLUDE_ASM(s32, "battle/action_cmd/jump", func_802A9234_421C24); + +INCLUDE_ASM(s32, "battle/action_cmd/jump", func_802A9544_421F34); + +INCLUDE_ASM(s32, "battle/action_cmd/jump", func_802A9590_421F80); diff --git a/src/battle/action_cmd/mega_shock.c b/src/battle/action_cmd/mega_shock.c new file mode 100644 index 0000000000..88d05ef2c7 --- /dev/null +++ b/src/battle/action_cmd/mega_shock.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/mega_shock", func_802A9000_42DA10); + +INCLUDE_ASM(s32, "battle/action_cmd/mega_shock", func_802A91A0_42DBB0); + +INCLUDE_ASM(s32, "battle/action_cmd/mega_shock", func_802A92A0_42DCB0); + +INCLUDE_ASM(s32, "battle/action_cmd/mega_shock", func_802A97F8_42E208); + +INCLUDE_ASM(s32, "battle/action_cmd/mega_shock", func_802A98E0_42E2F0); diff --git a/src/battle/action_cmd/power_shock.c b/src/battle/action_cmd/power_shock.c new file mode 100644 index 0000000000..27024e82e4 --- /dev/null +++ b/src/battle/action_cmd/power_shock.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/power_shock", func_802A9000_42CF10); + +INCLUDE_ASM(s32, "battle/action_cmd/power_shock", func_802A9210_42D120); + +INCLUDE_ASM(s32, "battle/action_cmd/power_shock", func_802A9310_42D220); + +INCLUDE_ASM(s32, "battle/action_cmd/power_shock", func_802A98D0_42D7E0); + +INCLUDE_ASM(s32, "battle/action_cmd/power_shock", func_802A9A54_42D964); diff --git a/src/battle/action_cmd/smack.c b/src/battle/action_cmd/smack.c new file mode 100644 index 0000000000..5093df1a49 --- /dev/null +++ b/src/battle/action_cmd/smack.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/smack", func_802A9000_42E3A0); + +INCLUDE_ASM(s32, "battle/action_cmd/smack", func_802A917C_42E51C); + +INCLUDE_ASM(s32, "battle/action_cmd/smack", func_802A9298_42E638); + +INCLUDE_ASM(s32, "battle/action_cmd/smack", func_802A98B0_42EC50); + +INCLUDE_ASM(s32, "battle/action_cmd/smack", func_802A9990_42ED30); diff --git a/src/battle/action_cmd/spiny_surge.c b/src/battle/action_cmd/spiny_surge.c new file mode 100644 index 0000000000..0d345a349c --- /dev/null +++ b/src/battle/action_cmd/spiny_surge.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/spiny_surge", func_802A9000_42EE20); + +INCLUDE_ASM(s32, "battle/action_cmd/spiny_surge", func_802A916C_42EF8C); + +INCLUDE_ASM(s32, "battle/action_cmd/spiny_surge", func_802A9254_42F074); + +INCLUDE_ASM(s32, "battle/action_cmd/spiny_surge", func_802A973C_42F55C); + +INCLUDE_ASM(s32, "battle/action_cmd/spiny_surge", func_802A981C_42F63C); diff --git a/src/battle/action_cmd/spook.c b/src/battle/action_cmd/spook.c new file mode 100644 index 0000000000..54808ebcd6 --- /dev/null +++ b/src/battle/action_cmd/spook.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/spook", func_802A9000_430020); + +INCLUDE_ASM(s32, "battle/action_cmd/spook", func_802A917C_43019C); + +INCLUDE_ASM(s32, "battle/action_cmd/spook", func_802A9298_4302B8); + +INCLUDE_ASM(s32, "battle/action_cmd/spook", func_802A97FC_43081C); + +INCLUDE_ASM(s32, "battle/action_cmd/spook", func_802A98DC_4308FC); diff --git a/src/battle/action_cmd/squirt.c b/src/battle/action_cmd/squirt.c new file mode 100644 index 0000000000..6f3fb784ae --- /dev/null +++ b/src/battle/action_cmd/squirt.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9000_429D20); + +INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A911C_429E3C); + +INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9208_429F28); + +INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9634_42A354); + +INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9720_42A440); diff --git a/src/battle/action_cmd/stop_leech.c b/src/battle/action_cmd/stop_leech.c new file mode 100644 index 0000000000..f49ed4a902 --- /dev/null +++ b/src/battle/action_cmd/stop_leech.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/stop_leech", func_802A9000_425590); + +INCLUDE_ASM(s32, "battle/action_cmd/stop_leech", func_802A9110_4256A0); + +INCLUDE_ASM(s32, "battle/action_cmd/stop_leech", func_802A91F8_425788); + +INCLUDE_ASM(s32, "battle/action_cmd/stop_leech", func_802A94A4_425A34); + +INCLUDE_ASM(s32, "battle/action_cmd/stop_leech", func_802A9544_425AD4); diff --git a/src/battle/action_cmd/tidal_wave.c b/src/battle/action_cmd/tidal_wave.c new file mode 100644 index 0000000000..e0714ffd15 --- /dev/null +++ b/src/battle/action_cmd/tidal_wave.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/tidal_wave", func_802A9000_42C6F0); + +INCLUDE_ASM(s32, "battle/action_cmd/tidal_wave", func_802A9138_42C828); + +INCLUDE_ASM(s32, "battle/action_cmd/tidal_wave", func_802A9228_42C918); + +INCLUDE_ASM(s32, "battle/action_cmd/tidal_wave", func_802A9718_42CE08); + +INCLUDE_ASM(s32, "battle/action_cmd/tidal_wave", func_802A9764_42CE54); diff --git a/src/battle/action_cmd/water_block.c b/src/battle/action_cmd/water_block.c new file mode 100644 index 0000000000..9df063bdb2 --- /dev/null +++ b/src/battle/action_cmd/water_block.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/water_block", func_802A9000_42A4F0); + +INCLUDE_ASM(s32, "battle/action_cmd/water_block", func_802A9398_42A888); + +INCLUDE_ASM(s32, "battle/action_cmd/water_block", func_802A948C_42A97C); + +INCLUDE_ASM(s32, "battle/action_cmd/water_block", func_802AA014_42B504); + +INCLUDE_ASM(s32, "battle/action_cmd/water_block", func_802AA0D8_42B5C8); diff --git a/src/battle/action_cmd/whirlwind.c b/src/battle/action_cmd/whirlwind.c new file mode 100644 index 0000000000..b417eb1366 --- /dev/null +++ b/src/battle/action_cmd/whirlwind.c @@ -0,0 +1,11 @@ +#include "common.h" + +INCLUDE_ASM(s32, "battle/action_cmd/whirlwind", func_802A9000_423C70); + +INCLUDE_ASM(s32, "battle/action_cmd/whirlwind", func_802A91E0_423E50); + +INCLUDE_ASM(s32, "battle/action_cmd/whirlwind", func_802A92F0_423F60); + +INCLUDE_ASM(s32, "battle/action_cmd/whirlwind", func_802A9744_4243B4); + +INCLUDE_ASM(s32, "battle/action_cmd/whirlwind", func_802A9898_424508); diff --git a/ver/us/asm/data/1AF2D0.data.s b/ver/us/asm/data/1AF2D0.data.s index 198930f2cc..e05796f300 100644 --- a/ver/us/asm/data/1AF2D0.data.s +++ b/ver/us/asm/data/1AF2D0.data.s @@ -992,8 +992,34 @@ glabel D_80294460 glabel D_802944A0 .word 0x00000082, 0x00000078, 0x0000006E, 0x00000064, 0x0000005A, 0x00000050, 0x00000046, 0x0000003C -glabel D_802944C0 -.word 0x00000000, 0x00000000, 0x00000000, 0x004219F0, 0x00422000, func_802A9000_4219F0, 0x00422000, 0x00422AD0, func_802A9000_4219F0, 0x00422AD0, 0x004233F0, func_802A9000_4219F0, 0x004233F0, 0x00423C70, func_802A9000_4219F0, 0x00423C70, 0x00425590, func_802A9000_4219F0, 0x00425590, 0x00425B50, func_802A9000_4219F0, 0x00425B50, 0x00426170, func_802A9000_4219F0, 0x00426170, 0x004269D0, func_802A9000_4219F0, 0x004269D0, 0x004273B0, func_802A9000_4219F0, 0x004273B0, 0x00427A70, func_802A9000_4219F0, 0x00427A70, 0x004282E0, func_802A9000_4219F0, 0x004282E0, 0x00428A70, func_802A9000_4219F0, 0x00428A70, 0x00429320, func_802A9000_4219F0, 0x00429320, 0x00429D20, func_802A9000_4219F0, 0x00429D20, 0x0042A4F0, func_802A9000_4219F0, 0x0042CF10, 0x0042DA10, func_802A9000_4219F0, 0x0042DA10, 0x0042E3A0, func_802A9000_4219F0, 0x0042E3A0, 0x0042EE20, func_802A9000_4219F0, 0x0042EE20, 0x0042F6E0, func_802A9000_4219F0, 0x0042F6E0, 0x00430020, func_802A9000_4219F0, 0x00430020, 0x004309A0, func_802A9000_4219F0, 0x0042A4F0, 0x0042C6F0, func_802A9000_4219F0, 0x0042C6F0, 0x0042CF10, func_802A9000_4219F0 +glabel actionCommandDmaTable +.word 0x00000000, 0x00000000, 0x00000000 +.word action_cmd_jump_ROM_START, action_cmd_jump_ROM_END, action_cmd_jump_VRAM +.word action_cmd_hammer_ROM_START, action_cmd_hammer_ROM_END, action_cmd_hammer_VRAM +.word action_cmd_flee_ROM_START, action_cmd_flee_ROM_END, action_cmd_flee_VRAM +.word action_cmd_break_free_ROM_START, action_cmd_break_free_ROM_END, action_cmd_break_free_VRAM +.word action_cmd_whirlwind_ROM_START, action_cmd_whirlwind_ROM_END, action_cmd_whirlwind_VRAM +.word action_cmd_stop_leech_ROM_START, action_cmd_stop_leech_ROM_END, action_cmd_stop_leech_VRAM +.word action_cmd_07_ROM_START, action_cmd_07_ROM_END, action_cmd_07_VRAM +.word action_cmd_dizzy_shell_ROM_START, action_cmd_dizzy_shell_ROM_END, action_cmd_dizzy_shell_VRAM +.word action_cmd_fire_shell_ROM_START, action_cmd_fire_shell_ROM_END, action_cmd_fire_shell_VRAM +.word action_cmd_0A_ROM_START, action_cmd_0A_ROM_END, action_cmd_0A_VRAM +.word action_cmd_bomb_ROM_START, action_cmd_bomb_ROM_END, action_cmd_bomb_VRAM +.word action_cmd_body_slam_ROM_START, action_cmd_body_slam_ROM_END, action_cmd_body_slam_VRAM +.word action_cmd_air_lift_ROM_START, action_cmd_air_lift_ROM_END, action_cmd_air_lift_VRAM +.word action_cmd_air_raid_ROM_START, action_cmd_air_raid_ROM_END, action_cmd_air_raid_VRAM +.word action_cmd_squirt_ROM_START, action_cmd_squirt_ROM_END, action_cmd_squirt_VRAM + +.word action_cmd_power_shock_ROM_START, action_cmd_power_shock_ROM_END, action_cmd_power_shock_VRAM +.word action_cmd_mega_shock_ROM_START, action_cmd_mega_shock_ROM_END, action_cmd_mega_shock_VRAM +.word action_cmd_smack_ROM_START, action_cmd_smack_ROM_END, action_cmd_smack_VRAM +.word action_cmd_spiny_surge_ROM_START, action_cmd_spiny_surge_ROM_END, action_cmd_spiny_surge_VRAM +.word action_cmd_hurricane_ROM_START, action_cmd_hurricane_ROM_END, action_cmd_hurricane_VRAM +.word action_cmd_spook_ROM_START, action_cmd_spook_ROM_END, action_cmd_spook_VRAM +/*.word action_cmd__ROM_START, action_cmd__ROM_END, action_cmd__VRAM*/ + +.word action_cmd_water_block_ROM_START, action_cmd_water_block_ROM_END, action_cmd_water_block_VRAM +.word action_cmd_tidal_wave_ROM_START, action_cmd_tidal_wave_ROM_END, action_cmd_tidal_wave_VRAM glabel DoSleepHit .word 0x00000043, 0x00000001, func_80271210, 0x00000002, 0x00000000, 0x00000001, 0x00000000 @@ -1013,7 +1039,7 @@ glabel DoStopHit glabel DoFreezeHit .word 0x00000043, 0x00000001, func_8027143C, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000001, func_8027143C, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, func_80271484, 0x00000002, 0x00000000, 0x00000001, 0x00000000 -glabel DoShinkHit +glabel DoShrinkHit .word 0x00000043, 0x00000001, func_80271588, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 glabel D_802946E0 diff --git a/ver/us/asm/data/422A90.data.s b/ver/us/asm/data/battle/action_cmd/422A90.data.s similarity index 100% rename from ver/us/asm/data/422A90.data.s rename to ver/us/asm/data/battle/action_cmd/422A90.data.s diff --git a/ver/us/asm/data/4233B0.data.s b/ver/us/asm/data/battle/action_cmd/4233B0.data.s similarity index 100% rename from ver/us/asm/data/4233B0.data.s rename to ver/us/asm/data/battle/action_cmd/4233B0.data.s diff --git a/ver/us/asm/data/423C30.data.s b/ver/us/asm/data/battle/action_cmd/423C30.data.s similarity index 100% rename from ver/us/asm/data/423C30.data.s rename to ver/us/asm/data/battle/action_cmd/423C30.data.s diff --git a/ver/us/asm/data/424550.data.s b/ver/us/asm/data/battle/action_cmd/424550.data.s similarity index 100% rename from ver/us/asm/data/424550.data.s rename to ver/us/asm/data/battle/action_cmd/424550.data.s diff --git a/ver/us/asm/data/425B10.data.s b/ver/us/asm/data/battle/action_cmd/425B10.data.s similarity index 100% rename from ver/us/asm/data/425B10.data.s rename to ver/us/asm/data/battle/action_cmd/425B10.data.s diff --git a/ver/us/asm/data/426130.data.s b/ver/us/asm/data/battle/action_cmd/426130.data.s similarity index 100% rename from ver/us/asm/data/426130.data.s rename to ver/us/asm/data/battle/action_cmd/426130.data.s diff --git a/ver/us/asm/data/426970.data.s b/ver/us/asm/data/battle/action_cmd/426970.data.s similarity index 100% rename from ver/us/asm/data/426970.data.s rename to ver/us/asm/data/battle/action_cmd/426970.data.s diff --git a/ver/us/asm/data/427320.data.s b/ver/us/asm/data/battle/action_cmd/427320.data.s similarity index 100% rename from ver/us/asm/data/427320.data.s rename to ver/us/asm/data/battle/action_cmd/427320.data.s diff --git a/ver/us/asm/data/427A30.data.s b/ver/us/asm/data/battle/action_cmd/427A30.data.s similarity index 100% rename from ver/us/asm/data/427A30.data.s rename to ver/us/asm/data/battle/action_cmd/427A30.data.s diff --git a/ver/us/asm/data/428280.data.s b/ver/us/asm/data/battle/action_cmd/428280.data.s similarity index 100% rename from ver/us/asm/data/428280.data.s rename to ver/us/asm/data/battle/action_cmd/428280.data.s diff --git a/ver/us/asm/data/428A30.data.s b/ver/us/asm/data/battle/action_cmd/428A30.data.s similarity index 100% rename from ver/us/asm/data/428A30.data.s rename to ver/us/asm/data/battle/action_cmd/428A30.data.s diff --git a/ver/us/asm/data/4292C0.data.s b/ver/us/asm/data/battle/action_cmd/4292C0.data.s similarity index 100% rename from ver/us/asm/data/4292C0.data.s rename to ver/us/asm/data/battle/action_cmd/4292C0.data.s diff --git a/ver/us/asm/data/429C90.data.s b/ver/us/asm/data/battle/action_cmd/429C90.data.s similarity index 100% rename from ver/us/asm/data/429C90.data.s rename to ver/us/asm/data/battle/action_cmd/429C90.data.s diff --git a/ver/us/asm/data/42A480.data.s b/ver/us/asm/data/battle/action_cmd/42A480.data.s similarity index 100% rename from ver/us/asm/data/42A480.data.s rename to ver/us/asm/data/battle/action_cmd/42A480.data.s diff --git a/ver/us/asm/data/42B650.data.s b/ver/us/asm/data/battle/action_cmd/42B650.data.s similarity index 100% rename from ver/us/asm/data/42B650.data.s rename to ver/us/asm/data/battle/action_cmd/42B650.data.s diff --git a/ver/us/asm/data/42CEB0.data.s b/ver/us/asm/data/battle/action_cmd/42CEB0.data.s similarity index 100% rename from ver/us/asm/data/42CEB0.data.s rename to ver/us/asm/data/battle/action_cmd/42CEB0.data.s diff --git a/ver/us/asm/data/42D9B0.data.s b/ver/us/asm/data/battle/action_cmd/42D9B0.data.s similarity index 100% rename from ver/us/asm/data/42D9B0.data.s rename to ver/us/asm/data/battle/action_cmd/42D9B0.data.s diff --git a/ver/us/asm/data/42E330.data.s b/ver/us/asm/data/battle/action_cmd/42E330.data.s similarity index 100% rename from ver/us/asm/data/42E330.data.s rename to ver/us/asm/data/battle/action_cmd/42E330.data.s diff --git a/ver/us/asm/data/42ED70.data.s b/ver/us/asm/data/battle/action_cmd/42ED70.data.s similarity index 100% rename from ver/us/asm/data/42ED70.data.s rename to ver/us/asm/data/battle/action_cmd/42ED70.data.s diff --git a/ver/us/asm/data/42F680.data.s b/ver/us/asm/data/battle/action_cmd/42F680.data.s similarity index 100% rename from ver/us/asm/data/42F680.data.s rename to ver/us/asm/data/battle/action_cmd/42F680.data.s diff --git a/ver/us/asm/data/42FFC0.data.s b/ver/us/asm/data/battle/action_cmd/42FFC0.data.s similarity index 100% rename from ver/us/asm/data/42FFC0.data.s rename to ver/us/asm/data/battle/action_cmd/42FFC0.data.s diff --git a/ver/us/asm/data/430940.data.s b/ver/us/asm/data/battle/action_cmd/430940.data.s similarity index 100% rename from ver/us/asm/data/430940.data.s rename to ver/us/asm/data/battle/action_cmd/430940.data.s diff --git a/ver/us/asm/nonmatchings/17FEB0/calc_item_damage_enemy.s b/ver/us/asm/nonmatchings/17FEB0/calc_item_damage_enemy.s index 55336cb620..8c025dd72f 100644 --- a/ver/us/asm/nonmatchings/17FEB0/calc_item_damage_enemy.s +++ b/ver/us/asm/nonmatchings/17FEB0/calc_item_damage_enemy.s @@ -1072,8 +1072,8 @@ glabel calc_item_damage_enemy /* 180F0C 8025262C 00000000 */ nop /* 180F10 80252630 12A00017 */ beqz $s5, .L80252690 /* 180F14 80252634 00000000 */ nop -/* 180F18 80252638 3C048029 */ lui $a0, %hi(DoShinkHit) -/* 180F1C 8025263C 248446B8 */ addiu $a0, $a0, %lo(DoShinkHit) +/* 180F18 80252638 3C048029 */ lui $a0, %hi(DoShrinkHit) +/* 180F1C 8025263C 248446B8 */ addiu $a0, $a0, %lo(DoShrinkHit) /* 180F20 80252640 2405000A */ addiu $a1, $zero, 0xa /* 180F24 80252644 0C0B0CF8 */ jal start_script /* 180F28 80252648 0000302D */ daddu $a2, $zero, $zero diff --git a/ver/us/asm/nonmatchings/196AA0/LoadActionCommand.s b/ver/us/asm/nonmatchings/196AA0/LoadActionCommand.s deleted file mode 100644 index 9e30a362ab..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/LoadActionCommand.s +++ /dev/null @@ -1,29 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel LoadActionCommand -/* 196AA0 802681C0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 196AA4 802681C4 AFBF0010 */ sw $ra, 0x10($sp) -/* 196AA8 802681C8 8C82000C */ lw $v0, 0xc($a0) -/* 196AAC 802681CC 0C0B1EAF */ jal get_variable -/* 196AB0 802681D0 8C450000 */ lw $a1, ($v0) -/* 196AB4 802681D4 3C068029 */ lui $a2, %hi(D_802944C0) -/* 196AB8 802681D8 24C644C0 */ addiu $a2, $a2, %lo(D_802944C0) -/* 196ABC 802681DC 00021840 */ sll $v1, $v0, 1 -/* 196AC0 802681E0 00621821 */ addu $v1, $v1, $v0 -/* 196AC4 802681E4 00031080 */ sll $v0, $v1, 2 -/* 196AC8 802681E8 00461021 */ addu $v0, $v0, $a2 -/* 196ACC 802681EC 8C440000 */ lw $a0, ($v0) -/* 196AD0 802681F0 24620001 */ addiu $v0, $v1, 1 -/* 196AD4 802681F4 00021080 */ sll $v0, $v0, 2 -/* 196AD8 802681F8 00461021 */ addu $v0, $v0, $a2 -/* 196ADC 802681FC 24630002 */ addiu $v1, $v1, 2 -/* 196AE0 80268200 00031880 */ sll $v1, $v1, 2 -/* 196AE4 80268204 00661821 */ addu $v1, $v1, $a2 -/* 196AE8 80268208 8C450000 */ lw $a1, ($v0) -/* 196AEC 8026820C 0C00A5CF */ jal dma_copy -/* 196AF0 80268210 8C660000 */ lw $a2, ($v1) -/* 196AF4 80268214 8FBF0010 */ lw $ra, 0x10($sp) -/* 196AF8 80268218 24020002 */ addiu $v0, $zero, 2 -/* 196AFC 8026821C 03E00008 */ jr $ra -/* 196B00 80268220 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/SetupMashMeter.s b/ver/us/asm/nonmatchings/196AA0/SetupMashMeter.s deleted file mode 100644 index 4d5f542741..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/SetupMashMeter.s +++ /dev/null @@ -1,55 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel SetupMashMeter -/* 197AA8 802691C8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 197AAC 802691CC AFB20018 */ sw $s2, 0x18($sp) -/* 197AB0 802691D0 0080902D */ daddu $s2, $a0, $zero -/* 197AB4 802691D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 197AB8 802691D8 AFB10014 */ sw $s1, 0x14($sp) -/* 197ABC 802691DC AFB00010 */ sw $s0, 0x10($sp) -/* 197AC0 802691E0 8E50000C */ lw $s0, 0xc($s2) -/* 197AC4 802691E4 8E050000 */ lw $a1, ($s0) -/* 197AC8 802691E8 0C0B1EAF */ jal get_variable -/* 197ACC 802691EC 26100004 */ addiu $s0, $s0, 4 -/* 197AD0 802691F0 3C11802A */ lui $s1, %hi(D_8029FBE0) -/* 197AD4 802691F4 2631FBE0 */ addiu $s1, $s1, %lo(D_8029FBE0) -/* 197AD8 802691F8 A2220080 */ sb $v0, 0x80($s1) -/* 197ADC 802691FC 8E050000 */ lw $a1, ($s0) -/* 197AE0 80269200 26100004 */ addiu $s0, $s0, 4 -/* 197AE4 80269204 0C0B1EAF */ jal get_variable -/* 197AE8 80269208 0240202D */ daddu $a0, $s2, $zero -/* 197AEC 8026920C A6220076 */ sh $v0, 0x76($s1) -/* 197AF0 80269210 8E050000 */ lw $a1, ($s0) -/* 197AF4 80269214 26100004 */ addiu $s0, $s0, 4 -/* 197AF8 80269218 0C0B1EAF */ jal get_variable -/* 197AFC 8026921C 0240202D */ daddu $a0, $s2, $zero -/* 197B00 80269220 A6220078 */ sh $v0, 0x78($s1) -/* 197B04 80269224 8E050000 */ lw $a1, ($s0) -/* 197B08 80269228 26100004 */ addiu $s0, $s0, 4 -/* 197B0C 8026922C 0C0B1EAF */ jal get_variable -/* 197B10 80269230 0240202D */ daddu $a0, $s2, $zero -/* 197B14 80269234 A622007A */ sh $v0, 0x7a($s1) -/* 197B18 80269238 8E050000 */ lw $a1, ($s0) -/* 197B1C 8026923C 26100004 */ addiu $s0, $s0, 4 -/* 197B20 80269240 0C0B1EAF */ jal get_variable -/* 197B24 80269244 0240202D */ daddu $a0, $s2, $zero -/* 197B28 80269248 A622007C */ sh $v0, 0x7c($s1) -/* 197B2C 8026924C 8E050000 */ lw $a1, ($s0) -/* 197B30 80269250 0C0B1EAF */ jal get_variable -/* 197B34 80269254 0240202D */ daddu $a0, $s2, $zero -/* 197B38 80269258 96240076 */ lhu $a0, 0x76($s1) -/* 197B3C 8026925C A622007E */ sh $v0, 0x7e($s1) -/* 197B40 80269260 00042400 */ sll $a0, $a0, 0x10 -/* 197B44 80269264 00041C03 */ sra $v1, $a0, 0x10 -/* 197B48 80269268 000427C2 */ srl $a0, $a0, 0x1f -/* 197B4C 8026926C 00641821 */ addu $v1, $v1, $a0 -/* 197B50 80269270 00031843 */ sra $v1, $v1, 1 -/* 197B54 80269274 A6230074 */ sh $v1, 0x74($s1) -/* 197B58 80269278 8FBF001C */ lw $ra, 0x1c($sp) -/* 197B5C 8026927C 8FB20018 */ lw $s2, 0x18($sp) -/* 197B60 80269280 8FB10014 */ lw $s1, 0x14($sp) -/* 197B64 80269284 8FB00010 */ lw $s0, 0x10($sp) -/* 197B68 80269288 24020002 */ addiu $v0, $zero, 2 -/* 197B6C 8026928C 03E00008 */ jr $ra -/* 197B70 80269290 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/196AA0/check_block_input.s b/ver/us/asm/nonmatchings/196AA0/check_block_input.s deleted file mode 100644 index 22de3c0147..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/check_block_input.s +++ /dev/null @@ -1,171 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel check_block_input -/* 1977AC 80268ECC 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 1977B0 80268ED0 AFB40020 */ sw $s4, 0x20($sp) -/* 1977B4 80268ED4 0080A02D */ daddu $s4, $a0, $zero -/* 1977B8 80268ED8 AFB7002C */ sw $s7, 0x2c($sp) -/* 1977BC 80268EDC 0000B82D */ daddu $s7, $zero, $zero -/* 1977C0 80268EE0 AFB10014 */ sw $s1, 0x14($sp) -/* 1977C4 80268EE4 3C11800E */ lui $s1, %hi(gBattleStatus) -/* 1977C8 80268EE8 2631C070 */ addiu $s1, $s1, %lo(gBattleStatus) -/* 1977CC 80268EEC AFB50024 */ sw $s5, 0x24($sp) -/* 1977D0 80268EF0 3C158011 */ lui $s5, %hi(gPlayerData) -/* 1977D4 80268EF4 26B5F290 */ addiu $s5, $s5, %lo(gPlayerData) -/* 1977D8 80268EF8 AFB60028 */ sw $s6, 0x28($sp) -/* 1977DC 80268EFC 3C16802A */ lui $s6, %hi(D_8029FBE0) -/* 1977E0 80268F00 26D6FBE0 */ addiu $s6, $s6, %lo(D_8029FBE0) -/* 1977E4 80268F04 AFBF0030 */ sw $ra, 0x30($sp) -/* 1977E8 80268F08 AFB3001C */ sw $s3, 0x1c($sp) -/* 1977EC 80268F0C AFB20018 */ sw $s2, 0x18($sp) -/* 1977F0 80268F10 AFB00010 */ sw $s0, 0x10($sp) -/* 1977F4 80268F14 82230083 */ lb $v1, 0x83($s1) -/* 1977F8 80268F18 2402FFFF */ addiu $v0, $zero, -1 -/* 1977FC 80268F1C 14620009 */ bne $v1, $v0, .L80268F44 -/* 197800 80268F20 A2200087 */ sb $zero, 0x87($s1) -/* 197804 80268F24 8E220000 */ lw $v0, ($s1) -/* 197808 80268F28 3C030200 */ lui $v1, 0x200 -/* 19780C 80268F2C 00431024 */ and $v0, $v0, $v1 -/* 197810 80268F30 10400004 */ beqz $v0, .L80268F44 -/* 197814 80268F34 24020001 */ addiu $v0, $zero, 1 -/* 197818 80268F38 A2220087 */ sb $v0, 0x87($s1) -/* 19781C 80268F3C 0809A43B */ j .L802690EC -/* 197820 80268F40 24020001 */ addiu $v0, $zero, 1 -.L80268F44: -/* 197824 80268F44 82220083 */ lb $v0, 0x83($s1) -/* 197828 80268F48 10400068 */ beqz $v0, .L802690EC -/* 19782C 80268F4C 0000102D */ daddu $v0, $zero, $zero -/* 197830 80268F50 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 197834 80268F54 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 197838 80268F58 904200AA */ lbu $v0, 0xaa($v0) -/* 19783C 80268F5C 30420001 */ andi $v0, $v0, 1 -/* 197840 80268F60 14400062 */ bnez $v0, .L802690EC -/* 197844 80268F64 0000102D */ daddu $v0, $zero, $zero -/* 197848 80268F68 96A30298 */ lhu $v1, 0x298($s5) -/* 19784C 80268F6C 2C62270F */ sltiu $v0, $v1, 0x270f -/* 197850 80268F70 1040000A */ beqz $v0, .L80268F9C -/* 197854 80268F74 24620001 */ addiu $v0, $v1, 1 -/* 197858 80268F78 A6A20298 */ sh $v0, 0x298($s5) -/* 19785C 80268F7C 0809A3E9 */ j .L80268FA4 -/* 197860 80268F80 A6C0006E */ sh $zero, 0x6e($s6) -.L80268F84: -/* 197864 80268F84 0809A408 */ j .L80269020 -/* 197868 80268F88 24170001 */ addiu $s7, $zero, 1 -.L80268F8C: -/* 19786C 80268F8C 24020001 */ addiu $v0, $zero, 1 -/* 197870 80268F90 A2220087 */ sb $v0, 0x87($s1) -/* 197874 80268F94 0809A41A */ j .L80269068 -/* 197878 80268F98 24120001 */ addiu $s2, $zero, 1 -.L80268F9C: -/* 19787C 80268F9C 24020001 */ addiu $v0, $zero, 1 -/* 197880 80268FA0 A6C2006E */ sh $v0, 0x6e($s6) -.L80268FA4: -/* 197884 80268FA4 0000902D */ daddu $s2, $zero, $zero -/* 197888 80268FA8 24100003 */ addiu $s0, $zero, 3 -/* 19788C 80268FAC 3C02800E */ lui $v0, %hi(gBattleStatus) -/* 197890 80268FB0 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0) -/* 197894 80268FB4 3C030008 */ lui $v1, 8 -/* 197898 80268FB8 00431024 */ and $v0, $v0, $v1 -/* 19789C 80268FBC 14400005 */ bnez $v0, .L80268FD4 -/* 1978A0 80268FC0 2413000A */ addiu $s3, $zero, 0xa -/* 1978A4 80268FC4 0C03A752 */ jal is_ability_active -/* 1978A8 80268FC8 0240202D */ daddu $a0, $s2, $zero -/* 1978AC 80268FCC 54400001 */ bnel $v0, $zero, .L80268FD4 -/* 1978B0 80268FD0 24100005 */ addiu $s0, $zero, 5 -.L80268FD4: -/* 1978B4 80268FD4 82230431 */ lb $v1, 0x431($s1) -/* 1978B8 80268FD8 02701021 */ addu $v0, $s3, $s0 -/* 1978BC 80268FDC 00621823 */ subu $v1, $v1, $v0 -/* 1978C0 80268FE0 04620001 */ bltzl $v1, .L80268FE8 -/* 1978C4 80268FE4 24630040 */ addiu $v1, $v1, 0x40 -.L80268FE8: -/* 1978C8 80268FE8 1260000D */ beqz $s3, .L80269020 -/* 1978CC 80268FEC 0000202D */ daddu $a0, $zero, $zero -.L80268FF0: -/* 1978D0 80268FF0 28620040 */ slti $v0, $v1, 0x40 -/* 1978D4 80268FF4 50400001 */ beql $v0, $zero, .L80268FFC -/* 1978D8 80268FF8 2463FFC0 */ addiu $v1, $v1, -0x40 -.L80268FFC: -/* 1978DC 80268FFC 00031080 */ sll $v0, $v1, 2 -/* 1978E0 80269000 02221021 */ addu $v0, $s1, $v0 -/* 1978E4 80269004 8C420330 */ lw $v0, 0x330($v0) -/* 1978E8 80269008 00541024 */ and $v0, $v0, $s4 -/* 1978EC 8026900C 1440FFDD */ bnez $v0, .L80268F84 -/* 1978F0 80269010 24840001 */ addiu $a0, $a0, 1 -/* 1978F4 80269014 0093102A */ slt $v0, $a0, $s3 -/* 1978F8 80269018 1440FFF5 */ bnez $v0, .L80268FF0 -/* 1978FC 8026901C 24630001 */ addiu $v1, $v1, 1 -.L80269020: -/* 197900 80269020 82230431 */ lb $v1, 0x431($s1) -/* 197904 80269024 00701823 */ subu $v1, $v1, $s0 -/* 197908 80269028 04620001 */ bltzl $v1, .L80269030 -/* 19790C 8026902C 24630040 */ addiu $v1, $v1, 0x40 -.L80269030: -/* 197910 80269030 1200000D */ beqz $s0, .L80269068 -/* 197914 80269034 0000202D */ daddu $a0, $zero, $zero -.L80269038: -/* 197918 80269038 28620040 */ slti $v0, $v1, 0x40 -/* 19791C 8026903C 50400001 */ beql $v0, $zero, .L80269044 -/* 197920 80269040 2463FFC0 */ addiu $v1, $v1, -0x40 -.L80269044: -/* 197924 80269044 00031080 */ sll $v0, $v1, 2 -/* 197928 80269048 02221021 */ addu $v0, $s1, $v0 -/* 19792C 8026904C 8C420330 */ lw $v0, 0x330($v0) -/* 197930 80269050 00541024 */ and $v0, $v0, $s4 -/* 197934 80269054 1440FFCD */ bnez $v0, .L80268F8C -/* 197938 80269058 24840001 */ addiu $a0, $a0, 1 -/* 19793C 8026905C 0090102A */ slt $v0, $a0, $s0 -/* 197940 80269060 1440FFF5 */ bnez $v0, .L80269038 -/* 197944 80269064 24630001 */ addiu $v1, $v1, 1 -.L80269068: -/* 197948 80269068 12E00003 */ beqz $s7, .L80269078 -/* 19794C 8026906C 2402FFFF */ addiu $v0, $zero, -1 -/* 197950 80269070 A2220087 */ sb $v0, 0x87($s1) -/* 197954 80269074 0000902D */ daddu $s2, $zero, $zero -.L80269078: -/* 197958 80269078 24020001 */ addiu $v0, $zero, 1 -/* 19795C 8026907C 16420012 */ bne $s2, $v0, .L802690C8 -/* 197960 80269080 02701021 */ addu $v0, $s3, $s0 -/* 197964 80269084 82230431 */ lb $v1, 0x431($s1) -/* 197968 80269088 00621823 */ subu $v1, $v1, $v0 -/* 19796C 8026908C 04620001 */ bltzl $v1, .L80269094 -/* 197970 80269090 24630040 */ addiu $v1, $v1, 0x40 -.L80269094: -/* 197974 80269094 1040000C */ beqz $v0, .L802690C8 -/* 197978 80269098 0000202D */ daddu $a0, $zero, $zero -/* 19797C 8026909C 0040282D */ daddu $a1, $v0, $zero -.L802690A0: -/* 197980 802690A0 28620040 */ slti $v0, $v1, 0x40 -/* 197984 802690A4 50400001 */ beql $v0, $zero, .L802690AC -/* 197988 802690A8 2463FFC0 */ addiu $v1, $v1, -0x40 -.L802690AC: -/* 19798C 802690AC 00031080 */ sll $v0, $v1, 2 -/* 197990 802690B0 02221021 */ addu $v0, $s1, $v0 -/* 197994 802690B4 AC400330 */ sw $zero, 0x330($v0) -/* 197998 802690B8 24840001 */ addiu $a0, $a0, 1 -/* 19799C 802690BC 0085102A */ slt $v0, $a0, $a1 -/* 1979A0 802690C0 1440FFF7 */ bnez $v0, .L802690A0 -/* 1979A4 802690C4 24630001 */ addiu $v1, $v1, 1 -.L802690C8: -/* 1979A8 802690C8 12400008 */ beqz $s2, .L802690EC -/* 1979AC 802690CC 0240102D */ daddu $v0, $s2, $zero -/* 1979B0 802690D0 86C2006E */ lh $v0, 0x6e($s6) -/* 1979B4 802690D4 14400005 */ bnez $v0, .L802690EC -/* 1979B8 802690D8 0240102D */ daddu $v0, $s2, $zero -/* 1979BC 802690DC 96A2029A */ lhu $v0, 0x29a($s5) -/* 1979C0 802690E0 24420001 */ addiu $v0, $v0, 1 -/* 1979C4 802690E4 A6A2029A */ sh $v0, 0x29a($s5) -/* 1979C8 802690E8 0240102D */ daddu $v0, $s2, $zero -.L802690EC: -/* 1979CC 802690EC 8FBF0030 */ lw $ra, 0x30($sp) -/* 1979D0 802690F0 8FB7002C */ lw $s7, 0x2c($sp) -/* 1979D4 802690F4 8FB60028 */ lw $s6, 0x28($sp) -/* 1979D8 802690F8 8FB50024 */ lw $s5, 0x24($sp) -/* 1979DC 802690FC 8FB40020 */ lw $s4, 0x20($sp) -/* 1979E0 80269100 8FB3001C */ lw $s3, 0x1c($sp) -/* 1979E4 80269104 8FB20018 */ lw $s2, 0x18($sp) -/* 1979E8 80269108 8FB10014 */ lw $s1, 0x14($sp) -/* 1979EC 8026910C 8FB00010 */ lw $s0, 0x10($sp) -/* 1979F0 80269110 03E00008 */ jr $ra -/* 1979F4 80269114 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80268224.s b/ver/us/asm/nonmatchings/196AA0/func_80268224.s deleted file mode 100644 index b36bc8ffc7..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80268224.s +++ /dev/null @@ -1,31 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80268224 -/* 196B04 80268224 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 196B08 80268228 AFB00010 */ sw $s0, 0x10($sp) -/* 196B0C 8026822C 0080802D */ daddu $s0, $a0, $zero -/* 196B10 80268230 3C02800E */ lui $v0, %hi(gBattleStatus) -/* 196B14 80268234 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0) -/* 196B18 80268238 3C030008 */ lui $v1, 8 -/* 196B1C 8026823C 00431024 */ and $v0, $v0, $v1 -/* 196B20 80268240 14400006 */ bnez $v0, .L8026825C -/* 196B24 80268244 AFBF0014 */ sw $ra, 0x14($sp) -/* 196B28 80268248 0C03A752 */ jal is_ability_active -/* 196B2C 8026824C 0000202D */ daddu $a0, $zero, $zero -/* 196B30 80268250 00021840 */ sll $v1, $v0, 1 -/* 196B34 80268254 00621821 */ addu $v1, $v1, $v0 -/* 196B38 80268258 02038023 */ subu $s0, $s0, $v1 -.L8026825C: -/* 196B3C 8026825C 06020001 */ bltzl $s0, .L80268264 -/* 196B40 80268260 0000802D */ daddu $s0, $zero, $zero -.L80268264: -/* 196B44 80268264 2A020008 */ slti $v0, $s0, 8 -/* 196B48 80268268 50400001 */ beql $v0, $zero, .L80268270 -/* 196B4C 8026826C 24100007 */ addiu $s0, $zero, 7 -.L80268270: -/* 196B50 80268270 0200102D */ daddu $v0, $s0, $zero -/* 196B54 80268274 8FBF0014 */ lw $ra, 0x14($sp) -/* 196B58 80268278 8FB00010 */ lw $s0, 0x10($sp) -/* 196B5C 8026827C 03E00008 */ jr $ra -/* 196B60 80268280 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80268770.s b/ver/us/asm/nonmatchings/196AA0/func_80268770.s deleted file mode 100644 index 57bec7f710..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80268770.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80268770 -/* 197050 80268770 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197054 80268774 24020002 */ addiu $v0, $zero, 2 -/* 197058 80268778 AFBF0010 */ sw $ra, 0x10($sp) -/* 19705C 8026877C 3C01802A */ lui $at, %hi(D_8029FBC0) -/* 197060 80268780 AC22FBC0 */ sw $v0, %lo(D_8029FBC0)($at) -/* 197064 80268784 0C09A0A1 */ jal func_80268284 -/* 197068 80268788 0000382D */ daddu $a3, $zero, $zero -/* 19706C 8026878C 8FBF0010 */ lw $ra, 0x10($sp) -/* 197070 80268790 03E00008 */ jr $ra -/* 197074 80268794 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80268798.s b/ver/us/asm/nonmatchings/196AA0/func_80268798.s deleted file mode 100644 index 80b4722e8a..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80268798.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80268798 -/* 197078 80268798 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 19707C 8026879C 3C01802A */ lui $at, %hi(D_8029FBC0) -/* 197080 802687A0 AC27FBC0 */ sw $a3, %lo(D_8029FBC0)($at) -/* 197084 802687A4 AFBF0010 */ sw $ra, 0x10($sp) -/* 197088 802687A8 0C09A0A1 */ jal func_80268284 -/* 19708C 802687AC 0000382D */ daddu $a3, $zero, $zero -/* 197090 802687B0 8FBF0010 */ lw $ra, 0x10($sp) -/* 197094 802687B4 03E00008 */ jr $ra -/* 197098 802687B8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_802687BC.s b/ver/us/asm/nonmatchings/196AA0/func_802687BC.s deleted file mode 100644 index 293f3456be..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_802687BC.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802687BC -/* 19709C 802687BC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1970A0 802687C0 24020002 */ addiu $v0, $zero, 2 -/* 1970A4 802687C4 AFBF0010 */ sw $ra, 0x10($sp) -/* 1970A8 802687C8 3C01802A */ lui $at, %hi(D_8029FBC0) -/* 1970AC 802687CC AC22FBC0 */ sw $v0, %lo(D_8029FBC0)($at) -/* 1970B0 802687D0 0C09A0A1 */ jal func_80268284 -/* 1970B4 802687D4 00000000 */ nop -/* 1970B8 802687D8 8FBF0010 */ lw $ra, 0x10($sp) -/* 1970BC 802687DC 03E00008 */ jr $ra -/* 1970C0 802687E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_802687E4.s b/ver/us/asm/nonmatchings/196AA0/func_802687E4.s deleted file mode 100644 index 4c8b75d667..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_802687E4.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802687E4 -/* 1970C4 802687E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1970C8 802687E8 3C01802A */ lui $at, %hi(D_8029FBC0) -/* 1970CC 802687EC AC27FBC0 */ sw $a3, %lo(D_8029FBC0)($at) -/* 1970D0 802687F0 8FA70028 */ lw $a3, 0x28($sp) -/* 1970D4 802687F4 AFBF0010 */ sw $ra, 0x10($sp) -/* 1970D8 802687F8 0C09A0A1 */ jal func_80268284 -/* 1970DC 802687FC 00000000 */ nop -/* 1970E0 80268800 8FBF0010 */ lw $ra, 0x10($sp) -/* 1970E4 80268804 03E00008 */ jr $ra -/* 1970E8 80268808 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_8026880C.s b/ver/us/asm/nonmatchings/196AA0/func_8026880C.s deleted file mode 100644 index 37cbf00f03..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_8026880C.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8026880C -/* 1970EC 8026880C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1970F0 80268810 24020002 */ addiu $v0, $zero, 2 -/* 1970F4 80268814 AFBF0010 */ sw $ra, 0x10($sp) -/* 1970F8 80268818 3C01802A */ lui $at, %hi(D_8029FBC0) -/* 1970FC 8026881C AC22FBC0 */ sw $v0, %lo(D_8029FBC0)($at) -/* 197100 80268820 0C09A0A1 */ jal func_80268284 -/* 197104 80268824 2407FFFF */ addiu $a3, $zero, -1 -/* 197108 80268828 8FBF0010 */ lw $ra, 0x10($sp) -/* 19710C 8026882C 03E00008 */ jr $ra -/* 197110 80268830 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80268834.s b/ver/us/asm/nonmatchings/196AA0/func_80268834.s deleted file mode 100644 index 632e030897..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80268834.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80268834 -/* 197114 80268834 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 197118 80268838 3C01802A */ lui $at, %hi(D_8029FBC0) -/* 19711C 8026883C AC27FBC0 */ sw $a3, %lo(D_8029FBC0)($at) -/* 197120 80268840 AFBF0010 */ sw $ra, 0x10($sp) -/* 197124 80268844 0C09A0A1 */ jal func_80268284 -/* 197128 80268848 2407FFFF */ addiu $a3, $zero, -1 -/* 19712C 8026884C 8FBF0010 */ lw $ra, 0x10($sp) -/* 197130 80268850 03E00008 */ jr $ra -/* 197134 80268854 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/196AA0/func_80268858.s b/ver/us/asm/nonmatchings/196AA0/func_80268858.s deleted file mode 100644 index cfd930d2cd..0000000000 --- a/ver/us/asm/nonmatchings/196AA0/func_80268858.s +++ /dev/null @@ -1,64 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80268858 -/* 197138 80268858 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 19713C 8026885C AFB00010 */ sw $s0, 0x10($sp) -/* 197140 80268860 3C10802A */ lui $s0, %hi(D_8029FBE0) -/* 197144 80268864 2610FBE0 */ addiu $s0, $s0, %lo(D_8029FBE0) -/* 197148 80268868 AFB20018 */ sw $s2, 0x18($sp) -/* 19714C 8026886C 3C12800E */ lui $s2, %hi(gBattleStatus) -/* 197150 80268870 2652C070 */ addiu $s2, $s2, %lo(gBattleStatus) -/* 197154 80268874 AFBF001C */ sw $ra, 0x1c($sp) -/* 197158 80268878 AFB10014 */ sw $s1, 0x14($sp) -/* 19715C 8026887C A200005E */ sb $zero, 0x5e($s0) -/* 197160 80268880 A600006A */ sh $zero, 0x6a($s0) -/* 197164 80268884 8E420000 */ lw $v0, ($s2) -/* 197168 80268888 3C110008 */ lui $s1, 8 -/* 19716C 8026888C 00511024 */ and $v0, $v0, $s1 -/* 197170 80268890 14400015 */ bnez $v0, .L802688E8 -/* 197174 80268894 00000000 */ nop -/* 197178 80268898 0C03A752 */ jal is_ability_active -/* 19717C 8026889C 24040016 */ addiu $a0, $zero, 0x16 -/* 197180 802688A0 10400002 */ beqz $v0, .L802688AC -/* 197184 802688A4 24020001 */ addiu $v0, $zero, 1 -/* 197188 802688A8 A202005E */ sb $v0, 0x5e($s0) -.L802688AC: -/* 19718C 802688AC 8E420000 */ lw $v0, ($s2) -/* 197190 802688B0 00511024 */ and $v0, $v0, $s1 -/* 197194 802688B4 1440000C */ bnez $v0, .L802688E8 -/* 197198 802688B8 00000000 */ nop -/* 19719C 802688BC 0C03A752 */ jal is_ability_active -/* 1971A0 802688C0 24040015 */ addiu $a0, $zero, 0x15 -/* 1971A4 802688C4 10400008 */ beqz $v0, .L802688E8 -/* 1971A8 802688C8 24040064 */ addiu $a0, $zero, 0x64 -/* 1971AC 802688CC 24110001 */ addiu $s1, $zero, 1 -/* 1971B0 802688D0 A2000061 */ sb $zero, 0x61($s0) -/* 1971B4 802688D4 0C00A67F */ jal rand_int -/* 1971B8 802688D8 A611006A */ sh $s1, 0x6a($s0) -/* 1971BC 802688DC 28420019 */ slti $v0, $v0, 0x19 -/* 1971C0 802688E0 54400001 */ bnel $v0, $zero, .L802688E8 -/* 1971C4 802688E4 A211005E */ sb $s1, 0x5e($s0) -.L802688E8: -/* 1971C8 802688E8 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 1971CC 802688EC 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 1971D0 802688F0 904200AA */ lbu $v0, 0xaa($v0) -/* 1971D4 802688F4 30420001 */ andi $v0, $v0, 1 -/* 1971D8 802688F8 10400002 */ beqz $v0, .L80268904 -/* 1971DC 802688FC 24020001 */ addiu $v0, $zero, 1 -/* 1971E0 80268900 A202005E */ sb $v0, 0x5e($s0) -.L80268904: -/* 1971E4 80268904 3C02800E */ lui $v0, %hi(gBattleStatus) -/* 1971E8 80268908 8C42C070 */ lw $v0, %lo(gBattleStatus)($v0) -/* 1971EC 8026890C 30421000 */ andi $v0, $v0, 0x1000 -/* 1971F0 80268910 10400003 */ beqz $v0, .L80268920 -/* 1971F4 80268914 24020001 */ addiu $v0, $zero, 1 -/* 1971F8 80268918 A202005E */ sb $v0, 0x5e($s0) -/* 1971FC 8026891C A2000061 */ sb $zero, 0x61($s0) -.L80268920: -/* 197200 80268920 8FBF001C */ lw $ra, 0x1c($sp) -/* 197204 80268924 8FB20018 */ lw $s2, 0x18($sp) -/* 197208 80268928 8FB10014 */ lw $s1, 0x14($sp) -/* 19720C 8026892C 8FB00010 */ lw $s0, 0x10($sp) -/* 197210 80268930 03E00008 */ jr $ra -/* 197214 80268934 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/19FAF0/calc_player_damage_enemy.s b/ver/us/asm/nonmatchings/19FAF0/calc_player_damage_enemy.s index 14742e80cb..0d83a0c28b 100644 --- a/ver/us/asm/nonmatchings/19FAF0/calc_player_damage_enemy.s +++ b/ver/us/asm/nonmatchings/19FAF0/calc_player_damage_enemy.s @@ -1623,8 +1623,8 @@ glabel L80271E88_1A0768 /* 1A1908 80273028 00000000 */ nop /* 1A190C 8027302C 12E00017 */ beqz $s7, .L8027308C /* 1A1910 80273030 00000000 */ nop -/* 1A1914 80273034 3C048029 */ lui $a0, %hi(DoShinkHit) -/* 1A1918 80273038 248446B8 */ addiu $a0, $a0, %lo(DoShinkHit) +/* 1A1914 80273034 3C048029 */ lui $a0, %hi(DoShrinkHit) +/* 1A1918 80273038 248446B8 */ addiu $a0, $a0, %lo(DoShrinkHit) /* 1A191C 8027303C 2405000A */ addiu $a1, $zero, 0xa /* 1A1920 80273040 0C0B0CF8 */ jal start_script /* 1A1924 80273044 0000302D */ daddu $a2, $zero, $zero diff --git a/ver/us/asm/nonmatchings/1A5830/calc_enemy_damage_target.s b/ver/us/asm/nonmatchings/1A5830/calc_enemy_damage_target.s index 5349b4cb3c..cb74f280cf 100644 --- a/ver/us/asm/nonmatchings/1A5830/calc_enemy_damage_target.s +++ b/ver/us/asm/nonmatchings/1A5830/calc_enemy_damage_target.s @@ -1206,8 +1206,8 @@ glabel calc_enemy_damage_target /* 1A6E2C 8027854C 00000000 */ nop /* 1A6E30 80278550 12A00017 */ beqz $s5, .L802785B0 /* 1A6E34 80278554 00000000 */ nop -/* 1A6E38 80278558 3C048029 */ lui $a0, %hi(DoShinkHit) -/* 1A6E3C 8027855C 248446B8 */ addiu $a0, $a0, %lo(DoShinkHit) +/* 1A6E38 80278558 3C048029 */ lui $a0, %hi(DoShrinkHit) +/* 1A6E3C 8027855C 248446B8 */ addiu $a0, $a0, %lo(DoShrinkHit) /* 1A6E40 80278560 2405000A */ addiu $a1, $zero, 0xa /* 1A6E44 80278564 0C0B0CF8 */ jal start_script /* 1A6E48 80278568 0000302D */ daddu $a2, $zero, $zero diff --git a/ver/us/asm/nonmatchings/1AC760/calc_partner_damage_enemy.s b/ver/us/asm/nonmatchings/1AC760/calc_partner_damage_enemy.s index 78f2bd3417..de1299d049 100644 --- a/ver/us/asm/nonmatchings/1AC760/calc_partner_damage_enemy.s +++ b/ver/us/asm/nonmatchings/1AC760/calc_partner_damage_enemy.s @@ -1478,8 +1478,8 @@ glabel calc_partner_damage_enemy /* 1AE10C 8027F82C 00000000 */ nop /* 1AE110 8027F830 12A00017 */ beqz $s5, .L8027F890 /* 1AE114 8027F834 00000000 */ nop -/* 1AE118 8027F838 3C048029 */ lui $a0, %hi(DoShinkHit) -/* 1AE11C 8027F83C 248446B8 */ addiu $a0, $a0, %lo(DoShinkHit) +/* 1AE118 8027F838 3C048029 */ lui $a0, %hi(DoShrinkHit) +/* 1AE11C 8027F83C 248446B8 */ addiu $a0, $a0, %lo(DoShrinkHit) /* 1AE120 8027F840 2405000A */ addiu $a1, $zero, 0xa /* 1AE124 8027F844 0C0B0CF8 */ jal start_script /* 1AE128 8027F848 0000302D */ daddu $a2, $zero, $zero diff --git a/ver/us/asm/nonmatchings/425B50/func_802A9000_425B50.s b/ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A9000_425B50.s similarity index 100% rename from ver/us/asm/nonmatchings/425B50/func_802A9000_425B50.s rename to ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A9000_425B50.s diff --git a/ver/us/asm/nonmatchings/425B50/func_802A916C_425CBC.s b/ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A916C_425CBC.s similarity index 100% rename from ver/us/asm/nonmatchings/425B50/func_802A916C_425CBC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A916C_425CBC.s diff --git a/ver/us/asm/nonmatchings/425B50/func_802A9228_425D78.s b/ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A9228_425D78.s similarity index 100% rename from ver/us/asm/nonmatchings/425B50/func_802A9228_425D78.s rename to ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A9228_425D78.s diff --git a/ver/us/asm/nonmatchings/425B50/func_802A94D8_426028.s b/ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A94D8_426028.s similarity index 100% rename from ver/us/asm/nonmatchings/425B50/func_802A94D8_426028.s rename to ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A94D8_426028.s diff --git a/ver/us/asm/nonmatchings/425B50/func_802A959C_4260EC.s b/ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A959C_4260EC.s similarity index 100% rename from ver/us/asm/nonmatchings/425B50/func_802A959C_4260EC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/07/func_802A959C_4260EC.s diff --git a/ver/us/asm/nonmatchings/4273B0/func_802A9000_4273B0.s b/ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A9000_4273B0.s similarity index 100% rename from ver/us/asm/nonmatchings/4273B0/func_802A9000_4273B0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A9000_4273B0.s diff --git a/ver/us/asm/nonmatchings/4273B0/func_802A9170_427520.s b/ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A9170_427520.s similarity index 100% rename from ver/us/asm/nonmatchings/4273B0/func_802A9170_427520.s rename to ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A9170_427520.s diff --git a/ver/us/asm/nonmatchings/4273B0/func_802A928C_42763C.s b/ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A928C_42763C.s similarity index 100% rename from ver/us/asm/nonmatchings/4273B0/func_802A928C_42763C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A928C_42763C.s diff --git a/ver/us/asm/nonmatchings/4273B0/func_802A955C_42790C.s b/ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A955C_42790C.s similarity index 100% rename from ver/us/asm/nonmatchings/4273B0/func_802A955C_42790C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A955C_42790C.s diff --git a/ver/us/asm/nonmatchings/4273B0/func_802A963C_4279EC.s b/ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A963C_4279EC.s similarity index 100% rename from ver/us/asm/nonmatchings/4273B0/func_802A963C_4279EC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/0A/func_802A963C_4279EC.s diff --git a/ver/us/asm/nonmatchings/428A70/func_802A9000_428A70.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9000_428A70.s similarity index 100% rename from ver/us/asm/nonmatchings/428A70/func_802A9000_428A70.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9000_428A70.s diff --git a/ver/us/asm/nonmatchings/428A70/func_802A9184_428BF4.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9184_428BF4.s similarity index 100% rename from ver/us/asm/nonmatchings/428A70/func_802A9184_428BF4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9184_428BF4.s diff --git a/ver/us/asm/nonmatchings/428A70/func_802A9278_428CE8.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9278_428CE8.s similarity index 100% rename from ver/us/asm/nonmatchings/428A70/func_802A9278_428CE8.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9278_428CE8.s diff --git a/ver/us/asm/nonmatchings/428A70/func_802A96EC_42915C.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A96EC_42915C.s similarity index 100% rename from ver/us/asm/nonmatchings/428A70/func_802A96EC_42915C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A96EC_42915C.s diff --git a/ver/us/asm/nonmatchings/428A70/func_802A9810_429280.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9810_429280.s similarity index 100% rename from ver/us/asm/nonmatchings/428A70/func_802A9810_429280.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_lift/func_802A9810_429280.s diff --git a/ver/us/asm/nonmatchings/429320/func_802A9000_429320.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A9000_429320.s similarity index 100% rename from ver/us/asm/nonmatchings/429320/func_802A9000_429320.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A9000_429320.s diff --git a/ver/us/asm/nonmatchings/429320/func_802A9178_429498.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A9178_429498.s similarity index 100% rename from ver/us/asm/nonmatchings/429320/func_802A9178_429498.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A9178_429498.s diff --git a/ver/us/asm/nonmatchings/429320/func_802A9294_4295B4.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A9294_4295B4.s similarity index 100% rename from ver/us/asm/nonmatchings/429320/func_802A9294_4295B4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A9294_4295B4.s diff --git a/ver/us/asm/nonmatchings/429320/func_802A984C_429B6C.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A984C_429B6C.s similarity index 100% rename from ver/us/asm/nonmatchings/429320/func_802A984C_429B6C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A984C_429B6C.s diff --git a/ver/us/asm/nonmatchings/429320/func_802A992C_429C4C.s b/ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A992C_429C4C.s similarity index 100% rename from ver/us/asm/nonmatchings/429320/func_802A992C_429C4C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/air_raid/func_802A992C_429C4C.s diff --git a/ver/us/asm/nonmatchings/4282E0/func_802A9000_4282E0.s b/ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A9000_4282E0.s similarity index 100% rename from ver/us/asm/nonmatchings/4282E0/func_802A9000_4282E0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A9000_4282E0.s diff --git a/ver/us/asm/nonmatchings/4282E0/func_802A91B8_428498.s b/ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A91B8_428498.s similarity index 100% rename from ver/us/asm/nonmatchings/4282E0/func_802A91B8_428498.s rename to ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A91B8_428498.s diff --git a/ver/us/asm/nonmatchings/4282E0/func_802A92D4_4285B4.s b/ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A92D4_4285B4.s similarity index 100% rename from ver/us/asm/nonmatchings/4282E0/func_802A92D4_4285B4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A92D4_4285B4.s diff --git a/ver/us/asm/nonmatchings/4282E0/func_802A9664_428944.s b/ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A9664_428944.s similarity index 100% rename from ver/us/asm/nonmatchings/4282E0/func_802A9664_428944.s rename to ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A9664_428944.s diff --git a/ver/us/asm/nonmatchings/4282E0/func_802A9708_4289E8.s b/ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A9708_4289E8.s similarity index 100% rename from ver/us/asm/nonmatchings/4282E0/func_802A9708_4289E8.s rename to ver/us/asm/nonmatchings/battle/action_cmd/body_slam/func_802A9708_4289E8.s diff --git a/ver/us/asm/nonmatchings/427A70/func_802A9000_427A70.s b/ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A9000_427A70.s similarity index 100% rename from ver/us/asm/nonmatchings/427A70/func_802A9000_427A70.s rename to ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A9000_427A70.s diff --git a/ver/us/asm/nonmatchings/427A70/func_802A9170_427BE0.s b/ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A9170_427BE0.s similarity index 100% rename from ver/us/asm/nonmatchings/427A70/func_802A9170_427BE0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A9170_427BE0.s diff --git a/ver/us/asm/nonmatchings/427A70/func_802A928C_427CFC.s b/ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A928C_427CFC.s similarity index 100% rename from ver/us/asm/nonmatchings/427A70/func_802A928C_427CFC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A928C_427CFC.s diff --git a/ver/us/asm/nonmatchings/427A70/func_802A96EC_42815C.s b/ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A96EC_42815C.s similarity index 100% rename from ver/us/asm/nonmatchings/427A70/func_802A96EC_42815C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A96EC_42815C.s diff --git a/ver/us/asm/nonmatchings/427A70/func_802A97CC_42823C.s b/ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A97CC_42823C.s similarity index 100% rename from ver/us/asm/nonmatchings/427A70/func_802A97CC_42823C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/bomb/func_802A97CC_42823C.s diff --git a/ver/us/asm/nonmatchings/4233F0/func_802A9000_4233F0.s b/ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A9000_4233F0.s similarity index 100% rename from ver/us/asm/nonmatchings/4233F0/func_802A9000_4233F0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A9000_4233F0.s diff --git a/ver/us/asm/nonmatchings/4233F0/func_802A91B0_4235A0.s b/ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A91B0_4235A0.s similarity index 100% rename from ver/us/asm/nonmatchings/4233F0/func_802A91B0_4235A0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A91B0_4235A0.s diff --git a/ver/us/asm/nonmatchings/4233F0/func_802A92DC_4236CC.s b/ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A92DC_4236CC.s similarity index 100% rename from ver/us/asm/nonmatchings/4233F0/func_802A92DC_4236CC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A92DC_4236CC.s diff --git a/ver/us/asm/nonmatchings/4233F0/func_802A96B8_423AA8.s b/ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A96B8_423AA8.s similarity index 100% rename from ver/us/asm/nonmatchings/4233F0/func_802A96B8_423AA8.s rename to ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A96B8_423AA8.s diff --git a/ver/us/asm/nonmatchings/4233F0/func_802A97FC_423BEC.s b/ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A97FC_423BEC.s similarity index 100% rename from ver/us/asm/nonmatchings/4233F0/func_802A97FC_423BEC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/break_free/func_802A97FC_423BEC.s diff --git a/ver/us/asm/nonmatchings/426170/func_802A9000_426170.s b/ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A9000_426170.s similarity index 100% rename from ver/us/asm/nonmatchings/426170/func_802A9000_426170.s rename to ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A9000_426170.s diff --git a/ver/us/asm/nonmatchings/426170/func_802A9170_4262E0.s b/ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A9170_4262E0.s similarity index 100% rename from ver/us/asm/nonmatchings/426170/func_802A9170_4262E0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A9170_4262E0.s diff --git a/ver/us/asm/nonmatchings/426170/func_802A928C_4263FC.s b/ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A928C_4263FC.s similarity index 100% rename from ver/us/asm/nonmatchings/426170/func_802A928C_4263FC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A928C_4263FC.s diff --git a/ver/us/asm/nonmatchings/426170/func_802A96DC_42684C.s b/ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A96DC_42684C.s similarity index 100% rename from ver/us/asm/nonmatchings/426170/func_802A96DC_42684C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A96DC_42684C.s diff --git a/ver/us/asm/nonmatchings/426170/func_802A97BC_42692C.s b/ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A97BC_42692C.s similarity index 100% rename from ver/us/asm/nonmatchings/426170/func_802A97BC_42692C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/dizzy_shell/func_802A97BC_42692C.s diff --git a/ver/us/asm/nonmatchings/4269D0/func_802A9000_4269D0.s b/ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9000_4269D0.s similarity index 100% rename from ver/us/asm/nonmatchings/4269D0/func_802A9000_4269D0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9000_4269D0.s diff --git a/ver/us/asm/nonmatchings/4269D0/func_802A9178_426B48.s b/ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9178_426B48.s similarity index 100% rename from ver/us/asm/nonmatchings/4269D0/func_802A9178_426B48.s rename to ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9178_426B48.s diff --git a/ver/us/asm/nonmatchings/4269D0/func_802A9294_426C64.s b/ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9294_426C64.s similarity index 100% rename from ver/us/asm/nonmatchings/4269D0/func_802A9294_426C64.s rename to ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9294_426C64.s diff --git a/ver/us/asm/nonmatchings/4269D0/func_802A9834_427204.s b/ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9834_427204.s similarity index 100% rename from ver/us/asm/nonmatchings/4269D0/func_802A9834_427204.s rename to ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9834_427204.s diff --git a/ver/us/asm/nonmatchings/4269D0/func_802A9914_4272E4.s b/ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9914_4272E4.s similarity index 100% rename from ver/us/asm/nonmatchings/4269D0/func_802A9914_4272E4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/fire_shell/func_802A9914_4272E4.s diff --git a/ver/us/asm/nonmatchings/422AD0/func_802A9000_422AD0.s b/ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A9000_422AD0.s similarity index 100% rename from ver/us/asm/nonmatchings/422AD0/func_802A9000_422AD0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A9000_422AD0.s diff --git a/ver/us/asm/nonmatchings/422AD0/func_802A92A0_422D70.s b/ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A92A0_422D70.s similarity index 100% rename from ver/us/asm/nonmatchings/422AD0/func_802A92A0_422D70.s rename to ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A92A0_422D70.s diff --git a/ver/us/asm/nonmatchings/422AD0/func_802A9378_422E48.s b/ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A9378_422E48.s similarity index 100% rename from ver/us/asm/nonmatchings/422AD0/func_802A9378_422E48.s rename to ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A9378_422E48.s diff --git a/ver/us/asm/nonmatchings/422AD0/func_802A96F4_4231C4.s b/ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A96F4_4231C4.s similarity index 100% rename from ver/us/asm/nonmatchings/422AD0/func_802A96F4_4231C4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A96F4_4231C4.s diff --git a/ver/us/asm/nonmatchings/422AD0/func_802A9894_423364.s b/ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A9894_423364.s similarity index 100% rename from ver/us/asm/nonmatchings/422AD0/func_802A9894_423364.s rename to ver/us/asm/nonmatchings/battle/action_cmd/flee/func_802A9894_423364.s diff --git a/ver/us/asm/nonmatchings/422000/func_802A9000_422000.s b/ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A9000_422000.s similarity index 100% rename from ver/us/asm/nonmatchings/422000/func_802A9000_422000.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A9000_422000.s diff --git a/ver/us/asm/nonmatchings/422000/func_802A9258_422258.s b/ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A9258_422258.s similarity index 100% rename from ver/us/asm/nonmatchings/422000/func_802A9258_422258.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A9258_422258.s diff --git a/ver/us/asm/nonmatchings/422000/func_802A936C_42236C.s b/ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A936C_42236C.s similarity index 100% rename from ver/us/asm/nonmatchings/422000/func_802A936C_42236C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A936C_42236C.s diff --git a/ver/us/asm/nonmatchings/422000/func_802A99D4_4229D4.s b/ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A99D4_4229D4.s similarity index 100% rename from ver/us/asm/nonmatchings/422000/func_802A99D4_4229D4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A99D4_4229D4.s diff --git a/ver/us/asm/nonmatchings/422000/func_802A9A30_422A30.s b/ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A9A30_422A30.s similarity index 100% rename from ver/us/asm/nonmatchings/422000/func_802A9A30_422A30.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hammer/func_802A9A30_422A30.s diff --git a/ver/us/asm/nonmatchings/42F6E0/func_802A9000_42F6E0.s b/ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A9000_42F6E0.s similarity index 100% rename from ver/us/asm/nonmatchings/42F6E0/func_802A9000_42F6E0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A9000_42F6E0.s diff --git a/ver/us/asm/nonmatchings/42F6E0/func_802A91A0_42F880.s b/ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A91A0_42F880.s similarity index 100% rename from ver/us/asm/nonmatchings/42F6E0/func_802A91A0_42F880.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A91A0_42F880.s diff --git a/ver/us/asm/nonmatchings/42F6E0/func_802A92A0_42F980.s b/ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A92A0_42F980.s similarity index 100% rename from ver/us/asm/nonmatchings/42F6E0/func_802A92A0_42F980.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A92A0_42F980.s diff --git a/ver/us/asm/nonmatchings/42F6E0/func_802A97AC_42FE8C.s b/ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A97AC_42FE8C.s similarity index 100% rename from ver/us/asm/nonmatchings/42F6E0/func_802A97AC_42FE8C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A97AC_42FE8C.s diff --git a/ver/us/asm/nonmatchings/42F6E0/func_802A9894_42FF74.s b/ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A9894_42FF74.s similarity index 100% rename from ver/us/asm/nonmatchings/42F6E0/func_802A9894_42FF74.s rename to ver/us/asm/nonmatchings/battle/action_cmd/hurricane/func_802A9894_42FF74.s diff --git a/ver/us/asm/nonmatchings/4219F0/func_802A9000_4219F0.s b/ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9000_4219F0.s similarity index 100% rename from ver/us/asm/nonmatchings/4219F0/func_802A9000_4219F0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9000_4219F0.s diff --git a/ver/us/asm/nonmatchings/4219F0/func_802A9120_421B10.s b/ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9120_421B10.s similarity index 100% rename from ver/us/asm/nonmatchings/4219F0/func_802A9120_421B10.s rename to ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9120_421B10.s diff --git a/ver/us/asm/nonmatchings/4219F0/func_802A9234_421C24.s b/ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9234_421C24.s similarity index 100% rename from ver/us/asm/nonmatchings/4219F0/func_802A9234_421C24.s rename to ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9234_421C24.s diff --git a/ver/us/asm/nonmatchings/4219F0/func_802A9544_421F34.s b/ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9544_421F34.s similarity index 100% rename from ver/us/asm/nonmatchings/4219F0/func_802A9544_421F34.s rename to ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9544_421F34.s diff --git a/ver/us/asm/nonmatchings/4219F0/func_802A9590_421F80.s b/ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9590_421F80.s similarity index 100% rename from ver/us/asm/nonmatchings/4219F0/func_802A9590_421F80.s rename to ver/us/asm/nonmatchings/battle/action_cmd/jump/func_802A9590_421F80.s diff --git a/ver/us/asm/nonmatchings/42DA10/func_802A9000_42DA10.s b/ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A9000_42DA10.s similarity index 100% rename from ver/us/asm/nonmatchings/42DA10/func_802A9000_42DA10.s rename to ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A9000_42DA10.s diff --git a/ver/us/asm/nonmatchings/42DA10/func_802A91A0_42DBB0.s b/ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A91A0_42DBB0.s similarity index 100% rename from ver/us/asm/nonmatchings/42DA10/func_802A91A0_42DBB0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A91A0_42DBB0.s diff --git a/ver/us/asm/nonmatchings/42DA10/func_802A92A0_42DCB0.s b/ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A92A0_42DCB0.s similarity index 100% rename from ver/us/asm/nonmatchings/42DA10/func_802A92A0_42DCB0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A92A0_42DCB0.s diff --git a/ver/us/asm/nonmatchings/42DA10/func_802A97F8_42E208.s b/ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A97F8_42E208.s similarity index 100% rename from ver/us/asm/nonmatchings/42DA10/func_802A97F8_42E208.s rename to ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A97F8_42E208.s diff --git a/ver/us/asm/nonmatchings/42DA10/func_802A98E0_42E2F0.s b/ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A98E0_42E2F0.s similarity index 100% rename from ver/us/asm/nonmatchings/42DA10/func_802A98E0_42E2F0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/mega_shock/func_802A98E0_42E2F0.s diff --git a/ver/us/asm/nonmatchings/42CF10/func_802A9000_42CF10.s b/ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9000_42CF10.s similarity index 100% rename from ver/us/asm/nonmatchings/42CF10/func_802A9000_42CF10.s rename to ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9000_42CF10.s diff --git a/ver/us/asm/nonmatchings/42CF10/func_802A9210_42D120.s b/ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9210_42D120.s similarity index 100% rename from ver/us/asm/nonmatchings/42CF10/func_802A9210_42D120.s rename to ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9210_42D120.s diff --git a/ver/us/asm/nonmatchings/42CF10/func_802A9310_42D220.s b/ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9310_42D220.s similarity index 100% rename from ver/us/asm/nonmatchings/42CF10/func_802A9310_42D220.s rename to ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9310_42D220.s diff --git a/ver/us/asm/nonmatchings/42CF10/func_802A98D0_42D7E0.s b/ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A98D0_42D7E0.s similarity index 100% rename from ver/us/asm/nonmatchings/42CF10/func_802A98D0_42D7E0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A98D0_42D7E0.s diff --git a/ver/us/asm/nonmatchings/42CF10/func_802A9A54_42D964.s b/ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9A54_42D964.s similarity index 100% rename from ver/us/asm/nonmatchings/42CF10/func_802A9A54_42D964.s rename to ver/us/asm/nonmatchings/battle/action_cmd/power_shock/func_802A9A54_42D964.s diff --git a/ver/us/asm/nonmatchings/42E3A0/func_802A9000_42E3A0.s b/ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A9000_42E3A0.s similarity index 100% rename from ver/us/asm/nonmatchings/42E3A0/func_802A9000_42E3A0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A9000_42E3A0.s diff --git a/ver/us/asm/nonmatchings/42E3A0/func_802A917C_42E51C.s b/ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A917C_42E51C.s similarity index 100% rename from ver/us/asm/nonmatchings/42E3A0/func_802A917C_42E51C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A917C_42E51C.s diff --git a/ver/us/asm/nonmatchings/42E3A0/func_802A9298_42E638.s b/ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A9298_42E638.s similarity index 100% rename from ver/us/asm/nonmatchings/42E3A0/func_802A9298_42E638.s rename to ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A9298_42E638.s diff --git a/ver/us/asm/nonmatchings/42E3A0/func_802A98B0_42EC50.s b/ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A98B0_42EC50.s similarity index 100% rename from ver/us/asm/nonmatchings/42E3A0/func_802A98B0_42EC50.s rename to ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A98B0_42EC50.s diff --git a/ver/us/asm/nonmatchings/42E3A0/func_802A9990_42ED30.s b/ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A9990_42ED30.s similarity index 100% rename from ver/us/asm/nonmatchings/42E3A0/func_802A9990_42ED30.s rename to ver/us/asm/nonmatchings/battle/action_cmd/smack/func_802A9990_42ED30.s diff --git a/ver/us/asm/nonmatchings/42EE20/func_802A9000_42EE20.s b/ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A9000_42EE20.s similarity index 100% rename from ver/us/asm/nonmatchings/42EE20/func_802A9000_42EE20.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A9000_42EE20.s diff --git a/ver/us/asm/nonmatchings/42EE20/func_802A916C_42EF8C.s b/ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A916C_42EF8C.s similarity index 100% rename from ver/us/asm/nonmatchings/42EE20/func_802A916C_42EF8C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A916C_42EF8C.s diff --git a/ver/us/asm/nonmatchings/42EE20/func_802A9254_42F074.s b/ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A9254_42F074.s similarity index 100% rename from ver/us/asm/nonmatchings/42EE20/func_802A9254_42F074.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A9254_42F074.s diff --git a/ver/us/asm/nonmatchings/42EE20/func_802A973C_42F55C.s b/ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A973C_42F55C.s similarity index 100% rename from ver/us/asm/nonmatchings/42EE20/func_802A973C_42F55C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A973C_42F55C.s diff --git a/ver/us/asm/nonmatchings/42EE20/func_802A981C_42F63C.s b/ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A981C_42F63C.s similarity index 100% rename from ver/us/asm/nonmatchings/42EE20/func_802A981C_42F63C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spiny_surge/func_802A981C_42F63C.s diff --git a/ver/us/asm/nonmatchings/430020/func_802A9000_430020.s b/ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A9000_430020.s similarity index 100% rename from ver/us/asm/nonmatchings/430020/func_802A9000_430020.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A9000_430020.s diff --git a/ver/us/asm/nonmatchings/430020/func_802A917C_43019C.s b/ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A917C_43019C.s similarity index 100% rename from ver/us/asm/nonmatchings/430020/func_802A917C_43019C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A917C_43019C.s diff --git a/ver/us/asm/nonmatchings/430020/func_802A9298_4302B8.s b/ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A9298_4302B8.s similarity index 100% rename from ver/us/asm/nonmatchings/430020/func_802A9298_4302B8.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A9298_4302B8.s diff --git a/ver/us/asm/nonmatchings/430020/func_802A97FC_43081C.s b/ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A97FC_43081C.s similarity index 100% rename from ver/us/asm/nonmatchings/430020/func_802A97FC_43081C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A97FC_43081C.s diff --git a/ver/us/asm/nonmatchings/430020/func_802A98DC_4308FC.s b/ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A98DC_4308FC.s similarity index 100% rename from ver/us/asm/nonmatchings/430020/func_802A98DC_4308FC.s rename to ver/us/asm/nonmatchings/battle/action_cmd/spook/func_802A98DC_4308FC.s diff --git a/ver/us/asm/nonmatchings/429D20/func_802A9000_429D20.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9000_429D20.s similarity index 100% rename from ver/us/asm/nonmatchings/429D20/func_802A9000_429D20.s rename to ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9000_429D20.s diff --git a/ver/us/asm/nonmatchings/429D20/func_802A911C_429E3C.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A911C_429E3C.s similarity index 100% rename from ver/us/asm/nonmatchings/429D20/func_802A911C_429E3C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A911C_429E3C.s diff --git a/ver/us/asm/nonmatchings/429D20/func_802A9208_429F28.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9208_429F28.s similarity index 100% rename from ver/us/asm/nonmatchings/429D20/func_802A9208_429F28.s rename to ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9208_429F28.s diff --git a/ver/us/asm/nonmatchings/429D20/func_802A9634_42A354.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9634_42A354.s similarity index 100% rename from ver/us/asm/nonmatchings/429D20/func_802A9634_42A354.s rename to ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9634_42A354.s diff --git a/ver/us/asm/nonmatchings/429D20/func_802A9720_42A440.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9720_42A440.s similarity index 100% rename from ver/us/asm/nonmatchings/429D20/func_802A9720_42A440.s rename to ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9720_42A440.s diff --git a/ver/us/asm/nonmatchings/425590/func_802A9000_425590.s b/ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A9000_425590.s similarity index 100% rename from ver/us/asm/nonmatchings/425590/func_802A9000_425590.s rename to ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A9000_425590.s diff --git a/ver/us/asm/nonmatchings/425590/func_802A9110_4256A0.s b/ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A9110_4256A0.s similarity index 100% rename from ver/us/asm/nonmatchings/425590/func_802A9110_4256A0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A9110_4256A0.s diff --git a/ver/us/asm/nonmatchings/425590/func_802A91F8_425788.s b/ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A91F8_425788.s similarity index 100% rename from ver/us/asm/nonmatchings/425590/func_802A91F8_425788.s rename to ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A91F8_425788.s diff --git a/ver/us/asm/nonmatchings/425590/func_802A94A4_425A34.s b/ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A94A4_425A34.s similarity index 100% rename from ver/us/asm/nonmatchings/425590/func_802A94A4_425A34.s rename to ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A94A4_425A34.s diff --git a/ver/us/asm/nonmatchings/425590/func_802A9544_425AD4.s b/ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A9544_425AD4.s similarity index 100% rename from ver/us/asm/nonmatchings/425590/func_802A9544_425AD4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/stop_leech/func_802A9544_425AD4.s diff --git a/ver/us/asm/nonmatchings/42C6F0/func_802A9000_42C6F0.s b/ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9000_42C6F0.s similarity index 100% rename from ver/us/asm/nonmatchings/42C6F0/func_802A9000_42C6F0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9000_42C6F0.s diff --git a/ver/us/asm/nonmatchings/42C6F0/func_802A9138_42C828.s b/ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9138_42C828.s similarity index 100% rename from ver/us/asm/nonmatchings/42C6F0/func_802A9138_42C828.s rename to ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9138_42C828.s diff --git a/ver/us/asm/nonmatchings/42C6F0/func_802A9228_42C918.s b/ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9228_42C918.s similarity index 100% rename from ver/us/asm/nonmatchings/42C6F0/func_802A9228_42C918.s rename to ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9228_42C918.s diff --git a/ver/us/asm/nonmatchings/42C6F0/func_802A9718_42CE08.s b/ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9718_42CE08.s similarity index 100% rename from ver/us/asm/nonmatchings/42C6F0/func_802A9718_42CE08.s rename to ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9718_42CE08.s diff --git a/ver/us/asm/nonmatchings/42C6F0/func_802A9764_42CE54.s b/ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9764_42CE54.s similarity index 100% rename from ver/us/asm/nonmatchings/42C6F0/func_802A9764_42CE54.s rename to ver/us/asm/nonmatchings/battle/action_cmd/tidal_wave/func_802A9764_42CE54.s diff --git a/ver/us/asm/nonmatchings/42A4F0/func_802A9000_42A4F0.s b/ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802A9000_42A4F0.s similarity index 100% rename from ver/us/asm/nonmatchings/42A4F0/func_802A9000_42A4F0.s rename to ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802A9000_42A4F0.s diff --git a/ver/us/asm/nonmatchings/42A4F0/func_802A9398_42A888.s b/ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802A9398_42A888.s similarity index 100% rename from ver/us/asm/nonmatchings/42A4F0/func_802A9398_42A888.s rename to ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802A9398_42A888.s diff --git a/ver/us/asm/nonmatchings/42A4F0/func_802A948C_42A97C.s b/ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802A948C_42A97C.s similarity index 100% rename from ver/us/asm/nonmatchings/42A4F0/func_802A948C_42A97C.s rename to ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802A948C_42A97C.s diff --git a/ver/us/asm/nonmatchings/42A4F0/func_802AA014_42B504.s b/ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802AA014_42B504.s similarity index 100% rename from ver/us/asm/nonmatchings/42A4F0/func_802AA014_42B504.s rename to ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802AA014_42B504.s diff --git a/ver/us/asm/nonmatchings/42A4F0/func_802AA0D8_42B5C8.s b/ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802AA0D8_42B5C8.s similarity index 100% rename from ver/us/asm/nonmatchings/42A4F0/func_802AA0D8_42B5C8.s rename to ver/us/asm/nonmatchings/battle/action_cmd/water_block/func_802AA0D8_42B5C8.s diff --git a/ver/us/asm/nonmatchings/423C70/func_802A9000_423C70.s b/ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A9000_423C70.s similarity index 100% rename from ver/us/asm/nonmatchings/423C70/func_802A9000_423C70.s rename to ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A9000_423C70.s diff --git a/ver/us/asm/nonmatchings/423C70/func_802A91E0_423E50.s b/ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A91E0_423E50.s similarity index 100% rename from ver/us/asm/nonmatchings/423C70/func_802A91E0_423E50.s rename to ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A91E0_423E50.s diff --git a/ver/us/asm/nonmatchings/423C70/func_802A92F0_423F60.s b/ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A92F0_423F60.s similarity index 100% rename from ver/us/asm/nonmatchings/423C70/func_802A92F0_423F60.s rename to ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A92F0_423F60.s diff --git a/ver/us/asm/nonmatchings/423C70/func_802A9744_4243B4.s b/ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A9744_4243B4.s similarity index 100% rename from ver/us/asm/nonmatchings/423C70/func_802A9744_4243B4.s rename to ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A9744_4243B4.s diff --git a/ver/us/asm/nonmatchings/423C70/func_802A9898_424508.s b/ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A9898_424508.s similarity index 100% rename from ver/us/asm/nonmatchings/423C70/func_802A9898_424508.s rename to ver/us/asm/nonmatchings/battle/action_cmd/whirlwind/func_802A9898_424508.s diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 55c5c55d7b..51b25bed08 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -3125,163 +3125,208 @@ segments: - type: code start: 0x4219F0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_jump overlay: True subsegments: - - [0x4219F0, c, 4219F0] - - [0x421FC0] + - [0x4219F0, c, jump] - type: code start: 0x422000 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_hammer overlay: True subsegments: - - [0x422000, c] + - [0x422000, c, hammer] - [0x422A90, data] - type: code start: 0x422AD0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_flee overlay: True subsegments: - - [0x422AD0, c] + - [0x422AD0, c, flee] - [0x4233B0, data] - type: code start: 0x4233F0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_break_free overlay: True subsegments: - - [0x4233F0, c] + - [0x4233F0, c, break_free] - [0x423C30, data] - type: code start: 0x423C70 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_whirlwind overlay: True subsegments: - - [0x423C70, c] + - [0x423C70, c, whirlwind] - [0x424550, data] - type: code start: 0x425590 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_stop_leech overlay: True subsegments: - - [0x425590, c] + - [0x425590, c, stop_leech] - [0x425B10, data] - type: code start: 0x425B50 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_07 overlay: True subsegments: - - [0x425B50, c] + - [0x425B50, c, "07"] - [0x426130, data] - type: code start: 0x426170 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_dizzy_shell overlay: True subsegments: - - [0x426170, c] + - [0x426170, c, dizzy_shell] - [0x426970, data] - type: code start: 0x4269D0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_fire_shell overlay: True subsegments: - - [0x4269D0, c] + - [0x4269D0, c, fire_shell] - [0x427320, data] - type: code start: 0x4273B0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_0A overlay: True subsegments: - - [0x4273B0, c] + - [0x4273B0, c, 0A] - [0x427A30, data] - type: code start: 0x427A70 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_bomb overlay: True subsegments: - - [0x427A70, c] + - [0x427A70, c, bomb] - [0x428280, data] - type: code start: 0x4282E0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_body_slam overlay: True subsegments: - - [0x4282E0, c] + - [0x4282E0, c, body_slam] - [0x428A30, data] - type: code start: 0x428A70 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_air_lift overlay: True subsegments: - - [0x428A70, c] + - [0x428A70, c, air_lift] - [0x4292C0, data] - type: code start: 0x429320 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_air_raid overlay: True subsegments: - - [0x429320, c] + - [0x429320, c, air_raid] - [0x429C90, data] - type: code start: 0x429D20 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_squirt overlay: True subsegments: - - [0x429D20, c] + - [0x429D20, c, squirt] - [0x42A480, data] - type: code start: 0x42A4F0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_water_block overlay: True subsegments: - - [0x42A4F0, c] + - [0x42A4F0, c, water_block] - [0x42B650, data] - type: code start: 0x42C6F0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_tidal_wave overlay: True subsegments: - - [0x42C6F0, c] + - [0x42C6F0, c, tidal_wave] - [0x42CEB0, data] - type: code start: 0x42CF10 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_power_shock overlay: True subsegments: - - [0x42CF10, c] + - [0x42CF10, c, power_shock] - [0x42D9B0, data] - type: code start: 0x42DA10 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_mega_shock overlay: True subsegments: - - [0x42DA10, c] + - [0x42DA10, c, mega_shock] - [0x42E330, data] - type: code start: 0x42E3A0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_smack overlay: True subsegments: - - [0x42E3A0, c] + - [0x42E3A0, c, smack] - [0x42ED70, data] - type: code start: 0x42EE20 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_spiny_surge overlay: True subsegments: - - [0x42EE20, c] + - [0x42EE20, c, spiny_surge] - [0x42F680, data] - type: code start: 0x42F6E0 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_hurricane overlay: True subsegments: - - [0x42F6E0, c] + - [0x42F6E0, c, hurricane] - [0x42FFC0, data] - type: code start: 0x430020 vram: 0x802A9000 + dir: battle/action_cmd + name: action_cmd_spook overlay: True subsegments: - - [0x430020, c] + - [0x430020, c, spook] - [0x430940, data] - dir: battle/area_kmr_part_1 type: code diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index c6856808c9..ece6cd9f53 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -4551,7 +4551,7 @@ DoParalyzeHit = 0x80294618; // rom:0x1C2EF8 DoPoisonHit = 0x80294634; // rom:0x1C2F14 DoStopHit = 0x80294650; // rom:0x1C2F30 DoFreezeHit = 0x8029466C; // rom:0x1C2F4C -DoShinkHit = 0x802946B8; // rom:0x1C2F98 +DoShrinkHit = 0x802946B8; // rom:0x1C2F98 D_8029CAAC = 0x8029CAAC; // type:data rom:0x1CB38C D_8029CC00 = 0x8029CC00; // type:data rom:0x1CB4E0 D_8029CC08 = 0x8029CC08; // type:data rom:0x1CB4E8