papermario
Decompilation of Paper Mario
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Loading...
Searching...
No Matches
partners.c File Reference

Functions

s32 partner_is_idle (Npc *partner)
 
s32 world_partner_can_open_menus_default (Npc *partner)
 
void _use_partner_ability (void)
 
void partner_flying_follow_player (Npc *)
 
void partner_move_to_goal (Npc *, s32)
 
s32 func_800EA4B0 (s32 collisionID)
 
s32 func_800EA52C (s32 partnerID)
 
s32 partner_is_flying (void)
 
void func_800EA5B8 (Npc *partner)
 
void create_partner_npc (void)
 
void partner_free_npc (void)
 
void switch_to_partner (s32 partnerID)
 
void partner_init_after_battle (s32 partnerID)
 
void func_800EB2A4 (s32 partnerID)
 
s32 partner_use_ability (void)
 
s32 partner_can_open_world_menus (void)
 
s32 partner_can_use_ability (void)
 
void partner_reset_data (void)
 
void partner_initialize_data (void)
 
s32 partner_test_enemy_collision (Npc *enemy)
 
EvtScriptpartner_get_enter_map_script (void)
 
void partner_handle_before_battle (void)
 
void partner_handle_after_battle (void)
 
void partner_kill_ability_script (void)
 
void partner_suspend_ability_script (void)
 
void partner_resume_ability_script (void)
 
void partner_walking_enable (Npc *partner, s32 val)
 
void partner_walking_update_player_tracking (Npc *partner)
 
void partner_walking_update_motion (Npc *partner)
 
void partner_walking_follow_player (Npc *partner)
 
void partner_flying_enable (Npc *partner, s32 val)
 
void partner_flying_update_player_tracking (Npc *partner)
 
void partner_flying_update_motion (Npc *partner)
 
s32 partner_init_put_away (Npc *partner)
 
s32 partner_put_away (Npc *partner)
 
s32 partner_init_get_out (Npc *npc)
 
s32 partner_get_out (Npc *partner)
 
void func_800EF300 (void)
 
void func_800EF314 (void)
 
void enable_partner_ai (void)
 
void partner_set_tether_distance (f32 dist)
 
void partner_reset_tether_distance (void)
 
void partner_set_goal_pos (s32 x, s32 z)
 
void func_800EF3D4 (s32 arg0)
 
void func_800EF3E4 (void)
 
void func_800EF414 (s32 posX, s32 posZ)
 
void func_800EF43C (void)
 
void partner_clear_player_tracking (Npc *partner)
 
s32 partner_force_player_flip_done (void)
 
void partner_enable_input (void)
 
void partner_disable_input (void)
 
void partner_do_player_collision (Npc *partner)
 

Variables

PartnerStatus gPartnerStatus
 
NpcwPartnerNpc
 
BSS s32 PartnerCommandState
 
BSS PlayerPathElement gPlayerMoveHistory [40]
 
BSS s32 gPlayerMoveHistoryIndex
 
BSS s32 D_8010CFBC
 
BSS f32 wPartnerTetherDistance
 
BSS s32 D_8010CFC4
 
BSS s16 wPartnerFollowState
 
BSS s16 D_8010CFCA
 
BSS s16 D_8010CFCC
 
BSS s16 D_8010CFCE
 
BSS s32 wPartnerNpcIndex
 
BSS EvtwPartnerCurrentScript
 
BSS s32 wCurrentPartnerId
 
BSS s32 wPartnerCurrentScriptID
 
BSS s32 D_8010CFE0
 
BSS s32 NextPartnerID
 
BSS s32 NextPartnerCommand
 
BSS WorldPartnerwPartner
 
HudScript HES_Partner0
 
HudScript HES_Goombario
 
HudScript HES_Kooper
 
HudScript HES_Bombette
 
HudScript HES_Parakarry
 
HudScript HES_Watt
 
HudScript HES_Sushie
 
HudScript HES_Lakilester
 
HudScript HES_Bow
 
