mirror of https://github.com/pmret/papermario.git
4124 lines
161 KiB
C
4124 lines
161 KiB
C
#include "common.h"
|
|
#include "effects.h"
|
|
#include "message_ids.h"
|
|
#include "battle/battle.h"
|
|
#include "hud_element.h"
|
|
#include "entity.h"
|
|
#include "ld_addrs.h"
|
|
#include "battle/action_cmd.h"
|
|
#include "sprite/player.h"
|
|
|
|
extern IMG_BIN ui_battle_menu_spirits_png[];
|
|
extern PAL_BIN ui_battle_menu_spirits_pal[];
|
|
extern IMG_BIN ui_battle_solid_star_png[];
|
|
extern PAL_BIN ui_battle_solid_star_pal[];
|
|
|
|
extern ActorBlueprint battle_partner_goombario;
|
|
extern ActorBlueprint battle_partner_kooper;
|
|
extern ActorBlueprint battle_partner_bombette;
|
|
extern ActorBlueprint battle_partner_parakarry;
|
|
extern ActorBlueprint battle_partner_goompa;
|
|
extern ActorBlueprint battle_partner_watt;
|
|
extern ActorBlueprint battle_partner_sushie;
|
|
extern ActorBlueprint battle_partner_lakilester;
|
|
extern ActorBlueprint battle_partner_bow;
|
|
extern ActorBlueprint battle_partner_twink;
|
|
|
|
PlayerCelebrationAnimOptions D_80280FC0 = {
|
|
10, 90,
|
|
{
|
|
50, ANIM_MarioB1_JumpForJoy,
|
|
50, ANIM_Mario1_Chuckle,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
50, ANIM_Mario1_DustOff,
|
|
50, ANIM_Mario1_DustOff,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
50, ANIM_Mario1_ThumbsUp,
|
|
50, ANIM_Mario1_ThumbsUp,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
50, ANIM_MarioB1_FingerWag,
|
|
50, ANIM_MarioB1_FingerWag,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
80, ANIM_MarioB1_FingerWag,
|
|
20, ANIM_MarioB1_JumpForJoy,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
0, 0,
|
|
}
|
|
};
|
|
|
|
s32 bActorNames[ACTOR_TYPE_COUNT] = {
|
|
[ACTOR_TYPE_RED_GOOMBA] MSG_EnemyName_RedGoomba,
|
|
[ACTOR_TYPE_RED_PARAGOOMBA] MSG_EnemyName_RedParagoomba,
|
|
[ACTOR_TYPE_GLOOMBA] MSG_EnemyName_Gloomba,
|
|
[ACTOR_TYPE_PARAGLOOMBA] MSG_EnemyName_Paragloomba,
|
|
[ACTOR_TYPE_SPIKED_GLOOMBA] MSG_EnemyName_SpikedGloomba,
|
|
[ACTOR_TYPE_DARK_KOOPA] MSG_EnemyName_DarkKoopa,
|
|
[ACTOR_TYPE_DARK_PARATROOPA] MSG_EnemyName_DarkParatroopa,
|
|
[ACTOR_TYPE_GOOMBA] MSG_EnemyName_Goomba,
|
|
[ACTOR_TYPE_PARAGOOMBA] MSG_EnemyName_Paragoomba,
|
|
[ACTOR_TYPE_SPIKED_GOOMBA] MSG_EnemyName_SpikedGoomba,
|
|
[ACTOR_TYPE_FUZZY] MSG_EnemyName_Fuzzy,
|
|
[ACTOR_TYPE_KOOPA_TROOPA] MSG_EnemyName_KoopaTroopa,
|
|
[ACTOR_TYPE_PARATROOPA] MSG_EnemyName_Paratroopa,
|
|
[ACTOR_TYPE_BOB_OMB] MSG_EnemyName_BobOmb,
|
|
[ACTOR_TYPE_BOB_OMB_DUP] MSG_EnemyName_BobOmb,
|
|
[ACTOR_TYPE_BULLET_BILL] MSG_EnemyName_BulletBill,
|
|
[ACTOR_TYPE_BILL_BLASTER] MSG_EnemyName_BillBlaster,
|
|
[ACTOR_TYPE_CLEFT] MSG_EnemyName_Cleft,
|
|
[ACTOR_TYPE_MONTY_MOLE] MSG_EnemyName_MontyMole,
|
|
[ACTOR_TYPE_BANDIT] MSG_EnemyName_Bandit,
|
|
[ACTOR_TYPE_POKEY] MSG_EnemyName_Pokey,
|
|
[ACTOR_TYPE_POKEY_MUMMY] MSG_EnemyName_PokeyMummy,
|
|
[ACTOR_TYPE_SWOOPER] MSG_EnemyName_Swooper,
|
|
[ACTOR_TYPE_BUZZY_BEETLE] MSG_EnemyName_BuzzyBeetle,
|
|
[ACTOR_TYPE_STONE_CHOMP] MSG_EnemyName_StoneChomp,
|
|
[ACTOR_TYPE_PIRANHA_PLANT] MSG_EnemyName_PiranhaPlant,
|
|
[ACTOR_TYPE_FOREST_FUZZY] MSG_EnemyName_ForestFuzzy,
|
|
[ACTOR_TYPE_HYPER_GOOMBA] MSG_EnemyName_HyperGoomba,
|
|
[ACTOR_TYPE_HYPER_PARAGOOMBA] MSG_EnemyName_HyperParagoomba,
|
|
[ACTOR_TYPE_HYPER_CLEFT] MSG_EnemyName_HyperCleft,
|
|
[ACTOR_TYPE_CLUBBA] MSG_EnemyName_Clubba,
|
|
[ACTOR_TYPE_SHY_GUY] MSG_EnemyName_ShyGuy,
|
|
[ACTOR_TYPE_GROOVE_GUY] MSG_EnemyName_GrooveGuy,
|
|
[ACTOR_TYPE_SKY_GUY] MSG_EnemyName_SkyGuy,
|
|
[ACTOR_TYPE_MEDI_GUY] MSG_EnemyName_MediGuy,
|
|
[ACTOR_TYPE_PYRO_GUY] MSG_EnemyName_PyroGuy,
|
|
[ACTOR_TYPE_SPY_GUY] MSG_EnemyName_SpyGuy,
|
|
[ACTOR_TYPE_FUZZIPEDE] MSG_EnemyName_Fuzzipede,
|
|
[ACTOR_TYPE_HURT_PLANT] MSG_EnemyName_HurtPlant,
|
|
[ACTOR_TYPE_M_BUSH] MSG_EnemyName_MBush,
|
|
[ACTOR_TYPE_AQUA_FUZZY] MSG_EnemyName_AquaFuzzy,
|
|
[ACTOR_TYPE_JUNGLE_FUZZY] MSG_EnemyName_JungleFuzzy,
|
|
[ACTOR_TYPE_SPEAR_GUY] MSG_EnemyName_SpearGuy,
|
|
[ACTOR_TYPE_LAVA_BUBBLE] MSG_EnemyName_LavaBubble,
|
|
[ACTOR_TYPE_SPIKE_TOP] MSG_EnemyName_SpikeTop,
|
|
[ACTOR_TYPE_PUTRID_PIRANHA] MSG_EnemyName_PutridPiranha,
|
|
[ACTOR_TYPE_LAKITU] MSG_EnemyName_Lakitu,
|
|
[ACTOR_TYPE_SPINY] MSG_EnemyName_Spiny,
|
|
[ACTOR_TYPE_MONTY_MOLE_BOSS] MSG_EnemyName_MontyMoleBoss,
|
|
[ACTOR_TYPE_BZZAP] MSG_EnemyName_Bzzap,
|
|
[ACTOR_TYPE_CRAZEE_DAYZEE] MSG_EnemyName_CrazeeDayzee,
|
|
[ACTOR_TYPE_AMAZY_DAYZEE] MSG_EnemyName_AmazyDayzee,
|
|
[ACTOR_TYPE_RUFF_PUFF] MSG_EnemyName_RuffPuff,
|
|
[ACTOR_TYPE_SPIKE] MSG_EnemyName_Spike,
|
|
[ACTOR_TYPE_GULPIT] MSG_EnemyName_Gulpit,
|
|
[ACTOR_TYPE_GULPIT_ROCKS] MSG_EnemyName_GulpitRocks,
|
|
[ACTOR_TYPE_WHITE_CLUBBA] MSG_EnemyName_WhiteClubba,
|
|
[ACTOR_TYPE_FROST_PIRANHA] MSG_EnemyName_FrostPiranha,
|
|
[ACTOR_TYPE_SWOOPULA] MSG_EnemyName_Swoopula,
|
|
[ACTOR_TYPE_DUPLIGHOST] MSG_EnemyName_Duplighost,
|
|
[ACTOR_TYPE_GHOST_GOOMBARIO] MSG_EnemyName_GhostGoombario,
|
|
[ACTOR_TYPE_GHOST_KOOPER] MSG_EnemyName_GhostKooper,
|
|
[ACTOR_TYPE_GHOST_BOMBETTE] MSG_EnemyName_GhostBombette,
|
|
[ACTOR_TYPE_GHOST_PARAKARRY] MSG_EnemyName_GhostParakarry,
|
|
[ACTOR_TYPE_GHOST_BOW] MSG_EnemyName_GhostBow,
|
|
[ACTOR_TYPE_GHOST_WATT] MSG_EnemyName_GhostWatt,
|
|
[ACTOR_TYPE_GHOST_SUSHIE] MSG_EnemyName_GhostSushie,
|
|
[ACTOR_TYPE_GHOST_LAKILESTER] MSG_EnemyName_GhostLakilester,
|
|
[ACTOR_TYPE_ALBINO_DINO] MSG_EnemyName_AlbinoDino,
|
|
[ACTOR_TYPE_EMBER] MSG_EnemyName_Ember,
|
|
[ACTOR_TYPE_BONY_BEETLE] MSG_EnemyName_BonyBeetle,
|
|
[ACTOR_TYPE_DRY_BONES] MSG_EnemyName_DryBones,
|
|
[ACTOR_TYPE_DRY_BONES2] MSG_EnemyName_DryBones,
|
|
[ACTOR_TYPE_BOMBSHELL_BLASTER] MSG_EnemyName_BombshellBlaster,
|
|
[ACTOR_TYPE_BOMBSHELL_BILL] MSG_EnemyName_BombshellBill,
|
|
[ACTOR_TYPE_HAMMER_BROS] MSG_EnemyName_HammerBros,
|
|
[ACTOR_TYPE_KOOPATROL] MSG_EnemyName_Koopatrol,
|
|
[ACTOR_TYPE_MAGIKOOPA] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_MAGICLONE] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_FLYING_MAGICLONE] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_RED_MAGIKOOPA] MSG_EnemyName_RedMagikoopa,
|
|
[ACTOR_TYPE_FLYING_RED_MAGIKOOPA] MSG_EnemyName_RedMagikoopa,
|
|
[ACTOR_TYPE_GREEN_MAGIKOOPA] MSG_EnemyName_GreenMagikoopa,
|
|
[ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA] MSG_EnemyName_GreenMagikoopa,
|
|
[ACTOR_TYPE_YELLOW_MAGIKOOPA] MSG_EnemyName_YellowMagikoopa,
|
|
[ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA] MSG_EnemyName_YellowMagikoopa,
|
|
[ACTOR_TYPE_GRAY_MAGIKOOPA] MSG_EnemyName_GrayMagikoopa,
|
|
[ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA] MSG_EnemyName_GrayMagikoopa,
|
|
[ACTOR_TYPE_WHITE_MAGIKOOPA] MSG_EnemyName_WhiteMagikoopa,
|
|
[ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA] MSG_EnemyName_WhiteMagikoopa,
|
|
[ACTOR_TYPE_UNUSED_5B] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_5C] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_5D] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_5E] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_5F] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_60] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_61] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_62] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_63] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_64] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_65] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_66] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_67] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_68] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_69] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_6A] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_MONTY_HOLE] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_6C] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_6D] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_PLAYER] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_GOOMBARIO] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_KOOPER] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_BOMBETTE] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_PARAKARRY] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_BOW] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_WATT] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_SUSHIE] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_LAKILESTER] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_TWINK] MSG_Menus_Party_Twink,
|
|
[ACTOR_TYPE_UNUSED_78] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_UNUSED_79] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_THE_MASTER_1] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_THE_MASTER_2] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_THE_MASTER_3] MSG_EnemyName_TheMaster,
|
|
[ACTOR_TYPE_CHAN] MSG_EnemyName_Chan,
|
|
[ACTOR_TYPE_LEE] MSG_EnemyName_Lee,
|
|
[ACTOR_TYPE_LEE_GOOMBARIO] MSG_Menus_Party_Goombario,
|
|
[ACTOR_TYPE_LEE_KOOPER] MSG_Menus_Party_Kooper,
|
|
[ACTOR_TYPE_LEE_BOMBETTE] MSG_Menus_Party_Bombette,
|
|
[ACTOR_TYPE_LEE_PARAKARRY] MSG_Menus_Party_Parakarry,
|
|
[ACTOR_TYPE_LEE_BOW] MSG_Menus_Party_Bow,
|
|
[ACTOR_TYPE_LEE_WATT] MSG_Menus_Party_Watt,
|
|
[ACTOR_TYPE_LEE_SUSHIE] MSG_Menus_Party_Sushie,
|
|
[ACTOR_TYPE_LEE_LAKILESTER] MSG_Menus_Party_Lakilester,
|
|
[ACTOR_TYPE_KAMMY_KOOPA] MSG_EnemyName_KammyKoopa,
|
|
[ACTOR_TYPE_JR_TROOPA1] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_JR_TROOPA2] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_JR_TROOPA3] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_JR_TROOPA4] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_JR_TROOPA5] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_JR_TROOPA6] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_JR_TROOPA_DUP1] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_JR_TROOPA_DUP2] MSG_EnemyName_JrTroopa,
|
|
[ACTOR_TYPE_BLUE_GOOMBA_BOSS] MSG_EnemyName_BlueGoombaBoss,
|
|
[ACTOR_TYPE_RED_GOOMBA_BOSS] MSG_EnemyName_RedGoombaBoss,
|
|
[ACTOR_TYPE_GOOMBA_KING] MSG_EnemyName_GoombaKing,
|
|
[ACTOR_TYPE_GOOMNUT_TREE] MSG_EnemyName_GoomnutTree,
|
|
[ACTOR_TYPE_GOOMBARIO_TUTOR1] MSG_Menus_Party_Goombario,
|
|
[ACTOR_TYPE_MAGIKOOPA_BOSS] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP1] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP2] MSG_EnemyName_Magikoopa,
|
|
[ACTOR_TYPE_FAKE_BOWSER] MSG_EnemyName_FakeBowser,
|
|
[ACTOR_TYPE_KOOPA_BROS] MSG_EnemyName_KoopaBros,
|
|
[ACTOR_TYPE_GREEN_NINJAKOOPA] MSG_EnemyName_GreenNinjakoopa,
|
|
[ACTOR_TYPE_RED_NINJAKOOPA] MSG_EnemyName_RedNinjakoopa,
|
|
[ACTOR_TYPE_BLACK_NINJAKOOPA] MSG_EnemyName_BlueNinjakoopa,
|
|
[ACTOR_TYPE_YELLOW_NINJAKOOPA] MSG_EnemyName_YellowNinjakoopa,
|
|
[ACTOR_TYPE_ELDSTAR] MSG_Menus_Party_Goombario,
|
|
[ACTOR_TYPE_BUZZAR] MSG_EnemyName_Buzzar,
|
|
[ACTOR_TYPE_TUTANKOOPA] MSG_EnemyName_Tutankoopa,
|
|
[ACTOR_TYPE_CHOMP] MSG_EnemyName_Chomp,
|
|
[ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE] MSG_EnemyName_TubbaBlubba,
|
|
[ACTOR_TYPE_TUBBA_BLUBBA] MSG_EnemyName_TubbaBlubba,
|
|
[ACTOR_TYPE_TUBBA_HEART] MSG_EnemyName_TubbaHeart,
|
|
[ACTOR_TYPE_STILT_GUY] MSG_EnemyName_StiltGuy,
|
|
[ACTOR_TYPE_SHY_STACK] MSG_EnemyName_ShyStack,
|
|
[ACTOR_TYPE_SHY_SQUAD] MSG_EnemyName_ShySquad,
|
|
[ACTOR_TYPE_GENERAL_GUY] MSG_EnemyName_GeneralGuyDup,
|
|
[ACTOR_TYPE_TOY_TANK] MSG_EnemyName_GeneralGuy,
|
|
[ACTOR_TYPE_LIGHT_BULB] MSG_EnemyName_Bulb,
|
|
[ACTOR_TYPE_SIGNAL_GUY] MSG_EnemyName_ShyGuy,
|
|
[ACTOR_TYPE_SHY_SQUAD_DUP] MSG_EnemyName_ShySquadDup,
|
|
[ACTOR_TYPE_SHY_GUY_DUP] MSG_EnemyName_ShyGuy,
|
|
[ACTOR_TYPE_ANTI_GUY_OMO] MSG_EnemyName_AntiGuy,
|
|
[ACTOR_TYPE_ANTI_GUY_KPA] MSG_EnemyName_AntiGuy,
|
|
[ACTOR_TYPE_BIG_LANTERN_GHOST] MSG_EnemyName_BigLanternGhost,
|
|
[ACTOR_TYPE_GOOMBA_KING_DUP] MSG_EnemyName_GoombaKing,
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] MSG_EnemyName_LavaPiranha,
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_2] MSG_EnemyName_LavaPiranha,
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_1] MSG_EnemyName_LavaBud,
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_2] MSG_EnemyName_LavaBud,
|
|
[ACTOR_TYPE_PETIT_PIRANHA] MSG_EnemyName_PetitPiranha,
|
|
[ACTOR_TYPE_PETIT_PIRANHA_BOMB] MSG_EnemyName_LavaPiranha,
|
|
[ACTOR_TYPE_KENT_C_KOOPA] MSG_EnemyName_KentCKoopa,
|
|
[ACTOR_TYPE_HUFF_N_PUFF] MSG_EnemyName_HuffNPuff,
|
|
[ACTOR_TYPE_TUFF_PUFF] MSG_EnemyName_TuffPuff,
|
|
[ACTOR_TYPE_MONSTAR] MSG_EnemyName_Monstar,
|
|
[ACTOR_TYPE_CRYSTAL_KING] MSG_EnemyName_CrystalKing,
|
|
[ACTOR_TYPE_CRYSTAL_CLONE] MSG_EnemyName_CrystalKing,
|
|
[ACTOR_TYPE_CRYSTAL_BIT] MSG_EnemyName_CrystalBit,
|
|
[ACTOR_TYPE_INTRO_BOWSER] MSG_EnemyName_Bowser,
|
|
[ACTOR_TYPE_BOWSER_PHASE_1] MSG_EnemyName_Bowser,
|
|
[ACTOR_TYPE_BOWSER_DUP1] MSG_EnemyName_Bowser,
|
|
[ACTOR_TYPE_BOWSER_PHASE_2] MSG_EnemyName_Bowser,
|
|
[ACTOR_TYPE_BOWSER_DUP2] MSG_EnemyName_Bowser,
|
|
[ACTOR_TYPE_BOWSER_PHASE_3] MSG_EnemyName_Bowser,
|
|
[ACTOR_TYPE_BOWSER_DUP3] MSG_EnemyName_Bowser,
|
|
[ACTOR_TYPE_BLOOPER] MSG_EnemyName_Blooper,
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER1] MSG_EnemyName_ElectroBlooper,
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER2] MSG_EnemyName_ElectroBlooper,
|
|
[ACTOR_TYPE_SUPER_BLOOPER1] MSG_EnemyName_SuperBlooper,
|
|
[ACTOR_TYPE_SUPER_BLOOPER2] MSG_EnemyName_SuperBlooper,
|
|
[ACTOR_TYPE_BLOOPER_BABY] MSG_EnemyName_BlooperBaby,
|
|
[ACTOR_TYPE_LAKILESTER_DUP] MSG_EnemyName_GhostLakilester,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START] MSG_EnemyName_SlotMachineStart,
|
|
[ACTOR_TYPE_SLOT_MACHINE_STOP] MSG_EnemyName_SlotMachineStop,
|
|
[ACTOR_TYPE_WHACKA] MSG_EnemyName_Whacka,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP1] MSG_EnemyName_SlotMachineStart,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP2] MSG_EnemyName_SlotMachineStart,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP3] MSG_EnemyName_SlotMachineStart,
|
|
};
|
|
|
|
// enemy types to ignore when deciding initialEnemyCount
|
|
s32 D_80281454[] = {
|
|
ACTOR_TYPE_UNUSED_78,
|
|
ACTOR_TYPE_GOOMNUT_TREE,
|
|
ACTOR_TYPE_FAKE_BOWSER,
|
|
ACTOR_TYPE_GOOMBA_KING_DUP,
|
|
-1
|
|
};
|
|
|
|
ActorSounds bActorSoundTable[ACTOR_TYPE_COUNT] = {
|
|
[ACTOR_TYPE_RED_GOOMBA] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_RED_PARAGOOMBA] = {
|
|
.walk = { SOUND_20DF, SOUND_20DF },
|
|
.fly = { SOUND_20DF, SOUND_20DF },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GLOOMBA] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PARAGLOOMBA] = {
|
|
.walk = { SOUND_20DF, SOUND_20DF },
|
|
.fly = { SOUND_20DF, SOUND_20DF },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SPIKED_GLOOMBA] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_DARK_KOOPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_DARK_PARATROOPA] = {
|
|
.walk = { SOUND_20DF, SOUND_20DF },
|
|
.fly = { SOUND_20DF, SOUND_20DF },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GOOMBA] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PARAGOOMBA] = {
|
|
.walk = { SOUND_20DF, SOUND_20DF },
|
|
.fly = { SOUND_20DF, SOUND_20DF },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SPIKED_GOOMBA] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FUZZY] = {
|
|
.walk = { SOUND_331, SOUND_331 },
|
|
.fly = { SOUND_331, SOUND_331 },
|
|
.jump = SOUND_331,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_KOOPA_TROOPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PARATROOPA] = {
|
|
.walk = { SOUND_20DF, SOUND_20DF },
|
|
.fly = { SOUND_20DF, SOUND_20DF },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOB_OMB] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOB_OMB_DUP] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BULLET_BILL] = {
|
|
.walk = { SOUND_2C9, SOUND_2C9 },
|
|
.fly = { SOUND_2C9, SOUND_2C9 },
|
|
.jump = SOUND_2C9,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BILL_BLASTER] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_CLEFT] = {
|
|
.walk = { SOUND_20D0, SOUND_20D0 },
|
|
.fly = { SOUND_20D0, SOUND_20D0 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MONTY_MOLE] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BANDIT] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_20C1, SOUND_20C1 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_POKEY] = {
|
|
.walk = { SOUND_343, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_POKEY_MUMMY] = {
|
|
.walk = { SOUND_343, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SWOOPER] = {
|
|
.walk = { SOUND_351, SOUND_351 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BUZZY_BEETLE] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_STONE_CHOMP] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PIRANHA_PLANT] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FOREST_FUZZY] = {
|
|
.walk = { SOUND_331, SOUND_331 },
|
|
.fly = { SOUND_331, SOUND_331 },
|
|
.jump = SOUND_331,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_HYPER_GOOMBA] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_HYPER_PARAGOOMBA] = {
|
|
.walk = { SOUND_20DF, SOUND_20DF },
|
|
.fly = { SOUND_20DF, SOUND_20DF },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_HYPER_CLEFT] = {
|
|
.walk = { SOUND_20D0, SOUND_20D0 },
|
|
.fly = { SOUND_20D0, SOUND_20D0 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_CLUBBA] = {
|
|
.walk = { SOUND_20C4, SOUND_20C4 },
|
|
.fly = { SOUND_20C4, SOUND_20C4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SHY_GUY] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GROOVE_GUY] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SKY_GUY] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MEDI_GUY] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { SOUND_380, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PYRO_GUY] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SPY_GUY] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FUZZIPEDE] = {
|
|
.walk = { SOUND_20D9, SOUND_20D9 },
|
|
.fly = { SOUND_20D9, SOUND_20D9 },
|
|
.jump = SOUND_20D9,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_HURT_PLANT] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_M_BUSH] = {
|
|
.walk = { SOUND_20C6, SOUND_20C6 },
|
|
.fly = { SOUND_20C6, SOUND_20C6 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_AQUA_FUZZY] = {
|
|
.walk = { SOUND_331, SOUND_331 },
|
|
.fly = { SOUND_331, SOUND_331 },
|
|
.jump = SOUND_331,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JUNGLE_FUZZY] = {
|
|
.walk = { SOUND_331, SOUND_331 },
|
|
.fly = { SOUND_331, SOUND_331 },
|
|
.jump = SOUND_331,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SPEAR_GUY] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAVA_BUBBLE] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SPIKE_TOP] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PUTRID_PIRANHA] = {
|
|
.walk = { SOUND_3CE, SOUND_3CE },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAKITU] = {
|
|
.walk = { SOUND_295, SOUND_295 },
|
|
.fly = { SOUND_295, SOUND_295 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { -5, -5 }
|
|
},
|
|
[ACTOR_TYPE_SPINY] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MONTY_MOLE_BOSS] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BZZAP] = {
|
|
.walk = { SOUND_357, NULL },
|
|
.fly = { SOUND_357, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_CRAZEE_DAYZEE] = {
|
|
.walk = { SOUND_2D6, SOUND_2D6 },
|
|
.fly = { SOUND_2D6, SOUND_2D6 },
|
|
.jump = SOUND_2D5,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_AMAZY_DAYZEE] = {
|
|
.walk = { SOUND_2D6, SOUND_2D6 },
|
|
.fly = { SOUND_2D6, SOUND_2D6 },
|
|
.jump = SOUND_2D5,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_RUFF_PUFF] = {
|
|
.walk = { SOUND_295, NULL },
|
|
.fly = { SOUND_295, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SPIKE] = {
|
|
.walk = { SOUND_295, NULL },
|
|
.fly = { SOUND_295, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GULPIT] = {
|
|
.walk = { SOUND_20C4, SOUND_20C4 },
|
|
.fly = { SOUND_20C4, SOUND_20C4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GULPIT_ROCKS] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_WHITE_CLUBBA] = {
|
|
.walk = { SOUND_20C4, SOUND_20C4 },
|
|
.fly = { SOUND_20C4, SOUND_20C4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FROST_PIRANHA] = {
|
|
.walk = { SOUND_3CE, SOUND_3CE },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SWOOPULA] = {
|
|
.walk = { SOUND_351, SOUND_351 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_DUPLIGHOST] = {
|
|
.walk = { SOUND_2CA, SOUND_2CA },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_GOOMBARIO] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_KOOPER] = {
|
|
.walk = { SOUND_100, SOUND_100 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_BOMBETTE] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_PARAKARRY] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_BOW] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_WATT] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_SUSHIE] = {
|
|
.walk = { SOUND_29A, SOUND_29A },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GHOST_LAKILESTER] = {
|
|
.walk = { SOUND_295, SOUND_295 },
|
|
.fly = { SOUND_295, SOUND_295 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { -5, -5 }
|
|
},
|
|
[ACTOR_TYPE_ALBINO_DINO] = {
|
|
.walk = { SOUND_30B, SOUND_2FD },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_EMBER] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BONY_BEETLE] = {
|
|
.walk = { SOUND_20CD, SOUND_20CD },
|
|
.fly = { SOUND_20CD, SOUND_20CD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_DRY_BONES] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_DRY_BONES2] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOMBSHELL_BLASTER] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOMBSHELL_BILL] = {
|
|
.walk = { SOUND_2C9, SOUND_2C9 },
|
|
.fly = { SOUND_2C9, SOUND_2C9 },
|
|
.jump = SOUND_2C9,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_HAMMER_BROS] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_KOOPATROL] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MAGICLONE] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_MAGICLONE] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_RED_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_RED_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GREEN_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_YELLOW_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GRAY_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_WHITE_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_5B] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_5C] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_5D] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_5E] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_5F] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_60] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_61] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_62] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_63] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_64] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_65] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_66] = {
|
|
.walk = { SOUND_295, SOUND_295 },
|
|
.fly = { SOUND_295, SOUND_295 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { -5, -5 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_67] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { SOUND_20DD, SOUND_20DD },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_68] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_69] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_6A] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MONTY_HOLE] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_6C] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_6D] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PLAYER] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GOOMBARIO] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_KOOPER] = {
|
|
.walk = { SOUND_100, SOUND_100 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOMBETTE] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PARAKARRY] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOW] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_WATT] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SUSHIE] = {
|
|
.walk = { SOUND_29A, SOUND_29A },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAKILESTER] = {
|
|
.walk = { SOUND_295, SOUND_295 },
|
|
.fly = { SOUND_295, SOUND_295 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { -5, -5 }
|
|
},
|
|
[ACTOR_TYPE_TWINK] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { -5, -5 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_78] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_UNUSED_79] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_THE_MASTER_1] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_THE_MASTER_2] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_THE_MASTER_3] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_CHAN] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE] = {
|
|
.walk = { SOUND_2CA, SOUND_2CA },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_GOOMBARIO] = {
|
|
.walk = { SOUND_20DD, SOUND_20DD },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_KOOPER] = {
|
|
.walk = { SOUND_100, SOUND_100 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_BOMBETTE] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_PARAKARRY] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_BOW] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_WATT] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_SUSHIE] = {
|
|
.walk = { SOUND_29A, SOUND_29A },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LEE_LAKILESTER] = {
|
|
.walk = { SOUND_295, SOUND_295 },
|
|
.fly = { SOUND_295, SOUND_295 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { -5, -5 }
|
|
},
|
|
[ACTOR_TYPE_KAMMY_KOOPA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA1] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA2] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA3] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA4] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA5] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA6] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA_DUP1] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_JR_TROOPA_DUP2] = {
|
|
.walk = { SOUND_20C1, SOUND_20C1 },
|
|
.fly = { SOUND_351, SOUND_351 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BLUE_GOOMBA_BOSS] = {
|
|
.walk = { SOUND_3AC, SOUND_3AC },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_10F,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_RED_GOOMBA_BOSS] = {
|
|
.walk = { SOUND_3AC, SOUND_3AC },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_10F,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GOOMBA_KING] = {
|
|
.walk = { SOUND_20EC, SOUND_20EC },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 22, 30 }
|
|
},
|
|
[ACTOR_TYPE_GOOMNUT_TREE] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GOOMBARIO_TUTOR1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MAGIKOOPA_BOSS] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_FAKE_BOWSER] = {
|
|
.walk = { SOUND_3EA, SOUND_3EA },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_KOOPA_BROS] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GREEN_NINJAKOOPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_RED_NINJAKOOPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BLACK_NINJAKOOPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_ELDSTAR] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BUZZAR] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { SOUND_20EF, SOUND_20EF },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { -14, -14 }
|
|
},
|
|
[ACTOR_TYPE_TUTANKOOPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { -3, -3 }
|
|
},
|
|
[ACTOR_TYPE_CHOMP] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE] = {
|
|
.walk = { SOUND_20F6, SOUND_20F6 },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_TUBBA_BLUBBA] = {
|
|
.walk = { SOUND_20F6, SOUND_20F6 },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_TUBBA_HEART] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_20C8,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_STILT_GUY] = {
|
|
.walk = { SOUND_2066, SOUND_2066 },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SHY_STACK] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 10, 10 }
|
|
},
|
|
[ACTOR_TYPE_SHY_SQUAD] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GENERAL_GUY] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_TOY_TANK] = {
|
|
.walk = { SOUND_37E, SOUND_37E },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LIGHT_BULB] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SIGNAL_GUY] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SHY_SQUAD_DUP] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SHY_GUY_DUP] = {
|
|
.walk = { SOUND_20BA, SOUND_20BA },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_ANTI_GUY_OMO] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_ANTI_GUY_KPA] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BIG_LANTERN_GHOST] = {
|
|
.walk = { SOUND_37D, SOUND_37D },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_GOOMBA_KING_DUP] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PETIT_PIRANHA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_PETIT_PIRANHA_BOMB] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_KENT_C_KOOPA] = {
|
|
.walk = { SOUND_20EC, SOUND_20EC },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_HUFF_N_PUFF] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { SOUND_3D1, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_TUFF_PUFF] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_MONSTAR] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_CRYSTAL_KING] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_CRYSTAL_CLONE] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_CRYSTAL_BIT] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_INTRO_BOWSER] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_3E7,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOWSER_PHASE_1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_3E7,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOWSER_DUP1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOWSER_PHASE_2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_3E7,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOWSER_DUP2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOWSER_PHASE_3] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = SOUND_3E7,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BOWSER_DUP3] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_BLOOPER] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 25, 25 }
|
|
},
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 25, 25 }
|
|
},
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 25, 25 }
|
|
},
|
|
[ACTOR_TYPE_SUPER_BLOOPER1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 25, 25 }
|
|
},
|
|
[ACTOR_TYPE_SUPER_BLOOPER2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 25, 25 }
|
|
},
|
|
[ACTOR_TYPE_BLOOPER_BABY] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_LAKILESTER_DUP] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SLOT_MACHINE_START] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SLOT_MACHINE_STOP] = {
|
|
.walk = { SOUND_20BA, SOUND_3B4 },
|
|
.fly = { SOUND_20BA, SOUND_3B4 },
|
|
.jump = SOUND_JUMP_3E2,
|
|
.hurt = SOUND_10F,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_WHACKA] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP1] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP2] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP3] = {
|
|
.walk = { NULL, NULL },
|
|
.fly = { NULL, NULL },
|
|
.jump = NULL,
|
|
.hurt = NULL,
|
|
.delay = { 30, 30 }
|
|
},
|
|
};
|
|
|
|
s32 bActorTattles[ACTOR_TYPE_COUNT] = {
|
|
[ACTOR_TYPE_RED_GOOMBA] = NULL,
|
|
[ACTOR_TYPE_RED_PARAGOOMBA] = NULL,
|
|
[ACTOR_TYPE_GLOOMBA] = MSG_EnemyTattle_Gloomba,
|
|
[ACTOR_TYPE_PARAGLOOMBA] = MSG_EnemyTattle_Paragloomba,
|
|
[ACTOR_TYPE_SPIKED_GLOOMBA] = MSG_EnemyTattle_SpikedGloomba,
|
|
[ACTOR_TYPE_DARK_KOOPA] = MSG_EnemyTattle_DarkKoopa,
|
|
[ACTOR_TYPE_DARK_PARATROOPA] = MSG_EnemyTattle_DarkParatroopa,
|
|
[ACTOR_TYPE_GOOMBA] = MSG_EnemyTattle_Goomba,
|
|
[ACTOR_TYPE_PARAGOOMBA] = MSG_EnemyTattle_Paragoomba,
|
|
[ACTOR_TYPE_SPIKED_GOOMBA] = MSG_EnemyTattle_SpikedGoomba,
|
|
[ACTOR_TYPE_FUZZY] = MSG_EnemyTattle_Fuzzy,
|
|
[ACTOR_TYPE_KOOPA_TROOPA] = MSG_EnemyTattle_KoopaTroopa,
|
|
[ACTOR_TYPE_PARATROOPA] = MSG_EnemyTattle_Paratroopa,
|
|
[ACTOR_TYPE_BOB_OMB] = MSG_EnemyTattle_BobOmb,
|
|
[ACTOR_TYPE_BOB_OMB_DUP] = MSG_EnemyTattle_BobOmb,
|
|
[ACTOR_TYPE_BULLET_BILL] = MSG_EnemyTattle_BulletBill,
|
|
[ACTOR_TYPE_BILL_BLASTER] = MSG_EnemyTattle_BillBlaster,
|
|
[ACTOR_TYPE_CLEFT] = MSG_EnemyTattle_Cleft,
|
|
[ACTOR_TYPE_MONTY_MOLE] = MSG_EnemyTattle_MontyMole,
|
|
[ACTOR_TYPE_BANDIT] = MSG_EnemyTattle_Bandit,
|
|
[ACTOR_TYPE_POKEY] = MSG_EnemyTattle_Pokey,
|
|
[ACTOR_TYPE_POKEY_MUMMY] = MSG_EnemyTattle_PokeyMummy,
|
|
[ACTOR_TYPE_SWOOPER] = MSG_EnemyTattle_Swooper,
|
|
[ACTOR_TYPE_BUZZY_BEETLE] = MSG_EnemyTattle_BuzzyBeetle,
|
|
[ACTOR_TYPE_STONE_CHOMP] = MSG_EnemyTattle_StoneChomp,
|
|
[ACTOR_TYPE_PIRANHA_PLANT] = MSG_EnemyTattle_PiranhaPlant,
|
|
[ACTOR_TYPE_FOREST_FUZZY] = MSG_EnemyTattle_ForestFuzzy,
|
|
[ACTOR_TYPE_HYPER_GOOMBA] = MSG_EnemyTattle_HyperGoomba,
|
|
[ACTOR_TYPE_HYPER_PARAGOOMBA] = MSG_EnemyTattle_HyperParagoomba,
|
|
[ACTOR_TYPE_HYPER_CLEFT] = MSG_EnemyTattle_HyperCleft,
|
|
[ACTOR_TYPE_CLUBBA] = MSG_EnemyTattle_Clubba,
|
|
[ACTOR_TYPE_SHY_GUY] = MSG_EnemyTattle_ShyGuy,
|
|
[ACTOR_TYPE_GROOVE_GUY] = MSG_EnemyTattle_GrooveGuy,
|
|
[ACTOR_TYPE_SKY_GUY] = MSG_EnemyTattle_SkyGuy,
|
|
[ACTOR_TYPE_MEDI_GUY] = MSG_EnemyTattle_MediGuy,
|
|
[ACTOR_TYPE_PYRO_GUY] = MSG_EnemyTattle_PyroGuy,
|
|
[ACTOR_TYPE_SPY_GUY] = MSG_EnemyTattle_SpyGuy,
|
|
[ACTOR_TYPE_FUZZIPEDE] = NULL,
|
|
[ACTOR_TYPE_HURT_PLANT] = MSG_EnemyTattle_HurtPlant,
|
|
[ACTOR_TYPE_M_BUSH] = MSG_EnemyTattle_MBush,
|
|
[ACTOR_TYPE_AQUA_FUZZY] = NULL,
|
|
[ACTOR_TYPE_JUNGLE_FUZZY] = MSG_EnemyTattle_JungleFuzzy,
|
|
[ACTOR_TYPE_SPEAR_GUY] = MSG_EnemyTattle_SpearGuy,
|
|
[ACTOR_TYPE_LAVA_BUBBLE] = MSG_EnemyTattle_LavaBubble,
|
|
[ACTOR_TYPE_SPIKE_TOP] = MSG_EnemyTattle_SpikeTop,
|
|
[ACTOR_TYPE_PUTRID_PIRANHA] = MSG_EnemyTattle_PutridPiranha,
|
|
[ACTOR_TYPE_LAKITU] = MSG_EnemyTattle_Lakitu,
|
|
[ACTOR_TYPE_SPINY] = MSG_EnemyTattle_Spiny,
|
|
[ACTOR_TYPE_MONTY_MOLE_BOSS] = MSG_EnemyTattle_MontyMoleBoss,
|
|
[ACTOR_TYPE_BZZAP] = MSG_EnemyTattle_Bzzap,
|
|
[ACTOR_TYPE_CRAZEE_DAYZEE] = MSG_EnemyTattle_CrazeeDayzee,
|
|
[ACTOR_TYPE_AMAZY_DAYZEE] = MSG_EnemyTattle_AmazyDayzee,
|
|
[ACTOR_TYPE_RUFF_PUFF] = MSG_EnemyTattle_RuffPuff,
|
|
[ACTOR_TYPE_SPIKE] = MSG_EnemyTattle_Spike,
|
|
[ACTOR_TYPE_GULPIT] = MSG_EnemyTattle_Gulpit,
|
|
[ACTOR_TYPE_GULPIT_ROCKS] = MSG_EnemyTattle_GulpitRocks,
|
|
[ACTOR_TYPE_WHITE_CLUBBA] = MSG_EnemyTattle_WhiteClubba,
|
|
[ACTOR_TYPE_FROST_PIRANHA] = MSG_EnemyTattle_FrostPiranha,
|
|
[ACTOR_TYPE_SWOOPULA] = MSG_EnemyTattle_Swoopula,
|
|
[ACTOR_TYPE_DUPLIGHOST] = MSG_EnemyTattle_Duplighost,
|
|
[ACTOR_TYPE_GHOST_GOOMBARIO] = MSG_EnemyTattle_GhostGoombario,
|
|
[ACTOR_TYPE_GHOST_KOOPER] = MSG_EnemyTattle_GhostKooper,
|
|
[ACTOR_TYPE_GHOST_BOMBETTE] = MSG_EnemyTattle_GhostBombette,
|
|
[ACTOR_TYPE_GHOST_PARAKARRY] = MSG_EnemyTattle_GhostParakarry,
|
|
[ACTOR_TYPE_GHOST_BOW] = MSG_EnemyTattle_GhostBow,
|
|
[ACTOR_TYPE_GHOST_WATT] = MSG_EnemyTattle_GhostWatt,
|
|
[ACTOR_TYPE_GHOST_SUSHIE] = MSG_EnemyTattle_GhostSushie,
|
|
[ACTOR_TYPE_GHOST_LAKILESTER] = MSG_EnemyTattle_GhostLakilester,
|
|
[ACTOR_TYPE_ALBINO_DINO] = MSG_EnemyTattle_AlbinoDino,
|
|
[ACTOR_TYPE_EMBER] = MSG_EnemyTattle_Ember,
|
|
[ACTOR_TYPE_BONY_BEETLE] = MSG_EnemyTattle_BonyBeetle,
|
|
[ACTOR_TYPE_DRY_BONES] = MSG_EnemyTattle_DryBones,
|
|
[ACTOR_TYPE_DRY_BONES2] = MSG_EnemyTattle_DryBones,
|
|
[ACTOR_TYPE_BOMBSHELL_BLASTER] = MSG_EnemyTattle_BombshellBlaster,
|
|
[ACTOR_TYPE_BOMBSHELL_BILL] = MSG_EnemyTattle_BombshellBill,
|
|
[ACTOR_TYPE_HAMMER_BROS] = MSG_EnemyTattle_HammerBros,
|
|
[ACTOR_TYPE_KOOPATROL] = MSG_EnemyTattle_Koopatrol,
|
|
[ACTOR_TYPE_MAGIKOOPA] = MSG_EnemyTattle_Magikoopa,
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA] = MSG_EnemyTattle_MagikoopaDup,
|
|
[ACTOR_TYPE_MAGICLONE] = MSG_EnemyTattle_Magiclone,
|
|
[ACTOR_TYPE_FLYING_MAGICLONE] = MSG_EnemyTattle_MagicloneDup,
|
|
[ACTOR_TYPE_RED_MAGIKOOPA] = MSG_EnemyTattle_RedMagikoopa,
|
|
[ACTOR_TYPE_FLYING_RED_MAGIKOOPA] = MSG_EnemyTattle_FlyingRedMagikoopa,
|
|
[ACTOR_TYPE_GREEN_MAGIKOOPA] = MSG_EnemyTattle_GreenMagikoopa,
|
|
[ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA] = MSG_EnemyTattle_FlyingGreenMagikoopa,
|
|
[ACTOR_TYPE_YELLOW_MAGIKOOPA] = MSG_EnemyTattle_YellowMagikoopa,
|
|
[ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA] = MSG_EnemyTattle_FlyingYellowMagikoopa,
|
|
[ACTOR_TYPE_GRAY_MAGIKOOPA] = MSG_EnemyTattle_GrayMagikoopa,
|
|
[ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA] = MSG_EnemyTattle_FlyingGrayMagikoopa,
|
|
[ACTOR_TYPE_WHITE_MAGIKOOPA] = MSG_EnemyTattle_FlyingWhiteMagikoopa,
|
|
[ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA] = MSG_EnemyTattle_WhiteMagikoopa,
|
|
[ACTOR_TYPE_UNUSED_5B] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_5C] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_5D] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_5E] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_5F] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_60] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_61] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_62] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_63] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_64] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_65] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_66] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_67] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_68] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_69] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_6A] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_MONTY_HOLE] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_6C] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_6D] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_PLAYER] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_GOOMBARIO] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_KOOPER] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_BOMBETTE] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_PARAKARRY] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_BOW] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_WATT] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_SUSHIE] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_LAKILESTER] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_TWINK] = NULL,
|
|
[ACTOR_TYPE_UNUSED_78] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_UNUSED_79] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_THE_MASTER_1] = MSG_EnemyTattle_TheMaster1,
|
|
[ACTOR_TYPE_THE_MASTER_2] = MSG_EnemyTattle_TheMaster2,
|
|
[ACTOR_TYPE_THE_MASTER_3] = MSG_EnemyTattle_TheMaster3,
|
|
[ACTOR_TYPE_CHAN] = MSG_EnemyTattle_Chan,
|
|
[ACTOR_TYPE_LEE] = MSG_EnemyTattle_Lee,
|
|
[ACTOR_TYPE_LEE_GOOMBARIO] = MSG_EnemyTattle_LeeGoombario,
|
|
[ACTOR_TYPE_LEE_KOOPER] = MSG_EnemyTattle_LeeKooper,
|
|
[ACTOR_TYPE_LEE_BOMBETTE] = MSG_EnemyTattle_LeeBombette,
|
|
[ACTOR_TYPE_LEE_PARAKARRY] = MSG_EnemyTattle_LeeParakarry,
|
|
[ACTOR_TYPE_LEE_BOW] = MSG_EnemyTattle_LeeBow,
|
|
[ACTOR_TYPE_LEE_WATT] = MSG_EnemyTattle_LeeWatt,
|
|
[ACTOR_TYPE_LEE_SUSHIE] = MSG_EnemyTattle_LeeSushie,
|
|
[ACTOR_TYPE_LEE_LAKILESTER] = MSG_EnemyTattle_LeeLakilester,
|
|
[ACTOR_TYPE_KAMMY_KOOPA] = NULL,
|
|
[ACTOR_TYPE_JR_TROOPA1] = NULL,
|
|
[ACTOR_TYPE_JR_TROOPA2] = MSG_EnemyTattle_JrTroopa1,
|
|
[ACTOR_TYPE_JR_TROOPA3] = MSG_EnemyTattle_JrTroopa2,
|
|
[ACTOR_TYPE_JR_TROOPA4] = MSG_EnemyTattle_JrTroopa3,
|
|
[ACTOR_TYPE_JR_TROOPA5] = MSG_EnemyTattle_JrTroopa4,
|
|
[ACTOR_TYPE_JR_TROOPA6] = MSG_EnemyTattle_JrTroopa5,
|
|
[ACTOR_TYPE_JR_TROOPA_DUP1] = MSG_EnemyTattle_JrTroopa5,
|
|
[ACTOR_TYPE_JR_TROOPA_DUP2] = MSG_EnemyTattle_JrTroopa5,
|
|
[ACTOR_TYPE_BLUE_GOOMBA_BOSS] = MSG_EnemyTattle_BlueGoombaBoss,
|
|
[ACTOR_TYPE_RED_GOOMBA_BOSS] = MSG_EnemyTattle_RedGoombaBoss,
|
|
[ACTOR_TYPE_GOOMBA_KING] = MSG_EnemyTattle_GoombaKing,
|
|
[ACTOR_TYPE_GOOMNUT_TREE] = MSG_EnemyTattle_GoomnutTree,
|
|
[ACTOR_TYPE_GOOMBARIO_TUTOR1] = NULL,
|
|
[ACTOR_TYPE_MAGIKOOPA_BOSS] = MSG_EnemyTattle_MagikoopaBoss,
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS] = MSG_EnemyTattle_MagikoopaBossDup,
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP1] = MSG_EnemyTattle_MagikoopaBoss,
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP2] = MSG_EnemyTattle_MagikoopaBossDup,
|
|
[ACTOR_TYPE_FAKE_BOWSER] = MSG_EnemyTattle_FakeBowser,
|
|
[ACTOR_TYPE_KOOPA_BROS] = MSG_EnemyTattle_KoopaBros,
|
|
[ACTOR_TYPE_GREEN_NINJAKOOPA] = MSG_EnemyTattle_GreenNinjakoopa,
|
|
[ACTOR_TYPE_RED_NINJAKOOPA] = MSG_EnemyTattle_RedNinjakoopa,
|
|
[ACTOR_TYPE_BLACK_NINJAKOOPA] = MSG_EnemyTattle_BlueNinjakoopa,
|
|
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = MSG_EnemyTattle_YellowNinjakoopa,
|
|
[ACTOR_TYPE_ELDSTAR] = NULL,
|
|
[ACTOR_TYPE_BUZZAR] = MSG_EnemyTattle_Buzzar,
|
|
[ACTOR_TYPE_TUTANKOOPA] = MSG_EnemyTattle_Tutankoopa,
|
|
[ACTOR_TYPE_CHOMP] = MSG_EnemyTattle_Chomp,
|
|
[ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE] = MSG_EnemyTattle_TubbaBlubba,
|
|
[ACTOR_TYPE_TUBBA_BLUBBA] = MSG_EnemyTattle_TubbaBlubbaInvincible,
|
|
[ACTOR_TYPE_TUBBA_HEART] = MSG_EnemyTattle_TubbaHeart,
|
|
[ACTOR_TYPE_STILT_GUY] = MSG_EnemyTattle_StiltGuy,
|
|
[ACTOR_TYPE_SHY_STACK] = MSG_EnemyTattle_ShyStack,
|
|
[ACTOR_TYPE_SHY_SQUAD] = MSG_EnemyTattle_ShySquad,
|
|
[ACTOR_TYPE_GENERAL_GUY] = NULL,
|
|
[ACTOR_TYPE_TOY_TANK] = MSG_EnemyTattle_GeneralGuy,
|
|
[ACTOR_TYPE_LIGHT_BULB] = NULL,
|
|
[ACTOR_TYPE_SIGNAL_GUY] = MSG_EnemyTattle_ShyGuy,
|
|
[ACTOR_TYPE_SHY_SQUAD_DUP] = NULL,
|
|
[ACTOR_TYPE_SHY_GUY_DUP] = MSG_EnemyTattle_ShyGuy,
|
|
[ACTOR_TYPE_ANTI_GUY_OMO] = MSG_EnemyTattle_AntiGuy,
|
|
[ACTOR_TYPE_ANTI_GUY_KPA] = MSG_EnemyTattle_AntiGuy,
|
|
[ACTOR_TYPE_BIG_LANTERN_GHOST] = MSG_EnemyTattle_BigLanternGhost,
|
|
[ACTOR_TYPE_GOOMBA_KING_DUP] = MSG_EnemyTattle_GoombaKing,
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = MSG_EnemyTattle_LavaPiranhaPhase1,
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_2] = MSG_EnemyTattle_LavaPiranhaPhase2,
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_1] = MSG_EnemyTattle_LavaBudPhase1,
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_2] = MSG_EnemyTattle_LavaBudPhase2,
|
|
[ACTOR_TYPE_PETIT_PIRANHA] = MSG_EnemyTattle_PetitPiranha,
|
|
[ACTOR_TYPE_PETIT_PIRANHA_BOMB] = MSG_EnemyTattle_LavaPiranhaPhase1,
|
|
[ACTOR_TYPE_KENT_C_KOOPA] = MSG_EnemyTattle_KentCKoopa,
|
|
[ACTOR_TYPE_HUFF_N_PUFF] = MSG_EnemyTattle_HuffNPuff,
|
|
[ACTOR_TYPE_TUFF_PUFF] = MSG_EnemyTattle_TuffPuff,
|
|
[ACTOR_TYPE_MONSTAR] = MSG_EnemyTattle_Monstar,
|
|
[ACTOR_TYPE_CRYSTAL_KING] = MSG_EnemyTattle_CrystalKing,
|
|
[ACTOR_TYPE_CRYSTAL_CLONE] = MSG_EnemyTattle_CrystalClone,
|
|
[ACTOR_TYPE_CRYSTAL_BIT] = MSG_EnemyTattle_CrystalBit,
|
|
[ACTOR_TYPE_INTRO_BOWSER] = NULL,
|
|
[ACTOR_TYPE_BOWSER_PHASE_1] = MSG_EnemyTattle_BowserPhase1,
|
|
[ACTOR_TYPE_BOWSER_DUP1] = MSG_EnemyTattle_BowserPhase1,
|
|
[ACTOR_TYPE_BOWSER_PHASE_2] = MSG_EnemyTattle_BowserPhase2,
|
|
[ACTOR_TYPE_BOWSER_DUP2] = MSG_EnemyTattle_BowserPhase2,
|
|
[ACTOR_TYPE_BOWSER_PHASE_3] = MSG_EnemyTattle_BowserPhase3,
|
|
[ACTOR_TYPE_BOWSER_DUP3] = MSG_EnemyTattle_BowserPhase3,
|
|
[ACTOR_TYPE_BLOOPER] = MSG_EnemyTattle_Blooper,
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER1] = MSG_EnemyTattle_ElectroBlooper,
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER2] = MSG_EnemyTattle_ElectroBlooper,
|
|
[ACTOR_TYPE_SUPER_BLOOPER1] = MSG_EnemyTattle_SuperBlooper,
|
|
[ACTOR_TYPE_SUPER_BLOOPER2] = MSG_EnemyTattle_SuperBlooper,
|
|
[ACTOR_TYPE_BLOOPER_BABY] = MSG_EnemyTattle_BlooperBaby,
|
|
[ACTOR_TYPE_LAKILESTER_DUP] = MSG_EnemyTattle_GhostLakilester,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START] = MSG_EnemyTattle_SlotMachineStart,
|
|
[ACTOR_TYPE_SLOT_MACHINE_STOP] = MSG_EnemyTattle_SlotMachineStop,
|
|
[ACTOR_TYPE_WHACKA] = MSG_EnemyTattle_Whacka,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP1] = MSG_EnemyTattle_SlotMachineStart,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP2] = MSG_EnemyTattle_SlotMachineStart,
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP3] = MSG_EnemyTattle_SlotMachineStart,
|
|
};
|
|
|
|
ActorOffsets bActorOffsets[ACTOR_TYPE_COUNT] = {
|
|
[ACTOR_TYPE_RED_GOOMBA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_RED_PARAGOOMBA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GLOOMBA] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PARAGLOOMBA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SPIKED_GLOOMBA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_DARK_KOOPA] = { .tattleCam = { 0, 2, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_DARK_PARATROOPA] = { .tattleCam = { 0, 3, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GOOMBA] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PARAGOOMBA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SPIKED_GOOMBA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FUZZY] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_KOOPA_TROOPA] = { .tattleCam = { 0, 2, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PARATROOPA] = { .tattleCam = { 0, 3, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BOB_OMB] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BOB_OMB_DUP] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BULLET_BILL] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BILL_BLASTER] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CLEFT] = { .tattleCam = { 0, 254, 241 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MONTY_MOLE] = { .tattleCam = { 0, 14, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BANDIT] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_POKEY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_POKEY_MUMMY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SWOOPER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BUZZY_BEETLE] = { .tattleCam = { 0, 10, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_STONE_CHOMP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PIRANHA_PLANT] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FOREST_FUZZY] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_HYPER_GOOMBA] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_HYPER_PARAGOOMBA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_HYPER_CLEFT] = { .tattleCam = { 0, 254, 241 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CLUBBA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SHY_GUY] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GROOVE_GUY] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SKY_GUY] = { .tattleCam = { 0, 15, 23 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MEDI_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PYRO_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SPY_GUY] = { .tattleCam = { 0, 3, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FUZZIPEDE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_HURT_PLANT] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_M_BUSH] = { .tattleCam = { 0, 7, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_AQUA_FUZZY] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JUNGLE_FUZZY] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SPEAR_GUY] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAVA_BUBBLE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SPIKE_TOP] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PUTRID_PIRANHA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAKITU] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SPINY] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MONTY_MOLE_BOSS] = { .tattleCam = { 0, 14, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BZZAP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CRAZEE_DAYZEE] = { .tattleCam = { 0, 2, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_AMAZY_DAYZEE] = { .tattleCam = { 0, 2, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_RUFF_PUFF] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SPIKE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GULPIT] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GULPIT_ROCKS] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_WHITE_CLUBBA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FROST_PIRANHA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SWOOPULA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_DUPLIGHOST] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_GOOMBARIO] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_KOOPER] = { .tattleCam = { 0, 2, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_BOMBETTE] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_PARAKARRY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_BOW] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_WATT] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_SUSHIE] = { .tattleCam = { 0, 8, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GHOST_LAKILESTER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_ALBINO_DINO] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_EMBER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BONY_BEETLE] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_DRY_BONES] = { .tattleCam = { 0, 3, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_DRY_BONES2] = { .tattleCam = { 0, 3, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BOMBSHELL_BLASTER] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BOMBSHELL_BILL] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_HAMMER_BROS] = { .tattleCam = { 0, 2, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_KOOPATROL] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MAGICLONE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_MAGICLONE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_RED_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_RED_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GREEN_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_GREEN_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_YELLOW_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_YELLOW_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GRAY_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_GRAY_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_WHITE_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_WHITE_MAGIKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_5B] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_5C] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_5D] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_5E] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_5F] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_60] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_61] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_62] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_63] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_64] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_65] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_66] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_67] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_68] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_69] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_6A] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MONTY_HOLE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_6C] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_6D] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PLAYER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GOOMBARIO] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_KOOPER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BOMBETTE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PARAKARRY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BOW] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_WATT] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SUSHIE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAKILESTER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_TWINK] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_78] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_UNUSED_79] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_THE_MASTER_1] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_THE_MASTER_2] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_THE_MASTER_3] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CHAN] = { .tattleCam = { 0, 10, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_GOOMBARIO] = { .tattleCam = { 0, 6, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_KOOPER] = { .tattleCam = { 0, 2, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_BOMBETTE] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_PARAKARRY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_BOW] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_WATT] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_SUSHIE] = { .tattleCam = { 0, 8, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LEE_LAKILESTER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_KAMMY_KOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA1] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA2] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA3] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA4] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA5] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA6] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA_DUP1] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_JR_TROOPA_DUP2] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BLUE_GOOMBA_BOSS] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_RED_GOOMBA_BOSS] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GOOMBA_KING] = { .tattleCam = { 0, 6, 10 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GOOMNUT_TREE] = { .tattleCam = { 8, 12, 17 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GOOMBARIO_TUTOR1] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MAGIKOOPA_BOSS] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FLYING_MAGIKOOPA_BOSS] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP1] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MAGIKOOPA_DUP2] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_FAKE_BOWSER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_KOOPA_BROS] = { .tattleCam = { 0, 0, 26 }, .shadow = 26 },
|
|
[ACTOR_TYPE_GREEN_NINJAKOOPA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_RED_NINJAKOOPA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BLACK_NINJAKOOPA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_YELLOW_NINJAKOOPA] = { .tattleCam = { 0, 4, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_ELDSTAR] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BUZZAR] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_TUTANKOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CHOMP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_TUBBA_BLUBBA_INVINCIBLE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_TUBBA_BLUBBA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_TUBBA_HEART] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_STILT_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SHY_STACK] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SHY_SQUAD] = { .tattleCam = { 0, 5, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GENERAL_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_TOY_TANK] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LIGHT_BULB] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SIGNAL_GUY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SHY_SQUAD_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SHY_GUY_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_ANTI_GUY_OMO] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_ANTI_GUY_KPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BIG_LANTERN_GHOST] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_GOOMBA_KING_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_1] = { .tattleCam = { 25, 250, 60 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAVA_PIRANHA_PHASE_2] = { .tattleCam = { 25, 250, 60 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_1] = { .tattleCam = { 0, 233, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAVA_BUD_PHASE_2] = { .tattleCam = { 0, 233, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PETIT_PIRANHA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_PETIT_PIRANHA_BOMB] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_KENT_C_KOOPA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_HUFF_N_PUFF] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_TUFF_PUFF] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_MONSTAR] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CRYSTAL_KING] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CRYSTAL_CLONE] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_CRYSTAL_BIT] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_INTRO_BOWSER] = { .tattleCam = { 0, 0, 0 }, .shadow = 241 },
|
|
[ACTOR_TYPE_BOWSER_PHASE_1] = { .tattleCam = { 0, 0, 0 }, .shadow = 241 },
|
|
[ACTOR_TYPE_BOWSER_DUP1] = { .tattleCam = { 0, 0, 0 }, .shadow = 241 },
|
|
[ACTOR_TYPE_BOWSER_PHASE_2] = { .tattleCam = { 241, 19, 45 }, .shadow = 241 },
|
|
[ACTOR_TYPE_BOWSER_DUP2] = { .tattleCam = { 0, 0, 0 }, .shadow = 241 },
|
|
[ACTOR_TYPE_BOWSER_PHASE_3] = { .tattleCam = { 241, 19, 45 }, .shadow = 241 },
|
|
[ACTOR_TYPE_BOWSER_DUP3] = { .tattleCam = { 0, 0, 0 }, .shadow = 241 },
|
|
[ACTOR_TYPE_BLOOPER] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER1] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_ELECTRO_BLOOPER2] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SUPER_BLOOPER1] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SUPER_BLOOPER2] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_BLOOPER_BABY] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_LAKILESTER_DUP] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SLOT_MACHINE_START] = { .tattleCam = { 0, 226, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SLOT_MACHINE_STOP] = { .tattleCam = { 0, 226, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_WHACKA] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP1] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP2] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
[ACTOR_TYPE_SLOT_MACHINE_START_DUP3] = { .tattleCam = { 0, 0, 0 }, .shadow = 0 },
|
|
};
|
|
|
|
u32 bMarioIdleAnims[] = {
|
|
STATUS_KEY_NORMAL, ANIM_Mario1_Walk,
|
|
STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle,
|
|
STATUS_KEY_STONE, ANIM_MarioB3_Petrified,
|
|
STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep,
|
|
STATUS_KEY_DIZZY, ANIM_MarioB1_Sick,
|
|
STATUS_KEY_STOP, ANIM_Mario1_Still,
|
|
STATUS_KEY_HUSTLE, ANIM_Mario1_Run,
|
|
STATUS_KEY_BERSERK, ANIM_MarioB2_BerserkIdle,
|
|
STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep,
|
|
STATUS_KEY_FROZEN, ANIM_Mario1_Frozen,
|
|
STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle,
|
|
STATUS_KEY_INACTIVE, ANIM_Mario1_Still,
|
|
STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill,
|
|
STATUS_KEY_14, ANIM_MarioB2_Inert,
|
|
STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill,
|
|
STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill,
|
|
STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill,
|
|
STATUS_KEY_THINKING, ANIM_Mario1_Thinking,
|
|
STATUS_KEY_WEARY, ANIM_Mario1_SpinLand,
|
|
STATUS_END
|
|
};
|
|
|
|
s32 bMarioDefendAnims[] = {
|
|
STATUS_KEY_NORMAL, ANIM_Mario1_Crouch,
|
|
STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle,
|
|
STATUS_KEY_STONE, ANIM_MarioB3_Petrified,
|
|
STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep,
|
|
STATUS_KEY_DIZZY, ANIM_MarioB1_Sick,
|
|
STATUS_KEY_STOP, ANIM_Mario1_Still,
|
|
STATUS_KEY_HUSTLE, ANIM_Mario1_Crouch,
|
|
STATUS_KEY_BERSERK, ANIM_Mario1_Crouch,
|
|
STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep,
|
|
STATUS_KEY_FROZEN, ANIM_Mario1_Frozen,
|
|
STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle,
|
|
STATUS_KEY_INACTIVE, ANIM_Mario1_Still,
|
|
STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill,
|
|
STATUS_KEY_14, ANIM_MarioB2_Inert,
|
|
STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill,
|
|
STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill,
|
|
STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill,
|
|
STATUS_KEY_THINKING, ANIM_Mario1_Thinking,
|
|
STATUS_KEY_WEARY, ANIM_Mario1_SpinLand,
|
|
STATUS_END
|
|
};
|
|
|
|
s32 bMarioHideAnims[] = {
|
|
STATUS_KEY_NORMAL, ANIM_Mario1_Crouch,
|
|
STATUS_KEY_DANGER, ANIM_Mario1_TiredIdle,
|
|
STATUS_KEY_STONE, ANIM_MarioB3_Petrified,
|
|
STATUS_KEY_SLEEP, ANIM_MarioB1_Sleep,
|
|
STATUS_KEY_DIZZY, ANIM_MarioB1_Sick,
|
|
STATUS_KEY_STOP, ANIM_Mario1_Still,
|
|
STATUS_KEY_HUSTLE, ANIM_MarioW2_RideLaki,
|
|
STATUS_KEY_BERSERK, ANIM_MarioW2_RideLaki,
|
|
STATUS_KEY_PARALYZE, ANIM_MarioB1_Sleep,
|
|
STATUS_KEY_FROZEN, ANIM_Mario1_Frozen,
|
|
STATUS_KEY_TRANSPARENT, ANIM_Mario1_Idle,
|
|
STATUS_KEY_INACTIVE, ANIM_Mario1_Crouch,
|
|
STATUS_KEY_INACTIVE_BERSERK, ANIM_MarioB2_BerserkStill,
|
|
STATUS_KEY_14, ANIM_MarioB2_Inert,
|
|
STATUS_KEY_INACTIVE_SLEEP, ANIM_MarioB1_SleepStill,
|
|
STATUS_KEY_INACTIVE_DIZZY, ANIM_MarioB1_SickStill,
|
|
STATUS_KEY_INACTIVE_WEARY, ANIM_Mario1_TiredStill,
|
|
STATUS_KEY_THINKING, ANIM_Mario1_Thinking,
|
|
STATUS_KEY_WEARY, ANIM_Mario1_SpinLand,
|
|
STATUS_END
|
|
};
|
|
|
|
s32 bPeachIdleAnims[] = {
|
|
STATUS_KEY_NORMAL, ANIM_Peach1_Walk,
|
|
STATUS_KEY_INACTIVE, ANIM_Peach2_Inert,
|
|
STATUS_END
|
|
};
|
|
|
|
s32 bMarioDefenseTable[] = {
|
|
ELEMENT_NORMAL, 0,
|
|
ELEMENT_END
|
|
};
|
|
|
|
s32 bPlayerStatusTable[] = {
|
|
STATUS_KEY_NORMAL, 100,
|
|
STATUS_KEY_DEFAULT, 100,
|
|
STATUS_KEY_SLEEP, 100,
|
|
STATUS_KEY_POISON, 100,
|
|
STATUS_KEY_FROZEN, 100,
|
|
STATUS_KEY_DIZZY, 100,
|
|
STATUS_KEY_FEAR, 100,
|
|
STATUS_KEY_STATIC, 100,
|
|
STATUS_KEY_PARALYZE, 100,
|
|
STATUS_KEY_SHRINK, 100,
|
|
STATUS_KEY_STOP, 100,
|
|
STATUS_TURN_MOD_DEFAULT, 0,
|
|
STATUS_TURN_MOD_SLEEP, 0,
|
|
STATUS_TURN_MOD_POISON, 0,
|
|
STATUS_TURN_MOD_FROZEN, 0,
|
|
STATUS_TURN_MOD_DIZZY, 0,
|
|
STATUS_TURN_MOD_FEAR, 0,
|
|
STATUS_TURN_MOD_STATIC, 0,
|
|
STATUS_TURN_MOD_PARALYZE, 0,
|
|
STATUS_TURN_MOD_SHRINK, 0,
|
|
STATUS_TURN_MOD_STOP, 0,
|
|
STATUS_END
|
|
};
|
|
|
|
ActorBlueprint bPlayerActorBlueprint = {
|
|
.type = ACTOR_TYPE_PLAYER,
|
|
.maxHP = 99,
|
|
.statusTable = bPlayerStatusTable,
|
|
|
|
.escapeChance = 0,
|
|
.airLiftChance = 0,
|
|
.hurricaneChance = 0,
|
|
.spookChance = 0,
|
|
.upAndAwayChance = 0,
|
|
.spinSmashReq = 4,
|
|
.powerBounceChance = 80,
|
|
|
|
.size = { 33, 43 },
|
|
.healthBarOffset = { 0, 0 },
|
|
.statusIconOffset = { -10, 30 },
|
|
.statusTextOffset = { 10, 30 },
|
|
};
|
|
|
|
ActorPartBlueprint bMarioParts[] = {
|
|
{
|
|
.index = 1,
|
|
.posOffset = { 0, 0, 0 },
|
|
.targetOffset = { 0, 32 },
|
|
.opacity = 255,
|
|
.idleAnimations = bMarioIdleAnims,
|
|
.defenseTable = bMarioDefenseTable,
|
|
},
|
|
};
|
|
|
|
Vec3s btl_actorHomePositions[] = {
|
|
[BTL_POS_GROUND_A] { 5, 0, -20 },
|
|
[BTL_POS_GROUND_B] { 45, 0, -5 },
|
|
[BTL_POS_GROUND_C] { 85, 0, 10 },
|
|
[BTL_POS_GROUND_D] { 125, 0, 25 },
|
|
[BTL_POS_AIR_A] { 10, 50, -20 },
|
|
[BTL_POS_AIR_B] { 50, 45, -5 },
|
|
[BTL_POS_AIR_C] { 90, 50, 10 },
|
|
[BTL_POS_AIR_D] { 130, 55, 25 },
|
|
[BTL_POS_HIGH_A] { 15, 85, -20 },
|
|
[BTL_POS_HIGH_B] { 55, 80, -5 },
|
|
[BTL_POS_HIGH_C] { 95, 85, 10 },
|
|
[BTL_POS_HIGH_D] { 135, 90, 25 },
|
|
[BTL_POS_TOP_A] { 15, 125, -20 },
|
|
[BTL_POS_TOP_B] { 55, 120, -5 },
|
|
[BTL_POS_TOP_C] { 95, 125, 10 },
|
|
[BTL_POS_TOP_D] { 135, 130, 25 },
|
|
[BTL_POS_CENTER] { 105, 0, 0 },
|
|
};
|
|
|
|
// TODO: what is this, and look into warnings that are silenced via casts
|
|
s32* D_8028358C[] = {
|
|
(s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1, (s32*)-1,
|
|
(s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C, (s32*)D_8028358C,
|
|
(s32*)D_8028358C, (s32*)D_8028358C, 0
|
|
};
|
|
|
|
s16 bMsgHeights[] = { 28, 40 }; // keyed by number of lines in the message (1 or 2)
|
|
s16 D_802835D4[] = { 0, -2 };
|
|
s16 D_802835D8[] = { 0, -12 };
|
|
|
|
//TODO Vec3f[]
|
|
f32 D_802835DC[] = {
|
|
0.0f, 4.5f, 0.0f,
|
|
1.0f, 4.0f, 0.0f,
|
|
2.0f, 3.0f, 0.0f,
|
|
3.0f, 2.0f, 0.0f,
|
|
3.5f, 1.0f, 0.0f,
|
|
4.0f, 0.0f, 0.0f,
|
|
4.5f, 0.0f, 0.0f,
|
|
5.0f, 0.0f, 0.0f,
|
|
4.5f, 0.0f, 0.0f,
|
|
4.0f, 0.0f, 0.0f,
|
|
3.5f, -1.0f, 0.0f,
|
|
3.0f, -2.0f, 0.0f,
|
|
2.0f, -3.0f, 0.0f,
|
|
1.0f, -4.0f, 0.0f,
|
|
0.0f, -4.5f, 0.0f,
|
|
};
|
|
|
|
Vec3f D_80283690[] = {
|
|
{ 1.0f, 1.0f, 1.0f },
|
|
{ 0.8f, 0.8f, 0.8f },
|
|
{ 0.9f, 0.9f, 0.9f },
|
|
{ 1.1f, 1.1f, 1.1f },
|
|
{ 1.0f, 1.0f, 1.0f },
|
|
{ 0.8f, 0.8f, 0.8f },
|
|
{ 0.9f, 0.9f, 0.9f },
|
|
{ 1.1f, 1.1f, 1.1f },
|
|
{ 1.0f, 1.0f, 1.0f },
|
|
{ 0.8f, 0.8f, 0.8f },
|
|
{ 0.9f, 0.9f, 0.9f },
|
|
{ 1.1f, 1.1f, 1.1f },
|
|
{ 1.0f, 1.0f, 1.0f },
|
|
{ 0.8f, 0.8f, 0.8f },
|
|
{ 0.9f, 0.9f, 0.9f },
|
|
};
|
|
|
|
extern EntityModelScript EMS_BonkIcon;
|
|
EntityModelScript* bBonkModelScripts[] = {
|
|
NULL,
|
|
&EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon,
|
|
&EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon, &EMS_BonkIcon,
|
|
};
|
|
|
|
s32 bMessages[] = {
|
|
[BTL_MSG_MERLEE_ATK_UP] MSG_Menus_Merlee_IncreaseAttack,
|
|
[BTL_MSG_MERLEE_DEF_UP] MSG_Menus_Merlee_DecreaseDamage,
|
|
[BTL_MSG_MERLEE_EXP_UP] MSG_Menus_Merlee_IncreaseStarPoints,
|
|
[BTL_MSG_MERLEE_DONE] MSG_Menus_Merlee_Exhausted,
|
|
[BTL_MSG_CHARGE_HAMMER] MSG_Menus_ChargeHammer,
|
|
[BTL_MSG_CHARGE_HAMMER_MORE] MSG_Menus_ChargeHammerMore,
|
|
[BTL_MSG_CHARGE_JUMP] MSG_Menus_ChargeJump,
|
|
[BTL_MSG_CHARGE_JUMP_MORE] MSG_Menus_ChargeJumpMore,
|
|
[BTL_MSG_CANT_CHARGE] MSG_Menus_ChargeMaxedOut,
|
|
[BTL_MSG_ENEMY_MISSED] MSG_Menus_EnemyMissed,
|
|
|
|
// player status effects
|
|
[BTL_MSG_PLAYER_DAZED] MSG_Menus_PlayerDazed,
|
|
[BTL_MSG_PLAYER_ASLEEP] MSG_Menus_PlayerAsleep,
|
|
[BTL_MSG_PLAYER_FROZEN] MSG_Menus_PlayerFrozen,
|
|
[BTL_MSG_PLAYER_POISONED] MSG_Menus_PlayerPoisoned,
|
|
[BTL_MSG_PLAYER_SHRUNK] MSG_Menus_PlayerShrunk,
|
|
[BTL_MSG_PLAYER_PARALYZED] MSG_Menus_PlayerParalyzed,
|
|
[BTL_MSG_PLAYER_CHARGED] MSG_Menus_PlayerElectricCharge,
|
|
[BTL_MSG_PLAYER_TRANSPARENT] MSG_Menus_PlayerTransparent,
|
|
|
|
// enemy status effects
|
|
[BTL_MSG_ENEMY_DAZED] MSG_Menus_EnemyDazed,
|
|
[BTL_MSG_ENEMY_ASLEEP] MSG_Menus_EnemyAsleep,
|
|
[BTL_MSG_ENEMY_FROZEN] MSG_Menus_EnemyFrozen,
|
|
[BTL_MSG_ENEMY_POISONED] MSG_Menus_EnemyPoisoned,
|
|
[BTL_MSG_ENEMY_SHRUNK] MSG_Menus_EnemyShrunk,
|
|
[BTL_MSG_ENEMY_PARALYZED] MSG_Menus_EnemyParalyzed,
|
|
[BTL_MSG_ENEMY_ELECTRIFIED] MSG_Menus_EnemyElectrified,
|
|
[BTL_MSG_ENEMY_CANT_MOVE] MSG_Menus_EnemyCantMove,
|
|
|
|
[BTL_MSG_STAR_POWER_RECHARGED] MSG_Menus_StarEnergyRecharged,
|
|
[BTL_MSG_STAR_POWER_MAXED] MSG_Menus_StarEnergyMaxedOut,
|
|
[BTL_MSG_STAR_POWER_FILLED] MSG_Menus_StarEnergyFilled,
|
|
[BTL_MSG_ATTACK_UP] MSG_Menus_AttackUp,
|
|
[BTL_MSG_DEFENCE_UP] MSG_Menus_DefenseUp,
|
|
[BTL_MSG_1F] MSG_Menus_0084,
|
|
[BTL_MSG_20] MSG_Menus_0085,
|
|
|
|
[BTL_MSG_ENEMY_TRANSPARENT] MSG_Menus_EnemyTransparent,
|
|
[BTL_MSG_ENEMY_CHARGED] MSG_Menus_EnemyElectricCharge,
|
|
[BTL_MSG_PARTNER_INJURED] MSG_Menus_PartnerInjured,
|
|
[BTL_MSG_CHARGE_GOOMBARIO] MSG_Menus_ChargeGoombario,
|
|
[BTL_MSG_CHARGE_GOOMBARIO_MORE] MSG_Menus_ChargeGoombarioMore,
|
|
[BTL_MSG_WATER_BLOCK_BEGIN] MSG_Menus_WaterBlockBegin,
|
|
[BTL_MSG_WATER_BLOCK_END] MSG_Menus_WaterBlockEnd,
|
|
[BTL_MSG_CLOUD_NINE_BEGIN] MSG_Menus_CloudNineBegin,
|
|
[BTL_MSG_CLOUD_NINE_END] MSG_Menus_CloudNineEnd,
|
|
[BTL_MSG_TURBO_CHARGE_BEGIN] MSG_Menus_TurboChargeBegin,
|
|
[BTL_MSG_TURBO_CHARGE_END] MSG_Menus_TurboChargeEnd,
|
|
[BTL_MSG_CHILL_OUT_BEGIN] MSG_Menus_ChillOutBegin,
|
|
[BTL_MSG_UNUSED_CLOUD_NINE] MSG_Menus_CloudNineBegin,
|
|
|
|
// move action command tips
|
|
[BTL_MSG_ACTION_TIP_00] MSG_Menus_MoveTip_PressBeforeLanding,
|
|
[BTL_MSG_ACTION_TIP_01] MSG_Menus_MoveTip_PushLeftWithTiming,
|
|
[BTL_MSG_ACTION_TIP_02] MSG_Menus_MoveTip_PressBeforeStriking,
|
|
[BTL_MSG_ACTION_TIP_03] MSG_Menus_MoveTip_PressRepeatedly,
|
|
[BTL_MSG_ACTION_TIP_04] MSG_Menus_MoveTip_PushLeftRepeatedly,
|
|
[BTL_MSG_ACTION_TIP_05] MSG_Menus_MoveTip_PushLeftToAim,
|
|
[BTL_MSG_ACTION_TIP_06] MSG_Menus_MoveTip_PressBeforeLanding,
|
|
[BTL_MSG_ACTION_TIP_07] MSG_Menus_MoveTip_PressBeforeLanding,
|
|
[BTL_MSG_ACTION_TIP_08] MSG_Menus_MoveTip_PressAsShown,
|
|
[BTL_MSG_ACTION_TIP_09] MSG_Menus_MoveTip_NOT_USED_1,
|
|
[BTL_MSG_ACTION_TIP_0A] MSG_Menus_MoveTip_PressAsLightsUp,
|
|
[BTL_MSG_ACTION_TIP_0B] MSG_Menus_MoveTip_NOT_USED_2,
|
|
[BTL_MSG_ACTION_TIP_0C] MSG_Menus_MoveTip_PressBothRepeatedly,
|
|
[BTL_MSG_ACTION_TIP_0D] MSG_Menus_MoveTip_PressBeforeLanding,
|
|
[BTL_MSG_ACTION_TIP_0E] MSG_Menus_MoveTip_HoldThenTap,
|
|
[BTL_MSG_ACTION_TIP_0F] MSG_Menus_MoveTip_HoldThenRelease,
|
|
[BTL_MSG_ACTION_TIP_10] MSG_Menus_MoveTip_MoveToAim,
|
|
[BTL_MSG_ACTION_TIP_11] MSG_Menus_MoveTip_PressBeforeLanding,
|
|
[BTL_MSG_ACTION_TIP_12] MSG_Menus_MoveTip_PressToRunAway,
|
|
[BTL_MSG_ACTION_TIP_13] MSG_Menus_MoveTip_PressToReduceDamage,
|
|
[BTL_MSG_ACTION_TIP_14] MSG_Menus_MoveTip_NOT_USED_3,
|
|
|
|
// no targets available
|
|
[BTL_MSG_NO_JUMP_TARGET] MSG_Menus_Battle_NoTarget_Jump,
|
|
[BTL_MSG_NO_HAMMER_TARGET] MSG_Menus_Battle_NoTarget_Hammer,
|
|
[BTL_MSG_NO_ITEM_TARGET] MSG_Menus_Battle_NoTarget_Item,
|
|
[BTL_MSG_46] MSG_NONE,
|
|
[BTL_MSG_47] MSG_NONE,
|
|
|
|
// errors and warnings
|
|
[BTL_MSG_CANT_SELECT_NOW] MSG_Menus_Battle_CantSelectNow,
|
|
[BTL_MSG_HAMMER_DISABLED_1] MSG_Menus_Battle_CantUseHammer,
|
|
[BTL_MSG_HAMMER_DISABLED_2] MSG_Menus_Battle_CantUseHammer,
|
|
[BTL_MSG_HAMMER_DISABLED_3] MSG_Menus_Battle_CantUseHammer,
|
|
[BTL_MSG_JUMP_DISABLED_1] MSG_Menus_Battle_CantUseJump,
|
|
[BTL_MSG_JUMP_DISABLED_2] MSG_Menus_Battle_CantUseJump,
|
|
[BTL_MSG_JUMP_DISABLED_3] MSG_Menus_Battle_CantUseJump,
|
|
[BTL_MSG_ITEMS_DISABLED] MSG_Menus_Battle_CantUseItems,
|
|
[BTL_MSG_CANT_SWITCH] MSG_Menus_Battle_CantSwitch,
|
|
[BTL_MSG_CANT_MOVE] MSG_Menus_Battle_CantMove,
|
|
[BTL_MSG_CANT_SWITCH_UNUSED] MSG_Menus_Battle_CantSwitch,
|
|
[BTL_MSG_CANT_MOVE_UNUSED] MSG_Menus_Battle_CantMove,
|
|
[BTL_MSG_CANT_SELECT_NOW_ALT] MSG_Menus_Battle_CantSelectNow,
|
|
};
|
|
|
|
s32 bActorMessages[] = {
|
|
MSG_Menus_Party_Mario,
|
|
MSG_Menus_Party_Goombario,
|
|
MSG_Menus_Party_Kooper,
|
|
MSG_Menus_Party_Bombette,
|
|
MSG_Menus_Party_Parakarry,
|
|
MSG_Menus_Party_Goompa,
|
|
MSG_Menus_Party_Watt,
|
|
MSG_Menus_Party_Sushie,
|
|
MSG_Menus_Party_Lakilester,
|
|
MSG_Menus_Party_Bow,
|
|
MSG_Menus_Party_Goombaria,
|
|
MSG_Menus_Party_Twink,
|
|
MSG_Menus_Party_Peach
|
|
};
|
|
|
|
PopupMessage* bPopupMessage = NULL;
|
|
|
|
s32 D_802838FC_padding = 0;
|
|
|
|
//TODO split files
|
|
|
|
#include "ui/battle/cursor_hand.png.inc.c"
|
|
#include "ui/battle/cursor_hand.pal.inc.c"
|
|
|
|
Vtx BtlCursorModelVtx[] = {
|
|
{{{ -22, -6, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}},
|
|
{{{ 9, -6, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}},
|
|
{{{ 9, 25, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}},
|
|
{{{ -22, 25, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}},
|
|
};
|
|
|
|
Gfx BtlCursorModelGfx[] = {
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
|
gsDPPipeSync(),
|
|
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
|
gsDPSetTexturePersp(G_TP_PERSP),
|
|
gsDPSetTextureDetail(G_TD_CLAMP),
|
|
gsDPSetTextureLOD(G_TL_TILE),
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
gsDPSetTextureFilter(G_TF_AVERAGE),
|
|
gsDPSetTextureConvert(G_TC_FILT),
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
gsDPLoadTLUT_pal16(0, ui_battle_cursor_hand_pal),
|
|
gsDPLoadTextureTile_4b(ui_battle_cursor_hand_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPClearGeometryMode(G_LIGHTING),
|
|
gsSPClearGeometryMode(G_SHADING_SMOOTH),
|
|
gsSPVertex(BtlCursorModelVtx, 4, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
EntityModelScript EMS_CursorIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlCursorModelGfx, RENDER_MODE_ALPHATEST);
|
|
|
|
Vtx BtlBonkModelVtx[] = {
|
|
{{{ -16, -16, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}},
|
|
{{{ 15, -16, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}},
|
|
{{{ 15, 15, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}},
|
|
{{{ -16, 15, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}},
|
|
};
|
|
|
|
Gfx BtlBonkModelGfx[] = {
|
|
gsDPPipeSync(),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
|
gsDPSetCombineMode(PM_CC_01, PM_CC_02),
|
|
gsDPSetTexturePersp(G_TP_PERSP),
|
|
gsDPSetTextureDetail(G_TD_CLAMP),
|
|
gsDPSetTextureLOD(G_TL_TILE),
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
gsDPSetTextureFilter(G_TF_AVERAGE),
|
|
gsDPSetTextureConvert(G_TC_FILT),
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
gsDPLoadTLUT_pal16(0, ui_battle_menu_spirits_pal),
|
|
gsDPLoadTextureTile_4b(ui_battle_menu_spirits_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPClearGeometryMode(G_LIGHTING),
|
|
gsSPClearGeometryMode(G_SHADING_SMOOTH),
|
|
gsSPVertex(BtlBonkModelVtx, 4, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsDPPipeSync(),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
EntityModelScript EMS_BonkIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlBonkModelGfx, RENDER_MODE_2D);
|
|
|
|
Vtx BtlStarModelVtx[] = {
|
|
{{{ -16, -16, 0 }, 0, { 0, 1024 }, { 0, 0, 0, 255 }}},
|
|
{{{ 15, -16, 0 }, 0, { 1024, 1024 }, { 0, 0, 0, 255 }}},
|
|
{{{ 15, 15, 0 }, 0, { 1024, 0 }, { 0, 0, 0, 255 }}},
|
|
{{{ -16, 15, 0 }, 0, { 0, 0 }, { 0, 0, 0, 255 }}},
|
|
};
|
|
|
|
Gfx BtlStarModelGfx[] = {
|
|
gsDPPipeSync(),
|
|
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
|
|
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
|
gsDPSetTexturePersp(G_TP_PERSP),
|
|
gsDPSetTextureDetail(G_TD_CLAMP),
|
|
gsDPSetTextureLOD(G_TL_TILE),
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
gsDPSetTextureFilter(G_TF_AVERAGE),
|
|
gsDPSetTextureConvert(G_TC_FILT),
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
gsDPLoadTLUT_pal16(0, ui_battle_solid_star_pal),
|
|
gsDPLoadTextureTile_4b(ui_battle_solid_star_png, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
gsSPClearGeometryMode(G_LIGHTING),
|
|
gsSPClearGeometryMode(G_SHADING_SMOOTH),
|
|
gsSPVertex(BtlStarModelVtx, 4, 0),
|
|
gsSP1Triangle(0, 1, 2, 0),
|
|
gsSP1Triangle(0, 2, 3, 0),
|
|
gsDPPipeSync(),
|
|
gsSPEndDisplayList(),
|
|
};
|
|
|
|
EntityModelScript EMS_StarIcon = STANDARD_ENTITY_MODEL_SCRIPT(BtlStarModelGfx, RENDER_MODE_ALPHATEST);
|
|
|
|
s32 D_80283F04_padding = 0;
|
|
s32 D_80283F08_padding = 0;
|
|
s32 D_80283F0C_padding = 0;
|
|
|
|
#define BATTLE_PARTNER_ENTRY(name, Y) \
|
|
{ \
|
|
(u32)battle_partner_##name##_ROM_START, \
|
|
(u32)battle_partner_##name##_ROM_END, \
|
|
battle_partner_##name##_VRAM, \
|
|
&battle_partner_##name, \
|
|
Y \
|
|
}
|
|
|
|
PartnerDMAData bPartnerDmaTable[] = {
|
|
{},
|
|
BATTLE_PARTNER_ENTRY(goombario, 0),
|
|
BATTLE_PARTNER_ENTRY(kooper, 0),
|
|
BATTLE_PARTNER_ENTRY(bombette, 0),
|
|
BATTLE_PARTNER_ENTRY(parakarry, 30),
|
|
BATTLE_PARTNER_ENTRY(goompa, 0),
|
|
BATTLE_PARTNER_ENTRY(watt, 20),
|
|
BATTLE_PARTNER_ENTRY(sushie, 0),
|
|
BATTLE_PARTNER_ENTRY(lakilester, 10),
|
|
BATTLE_PARTNER_ENTRY(bow, 20),
|
|
{},
|
|
BATTLE_PARTNER_ENTRY(twink, 30),
|
|
};
|
|
|
|
// BSS
|
|
BSS PopupMessage popupMessages[32];
|
|
BSS s16 D_8029F640;
|
|
BSS s16 D_8029F642;
|
|
BSS s16 D_8029F644;
|
|
BSS s16 D_8029F646;
|
|
BSS s16 D_8029F648;
|
|
BSS s16 D_8029F64A;
|
|
BSS s16 D_8029F64C;
|
|
BSS s16 D_8029F64E;
|
|
BSS s16 D_8029F650;
|
|
|
|
extern HudScript HES_AimReticle;
|
|
extern HudScript HES_AimTarget;
|
|
extern HudScript HES_CDownButton;
|
|
extern HudScript HES_CLeftButton;
|
|
extern HudScript HES_CRightButton;
|
|
extern HudScript HES_CUpButton;
|
|
extern HudScript HES_Item_Boots1;
|
|
extern HudScript HES_Item_Boots2;
|
|
extern HudScript HES_Item_Boots3;
|
|
extern HudScript HES_Item_Hammer1;
|
|
extern HudScript HES_Item_Hammer2;
|
|
extern HudScript HES_Item_Hammer3;
|
|
extern HudScript HES_Item_Items;
|
|
extern HudScript HES_MashBButton2;
|
|
extern HudScript HES_MashCDownButton1;
|
|
extern HudScript HES_MashCLeftButton;
|
|
extern HudScript HES_MashCRightButton1;
|
|
extern HudScript HES_MashCUpButton;
|
|
extern HudScript HES_RotateStickCW;
|
|
extern HudScript HES_StickBackAndForth;
|
|
extern HudScript HES_StickTapLeft;
|
|
extern HudScript HES_StickTapRight;
|
|
extern HudScript HES_TimingBlink;
|
|
|
|
void btl_bonk_update(void* data);
|
|
void btl_bonk_render(void* data);
|
|
void btl_bonk_setup_gfx(void* data);
|
|
void btl_update_message_popup(void* popup);
|
|
void btl_show_message_popup(void* popup);
|
|
|
|
void btl_popup_messages_init(void) {
|
|
s32 i;
|
|
|
|
for (i = 0; i < ARRAY_COUNT(popupMessages); i++) {
|
|
PopupMessage* popup = &popupMessages[i];
|
|
popup->active = FALSE;
|
|
popup->message = NULL;
|
|
}
|
|
}
|
|
|
|
void btl_popup_messages_delete(void) {
|
|
s32 i;
|
|
|
|
for (i = 0; i < ARRAY_COUNT(popupMessages); i++) {
|
|
PopupMessage* popup = &popupMessages[i];
|
|
if (popup->message != NULL) {
|
|
heap_free(popup->message);
|
|
popup->message = NULL;
|
|
}
|
|
popup->active = FALSE;
|
|
}
|
|
}
|
|
|
|
void btl_popup_messages_update(void) {
|
|
s32 i;
|
|
|
|
for (i = 0; i < ARRAY_COUNT(popupMessages); i++) {
|
|
PopupMessage* popup = &popupMessages[i];
|
|
if (popup->active && popup->updateFunc != NULL) {
|
|
popup->updateFunc(popup);
|
|
}
|
|
}
|
|
}
|
|
|
|
void btl_popup_messages_draw_world_geometry(void) {
|
|
s32 i;
|
|
|
|
for (i = 0; i < ARRAY_COUNT(popupMessages); i++) {
|
|
PopupMessage* popup = &popupMessages[i];
|
|
if (popup->active && popup->renderWorldFunc != NULL) {
|
|
popup->renderWorldFunc(popup);
|
|
}
|
|
}
|
|
}
|
|
|
|
void btl_popup_messages_draw_ui(void) {
|
|
s32 i;
|
|
|
|
for (i = 0; i < ARRAY_COUNT(popupMessages); i++) {
|
|
PopupMessage* popup = &popupMessages[i];
|
|
if (popup->active && popup->renderUIFunc != NULL) {
|
|
popup->renderUIFunc(popup);
|
|
}
|
|
}
|
|
}
|
|
|
|
PopupMessage* btl_create_popup(void) {
|
|
s32 i;
|
|
|
|
for (i = 0; i < ARRAY_COUNT(popupMessages); i++) {
|
|
PopupMessage* popup = &popupMessages[i];
|
|
if (!popup->active) {
|
|
popup->active = TRUE;
|
|
return popup;
|
|
}
|
|
}
|
|
|
|
return NULL;
|
|
}
|
|
|
|
void free_popup(PopupMessage* popup) {
|
|
if (popup->message != NULL) {
|
|
heap_free(popup->message);
|
|
popup->message = NULL;
|
|
}
|
|
popup->active = FALSE;
|
|
}
|
|
|
|
void show_immune_bonk(f32 x, f32 y, f32 z, s32 numStars, s32 arg4, s32 arg5) {
|
|
BattleStatus* battleStatus = &gBattleStatus;
|
|
PopupMessage* popup;
|
|
Message* message;
|
|
EntityModelScript** modelScript;
|
|
f32 var_f20;
|
|
f32 baseScale;
|
|
f32* f1;
|
|
f32* f2;
|
|
f32* f3;
|
|
s32 arg5mod8;
|
|
s32 iMod8;
|
|
s32 sign;
|
|
s32 cond;
|
|
s32 one;
|
|
s32 two;
|
|
s32 i;
|
|
|
|
baseScale = 1.0f;
|
|
cond = FALSE;
|
|
var_f20 = 1.0f;
|
|
if (numStars < 1) {
|
|
numStars = 1;
|
|
cond = TRUE;
|
|
baseScale = 0.4f;
|
|
var_f20 = 0.7f;
|
|
}
|
|
|
|
if (battleStatus->flags1 & (BS_FLAGS1_200 | BS_FLAGS1_40)) {
|
|
baseScale *= 2.0;
|
|
}
|
|
|
|
popup = btl_create_popup();
|
|
if (popup != NULL) {
|
|
sign = 1;
|
|
if (arg5 < 0) {
|
|
arg5 = -arg5;
|
|
sign = -1;
|
|
}
|
|
|
|
while (TRUE) {
|
|
if (arg5 > 5) {
|
|
arg5 -= 5;
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
|
|
battleStatus->unk_90 = 0;
|
|
popup->updateFunc = btl_bonk_update;
|
|
popup->renderWorldFunc = btl_bonk_render;
|
|
popup->unk_00 = 0;
|
|
popup->renderUIFunc = NULL;
|
|
popup->messageIndex = 1;
|
|
popup->active |= 0x10;
|
|
message = popup->message = heap_malloc(numStars * sizeof(*popup->message));
|
|
ASSERT (popup->message != NULL);
|
|
|
|
for (i = 0; i < numStars; i++, message++) {
|
|
modelScript = &bBonkModelScripts[numStars];
|
|
message->unk_00 = TRUE;
|
|
message->entityModelIndex = load_entity_model(*modelScript);
|
|
set_entity_model_flags(message->entityModelIndex, ENTITY_MODEL_FLAG_HIDDEN);
|
|
bind_entity_model_setupGfx(message->entityModelIndex, message, btl_bonk_setup_gfx);
|
|
message->pos.x = x;
|
|
message->pos.y = y;
|
|
message->pos.z = z;
|
|
arg5mod8 = arg5 % 8;
|
|
arg5++;
|
|
|
|
one = 1;
|
|
two = 2;
|
|
|
|
f1 = &D_802835DC[arg5mod8 * 3];
|
|
f2 = &D_802835DC[arg5mod8 * 3 + one];
|
|
f3 = &D_802835DC[arg5mod8 * 3 + two];
|
|
message->vel.x = 2.0 * *f1 * sign * var_f20;
|
|
message->vel.y = 2.0 * *f2 * var_f20;
|
|
message->vel.z = 2.0 * *f3 * var_f20;
|
|
message->accel.x = *f1 * sign * var_f20;
|
|
message->accel.y = *f2 * var_f20;
|
|
message->accel.z = *f3 * var_f20;
|
|
|
|
iMod8 = (i % 8);
|
|
message->scale = D_80283690[iMod8].x * baseScale;
|
|
message->rotZ = 0;
|
|
message->rotVelZ = sign * 107;
|
|
message->rotY = clamp_angle(180.0f - gCameras[CAM_BATTLE].currentYaw);
|
|
message->appearTime = 14;
|
|
message->unk_24 = arg4;
|
|
message->deleteTime = 240;
|
|
if (cond) {
|
|
message->deleteTime = 10;
|
|
}
|
|
message->unk_48 = 255.0f;
|
|
}
|
|
}
|
|
}
|
|
|
|
void btl_bonk_update(void* data) {
|
|
PopupMessage* popup = data;
|
|
Message* message = popup->message;
|
|
s32 found = FALSE;
|
|
s32 i;
|
|
|
|
for (i = 0; i < popup->messageIndex; i++, message++) {
|
|
if (message->unk_00) {
|
|
s32 modelIdx = message->entityModelIndex;
|
|
|
|
found = TRUE;
|
|
if (message->unk_24 != 0) {
|
|
message->unk_24--;
|
|
if (message->unk_24 == 0) {
|
|
clear_entity_model_flags(modelIdx, MODEL_FLAG_FLAG_20);
|
|
}
|
|
exec_entity_model_commandlist(modelIdx);
|
|
break;
|
|
}
|
|
|
|
exec_entity_model_commandlist(modelIdx);
|
|
if (message->appearTime >= 0) {
|
|
message->pos.x += message->vel.x;
|
|
message->pos.y += message->vel.y;
|
|
message->pos.z += message->vel.z;
|
|
}
|
|
message->rotY = clamp_angle(180.0f - gCameras[CAM_BATTLE].currentYaw);
|
|
message->rotZ += message->rotVelZ;
|
|
message->rotZ = clamp_angle(message->rotZ);
|
|
message->rotVelZ *= 0.8;
|
|
if (message->appearTime < 10) {
|
|
message->accel.x *= 0.5;
|
|
message->accel.y *= 0.5;
|
|
message->accel.z *= 0.5;
|
|
message->vel.x = message->accel.x;
|
|
message->vel.y = message->accel.y;
|
|
message->vel.z = message->accel.z;
|
|
}
|
|
|
|
message->appearTime--;
|
|
if (message->appearTime < 0) {
|
|
message->deleteTime--;
|
|
if (message->deleteTime < 0) {
|
|
free_entity_model_by_index(modelIdx);
|
|
message->unk_00 = FALSE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!found) {
|
|
heap_free(popup->message);
|
|
popup->message = NULL;
|
|
free_popup(popup);
|
|
}
|
|
}
|
|
|
|
void btl_bonk_render(void* data) {
|
|
PopupMessage* popup = data;
|
|
Message* message = popup->message;
|
|
Matrix4f sp18;
|
|
Matrix4f mtxRotX;
|
|
Matrix4f mtxRotY;
|
|
Matrix4f mtxRotZ;
|
|
Matrix4f sp118;
|
|
Matrix4f sp158;
|
|
Matrix4f sp198;
|
|
Matrix4f mtxScale;
|
|
Mtx sp218;
|
|
s32 i;
|
|
|
|
for (i = 0; i < popup->messageIndex; i++, message++) {
|
|
if (message->unk_00) {
|
|
if (message->unk_24 != 0) {
|
|
break;
|
|
} else {
|
|
s32 modelIdx = message->entityModelIndex;
|
|
|
|
guTranslateF(sp18, message->pos.x, message->pos.y, message->pos.z);
|
|
guRotateF(mtxRotX, 0.0f, 1.0f, 0.0f, 0.0f);
|
|
guRotateF(mtxRotY, message->rotY, 0.0f, 1.0f, 0.0f);
|
|
guRotateF(mtxRotZ, message->rotZ, 0.0f, 0.0f, 1.0f);
|
|
guScaleF(mtxScale, message->scale, message->scale, message->scale);
|
|
guMtxCatF(mtxRotZ, mtxRotX, sp158);
|
|
guMtxCatF(sp158, mtxRotY, sp118);
|
|
guMtxCatF(mtxScale, sp118, sp158);
|
|
guMtxCatF(sp158, sp18, sp198);
|
|
guMtxF2L(sp198, &sp218);
|
|
draw_entity_model_A(modelIdx, &sp218);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void btl_bonk_setup_gfx(void* data) {
|
|
Message* message = data;
|
|
s32 alphaAmt = message->deleteTime;
|
|
|
|
if (alphaAmt > 10) {
|
|
alphaAmt = 10;
|
|
}
|
|
gDPSetPrimColor(gMainGfxPos++, 0, 0, 0, 0, 0, (alphaAmt * 255) / 10);
|
|
}
|
|
|
|
void btl_bonk_cleanup(void) {
|
|
s32 i;
|
|
|
|
for (i = 0; i < ARRAY_COUNT(popupMessages); i++) {
|
|
PopupMessage* popup = &popupMessages[i];
|
|
|
|
if (popup->active != 0 && (popup->active & 0x10)) {
|
|
Message* message = popup->message;
|
|
s32 j;
|
|
|
|
for (j = 0; j < popup->messageIndex; j++, message++) {
|
|
if (message->unk_00) {
|
|
message->unk_24 = 0;
|
|
message->appearTime = 1;
|
|
message->deleteTime = 20;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ApiStatus ShowImmuneBonk(Evt* script, s32 isInitialCall) {
|
|
Bytecode* args = script->ptrReadPos;
|
|
s32 x = evt_get_variable(script, *args++);
|
|
s32 y = evt_get_variable(script, *args++);
|
|
s32 z = evt_get_variable(script, *args++);
|
|
s32 arg4 = evt_get_variable(script, *args++);
|
|
s32 arg5 = evt_get_variable(script, *args++);
|
|
s32 arg6 = evt_get_variable(script, *args++);
|
|
|
|
show_immune_bonk(x, y, z, arg4, arg5, arg6);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus ForceImmuneBonkCleanup(Evt* script, s32 isInitialCall) {
|
|
btl_bonk_cleanup();
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
// show a popup message bubble with a message selected from BattleMessages
|
|
void btl_show_battle_message(s32 messageIndex, s32 duration) {
|
|
PopupMessage* popup = btl_create_popup();
|
|
|
|
if (popup != NULL) {
|
|
popup->updateFunc = btl_update_message_popup;
|
|
popup->renderUIFunc = btl_show_message_popup;
|
|
popup->unk_00 = 0;
|
|
popup->renderWorldFunc = NULL;
|
|
popup->messageIndex = messageIndex;
|
|
popup->duration = duration;
|
|
popup->showMsgState = 0;
|
|
popup->needsInit = TRUE;
|
|
popup->message = NULL;
|
|
D_8029F640 = 0;
|
|
bPopupMessage = popup;
|
|
D_8029F64A = FALSE;
|
|
D_8029F64C = 0;
|
|
D_8029F64E = 0;
|
|
D_8029F650 = 0;
|
|
}
|
|
}
|
|
|
|
// show a popup message bubble with a message selected from BattleMessages
|
|
void btl_show_variable_battle_message(s32 messageIndex, s32 duration, s32 varValue) {
|
|
PopupMessage* popup = btl_create_popup();
|
|
|
|
if (popup != NULL) {
|
|
popup->updateFunc = btl_update_message_popup;
|
|
popup->renderUIFunc = btl_show_message_popup;
|
|
popup->unk_00 = 0;
|
|
popup->renderWorldFunc = NULL;
|
|
popup->messageIndex = messageIndex;
|
|
popup->duration = duration;
|
|
popup->showMsgState = 0;
|
|
popup->needsInit = TRUE;
|
|
popup->message = NULL;
|
|
D_8029F640 = varValue;
|
|
bPopupMessage = popup;
|
|
D_8029F64A = FALSE;
|
|
D_8029F64C = 0;
|
|
D_8029F64E = 0;
|
|
D_8029F650 = 0;
|
|
}
|
|
}
|
|
|
|
s32 btl_is_popup_displayed(void) {
|
|
return bPopupMessage != NULL;
|
|
}
|
|
|
|
void btl_set_popup_duration(s32 duration) {
|
|
PopupMessage* popup = bPopupMessage;
|
|
|
|
if (D_8029F64A && popup != NULL) {
|
|
popup->duration = duration;
|
|
}
|
|
}
|
|
|
|
void func_8024FAE8(void) {
|
|
D_8029F64C = 1;
|
|
}
|
|
|
|
void func_8024FAFC(void) {
|
|
D_8029F64C = 0;
|
|
}
|
|
|
|
void close_action_command_instruction_popup(void) {
|
|
PopupMessage* popup = bPopupMessage;
|
|
|
|
if (popup != NULL && popup->messageIndex < BTL_MSG_NO_JUMP_TARGET && popup->messageIndex >= BTL_MSG_ACTION_TIP_00) {
|
|
popup->duration = 0;
|
|
}
|
|
}
|
|
|
|
void btl_update_message_popup(void* data) {
|
|
PopupMessage* popup = data;
|
|
BattleStatus* battleStatus = &gBattleStatus;
|
|
s32 shouldDisposeWindow = FALSE;
|
|
|
|
s32 actionCommandMode;
|
|
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_MERLEE_ATK_UP:
|
|
case BTL_MSG_MERLEE_DEF_UP:
|
|
case BTL_MSG_MERLEE_EXP_UP:
|
|
case BTL_MSG_MERLEE_DONE:
|
|
case BTL_MSG_CHARGE_HAMMER:
|
|
case BTL_MSG_CHARGE_HAMMER_MORE:
|
|
case BTL_MSG_CHARGE_JUMP:
|
|
case BTL_MSG_CHARGE_JUMP_MORE:
|
|
case BTL_MSG_CANT_CHARGE:
|
|
case BTL_MSG_ENEMY_MISSED:
|
|
case BTL_MSG_PLAYER_DAZED:
|
|
case BTL_MSG_PLAYER_ASLEEP:
|
|
case BTL_MSG_PLAYER_FROZEN:
|
|
case BTL_MSG_PLAYER_POISONED:
|
|
case BTL_MSG_PLAYER_SHRUNK:
|
|
case BTL_MSG_PLAYER_PARALYZED:
|
|
case BTL_MSG_PLAYER_CHARGED:
|
|
case BTL_MSG_PLAYER_TRANSPARENT:
|
|
case BTL_MSG_ENEMY_DAZED:
|
|
case BTL_MSG_ENEMY_ASLEEP:
|
|
case BTL_MSG_ENEMY_FROZEN:
|
|
case BTL_MSG_ENEMY_POISONED:
|
|
case BTL_MSG_ENEMY_SHRUNK:
|
|
case BTL_MSG_ENEMY_PARALYZED:
|
|
case BTL_MSG_ENEMY_ELECTRIFIED:
|
|
case BTL_MSG_ENEMY_CANT_MOVE:
|
|
case BTL_MSG_STAR_POWER_RECHARGED:
|
|
case BTL_MSG_STAR_POWER_MAXED:
|
|
case BTL_MSG_STAR_POWER_FILLED:
|
|
case BTL_MSG_ATTACK_UP:
|
|
case BTL_MSG_DEFENCE_UP:
|
|
case BTL_MSG_1F:
|
|
case BTL_MSG_20:
|
|
case BTL_MSG_ENEMY_TRANSPARENT:
|
|
case BTL_MSG_ENEMY_CHARGED:
|
|
case BTL_MSG_PARTNER_INJURED:
|
|
case BTL_MSG_CHARGE_GOOMBARIO:
|
|
case BTL_MSG_CHARGE_GOOMBARIO_MORE:
|
|
case BTL_MSG_WATER_BLOCK_BEGIN:
|
|
case BTL_MSG_WATER_BLOCK_END:
|
|
case BTL_MSG_CLOUD_NINE_BEGIN:
|
|
case BTL_MSG_CLOUD_NINE_END:
|
|
case BTL_MSG_TURBO_CHARGE_BEGIN:
|
|
case BTL_MSG_TURBO_CHARGE_END:
|
|
case BTL_MSG_CHILL_OUT_BEGIN:
|
|
case BTL_MSG_UNUSED_CLOUD_NINE:
|
|
case BTL_MSG_CANT_SWITCH:
|
|
case BTL_MSG_CANT_MOVE:
|
|
case BTL_MSG_CANT_SWITCH_UNUSED:
|
|
case BTL_MSG_CANT_MOVE_UNUSED:
|
|
case BTL_MSG_CANT_SELECT_NOW_ALT:
|
|
switch (popup->showMsgState) {
|
|
default:
|
|
break;
|
|
case 0:
|
|
popup->showMsgState = 1;
|
|
break;
|
|
case 1:
|
|
popup->showMsgState = 2;
|
|
break;
|
|
case 2:
|
|
if (battleStatus->currentButtonsPressed & (BUTTON_A | BUTTON_B)) {
|
|
popup->duration = 0;
|
|
}
|
|
|
|
if (popup->duration != 0) {
|
|
popup->duration--;
|
|
} else {
|
|
popup->showMsgState = 3;
|
|
}
|
|
break;
|
|
case 4:
|
|
shouldDisposeWindow = TRUE;
|
|
break;
|
|
case 3:
|
|
popup->showMsgState = 4;
|
|
break;
|
|
}
|
|
break;
|
|
// move action command tips
|
|
case BTL_MSG_ACTION_TIP_00:
|
|
case BTL_MSG_ACTION_TIP_01:
|
|
case BTL_MSG_ACTION_TIP_02:
|
|
case BTL_MSG_ACTION_TIP_03:
|
|
case BTL_MSG_ACTION_TIP_04:
|
|
case BTL_MSG_ACTION_TIP_05:
|
|
case BTL_MSG_ACTION_TIP_06:
|
|
case BTL_MSG_ACTION_TIP_07:
|
|
case BTL_MSG_ACTION_TIP_08:
|
|
case BTL_MSG_ACTION_TIP_09:
|
|
case BTL_MSG_ACTION_TIP_0A:
|
|
case BTL_MSG_ACTION_TIP_0B:
|
|
case BTL_MSG_ACTION_TIP_0C:
|
|
case BTL_MSG_ACTION_TIP_0D:
|
|
case BTL_MSG_ACTION_TIP_0E:
|
|
case BTL_MSG_ACTION_TIP_0F:
|
|
case BTL_MSG_ACTION_TIP_10:
|
|
case BTL_MSG_ACTION_TIP_11:
|
|
case BTL_MSG_ACTION_TIP_12:
|
|
case BTL_MSG_ACTION_TIP_13:
|
|
case BTL_MSG_ACTION_TIP_14:
|
|
actionCommandMode = battleStatus->actionCommandMode;
|
|
D_8029F64A = TRUE;
|
|
if (actionCommandMode == ACTION_COMMAND_MODE_NOT_LEARNED) {
|
|
D_8029F64A = FALSE;
|
|
shouldDisposeWindow = TRUE;
|
|
break;
|
|
}
|
|
|
|
switch (popup->showMsgState) {
|
|
case 0:
|
|
gBattleStatus.flags1 |= BS_FLAGS1_4000;
|
|
gBattleStatus.flags1 &= ~BS_FLAGS1_10000;
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_ACTION_TIP_04:
|
|
D_8029F642 = hud_element_create(&HES_StickNeutral);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_01:
|
|
D_8029F642 = hud_element_create(&HES_StickNeutral);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_TimingReady);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_05:
|
|
D_8029F642 = hud_element_create(&HES_StickNeutral);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_AimTarget);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
hud_element_create_transform_B(D_8029F644);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_06:
|
|
D_8029F642 = hud_element_create(&HES_CUpButton);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_CDownButton);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
|
|
D_8029F646 = hud_element_create(&HES_CLeftButton);
|
|
hud_element_set_flags(D_8029F646, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F646, -100, -100);
|
|
|
|
D_8029F648 = hud_element_create(&HES_CRightButton);
|
|
hud_element_set_flags(D_8029F648, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F648, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_07:
|
|
D_8029F642 = hud_element_create(&HES_StickNeutral);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_08:
|
|
D_8029F642 = hud_element_create(&HES_AButton);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_BButton);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
|
|
D_8029F646 = hud_element_create(&HES_CDownButton);
|
|
hud_element_set_flags(D_8029F646, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F646, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_09:
|
|
D_8029F642 = hud_element_create(&HES_StickNeutral);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0A:
|
|
D_8029F642 = hud_element_create(&HES_TimingReady);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_AButton);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0B:
|
|
D_8029F642 = hud_element_create(&HES_AButton);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
D_8029F644 = hud_element_create(&HES_BButton);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0C:
|
|
D_8029F642 = hud_element_create(&HES_AButton);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_BButton);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0F:
|
|
D_8029F642 = hud_element_create(&HES_TimingReady);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_AButtonDown);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_10:
|
|
D_8029F642 = hud_element_create(&HES_StickNeutral);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
|
|
D_8029F644 = hud_element_create(&HES_AimTarget);
|
|
hud_element_set_flags(D_8029F644, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F644, -100, -100);
|
|
hud_element_create_transform_B(D_8029F644);
|
|
|
|
D_8029F646 = hud_element_create(&HES_AimReticle);
|
|
hud_element_set_flags(D_8029F646, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F646, -100, -100);
|
|
hud_element_create_transform_B(D_8029F646);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_12:
|
|
case BTL_MSG_ACTION_TIP_13:
|
|
D_8029F642 = hud_element_create(&HES_AButton);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
// fallthrough
|
|
case BTL_MSG_ACTION_TIP_00:
|
|
case BTL_MSG_ACTION_TIP_02:
|
|
case BTL_MSG_ACTION_TIP_03:
|
|
case BTL_MSG_ACTION_TIP_0D:
|
|
case BTL_MSG_ACTION_TIP_0E:
|
|
case BTL_MSG_ACTION_TIP_11:
|
|
case BTL_MSG_ACTION_TIP_14:
|
|
D_8029F642 = hud_element_create(&HES_AButton);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_FILTER_TEX | HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
}
|
|
popup->showMsgState = 1;
|
|
break;
|
|
case 1:
|
|
if (gBattleStatus.flags1 & BS_FLAGS1_10000) {
|
|
gBattleStatus.flags1 &= ~BS_FLAGS1_4000;
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT);
|
|
popup->duration = 0;
|
|
popup->showMsgState = 2;
|
|
} else if (!(gBattleStatus.flags1 & BS_FLAGS1_4000) && (actionCommandMode != ACTION_COMMAND_MODE_TUTORIAL)) {
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_TRANSPARENT);
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_ACTION_TIP_03:
|
|
hud_element_set_script(D_8029F642, &HES_MashAButton);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_04:
|
|
hud_element_set_script(D_8029F642, &HES_StickMashLeft);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_01:
|
|
hud_element_set_script(D_8029F642, &HES_StickTapLeft);
|
|
hud_element_set_script(D_8029F644, &HES_TimingBlink);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_05:
|
|
hud_element_set_script(D_8029F642, &HES_StickTapLeft);
|
|
hud_element_set_script(D_8029F644, &HES_AimTarget);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_06:
|
|
hud_element_set_script(D_8029F642, &HES_MashCUpButton);
|
|
hud_element_set_script(D_8029F644, &HES_MashCDownButton1);
|
|
hud_element_set_script(D_8029F646, &HES_MashCLeftButton);
|
|
hud_element_set_script(D_8029F648, &HES_MashCRightButton1);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_07:
|
|
hud_element_set_script(D_8029F642, &HES_StickBackAndForth);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_08:
|
|
hud_element_set_script(D_8029F642, &HES_PressAButton);
|
|
hud_element_set_script(D_8029F644, &HES_PressBButton);
|
|
hud_element_set_script(D_8029F646, &HES_PressCDownButton);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_09:
|
|
hud_element_set_script(D_8029F642, &HES_RotateStickCW);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0A:
|
|
hud_element_set_script(D_8029F642, &HES_TimingBlink);
|
|
hud_element_set_script(D_8029F644, &HES_MashAButton);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0B:
|
|
hud_element_set_script(D_8029F642, &HES_MashAButton);
|
|
hud_element_set_script(D_8029F644, &HES_MashBButton2);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0C:
|
|
hud_element_set_script(D_8029F642, &HES_MashAButton);
|
|
hud_element_set_script(D_8029F644, &HES_MashBButton1);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0D:
|
|
hud_element_set_script(D_8029F642, &HES_MashAButton);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0F:
|
|
hud_element_set_script(D_8029F642, &HES_TimingBlink);
|
|
hud_element_set_script(D_8029F644, &HES_PressAButton);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_10:
|
|
hud_element_set_script(D_8029F642, &HES_StickTapRight);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_11:
|
|
hud_element_set_script(D_8029F642, &HES_MashAButton);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_12:
|
|
case BTL_MSG_ACTION_TIP_13:
|
|
hud_element_set_script(D_8029F642, &HES_PressAButton);
|
|
// fallthrough
|
|
case BTL_MSG_ACTION_TIP_00:
|
|
case BTL_MSG_ACTION_TIP_02:
|
|
case BTL_MSG_ACTION_TIP_0E:
|
|
case BTL_MSG_ACTION_TIP_14:
|
|
hud_element_set_script(D_8029F642, &HES_PressAButton);
|
|
break;
|
|
}
|
|
if (popup->duration != -1) {
|
|
popup->duration = 30;
|
|
}
|
|
popup->showMsgState = 2;
|
|
break;
|
|
}
|
|
break;
|
|
case 2:
|
|
if ((actionCommandMode != popup->showMsgState) || (gBattleStatus.flags1 & BS_FLAGS1_10000)) {
|
|
s16* duration;
|
|
|
|
if (D_8029F64E < 192) {
|
|
if (D_8029F64C == 0) {
|
|
D_8029F64E += 10;
|
|
if (D_8029F64E > 192) {
|
|
D_8029F64E = 192;
|
|
}
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
|
|
gWindows[WINDOW_ID_BATTLE_POPUP].pos.y = D_8029F64E + D_8029F650;
|
|
|
|
duration = &popup->duration; // TODO required to match
|
|
if (*duration != -1) {
|
|
if (popup->duration != 0) {
|
|
popup->duration--;
|
|
} else {
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_ACTION_TIP_00:
|
|
case BTL_MSG_ACTION_TIP_02:
|
|
case BTL_MSG_ACTION_TIP_03:
|
|
case BTL_MSG_ACTION_TIP_04:
|
|
case BTL_MSG_ACTION_TIP_07:
|
|
case BTL_MSG_ACTION_TIP_09:
|
|
case BTL_MSG_ACTION_TIP_0D:
|
|
case BTL_MSG_ACTION_TIP_0E:
|
|
case BTL_MSG_ACTION_TIP_11:
|
|
case BTL_MSG_ACTION_TIP_12:
|
|
case BTL_MSG_ACTION_TIP_13:
|
|
case BTL_MSG_ACTION_TIP_14:
|
|
hud_element_free(D_8029F642);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_01:
|
|
case BTL_MSG_ACTION_TIP_05:
|
|
case BTL_MSG_ACTION_TIP_0A:
|
|
case BTL_MSG_ACTION_TIP_0B:
|
|
case BTL_MSG_ACTION_TIP_0C:
|
|
case BTL_MSG_ACTION_TIP_0F:
|
|
hud_element_free(D_8029F642);
|
|
hud_element_free(D_8029F644);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_08:
|
|
case BTL_MSG_ACTION_TIP_10:
|
|
hud_element_free(D_8029F642);
|
|
hud_element_free(D_8029F644);
|
|
hud_element_free(D_8029F646);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_06:
|
|
hud_element_free(D_8029F642);
|
|
hud_element_free(D_8029F644);
|
|
hud_element_free(D_8029F646);
|
|
hud_element_free(D_8029F648);
|
|
break;
|
|
}
|
|
D_8029F64A = FALSE;
|
|
shouldDisposeWindow = TRUE;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
break;
|
|
case BTL_MSG_NO_JUMP_TARGET:
|
|
case BTL_MSG_NO_HAMMER_TARGET:
|
|
case BTL_MSG_NO_ITEM_TARGET:
|
|
case BTL_MSG_46:
|
|
case BTL_MSG_47:
|
|
case BTL_MSG_CANT_SELECT_NOW:
|
|
switch (popup->showMsgState) {
|
|
default:
|
|
break;
|
|
case 0:
|
|
popup->showMsgState = 1;
|
|
break;
|
|
case 1:
|
|
popup->showMsgState = 2;
|
|
break;
|
|
case 2:
|
|
if (battleStatus->currentButtonsPressed & (BUTTON_A | BUTTON_B)) {
|
|
popup->duration = 0;
|
|
}
|
|
|
|
if (popup->duration != 0) {
|
|
popup->duration--;
|
|
} else {
|
|
popup->showMsgState = 3;
|
|
}
|
|
break;
|
|
case 3:
|
|
popup->showMsgState = 4;
|
|
break;
|
|
case 4:
|
|
shouldDisposeWindow = TRUE;
|
|
break;
|
|
}
|
|
break;
|
|
case BTL_MSG_HAMMER_DISABLED_1:
|
|
case BTL_MSG_HAMMER_DISABLED_2:
|
|
case BTL_MSG_HAMMER_DISABLED_3:
|
|
case BTL_MSG_JUMP_DISABLED_1:
|
|
case BTL_MSG_JUMP_DISABLED_2:
|
|
case BTL_MSG_JUMP_DISABLED_3:
|
|
case BTL_MSG_ITEMS_DISABLED:
|
|
switch (popup->showMsgState) {
|
|
case 0:
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_HAMMER_DISABLED_1:
|
|
D_8029F642 = hud_element_create(&HES_Item_Hammer1);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_HAMMER_DISABLED_2:
|
|
D_8029F642 = hud_element_create(&HES_Item_Hammer2);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_HAMMER_DISABLED_3:
|
|
D_8029F642 = hud_element_create(&HES_Item_Hammer3);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_JUMP_DISABLED_1:
|
|
D_8029F642 = hud_element_create(&HES_Item_Boots1);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_JUMP_DISABLED_2:
|
|
D_8029F642 = hud_element_create(&HES_Item_Boots2);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_JUMP_DISABLED_3:
|
|
D_8029F642 = hud_element_create(&HES_Item_Boots3);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
case BTL_MSG_ITEMS_DISABLED:
|
|
D_8029F642 = hud_element_create(&HES_Item_Items);
|
|
hud_element_set_flags(D_8029F642, HUD_ELEMENT_FLAG_80);
|
|
hud_element_set_render_pos(D_8029F642, -100, -100);
|
|
break;
|
|
}
|
|
popup->showMsgState = 1;
|
|
break;
|
|
case 1:
|
|
if (popup->duration != 0) {
|
|
popup->duration--;
|
|
break;
|
|
}
|
|
shouldDisposeWindow = TRUE;
|
|
hud_element_free(D_8029F642);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
if (shouldDisposeWindow) {
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_HIDE);
|
|
bPopupMessage = NULL;
|
|
free_popup(popup);
|
|
}
|
|
}
|
|
|
|
void func_80250818(void* data, s32 x, s32 y) {
|
|
PopupMessage* popup = data;
|
|
s32 messageID;
|
|
s32 msgLinesIdx;
|
|
s32 opacity;
|
|
|
|
x += 15;
|
|
y += 6;
|
|
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_MERLEE_ATK_UP:
|
|
case BTL_MSG_MERLEE_DEF_UP:
|
|
case BTL_MSG_MERLEE_EXP_UP:
|
|
case BTL_MSG_MERLEE_DONE:
|
|
case BTL_MSG_CANT_CHARGE:
|
|
case BTL_MSG_ENEMY_MISSED:
|
|
case BTL_MSG_PLAYER_DAZED:
|
|
case BTL_MSG_PLAYER_ASLEEP:
|
|
case BTL_MSG_PLAYER_FROZEN:
|
|
case BTL_MSG_PLAYER_POISONED:
|
|
case BTL_MSG_PLAYER_SHRUNK:
|
|
case BTL_MSG_PLAYER_PARALYZED:
|
|
case BTL_MSG_PLAYER_CHARGED:
|
|
case BTL_MSG_PLAYER_TRANSPARENT:
|
|
case BTL_MSG_ENEMY_DAZED:
|
|
case BTL_MSG_ENEMY_ASLEEP:
|
|
case BTL_MSG_ENEMY_FROZEN:
|
|
case BTL_MSG_ENEMY_POISONED:
|
|
case BTL_MSG_ENEMY_SHRUNK:
|
|
case BTL_MSG_ENEMY_PARALYZED:
|
|
case BTL_MSG_ENEMY_ELECTRIFIED:
|
|
case BTL_MSG_ENEMY_CANT_MOVE:
|
|
case BTL_MSG_STAR_POWER_RECHARGED:
|
|
case BTL_MSG_STAR_POWER_MAXED:
|
|
case BTL_MSG_STAR_POWER_FILLED:
|
|
case BTL_MSG_PARTNER_INJURED:
|
|
case BTL_MSG_CHARGE_GOOMBARIO:
|
|
case BTL_MSG_CHARGE_GOOMBARIO_MORE:
|
|
case BTL_MSG_WATER_BLOCK_BEGIN:
|
|
case BTL_MSG_WATER_BLOCK_END:
|
|
case BTL_MSG_CLOUD_NINE_BEGIN:
|
|
case BTL_MSG_CLOUD_NINE_END:
|
|
case BTL_MSG_TURBO_CHARGE_BEGIN:
|
|
case BTL_MSG_TURBO_CHARGE_END:
|
|
case BTL_MSG_CHILL_OUT_BEGIN:
|
|
case BTL_MSG_UNUSED_CLOUD_NINE:
|
|
case BTL_MSG_NO_JUMP_TARGET:
|
|
case BTL_MSG_NO_HAMMER_TARGET:
|
|
case BTL_MSG_NO_ITEM_TARGET:
|
|
case BTL_MSG_46:
|
|
case BTL_MSG_47:
|
|
case BTL_MSG_CANT_SELECT_NOW:
|
|
case BTL_MSG_CANT_SWITCH:
|
|
case BTL_MSG_CANT_SWITCH_UNUSED:
|
|
case BTL_MSG_CANT_MOVE_UNUSED:
|
|
case BTL_MSG_CANT_SELECT_NOW_ALT:
|
|
messageID = bMessages[popup->messageIndex];
|
|
msgLinesIdx = get_msg_lines(messageID) - 1;
|
|
draw_msg(messageID, x, y + D_802835D4[msgLinesIdx], 255, MSG_PAL_0F, 0);
|
|
break;
|
|
case BTL_MSG_CHARGE_HAMMER:
|
|
case BTL_MSG_CHARGE_HAMMER_MORE:
|
|
case BTL_MSG_CHARGE_JUMP:
|
|
case BTL_MSG_CHARGE_JUMP_MORE:
|
|
case BTL_MSG_ATTACK_UP:
|
|
case BTL_MSG_DEFENCE_UP:
|
|
case BTL_MSG_1F:
|
|
case BTL_MSG_20:
|
|
case BTL_MSG_ENEMY_TRANSPARENT:
|
|
case BTL_MSG_ENEMY_CHARGED:
|
|
messageID = bMessages[popup->messageIndex];
|
|
msgLinesIdx = get_msg_lines(messageID) - 1;
|
|
y += D_802835D4[msgLinesIdx];
|
|
set_message_value(D_8029F640, 0);
|
|
draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0);
|
|
break;
|
|
case BTL_MSG_CANT_MOVE:
|
|
messageID = bMessages[popup->messageIndex];
|
|
msgLinesIdx = get_msg_lines(messageID) - 1;
|
|
y += D_802835D4[msgLinesIdx];
|
|
set_message_msg(bActorMessages[D_8029F640], 0);
|
|
draw_msg(messageID, x, y, 255, MSG_PAL_0F, 0);
|
|
break;
|
|
case BTL_MSG_HAMMER_DISABLED_1:
|
|
case BTL_MSG_HAMMER_DISABLED_2:
|
|
case BTL_MSG_HAMMER_DISABLED_3:
|
|
case BTL_MSG_JUMP_DISABLED_1:
|
|
case BTL_MSG_JUMP_DISABLED_2:
|
|
case BTL_MSG_JUMP_DISABLED_3:
|
|
case BTL_MSG_ITEMS_DISABLED:
|
|
messageID = bMessages[popup->messageIndex];
|
|
draw_msg(messageID, x + 0x1D, y + 6, 255, MSG_PAL_0F, 0);
|
|
hud_element_set_render_pos(D_8029F642, x + 13, y + 14);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_00:
|
|
case BTL_MSG_ACTION_TIP_01:
|
|
case BTL_MSG_ACTION_TIP_02:
|
|
case BTL_MSG_ACTION_TIP_03:
|
|
case BTL_MSG_ACTION_TIP_04:
|
|
case BTL_MSG_ACTION_TIP_05:
|
|
case BTL_MSG_ACTION_TIP_06:
|
|
case BTL_MSG_ACTION_TIP_07:
|
|
case BTL_MSG_ACTION_TIP_08:
|
|
case BTL_MSG_ACTION_TIP_09:
|
|
case BTL_MSG_ACTION_TIP_0A:
|
|
case BTL_MSG_ACTION_TIP_0B:
|
|
case BTL_MSG_ACTION_TIP_0C:
|
|
case BTL_MSG_ACTION_TIP_0D:
|
|
case BTL_MSG_ACTION_TIP_0E:
|
|
case BTL_MSG_ACTION_TIP_0F:
|
|
case BTL_MSG_ACTION_TIP_10:
|
|
case BTL_MSG_ACTION_TIP_11:
|
|
case BTL_MSG_ACTION_TIP_12:
|
|
case BTL_MSG_ACTION_TIP_13:
|
|
case BTL_MSG_ACTION_TIP_14:
|
|
opacity = 255;
|
|
if (popup->showMsgState < 2) {
|
|
opacity = 160;
|
|
}
|
|
if (popup->messageIndex == BTL_MSG_ACTION_TIP_0D) {
|
|
opacity = 255;
|
|
}
|
|
|
|
x -= 11;
|
|
y -= 6;
|
|
messageID = bMessages[popup->messageIndex];
|
|
msgLinesIdx = get_msg_lines(messageID) - 1;
|
|
y += D_802835D4[msgLinesIdx];
|
|
draw_msg(messageID, x + 11, y + 6, opacity, MSG_PAL_0F, 0);
|
|
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_ACTION_TIP_00:
|
|
hud_element_set_render_pos(D_8029F642, x + 65, y + 14);
|
|
hud_element_set_scale(D_8029F642, 0.5f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_01:
|
|
hud_element_set_render_pos(D_8029F642, x + 55, y + 14);
|
|
hud_element_set_scale(D_8029F642, 0.6f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
|
|
hud_element_set_render_pos(D_8029F644, x + 73, y + 31);
|
|
hud_element_set_alpha(D_8029F644, opacity);
|
|
hud_element_draw_clipped(D_8029F644);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_02:
|
|
hud_element_set_render_pos(D_8029F642, x + 64, y + 14);
|
|
hud_element_set_scale(D_8029F642, 0.5f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_03:
|
|
hud_element_set_render_pos(D_8029F642, x + 67, y + 14);
|
|
hud_element_set_scale(D_8029F642, 0.5f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_04:
|
|
hud_element_set_render_pos(D_8029F642, x + 56, y + 14);
|
|
hud_element_set_scale(D_8029F642, 0.6f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_05:
|
|
hud_element_set_render_pos(D_8029F642, x + 65, y + 13);
|
|
hud_element_set_scale(D_8029F642, 0.6f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
|
|
hud_element_set_render_pos(D_8029F644, x + 146, y + 32);
|
|
hud_element_set_scale(D_8029F644, 0.8f);
|
|
hud_element_set_alpha(D_8029F644, opacity);
|
|
func_80144218(D_8029F644);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_08:
|
|
hud_element_set_render_pos(D_8029F642, x + 86, y + 13);
|
|
hud_element_set_scale(D_8029F642, 0.5f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
|
|
hud_element_set_render_pos(D_8029F644, x + 64, y + 13);
|
|
hud_element_set_scale(D_8029F644, 0.5f);
|
|
hud_element_set_alpha(D_8029F644, opacity);
|
|
hud_element_draw_clipped(D_8029F644);
|
|
|
|
hud_element_set_render_pos(D_8029F646, x + 108, y + 13);
|
|
hud_element_set_scale(D_8029F646, 0.5f);
|
|
hud_element_set_alpha(D_8029F646, opacity);
|
|
hud_element_draw_clipped(D_8029F646);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0A:
|
|
hud_element_set_render_pos(D_8029F642, x + 105, y + 13);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
|
|
hud_element_set_render_pos(D_8029F644, x + 65, y + 14);
|
|
hud_element_set_scale(D_8029F644, 0.5f);
|
|
hud_element_set_alpha(D_8029F644, opacity);
|
|
hud_element_draw_clipped(D_8029F644);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0C:
|
|
hud_element_set_render_pos(D_8029F642, x + 63, y + 14);
|
|
hud_element_set_scale(D_8029F642, 0.5f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
|
|
hud_element_set_render_pos(D_8029F644, x + 84, y + 14);
|
|
hud_element_set_scale(D_8029F644, 0.5f);
|
|
hud_element_set_alpha(D_8029F644, opacity);
|
|
hud_element_draw_clipped(D_8029F644);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0E:
|
|
hud_element_set_render_pos(D_8029F642, x + 124, y + 14);
|
|
hud_element_set_scale(D_8029F642, 0.5f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_0F:
|
|
hud_element_set_render_pos(D_8029F642, x + 56, y + 31);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
|
|
hud_element_set_render_pos(D_8029F644, x + 53, y + 14);
|
|
hud_element_set_scale(D_8029F644, 0.5f);
|
|
hud_element_set_alpha(D_8029F644, opacity);
|
|
hud_element_draw_clipped(D_8029F644);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_10:
|
|
hud_element_set_render_pos(D_8029F642, x + 107, y + 13);
|
|
hud_element_set_scale(D_8029F642, 0.6f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
|
|
hud_element_set_render_pos(D_8029F644, x + 210, y + 15);
|
|
hud_element_set_scale(D_8029F644, 0.8f);
|
|
hud_element_set_alpha(D_8029F644, opacity);
|
|
func_80144218(D_8029F644);
|
|
|
|
hud_element_set_render_pos(D_8029F646, x + 56, y + 15);
|
|
hud_element_set_scale(D_8029F646, 0.8f);
|
|
hud_element_set_alpha(D_8029F646, opacity);
|
|
func_80144218(D_8029F646);
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_12:
|
|
case BTL_MSG_ACTION_TIP_13:
|
|
hud_element_set_render_pos(D_8029F642, x + 64, y + 13);
|
|
hud_element_set_scale(D_8029F642, 0.5f);
|
|
hud_element_set_alpha(D_8029F642, opacity);
|
|
hud_element_draw_clipped(D_8029F642);
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void btl_show_message_popup(void* data) {
|
|
PopupMessage* popup = data;
|
|
s32 numLines;
|
|
s32 posX;
|
|
s32 posY = 80;
|
|
s32 width;
|
|
s32 msgWidth;
|
|
s32 height;
|
|
|
|
switch (popup->messageIndex) {
|
|
case BTL_MSG_MERLEE_ATK_UP:
|
|
case BTL_MSG_MERLEE_DEF_UP:
|
|
case BTL_MSG_MERLEE_EXP_UP:
|
|
case BTL_MSG_MERLEE_DONE:
|
|
case BTL_MSG_CANT_CHARGE:
|
|
case BTL_MSG_ENEMY_MISSED:
|
|
case BTL_MSG_PLAYER_DAZED:
|
|
case BTL_MSG_PLAYER_ASLEEP:
|
|
case BTL_MSG_PLAYER_FROZEN:
|
|
case BTL_MSG_PLAYER_POISONED:
|
|
case BTL_MSG_PLAYER_SHRUNK:
|
|
case BTL_MSG_PLAYER_PARALYZED:
|
|
case BTL_MSG_PLAYER_CHARGED:
|
|
case BTL_MSG_PLAYER_TRANSPARENT:
|
|
case BTL_MSG_ENEMY_DAZED:
|
|
case BTL_MSG_ENEMY_ASLEEP:
|
|
case BTL_MSG_ENEMY_FROZEN:
|
|
case BTL_MSG_ENEMY_POISONED:
|
|
case BTL_MSG_ENEMY_SHRUNK:
|
|
case BTL_MSG_ENEMY_PARALYZED:
|
|
case BTL_MSG_ENEMY_ELECTRIFIED:
|
|
case BTL_MSG_ENEMY_CANT_MOVE:
|
|
case BTL_MSG_STAR_POWER_RECHARGED:
|
|
case BTL_MSG_STAR_POWER_MAXED:
|
|
case BTL_MSG_STAR_POWER_FILLED:
|
|
case BTL_MSG_PARTNER_INJURED:
|
|
case BTL_MSG_CHARGE_GOOMBARIO:
|
|
case BTL_MSG_CHARGE_GOOMBARIO_MORE:
|
|
case BTL_MSG_WATER_BLOCK_BEGIN:
|
|
case BTL_MSG_WATER_BLOCK_END:
|
|
case BTL_MSG_CLOUD_NINE_BEGIN:
|
|
case BTL_MSG_CLOUD_NINE_END:
|
|
case BTL_MSG_TURBO_CHARGE_BEGIN:
|
|
case BTL_MSG_TURBO_CHARGE_END:
|
|
case BTL_MSG_CHILL_OUT_BEGIN:
|
|
case BTL_MSG_UNUSED_CLOUD_NINE:
|
|
case BTL_MSG_NO_JUMP_TARGET:
|
|
case BTL_MSG_NO_HAMMER_TARGET:
|
|
case BTL_MSG_NO_ITEM_TARGET:
|
|
case BTL_MSG_46:
|
|
case BTL_MSG_47:
|
|
case BTL_MSG_CANT_SELECT_NOW:
|
|
case BTL_MSG_CANT_SWITCH:
|
|
case BTL_MSG_CANT_SWITCH_UNUSED:
|
|
case BTL_MSG_CANT_MOVE_UNUSED:
|
|
case BTL_MSG_CANT_SELECT_NOW_ALT:
|
|
if (popup->needsInit) {
|
|
s32 messageID;
|
|
|
|
popup->needsInit = FALSE;
|
|
messageID = bMessages[popup->messageIndex];
|
|
msgWidth = get_msg_width(messageID, 0) + 30;
|
|
posX = 160 - (msgWidth / 2);
|
|
width = msgWidth;
|
|
numLines = get_msg_lines(messageID) - 1;
|
|
height = bMsgHeights[numLines];
|
|
set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1);
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW);
|
|
}
|
|
break;
|
|
case BTL_MSG_HAMMER_DISABLED_1:
|
|
case BTL_MSG_HAMMER_DISABLED_2:
|
|
case BTL_MSG_HAMMER_DISABLED_3:
|
|
case BTL_MSG_JUMP_DISABLED_1:
|
|
case BTL_MSG_JUMP_DISABLED_2:
|
|
case BTL_MSG_JUMP_DISABLED_3:
|
|
case BTL_MSG_ITEMS_DISABLED:
|
|
if (popup->needsInit) {
|
|
popup->needsInit = FALSE;
|
|
msgWidth = get_msg_width(bMessages[popup->messageIndex], 0) + 55;
|
|
posX = 160 - (msgWidth / 2);
|
|
width = msgWidth;
|
|
height = 40;
|
|
set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1);
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW);
|
|
}
|
|
break;
|
|
case BTL_MSG_CHARGE_HAMMER:
|
|
case BTL_MSG_CHARGE_HAMMER_MORE:
|
|
case BTL_MSG_CHARGE_JUMP:
|
|
case BTL_MSG_CHARGE_JUMP_MORE:
|
|
case BTL_MSG_ATTACK_UP:
|
|
case BTL_MSG_DEFENCE_UP:
|
|
case BTL_MSG_1F:
|
|
case BTL_MSG_20:
|
|
case BTL_MSG_ENEMY_TRANSPARENT:
|
|
case BTL_MSG_ENEMY_CHARGED:
|
|
if (popup->needsInit) {
|
|
s32 messageID;
|
|
|
|
popup->needsInit = FALSE;
|
|
messageID = bMessages[popup->messageIndex];
|
|
set_message_value(D_8029F640, 0);
|
|
msgWidth = get_msg_width(messageID, 0) + 31;
|
|
posX = 160 - (msgWidth / 2);
|
|
width = msgWidth;
|
|
numLines = get_msg_lines(messageID) - 1;
|
|
height = bMsgHeights[numLines];
|
|
set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1);
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW);
|
|
}
|
|
break;
|
|
case BTL_MSG_CANT_MOVE:
|
|
if (popup->needsInit) {
|
|
s32 messageID;
|
|
|
|
popup->needsInit = FALSE;
|
|
messageID = bMessages[popup->messageIndex];
|
|
set_message_msg(bActorMessages[D_8029F640], 0);
|
|
msgWidth = get_msg_width(messageID, 0) + 31;
|
|
posX = 160 - (msgWidth / 2);
|
|
width = msgWidth;
|
|
numLines = get_msg_lines(messageID) - 1;
|
|
height = bMsgHeights[numLines];
|
|
set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1);
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW);
|
|
}
|
|
break;
|
|
case BTL_MSG_ACTION_TIP_00:
|
|
case BTL_MSG_ACTION_TIP_01:
|
|
case BTL_MSG_ACTION_TIP_02:
|
|
case BTL_MSG_ACTION_TIP_03:
|
|
case BTL_MSG_ACTION_TIP_04:
|
|
case BTL_MSG_ACTION_TIP_05:
|
|
case BTL_MSG_ACTION_TIP_06:
|
|
case BTL_MSG_ACTION_TIP_07:
|
|
case BTL_MSG_ACTION_TIP_08:
|
|
case BTL_MSG_ACTION_TIP_09:
|
|
case BTL_MSG_ACTION_TIP_0A:
|
|
case BTL_MSG_ACTION_TIP_0B:
|
|
case BTL_MSG_ACTION_TIP_0C:
|
|
case BTL_MSG_ACTION_TIP_0D:
|
|
case BTL_MSG_ACTION_TIP_0E:
|
|
case BTL_MSG_ACTION_TIP_0F:
|
|
case BTL_MSG_ACTION_TIP_10:
|
|
case BTL_MSG_ACTION_TIP_11:
|
|
case BTL_MSG_ACTION_TIP_12:
|
|
case BTL_MSG_ACTION_TIP_13:
|
|
case BTL_MSG_ACTION_TIP_14:
|
|
if (popup->needsInit) {
|
|
s32 messageID;
|
|
|
|
popup->needsInit = FALSE;
|
|
messageID = bMessages[popup->messageIndex];
|
|
msgWidth = get_msg_width(messageID, 0) + 31;
|
|
posX = 160 - (msgWidth / 2);
|
|
posY = 192;
|
|
width = msgWidth;
|
|
numLines = get_msg_lines(messageID) - 1;
|
|
height = bMsgHeights[numLines];
|
|
if (popup->messageIndex == BTL_MSG_ACTION_TIP_0D) {
|
|
posY = 120;
|
|
D_8029F64C = 1;
|
|
}
|
|
D_8029F64E = posY;
|
|
D_8029F650 = D_802835D8[numLines];
|
|
|
|
posY = D_8029F64E + D_8029F650;
|
|
set_window_properties(WINDOW_ID_BATTLE_POPUP, posX, posY, width, height, WINDOW_PRIORITY_0, func_80250818, popup, -1);
|
|
if (popup->messageIndex == BTL_MSG_ACTION_TIP_0D) {
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW);
|
|
} else {
|
|
set_window_update(WINDOW_ID_BATTLE_POPUP, WINDOW_UPDATE_SHOW_DARKENED);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
ApiStatus ShowMessageBox(Evt* script, s32 isInitialCall) {
|
|
Bytecode* args = script->ptrReadPos;
|
|
s32 messageIndex = evt_get_variable(script, *args++);
|
|
s32 duration = evt_get_variable(script, *args++);
|
|
|
|
btl_show_battle_message(messageIndex, duration);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus ShowVariableMessageBox(Evt* script, s32 isInitialCall) {
|
|
Bytecode* args = script->ptrReadPos;
|
|
s32 messageIndex = evt_get_variable(script, *args++);
|
|
s32 duration = evt_get_variable(script, *args++);
|
|
s32 varValue = evt_get_variable(script, *args++);
|
|
|
|
btl_show_variable_battle_message(messageIndex, duration, varValue);
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus IsMessageBoxDisplayed(Evt* script, s32 isInitialCall) {
|
|
Bytecode* args = script->ptrReadPos;
|
|
s32 outVar = *args++;
|
|
|
|
evt_set_variable(script, outVar, btl_is_popup_displayed());
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus WaitForMessageBoxDone(Evt* script, s32 isInitialCall) {
|
|
return !btl_is_popup_displayed() * ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus ForceCloseMessageBox(Evt* script, s32 isInitialCall) {
|
|
if (bPopupMessage != NULL) {
|
|
bPopupMessage->duration = 0;
|
|
}
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus SetMessageBoxDuration(Evt* script, s32 isInitialCall) {
|
|
btl_set_popup_duration(evt_get_variable(script, *script->ptrReadPos));
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus func_80251434(Evt* script, s32 isInitialCall) {
|
|
func_8024FAE8();
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
ApiStatus func_80251454(Evt* script, s32 isInitialCall) {
|
|
func_8024FAFC();
|
|
return ApiStatus_DONE2;
|
|
}
|
|
|
|
void apply_shock_effect(Actor* actor) {
|
|
ActorPart* part = actor->partsTable;
|
|
|
|
while (part != NULL) {
|
|
if (!(part->flags & ACTOR_PART_FLAG_INVISIBLE)
|
|
&& part->idleAnimations != NULL
|
|
&& !(part->flags & ACTOR_PART_FLAG_40000000)
|
|
) {
|
|
f32 x = part->currentPos.x;
|
|
f32 y = part->currentPos.y + (actor->size.y / 10);
|
|
f32 z = part->currentPos.z;
|
|
s32 f1 = (part->size.x + (part->size.x / 4)) * actor->scalingFactor;
|
|
s32 f2 = (part->size.y - 2) * actor->scalingFactor;
|
|
|
|
if (actor->flags & ACTOR_FLAG_8000) {
|
|
y -= actor->size.y / 2;
|
|
}
|
|
|
|
fx_flashing_box_shockwave(0, x, y, z, f1, f2);
|
|
}
|
|
part = part->nextPart;
|
|
}
|
|
}
|