10#include "sprite/npc/WorldGoombario.h"
13#include "sprite/npc/WorldKooper.h"
16#include "sprite/npc/WorldBombette.h"
19#include "sprite/npc/WorldParakarry.h"
22#include "sprite/npc/Goompa.h"
25#include "sprite/npc/WorldWatt.h"
28#include "sprite/npc/WorldSushie.h"
31#include "sprite/npc/WorldLakilester.h"
34#include "sprite/npc/WorldBow.h"
37#include "sprite/npc/Goombaria.h"
40#include "sprite/npc/Twink.h"
1275 if (
partner->moveSpeed > 3.0) {
1375 if (
partner->planarFlyDist > 50.0) {
1376 partner->planarFlyDist = 50.0f;
1392 if (
partner->jumpVel > 20.0) {
1413 if (
partner->jumpVel <= 0.0f) {
1416 if (
partner->pos.y < -2000.0f) {
1427 if (
partner->jumpVel <= 0.0f) {
1611 if (
partner->jumpScale != 0.0f) {
1614 if (
partner->jumpVel <= 0.0f) {
1617 if (
partner->jumpVel <= 0.0f) {
1671 if (
partner->jumpVel <= 0.0f) {
1674 if (
partner->pos.y < -2000.0f) {
1704static const f32 padding = 0.0f;
1913 if (
partner->moveSpeed > 6.0) {
1947 if (
partner->flags & 0x4000) {
1973 if (
partner->planarFlyDist > 50.0) {
1974 partner->planarFlyDist = 50.0f;
1978 if (
partner->planarFlyDist < y) {
1998 if (
partner->jumpVel > 20.0) {
2011 if (
partner->jumpVel <= 0.0f) {
2015 if (
partner->jumpVel <= 0.0f) {
2226 if (
partner->jumpVel <= 0.0f) {
2231 if (
partner->duration > 10.0f) {
2334 if (
partner->jumpVel <= 0.0f) {
2548 if (
partner->jumpVel != 0.0f) {
2551 if (
partner->jumpVel <= 0.0f) {
2555 if (
partner->jumpVel <= 0.0f) {
BSS s32 PopupMenu_SelectedIndex
s32 world_bombette_can_use_ability(Npc *npc)
void world_bombette_init(Npc *)
s32 world_bombette_test_first_strike(Npc *, Npc *)
s32 world_bombette_can_open_menus(Npc *)
void world_bombette_pre_battle(Npc *)
void world_bow_init(Npc *)
void world_bow_pre_battle(Npc *)
b8 keepUsingPartnerOnMapChange
union Evt::@9 owner2
Initially -1.
@ PARTNER_ANIM_INDEX_WALK
@ PS_FLAG_NO_STATIC_COLLISION
@ COLLIDER_FLAG_IGNORE_PLAYER
@ ENTITY_TYPE_TRUMPET_PLANT
@ ENTITY_TYPE_BELLBELL_PLANT
@ ENTITY_TYPE_SCRIPT_SPRING
@ ENTITY_TYPE_PINK_FLOWER
@ ENTITY_TYPE_HUGE_BLUE_SWITCH
@ ENTITY_TYPE_BLUE_SWITCH
@ ENTITY_TYPE_GREEN_STOMP_SWITCH
@ ENTITY_TYPE_CYMBAL_PLANT
@ ENTITY_TYPE_SIMPLE_SPRING
@ ENTITY_TYPE_SPINNING_FLOWER
@ PA_FLAG_INTERRUPT_USE_PARTNER
forces actions with bow, parakarry, watt, and lakilester to end (sushie not tested)
@ PA_FLAG_OPENED_HIDDEN_PANEL
@ PA_FLAG_FORCED_PARTNER_ABILITY_END
@ ACTION_STATE_TALK
Reading signs doesn't count.
@ ACTION_STATE_HIT_FIRE
Causes Mario to fly up and take damage. Used for fire bars.
@ PARTNER_CMD_INSTA_SWITCH
@ PARTNER_CMD_INSTA_TAKE_OUT
@ PARTNER_CMD_INSTA_PUT_AWAY
@ PARTNER_CMD_USE_ABILITY
@ NPC_FLAG_TOUCHES_GROUND
@ NPC_FLAG_IGNORE_PLAYER_COLLISION
@ NPC_FLAG_COLLDING_FORWARD_WITH_WORLD
@ NPC_FLAG_COLLIDING_WITH_NPC
@ NPC_FLAG_COLLDING_WITH_WORLD
@ EVT_FLAG_RUN_IMMEDIATELY
don't wait for next update_scripts call
Worker * get_worker(s32 idx)
b32 npc_raycast_down_around(s32, f32 *, f32 *, f32 *, f32 *, f32, f32)
void disable_npc_blur(Npc *npc)
void sort_consumables(void)
Bubbles up player inventory items such that all ITEM_NONE values are at the bottom.
s32 disable_player_input(void)
s32 get_collider_flags(s32 colliderID)
s32 suspend_all_script(s32 id)
u32 dma_copy(Addr romStart, Addr romEnd, void *vramDest)
void enable_npc_blur(Npc *npc)
s32 enable_player_input(void)
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by)
f32 player_get_side_angle(void)
u32 get_entity_type(s32 arg0)
s32 is_starting_conversation(void)
Evt * start_script(EvtScript *source, s32 priority, s32 initialState)
b32 npc_test_move_taller_with_slipping(s32, f32 *, f32 *, f32 *, f32, f32, f32, f32)
b32 npc_raycast_up(s32, f32 *, f32 *, f32 *, f32 *)
void kill_script_by_ID(s32 id)
s32 resume_all_script(s32 id)
s32 does_script_exist(s32 id)
void set_time_freeze_mode(s32)
Time freeze modes: 0: none 1: NPCs move, can't be interacted with 2: NPCs don't move,...
s32 create_worker_frontUI(void(*updateFunc)(void), void(*drawFunc)(void))
void add_vec2D_polar(f32 *x, f32 *y, f32 r, f32 theta)
f32 get_clamped_angle_diff(f32, f32)
EvtScript EVS_WorldGoombaria_UseAbility
EvtScript EVS_WorldGoombaria_Update
EvtScript EVS_WorldGoombaria_TakeOut
EvtScript EVS_WorldGoombaria_PutAway
void world_goombaria_init(Npc *partner)
s32 world_goombario_can_open_menus(Npc *partner)
void world_goombario_init(Npc *partner)
void world_goombario_pre_battle(Npc *partner)
void world_goompa_init(Npc *partner)
s32 world_kooper_test_first_strike(Npc *, Npc *)
void world_kooper_init(Npc *)
void world_kooper_post_battle(Npc *)
void world_kooper_pre_battle(Npc *)
void world_lakilester_init(Npc *)
void world_lakilester_pre_battle(Npc *)
void world_lakilester_post_battle(Npc *)
s32 npc_try_snap_to_ground(Npc *npc, f32 velocity)
s32 create_basic_npc(NpcBlueprint *blueprint)
void npc_surface_spawn_fx(Npc *npc, SurfaceInteractMode mode)
void free_npc_by_index(s32 listIndex)
void npc_do_world_collision(Npc *npc)
Npc * get_npc_by_index(s32 listIndex)
void npc_move_heading(Npc *npc, f32 speed, f32 yaw)
void world_parakarry_init(Npc *)
void world_parakarry_post_battle(Npc *)
void world_parakarry_pre_battle(Npc *)
BSS PlayerPathElement gPlayerMoveHistory[40]
HudScript HES_BombetteDisabled
void partner_init_after_battle(s32 partnerID)
s32 partner_can_use_ability(void)
BSS s32 gPlayerMoveHistoryIndex
s32 func_800EA52C(s32 partnerID)
HudScript HES_StatusDigit6
s32 partner_init_get_out(Npc *npc)
HudScript HES_StatusSPIncrement6
HudScript * TimesHudScript
HudScript HES_StatusDigit1
void partner_walking_follow_player(Npc *partner)
HudScript * wDisabledPartnerHudScripts[]
void switch_to_partner(s32 partnerID)
HudScript * SlashHudScript
void partner_reset_data(void)
UseItemStruct UseItemDmaArgs
s32 func_800EA4B0(s32 collisionID)
PartnerAnimations gPartnerAnimations[]
HudScript HES_StatusSPIncrement4
void partner_disable_input(void)
HudScript HES_StatusStar1
HudScript HES_StatusSPIncrement3
HudScript HES_PartnerADisabled
HudScript HES_StatusDigit8
void partner_resume_ability_script(void)
PartnerStatus gPartnerStatus
void partner_walking_update_motion(Npc *partner)
HudScript HES_BowDisabled
void partner_clear_player_tracking(Npc *partner)
void partner_flying_update_player_tracking(Npc *partner)
HudScript HES_LakilesterDisabled
HudScript * DigitHudScripts[]
HudScript * wPartnerHudScripts[]
HudScript HES_StatusDigit3
HudScript * SPStarHudScripts[]
HudScript HES_StatusDigit5
HudScript HES_StatusDigit2
HudScript HES_StatusDigit7
HudScript HES_SushieDisabled
void partner_walking_update_player_tracking(Npc *partner)
HudScript * SPIncrementHudScripts[]
BSS s32 PartnerCommandState
void func_800EA5B8(Npc *partner)
HudScript HES_KooperDisabled
HudScript HES_GoombarioDisabled
void partner_kill_ability_script(void)
void create_partner_npc(void)
void partner_free_npc(void)
s32 partner_is_flying(void)
HudScript HES_StatusStar2
HudScript HES_ParakarryDisabled
HudScript HES_StatusDigit9
HudScript HES_StatusStar3
void partner_enable_input(void)
s32 StatusBarSPIncrementOffsets[]
s32 partner_init_put_away(Npc *partner)
s32 partner_use_ability(void)
HudScript HES_StatusSlash
BSS s32 wPartnerCurrentScriptID
HudScript HES_StatusSPIncrement7
s32 partner_test_enemy_collision(Npc *enemy)
BSS s32 NextPartnerCommand
void enable_partner_ai(void)
s32 use_consumable(s32 invSlot)
BSS Evt * wPartnerCurrentScript
void func_800EF414(s32 posX, s32 posZ)
s32 partner_put_away(Npc *partner)
HudScript HES_Partner0Disabled
void partner_flying_follow_player(Npc *)
HudScript HES_WattDisabled
HudScript HES_StatusTimes
BSS s16 wPartnerFollowState
s32 partner_force_player_flip_done(void)
s32 partner_can_open_world_menus(void)
void partner_flying_update_motion(Npc *partner)
BSS s32 wCurrentPartnerId
s32 world_partner_can_open_menus_default(Npc *partner)
EvtScript * partner_get_enter_map_script(void)
HudScript HES_StatusStar7
void remove_consumable(void)
BSS WorldPartner * wPartner
HudScript HES_StatusStar5
HudScript HES_StatusSPIncrement5
void partner_handle_before_battle(void)
s32 partner_get_out(Npc *partner)
HudScript HES_StatusSPIncrement2
void partner_walking_enable(Npc *partner, s32 val)
void partner_flying_enable(Npc *partner, s32 val)
BSS f32 wPartnerTetherDistance
void _use_partner_ability(void)
void func_800EB2A4(s32 partnerID)
void partner_handle_after_battle(void)
void partner_set_tether_distance(f32 dist)
HudScript HES_StatusStar6
void func_800EF3D4(s32 arg0)
s32 partner_is_idle(Npc *partner)
void partner_reset_tether_distance(void)
void partner_do_player_collision(Npc *partner)
void partner_suspend_ability_script(void)
HudScript HES_StatusStar4
HudScript HES_StatusDigit0
HudScript HES_StatusDigit4
void partner_move_to_goal(Npc *, s32)
EvtScript EVS_World_UseItem
HudScript HES_StatusSPIncrement1
void partner_set_goal_pos(s32 x, s32 z)
void partner_initialize_data(void)
PartnerBoolFunc canUseAbility
PartnerTesHitFunc testFirstStrike
PartnerBoolFunc canPlayerOpenMenus
void sfx_play_sound(s32 soundID)
#define NPC_DISPOSE_POS_Z
#define NPC_DISPOSE_POS_X
#define COLLISION_WITH_ENTITY_BIT
#define NPC_DISPOSE_POS_Y
void(* onRender)(struct Npc *)
void(* onUpdate)(struct Npc *)
void world_sushie_pre_battle(Npc *)
void world_sushie_init(Npc *)
void world_sushie_post_battle(Npc *)
void world_twink_init(Npc *partner)
Entity * TweesterTouchingPartner
PlayerStatus * gPlayerStatusPtr
GameStatus * gGameStatusPtr
s32 NpcHitQueryColliderID
PlayerStatus gPlayerStatus
void world_watt_init(Npc *)
void world_watt_pre_battle(Npc *)
void world_watt_post_battle(Npc *)
EvtScript EVS_WorldBombette_TakeOut
EvtScript EVS_WorldBombette_Update
EvtScript EVS_WorldBombette_PutAway
EvtScript EVS_WorldBombette_UseAbility
EvtScript EVS_WorldBow_Update
EvtScript EVS_WorldBow_PutAway
EvtScript EVS_WorldBow_TakeOut
EvtScript EVS_WorldBow_UseAbility
EvtScript EVS_WorldGoombario_UseAbility
EvtScript EVS_WorldGoombario_TakeOut
EvtScript EVS_WorldGoombario_Update
EvtScript EVS_WorldGoombario_PutAway
EvtScript EVS_WorldGoompa_TakeOut
EvtScript EVS_WorldGoompa_PutAway
EvtScript EVS_WorldGoompa_UseAbility
EvtScript EVS_WorldGoompa_Update
EvtScript EVS_WorldKooper_TakeOut
EvtScript EVS_WorldKooper_UseAbility
EvtScript EVS_WorldKooper_Update
EvtScript EVS_WorldKooper_PutAway
EvtScript EVS_WorldLakilester_PutAway
EvtScript EVS_WorldLakilester_TakeOut
EvtScript EVS_WorldLakilester_UseAbility
EvtScript EVS_WorldLakilester_Update
EvtScript EVS_WorldLakilester_EnterMap
EvtScript EVS_WorldParakarry_UseAbility
EvtScript EVS_WorldParakarry_PutAway
EvtScript EVS_WorldParakarry_Update
EvtScript EVS_WorldParakarry_TakeOut
EvtScript EVS_WorldSushie_PutAway
EvtScript EVS_WorldSushie_EnterMap
EvtScript EVS_WorldSushie_TakeOut
EvtScript EVS_WorldSushie_UseAbility
EvtScript EVS_WorldSushie_Update
EvtScript EVS_WorldTwink_TakeOut
EvtScript EVS_WorldTwink_UseAbility
EvtScript EVS_WorldTwink_PutAway
EvtScript EVS_WorldTwink_Update
EvtScript EVS_WorldWatt_PutAway
EvtScript EVS_WorldWatt_EnterMap
EvtScript EVS_WorldWatt_Update
EvtScript EVS_WorldWatt_UseAbility
EvtScript EVS_WorldWatt_TakeOut