HudScript HES_PartnerA
 
HudScript HES_Partner0Disabled
 
HudScript HES_GoombarioDisabled
 
HudScript HES_KooperDisabled
 
HudScript HES_BombetteDisabled
 
HudScript HES_ParakarryDisabled
 
HudScript HES_WattDisabled
 
HudScript HES_SushieDisabled
 
HudScript HES_LakilesterDisabled
 
HudScript HES_BowDisabled
 
HudScript HES_PartnerADisabled
 
HudScript HES_StatusDigit0
 
HudScript HES_StatusDigit1
 
HudScript HES_StatusDigit2
 
HudScript HES_StatusDigit3
 
HudScript HES_StatusDigit4
 
HudScript HES_StatusDigit5
 
HudScript HES_StatusDigit6
 
HudScript HES_StatusDigit7
 
HudScript HES_StatusDigit8
 
HudScript HES_StatusDigit9
 
HudScript HES_StatusTimes
 
HudScript HES_StatusSlash
 
HudScript HES_StatusStar1
 
HudScript HES_StatusStar2
 
HudScript HES_StatusStar3
 
HudScript HES_StatusStar4
 
HudScript HES_StatusStar5
 
HudScript HES_StatusStar6
 
HudScript HES_StatusStar7
 
HudScript HES_StatusSPIncrement1
 
HudScript HES_StatusSPIncrement2
 
HudScript HES_StatusSPIncrement3
 
HudScript HES_StatusSPIncrement4
 
HudScript HES_StatusSPIncrement5
 
HudScript HES_StatusSPIncrement6
 
HudScript HES_StatusSPIncrement7
 
EvtScript EVS_World_UseItem
 
HudScriptwPartnerHudScripts []
 
HudScriptwDisabledPartnerHudScripts []
 
HudScriptDigitHudScripts []
 
HudScriptTimesHudScript = &HES_StatusTimes
 
HudScriptSlashHudScript = &HES_StatusSlash
 
HudScriptSPIncrementHudScripts []
 
HudScriptSPStarHudScripts []
 
s32 StatusBarSPIncrementOffsets [] = { -1, 1, 2, 4, 5, 7, 8, 0, 0, 0 }
 
UseItemStruct UseItemDmaArgs
 
s32 D_800F8020 = 0
 
s32 wPartnerMoveGoalX = 0
 
s32 wPartnerMoveGoalZ = 0
 
s32 wPartnerMoveTime = 0
 
f32 wPartnerMoveSpeed = 0.0f
 
f32 D_800F8034 = 0.0f
 
s16 D_800F8038 = 0
 
s16 D_800F803A = 0
 
WorldPartner wPartners []
 
f32 wSavedPartnerPosX = 0
 
f32 wSavedPartnerPosY = 0
 
f32 wSavedPartnerPosZ = 0
 
PartnerAnimations gPartnerAnimations []
 
f32 D_800F84F8 = 0.0f
 

Function Documentation

◆ _use_partner_ability()

void _use_partner_ability ( void )

◆ create_partner_npc()

void create_partner_npc ( void )

◆ enable_partner_ai()

void enable_partner_ai ( void )

◆ func_800EA4B0()

s32 func_800EA4B0 ( s32 collisionID)

◆ func_800EA52C()

s32 func_800EA52C ( s32 partnerID)

◆ func_800EA5B8()

void func_800EA5B8 ( Npc * partner)

◆ func_800EB2A4()

void func_800EB2A4 ( s32 partnerID)

◆ func_800EF300()

◆ func_800EF314()

void func_800EF314 ( void )

◆ func_800EF3D4()

◆ func_800EF3E4()

void func_800EF3E4 ( void )

Referenced by entity_Chest_idle().

◆ func_800EF414()

void func_800EF414 ( s32 posX,
s32 posZ )

◆ func_800EF43C()

void func_800EF43C ( void )

◆ partner_can_open_world_menus()

s32 partner_can_open_world_menus ( void )

◆ partner_can_use_ability()

s32 partner_can_use_ability ( void )

◆ partner_clear_player_tracking()

◆ partner_disable_input()

◆ partner_do_player_collision()

void partner_do_player_collision ( Npc * partner)

◆ partner_enable_input()

◆ partner_flying_enable()

void partner_flying_enable ( Npc * partner,
s32 val )

Referenced by enable_partner_ai().

◆ partner_flying_follow_player()

void partner_flying_follow_player ( Npc * partner)

◆ partner_flying_update_motion()

void partner_flying_update_motion ( Npc * partner)

◆ partner_flying_update_player_tracking()

void partner_flying_update_player_tracking ( Npc * partner)

◆ partner_force_player_flip_done()

s32 partner_force_player_flip_done ( void )

◆ partner_free_npc()

void partner_free_npc ( void )

Referenced by _use_partner_ability().

◆ partner_get_enter_map_script()

EvtScript * partner_get_enter_map_script ( void )

◆ partner_get_out()

s32 partner_get_out ( Npc * partner)
Bug
? collider flags not properly masked with COLLIDER_FLAG_SURFACE_TYPE

◆ partner_handle_after_battle()

void partner_handle_after_battle ( void )

◆ partner_handle_before_battle()

void partner_handle_before_battle ( void )

◆ partner_init_after_battle()

void partner_init_after_battle ( s32 partnerID)

Referenced by state_step_end_battle().

◆ partner_init_get_out()

s32 partner_init_get_out ( Npc * npc)

◆ partner_init_put_away()

s32 partner_init_put_away ( Npc * partner)

◆ partner_initialize_data()

void partner_initialize_data ( void )

Referenced by state_step_startup().

◆ partner_is_flying()

s32 partner_is_flying ( void )

◆ partner_is_idle()

s32 partner_is_idle ( Npc * partner)

◆ partner_kill_ability_script()

void partner_kill_ability_script ( void )

◆ partner_move_to_goal()

void partner_move_to_goal ( Npc * partner,
s32 isFlying )

◆ partner_put_away()

s32 partner_put_away ( Npc * partner)

◆ partner_reset_data()

void partner_reset_data ( void )

Referenced by load_map_by_IDs().

◆ partner_reset_tether_distance()

void partner_reset_tether_distance ( void )

◆ partner_resume_ability_script()

void partner_resume_ability_script ( void )

◆ partner_set_goal_pos()

void partner_set_goal_pos ( s32 x,
s32 z )

Referenced by func_800EF414().

◆ partner_set_tether_distance()

void partner_set_tether_distance ( f32 dist)

◆ partner_suspend_ability_script()

void partner_suspend_ability_script ( void )

◆ partner_test_enemy_collision()

s32 partner_test_enemy_collision ( Npc * enemy)

◆ partner_use_ability()

s32 partner_use_ability ( void )

◆ partner_walking_enable()

void partner_walking_enable ( Npc * partner,
s32 val )

Referenced by enable_partner_ai().

◆ partner_walking_follow_player()

void partner_walking_follow_player ( Npc * partner)

◆ partner_walking_update_motion()

void partner_walking_update_motion ( Npc * partner)

◆ partner_walking_update_player_tracking()

void partner_walking_update_player_tracking ( Npc * partner)

◆ switch_to_partner()

void switch_to_partner ( s32 partnerID)

Referenced by check_input_open_menus().

◆ world_partner_can_open_menus_default()

s32 world_partner_can_open_menus_default ( Npc * partner)

Variable Documentation

◆ D_800F8020

s32 D_800F8020 = 0

◆ D_800F8034

◆ D_800F8038

s16 D_800F8038 = 0

◆ D_800F803A

s16 D_800F803A = 0

◆ D_800F84F8

f32 D_800F84F8 = 0.0f

◆ D_8010CFBC

◆ D_8010CFC4

◆ D_8010CFCA

◆ D_8010CFCC

BSS s16 D_8010CFCC

◆ D_8010CFCE

◆ D_8010CFE0

◆ DigitHudScripts

HudScript* DigitHudScripts[]
Initial value:
= {
}
HudScript HES_StatusDigit6
Definition global_hud_scripts.c:1990
HudScript HES_StatusDigit1
Definition global_hud_scripts.c:1980
HudScript HES_StatusDigit8
Definition global_hud_scripts.c:1994
HudScript HES_StatusDigit3
Definition global_hud_scripts.c:1984
HudScript HES_StatusDigit5
Definition global_hud_scripts.c:1988
HudScript HES_StatusDigit2
Definition global_hud_scripts.c:1982
HudScript HES_StatusDigit7
Definition global_hud_scripts.c:1992
HudScript HES_StatusDigit9
Definition global_hud_scripts.c:1996
HudScript HES_StatusDigit0
Definition global_hud_scripts.c:1978
HudScript HES_StatusDigit4
Definition global_hud_scripts.c:1986

Referenced by status_bar_draw_number(), and status_bar_draw_stat().

◆ EVS_World_UseItem

EvtScript EVS_World_UseItem
extern

◆ gPartnerAnimations

◆ gPartnerStatus

PartnerStatus gPartnerStatus

Referenced by _use_partner_ability(), action_update_ride(), basic_ai_check_player_dist(), can_open_menus(), can_open_menus(), can_open_world_menu(), can_trigger_loading_zone(), can_use_ability(), check_conversation_trigger(), check_input_hammer(), check_input_open_menus(), check_player_action_debug(), CleftAI_CanSeePlayer(), ClubbaNappingAI_Sleep(), end_outta_sight_cleanup(), entity_CymbalPlant_idle(), entity_small_switch_idle(), entity_Tweester_idle(), get_movement_from_input(), get_overriding_player_anim(), is_player_dismounted(), ispy_notification_update(), MagikoopaAI_CanShootSpell(), MeleeHitbox_CanSeePlayer(), npc_do_other_npc_collision(), partner_disable_input(), partner_enable_input(), partner_flying_update_motion(), partner_handle_after_battle(), partner_init_after_battle(), partner_initialize_data(), partner_is_idle(), partner_reset_data(), partner_use_ability(), partner_walking_update_motion(), phys_adjust_cam_on_landing(), phys_can_player_interact(), phys_main_collision_below(), phys_update_action_state(), player_handle_floor_collider_type(), post_battle(), post_battle(), post_battle(), post_battle(), pre_battle(), pre_battle(), pre_battle(), pre_battle(), pre_battle(), pre_battle(), pre_battle(), pre_battle(), ProjectileHitbox_GetUsableProjectileID(), reset_outta_sight_alpha_on_menu_close(), SentinelAI_Descend(), SentinelAI_GrabPlayer(), set_action_state(), should_cancel_open_world_menu(), should_cancel_pulse_stone(), ShouldPauseConveyor(), spawn_surface_effects(), sync_held_position(), test_item_player_collision(), update_camera_lead_amount(), update_encounters_neutral(), update_encounters_post_battle(), update_player_blink(), update_riding_physics(), and update_riding_physics().

◆ gPlayerMoveHistory

◆ gPlayerMoveHistoryIndex

◆ HES_Bombette

HudScript HES_Bombette
extern

◆ HES_BombetteDisabled

HudScript HES_BombetteDisabled
extern

◆ HES_Bow

HudScript HES_Bow
extern

◆ HES_BowDisabled

HudScript HES_BowDisabled
extern

◆ HES_Goombario

HudScript HES_Goombario
extern

◆ HES_GoombarioDisabled

HudScript HES_GoombarioDisabled
extern

◆ HES_Kooper

HudScript HES_Kooper
extern

◆ HES_KooperDisabled

HudScript HES_KooperDisabled
extern

◆ HES_Lakilester

HudScript HES_Lakilester
extern

◆ HES_LakilesterDisabled

HudScript HES_LakilesterDisabled
extern

◆ HES_Parakarry

HudScript HES_Parakarry
extern

◆ HES_ParakarryDisabled

HudScript HES_ParakarryDisabled
extern

◆ HES_Partner0

HudScript HES_Partner0
extern

◆ HES_Partner0Disabled

HudScript HES_Partner0Disabled
extern

◆ HES_PartnerA

HudScript HES_PartnerA
extern

◆ HES_PartnerADisabled

HudScript HES_PartnerADisabled
extern

◆ HES_StatusDigit0

HudScript HES_StatusDigit0
extern

◆ HES_StatusDigit1

HudScript HES_StatusDigit1
extern

◆ HES_StatusDigit2

HudScript HES_StatusDigit2
extern

◆ HES_StatusDigit3

HudScript HES_StatusDigit3
extern

◆ HES_StatusDigit4

HudScript HES_StatusDigit4
extern

◆ HES_StatusDigit5

HudScript HES_StatusDigit5
extern

◆ HES_StatusDigit6

HudScript HES_StatusDigit6
extern

◆ HES_StatusDigit7

HudScript HES_StatusDigit7
extern

◆ HES_StatusDigit8

HudScript HES_StatusDigit8
extern

◆ HES_StatusDigit9

HudScript HES_StatusDigit9
extern

◆ HES_StatusSlash

HudScript HES_StatusSlash
extern

◆ HES_StatusSPIncrement1

HudScript HES_StatusSPIncrement1
extern

◆ HES_StatusSPIncrement2

HudScript HES_StatusSPIncrement2
extern

◆ HES_StatusSPIncrement3

HudScript HES_StatusSPIncrement3
extern

◆ HES_StatusSPIncrement4

HudScript HES_StatusSPIncrement4
extern

◆ HES_StatusSPIncrement5

HudScript HES_StatusSPIncrement5
extern

◆ HES_StatusSPIncrement6

HudScript HES_StatusSPIncrement6
extern

◆ HES_StatusSPIncrement7

HudScript HES_StatusSPIncrement7
extern

◆ HES_StatusStar1

HudScript HES_StatusStar1
extern

◆ HES_StatusStar2

HudScript HES_StatusStar2
extern

◆ HES_StatusStar3

HudScript HES_StatusStar3
extern

◆ HES_StatusStar4

HudScript HES_StatusStar4
extern

◆ HES_StatusStar5

HudScript HES_StatusStar5
extern

◆ HES_StatusStar6

HudScript HES_StatusStar6
extern

◆ HES_StatusStar7

HudScript HES_StatusStar7
extern

◆ HES_StatusTimes

HudScript HES_StatusTimes
extern

◆ HES_Sushie

HudScript HES_Sushie
extern

◆ HES_SushieDisabled

HudScript HES_SushieDisabled
extern

◆ HES_Watt

HudScript HES_Watt
extern

◆ HES_WattDisabled

HudScript HES_WattDisabled
extern

◆ NextPartnerCommand

◆ NextPartnerID

◆ PartnerCommandState

BSS s32 PartnerCommandState

Referenced by _use_partner_ability().

◆ SlashHudScript

HudScript* SlashHudScript = &HES_StatusSlash

Referenced by status_bar_draw_stat().

◆ SPIncrementHudScripts

HudScript* SPIncrementHudScripts[]
Initial value:
= {
}
HudScript HES_StatusSPIncrement6
Definition global_hud_scripts.c:2023
HudScript HES_StatusSPIncrement4
Definition global_hud_scripts.c:2019
HudScript HES_StatusSPIncrement3
Definition global_hud_scripts.c:2017
HudScript HES_StatusSPIncrement7
Definition global_hud_scripts.c:2025
HudScript HES_StatusSPIncrement5
Definition global_hud_scripts.c:2021
HudScript HES_StatusSPIncrement2
Definition global_hud_scripts.c:2015
HudScript HES_StatusSPIncrement1
Definition global_hud_scripts.c:2013

Referenced by update_status_bar().

◆ SPStarHudScripts

HudScript* SPStarHudScripts[]
Initial value:
}
HudScript HES_StatusStar1
Definition global_hud_scripts.c:2029
HudScript HES_StatusStar2
Definition global_hud_scripts.c:2031
HudScript HES_StatusStar3
Definition global_hud_scripts.c:2033
HudScript HES_StatusStar7
Definition global_hud_scripts.c:2041
HudScript HES_StatusStar5
Definition global_hud_scripts.c:2037
HudScript HES_StatusStar6
Definition global_hud_scripts.c:2039
HudScript HES_StatusStar4
Definition global_hud_scripts.c:2035

Referenced by update_status_bar().

◆ StatusBarSPIncrementOffsets

s32 StatusBarSPIncrementOffsets[] = { -1, 1, 2, 4, 5, 7, 8, 0, 0, 0 }

Referenced by update_status_bar().

◆ TimesHudScript

HudScript* TimesHudScript = &HES_StatusTimes

Referenced by status_bar_draw_number().

◆ UseItemDmaArgs

UseItemStruct UseItemDmaArgs
Initial value:
= {
world_use_item_ROM_START,
world_use_item_ROM_END,
0
}
EvtScript EVS_World_UseItem
Definition world_use_item.c:154

Referenced by use_consumable().

◆ wCurrentPartnerId

◆ wDisabledPartnerHudScripts

HudScript* wDisabledPartnerHudScripts[]
Initial value:
= {
}
HudScript HES_BombetteDisabled
Definition global_hud_scripts.c:1940
HudScript HES_PartnerADisabled
Definition global_hud_scripts.c:1968
HudScript HES_BowDisabled
Definition global_hud_scripts.c:1948
HudScript HES_LakilesterDisabled
Definition global_hud_scripts.c:1960
HudScript HES_SushieDisabled
Definition global_hud_scripts.c:1956
HudScript HES_KooperDisabled
Definition global_hud_scripts.c:1936
HudScript HES_GoombarioDisabled
Definition global_hud_scripts.c:1932
HudScript HES_ParakarryDisabled
Definition global_hud_scripts.c:1944
HudScript HES_Partner0Disabled
Definition global_hud_scripts.c:1928
HudScript HES_WattDisabled
Definition global_hud_scripts.c:1952

Referenced by setup_partner_popup().

◆ wPartner

◆ wPartnerCurrentScript

BSS Evt* wPartnerCurrentScript

◆ wPartnerCurrentScriptID

◆ wPartnerFollowState

◆ wPartnerHudScripts

HudScript* wPartnerHudScripts[]
Initial value:
= {
}
HudScript HES_Parakarry
Definition global_hud_scripts.c:1942
HudScript HES_Sushie
Definition global_hud_scripts.c:1954
HudScript HES_Partner0
Definition global_hud_scripts.c:1926
HudScript HES_PartnerA
Definition global_hud_scripts.c:1966
HudScript HES_Kooper
Definition global_hud_scripts.c:1934
HudScript HES_Watt
Definition global_hud_scripts.c:1950
HudScript HES_Lakilester
Definition global_hud_scripts.c:1958
HudScript HES_Bow
Definition global_hud_scripts.c:1946
HudScript HES_Bombette
Definition global_hud_scripts.c:1938
HudScript HES_Goombario
Definition global_hud_scripts.c:1930

Referenced by setup_partner_popup().

◆ wPartnerMoveGoalX

s32 wPartnerMoveGoalX = 0

◆ wPartnerMoveGoalZ

s32 wPartnerMoveGoalZ = 0

◆ wPartnerMoveSpeed

◆ wPartnerMoveTime

◆ wPartnerNpc

◆ wPartnerNpcIndex

BSS s32 wPartnerNpcIndex

◆ wPartners

WorldPartner wPartners[]

Referenced by create_partner_npc().

◆ wPartnerTetherDistance

◆ wSavedPartnerPosX

◆ wSavedPartnerPosY

◆ wSavedPartnerPosZ