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

Macros

#define PAL_ANIM_END   0xFF
 
#define RGBA_BUF_SIZE   20
 

Enumerations

enum  PalSwapState { PAL_SWAP_HOLD_A = 0 , PAL_SWAP_A_TO_B = 1 , PAL_SWAP_HOLD_B = 2 , PAL_SWAP_B_TO_A = 3 }
 
enum  { WATT_DEFAULT = 0 , WATT_BRIGHTEST = 1 , WATT_BRIGHTER = 2 }
 

Functions

void STUB_npc_callback (Npc *npc)
 The default Npc::onUpdate and Npc::onRender callback.
 
void mtx_ident_mirror_y (Matrix4f mtx)
 
void clear_npcs (void)
 
void init_npc_list (void)
 Points the current NPC list to the world or battle lists depending on game state.
 
void npc_iter_no_op (void)
 Iterates over the NPC list, doing absolutely nothing.
 
s32 create_npc_impl (NpcBlueprint *blueprint, AnimID *animList, s32 isPeachNpc)
 
s32 create_basic_npc (NpcBlueprint *blueprint)
 
s32 create_standard_npc (NpcBlueprint *blueprint, AnimID *animList)
 
s32 create_peach_npc (NpcBlueprint *blueprint)
 
void free_npc_by_index (s32 listIndex)
 
void free_npc (Npc *npc)
 
Npcget_npc_by_index (s32 listIndex)
 
void npc_do_world_collision (Npc *npc)
 
void npc_do_other_npc_collision (Npc *npc)
 
s32 npc_do_player_collision (Npc *npc)
 
void npc_try_apply_gravity (Npc *npc)
 
s32 npc_try_snap_to_ground (Npc *npc, f32 velocity)
 
void update_npcs (void)
 Updates all NPCs.
 
f32 npc_get_render_yaw (Npc *npc)
 
void appendGfx_npc (void *data)
 
void render_npcs (void)
 Renders all NPCs.
 
void npc_move_heading (Npc *npc, f32 speed, f32 yaw)
 
Npcget_npc_unsafe (s32 npcID)
 
Npcget_npc_safe (s32 npcID)
 
void enable_npc_shadow (Npc *npc)
 
void disable_npc_shadow (Npc *npc)
 
void set_npc_sprite (Npc *npc, s32 anim, AnimID *extraAnimList)
 
void enable_npc_blur (Npc *npc)
 
void disable_npc_blur (Npc *npc)
 
void update_npc_blur (Npc *npc)
 
void appendGfx_npc_blur (void *data)
 
void npc_enable_collisions (void)
 
void npc_disable_collisions (void)
 
void func_8003B1A8 (void)
 
void npc_reload_all (void)
 
void set_npc_yaw (Npc *npc, f32 yaw)
 
void npc_set_palswap_mode_A (Npc *npc, s32 mode)
 
void npc_set_palswap_mode_B (Npc *npc, s32 mode)
 
void npc_revert_palswap_mode (Npc *npc)
 
void npc_set_palswap_1 (Npc *npc, s32 palIndexA, s32 palIndexB, s32 timeHoldA, s32 timeAB)
 
void npc_set_palswap_2 (Npc *npc, s32 timeHoldB, s32 timeBA, s32 palIndexC, s32 palIndexD)
 
void npc_draw_with_palswap (Npc *npc, s32 yaw, Matrix4f mtx)
 
void npc_render_without_adjusted_palettes (Npc *npc, s32 arg1, Matrix4f mtx)
 
s32 npc_render_with_watt_idle_palettes (Npc *npc, s32 arg1, Matrix4f mtx)
 
u16 npc_blend_palette_colors (u16 colorA, u16 colorB, s32 lerpAlpha)
 
s32 npc_render_with_single_pal_blending (Npc *npc, s32 yaw, b32 hasDifferentIntervals, Matrix4f mtx)
 
s32 npc_render_with_double_pal_blending (Npc *npc, s32 yaw, Matrix4f mtx)
 
void npc_set_decoration (Npc *npc, s32 idx, s32 decorationType)
 
void npc_remove_decoration (Npc *npc, s32 idx)
 
s32 npc_update_decorations (Npc *npc)
 
void npc_remove_decoration_impl (Npc *npc, s32 idx)
 
void npc_reset_current_decoration (Npc *npc, s32 idx)
 
void npc_update_decoration_none (Npc *npc, s32 idx)
 
void npc_remove_decoration_none (Npc *npc, s32 idx)
 
void npc_update_decoration_bowser_aura (Npc *npc, s32 idx)
 
void npc_remove_decoration_bowser_aura (Npc *npc, s32 idx)
 
void npc_update_decoration_sweat (Npc *npc, s32 idx)
 
void npc_remove_decoration_sweat (Npc *npc, s32 idx)
 
void npc_update_decoration_seeing_stars (Npc *npc, s32 idx)
 
void npc_remove_decoration_seeing_stars (Npc *npc, s32 idx)
 
void npc_update_decoration_glow_in_front (Npc *npc, s32 idx)
 
void npc_remove_decoration_glow_in_front (Npc *npc, s32 idx)
 
void npc_update_decoration_glow_behind (Npc *npc, s32 idx)
 
void npc_remove_decoration_glow_behind (Npc *npc, s32 idx)
 
void npc_update_decoration_charged (Npc *npc, s32 idx)
 
void npc_remove_decoration_charged (Npc *npc, s32 idx)
 
void npc__reset_current_decoration (Npc *npc, s32 idx)
 
Npcnpc_find_closest (f32 x, f32 y, f32 z, f32 radius)
 Finds the closest NPC to a given point within a radius.
 
Npcnpc_find_closest_simple (f32 x, f32 y, f32 z, f32 radius)
 Finds the closest simple-hitbox NPC to a given point within a radius.
 
s32 npc_find_standing_on_entity (s32 entityIndex)
 
s32 npc_get_collider_below (Npc *npc)
 
void npc_imgfx_update (Npc *npc)
 
void npc_set_imgfx_params (Npc *npc, s32 imgfxType, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
 
void spawn_surface_effects (Npc *npc, SurfaceInteractMode mode)
 
void spawn_default_surface_effects (Npc *npc, SurfaceInteractMode mode)
 
void spawn_flower_surface_effects (Npc *npc, SurfaceInteractMode mode)
 
void spawn_cloud_surface_effects (Npc *npc, SurfaceInteractMode mode)
 
void spawn_snow_surface_effects (Npc *npc, SurfaceInteractMode mode)
 
void spawn_hedge_surface_effects (Npc *npc, SurfaceInteractMode mode)
 
void spawn_water_surface_effects (Npc *npc, SurfaceInteractMode mode)
 
void COPY_set_defeated (s32 mapID, s32 encounterID)
 Duplicate of set_defeated().
 
void init_encounter_status (void)
 
void clear_encounter_status (void)
 
void func_8003E50C (void)
 
void func_8003E514 (s8 arg0)
 
void update_encounters (void)
 
void draw_encounter_ui (void)
 
void draw_first_strike_ui (void)
 
void npc_render_worker_do_nothing (void)
 
void make_npcs (s32 flags, s32 mapID, s32 *npcGroupList)
 
s32 kill_encounter (Enemy *enemy)
 
void kill_enemy (Enemy *enemy)
 
s32 bind_enemy_ai (Enemy *enemy, EvtScript *aiScriptBytecode)
 Binds the specified ai script to the specified enemy.
 
s32 bind_enemy_aux (Enemy *enemy, EvtScript *auxScriptBytecode)
 Binds the specified auxillary script to the specified enemy.
 
s32 bind_enemy_interact (Enemy *enemy, EvtScript *interactScriptBytecode)
 Binds the specified interact script to the specified enemy.
 
void bind_npc_ai (s32 npcID, EvtScript *npcAiBytecode)
 Binds the specified ai script to the npc matching the specified npcId.
 
void bind_npc_aux (s32 npcID, EvtScript *npcAuxBytecode)
 Binds the specified auxillary script to the npc matching the specified npcId.
 
void bind_npc_interact (s32 npcID, EvtScript *npcInteractBytecode)
 Binds the specified interact script to the npc matching the specified npcId.
 
Enemyget_enemy (s32 npcID)
 Looks for an enemy matching the specified npcID.
 
Enemyget_enemy_safe (s32 npcID)
 Same as get_enemy(), with the exception of always returning a value if an enemy is not found.
 

Variables

s16 gNpcCount
 
u8 wWattIdlePalettesAnim []
 
s32 D_80077C0C = 0
 
f32 D_80077C10 = 0.0f
 
s16 D_80077C14 = 4
 
s16 D_80077C16 = 0
 
f32 D_80077C18 = 0
 
s16 D_80077C1C = 4
 
s16 D_80077C1E = 5
 
s32 D_80077C20 = 0
 
f32 D_80077C24 = 0.0f
 
s16 D_80077C28 = 4
 
s16 D_80077C2A = 0
 
f32 D_80077C2C = 0.0f
 
s16 D_80077C30 = 4
 
s16 D_80077C32 = 0
 
s32 D_80077C34 = 0
 
s16 D_80077C38 = 4
 
s16 D_80077C3A = 4
 

Macro Definition Documentation

◆ PAL_ANIM_END

#define PAL_ANIM_END   0xFF

◆ RGBA_BUF_SIZE

#define RGBA_BUF_SIZE   20

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WATT_DEFAULT 
WATT_BRIGHTEST 
WATT_BRIGHTER 

◆ PalSwapState

Enumerator
PAL_SWAP_HOLD_A 
PAL_SWAP_A_TO_B 
PAL_SWAP_HOLD_B 
PAL_SWAP_B_TO_A 

Function Documentation

◆ appendGfx_npc()

void appendGfx_npc ( void * data)

Referenced by render_npcs().

◆ appendGfx_npc_blur()

void appendGfx_npc_blur ( void * data)

Referenced by render_npcs().

◆ bind_enemy_ai()

s32 bind_enemy_ai ( Enemy * enemy,
EvtScript * aiScriptBytecode )

Binds the specified ai script to the specified enemy.

Parameters
enemypointer to the enemy to bind the script to
aiScriptBytecodepointer to the script to be bound.

Referenced by bind_npc_ai().

◆ bind_enemy_aux()

s32 bind_enemy_aux ( Enemy * enemy,
EvtScript * auxScriptBytecode )

Binds the specified auxillary script to the specified enemy.

Parameters
enemypointer to the enemy to bind the script to
auxScriptBytecodepointer to the script to be bound.

Referenced by bind_npc_aux().

◆ bind_enemy_interact()

s32 bind_enemy_interact ( Enemy * enemy,
EvtScript * interactScriptBytecode )

Binds the specified interact script to the specified enemy.

Parameters
enemypointer to the enemy to bind the script to
interactScriptBytecodepointer to the script to be bound.

Referenced by bind_npc_interact().

◆ bind_npc_ai()

void bind_npc_ai ( s32 npcID,
EvtScript * npcAiBytecode )

Binds the specified ai script to the npc matching the specified npcId.

Parameters
npcIDID of the desired npc
npcAiBytecodepointer to the script to be bound.

◆ bind_npc_aux()

void bind_npc_aux ( s32 npcID,
EvtScript * npcAuxBytecode )

Binds the specified auxillary script to the npc matching the specified npcId.

Parameters
npcIDID of the desired npc
npcAuxBytecodepointer to the script to be bound.

◆ bind_npc_interact()

void bind_npc_interact ( s32 npcID,
EvtScript * npcInteractBytecode )

Binds the specified interact script to the npc matching the specified npcId.

Parameters
npcIDID of the desired npc
npcInteractBytecodepointer to the script to be bound.

◆ clear_encounter_status()

void clear_encounter_status ( void )

◆ clear_npcs()

◆ COPY_set_defeated()

void COPY_set_defeated ( s32 mapID,
s32 encounterID )

Duplicate of set_defeated().

Referenced by kill_enemy().

◆ create_basic_npc()

s32 create_basic_npc ( NpcBlueprint * blueprint)

Referenced by create_partner_npc().

◆ create_npc_impl()

s32 create_npc_impl ( NpcBlueprint * blueprint,
AnimID * animList,
s32 isPeachNpc )

◆ create_peach_npc()

s32 create_peach_npc ( NpcBlueprint * blueprint)

Referenced by create_encounters().

◆ create_standard_npc()

s32 create_standard_npc ( NpcBlueprint * blueprint,
AnimID * animList )

◆ disable_npc_blur()

void disable_npc_blur ( Npc * npc)

◆ disable_npc_shadow()

◆ draw_encounter_ui()

void draw_encounter_ui ( void )

◆ draw_first_strike_ui()

void draw_first_strike_ui ( void )

Referenced by state_world_draw_aux_ui().

◆ enable_npc_blur()

void enable_npc_blur ( Npc * npc)

Referenced by partner_put_away().

◆ enable_npc_shadow()

void enable_npc_shadow ( Npc * npc)

◆ free_npc()

void free_npc ( Npc * npc)

Referenced by kill_enemy().

◆ free_npc_by_index()

void free_npc_by_index ( s32 listIndex)

◆ func_8003B1A8()

void func_8003B1A8 ( void )

◆ func_8003E50C()

void func_8003E50C ( void )

◆ func_8003E514()

void func_8003E514 ( s8 arg0)

◆ get_enemy()

Enemy * get_enemy ( s32 npcID)

Looks for an enemy matching the specified npcID.

Parameters
npcIDID of the npc bound to the desired enemy.
Returns
pointer to Enemy struct, if one is found. If one is not found, a panic occurs.

Referenced by ai_enemy_play_sound(), appendGfx_score_display(), FlyingMagikoopaAI_23(), LakituAI_GetAvailableSpiny(), MagikoopaAI_23(), MagikoopaAI_CanShootSpell(), MeleeHitbox_CanSeePlayer(), ProjectileHitbox_30(), ProjectileHitbox_32(), ProjectileHitbox_GetUsableProjectileID(), SentinelAI_DescendInit(), set_npc_animation(), and UnkNpcAIFunc48().

◆ get_enemy_safe()

Enemy * get_enemy_safe ( s32 npcID)

Same as get_enemy(), with the exception of always returning a value if an enemy is not found.

Parameters
npcIDID of the npc bound to the desired enemy.
Returns
pointer to Enemy struct, if one is found. Otherwise, NULL.

◆ get_npc_by_index()

◆ get_npc_safe()

◆ get_npc_unsafe()

Npc * get_npc_unsafe ( s32 npcID)

Referenced by ai_check_player_dist(), ai_suspend_for_time(), ai_try_set_state(), AvoidPlayerAI_Chase(), AvoidPlayerAI_ChaseInit(), AvoidPlayerAI_LosePlayer(), basic_ai_chase(), basic_ai_chase_init(), basic_ai_check_player_dist(), basic_ai_found_player_jump(), basic_ai_found_player_jump_init(), basic_ai_loiter(), basic_ai_loiter_init(), basic_ai_lose_player(), basic_ai_suspend(), basic_ai_wander(), basic_ai_wander_init(), BooPatrolAI_Loiter(), BooPatrolAI_Move(), can_dismount(), check_conversation_trigger(), CleftAI_Ambush(), CleftAI_CanSeePlayer(), CleftAI_Disguise(), CleftAI_DisguiseInit(), CleftAI_FindPlayer(), CleftAI_FindPlayerInit(), CleftAI_Hiding(), CleftAI_HidingInit(), CleftAI_LosePlayer(), CleftAI_PostDisguise(), CleftAI_PreAmbush(), CleftAI_ReturnHome(), CleftAI_RevUp(), CleftAI_RevUpInit(), CleftAI_Tackle(), ClubbaNappingAI_FallAsleep(), ClubbaNappingAI_Init(), ClubbaNappingAI_Loiter(), ClubbaNappingAI_LoiterInit(), ClubbaNappingAI_ReturnHome(), ClubbaNappingAI_ReturnHomeInit(), ClubbaNappingAI_Sleep(), ClubbaNappingAI_WakeUp(), draw_encounters_pre_battle(), FlyingAI_Chase(), FlyingAI_ChaseInit(), FlyingAI_Jump(), FlyingAI_JumpInit(), FlyingAI_Loiter(), FlyingAI_LoiterInit(), FlyingAI_LosePlayer(), FlyingAI_Wander(), FlyingAI_WanderInit(), FlyingMagikoopaAI_10(), FlyingMagikoopaAI_11(), FlyingMagikoopaAI_15(), FlyingMagikoopaAI_16(), FlyingMagikoopaAI_17(), FlyingMagikoopaAI_20(), FlyingMagikoopaAI_21(), FlyingMagikoopaAI_22(), FlyingMagikoopaAI_23(), FlyingMagikoopaAI_24(), FlyingMagikoopaAI_50(), FlyingNoAttackAI_12(), FlyingNoAttackAI_13(), FlyingNoAttackAI_20(), func_80048F0C(), func_80240198_BC7FF8(), func_8024022C_BC808C(), func_802409E8_BD4258(), func_80240A7C_BD42EC(), get_npc_pos(), GrooveGuyAI_02(), GrooveGuyAI_03(), GuardAI_Alert(), GuardAI_AlertInit(), GuardAI_Chase(), GuardAI_ChaseInit(), GuardAI_Idle(), GuardAI_IdleInit(), GuardAI_LosePlayer(), GuardAI_ReturnHome(), GuardAI_ReturnHomeInit(), HoppingAI_Chase(), HoppingAI_ChaseInit(), HoppingAI_Hop(), HoppingAI_HopInit(), HoppingAI_Loiter(), HoppingAI_LoiterInit(), HoppingAI_LosePlayer(), kill_enemy(), LakituAI_Loiter(), LakituAI_Wander(), MagikoopaAI_00(), MagikoopaAI_01(), MagikoopaAI_05(), MagikoopaAI_06(), MagikoopaAI_10(), MagikoopaAI_11(), MagikoopaAI_20(), MagikoopaAI_21(), MagikoopaAI_22(), MagikoopaAI_23(), MagikoopaAI_24(), MagikoopaAI_CanShootSpell(), MeleeHitbox_30(), MeleeHitbox_31(), MeleeHitbox_32(), MeleeHitbox_33(), MeleeHitbox_CanSeePlayer(), ParatroopaAI_Dive(), ParatroopaAI_Overshoot(), ParatroopaAI_Reset(), ParatroopaAI_Windup(), PatrolAI_Chase(), PatrolAI_ChaseInit(), PatrolAI_Jump(), PatrolAI_JumpInit(), PatrolAI_Loiter(), PatrolAI_LoiterInit(), PatrolAI_LosePlayer(), PatrolAI_Move(), PatrolAI_MoveInit(), PatrolAI_PostLoiter(), PatrolNoAttackAI_15(), PiranhaPlantAI_00(), PiranhaPlantAI_01(), PiranhaPlantAI_10(), PiranhaPlantAI_11(), PiranhaPlantAI_12(), PiranhaPlantAI_13(), PiranhaPlantAI_LosePlayer(), ProjectileHitbox_30(), ProjectileHitbox_31(), ProjectileHitbox_32(), ProjectileHitbox_33(), ProjectileHitbox_GetUsableProjectileID(), reset_outta_sight_alpha_on_menu_close(), SentinelAI_Chase(), SentinelAI_ChaseInit(), SentinelAI_Descend(), SentinelAI_DescendInit(), SentinelAI_GrabPlayer(), SentinelAI_LosePlayer(), SentinelAI_LosePlayerInit(), SentinelAI_PostLosePlayer(), SentinelAI_ReturnHome(), SentinelAI_ReturnHomeInit(), set_script_owner_npc_anim(), set_script_owner_npc_col_height(), ShyGuyPatrolAI_14(), ShyGuyPatrolAI_15(), ShyGuyPatrolAI_16(), ShyGuyPatrolAI_17(), ShyGuyWanderAI_14(), ShyGuyWanderAI_15(), ShyGuyWanderAI_16(), ShyGuyWanderAI_17(), spawn_drops(), SpearGuyAI_Loiter(), SpearGuyAI_LoiterInit(), StoneChompAI_ChaseInit(), StoneChompAI_HopInit(), sync_player_position(), UnkDistFunc(), UnkNpcAIFunc12(), UnkNpcAIFunc48(), update_encounters_neutral(), update_encounters_post_battle(), and update_player().

◆ init_encounter_status()

void init_encounter_status ( void )

◆ init_npc_list()

void init_npc_list ( void )

Points the current NPC list to the world or battle lists depending on game state.

Referenced by state_step_end_battle(), state_step_exit_language_select(), and state_step_unpause().

◆ kill_encounter()

s32 kill_encounter ( Enemy * enemy)

◆ kill_enemy()

void kill_enemy ( Enemy * enemy)

◆ make_npcs()

void make_npcs ( s32 flags,
s32 mapID,
s32 * npcGroupList )

◆ mtx_ident_mirror_y()

void mtx_ident_mirror_y ( Matrix4f mtx)

Referenced by appendGfx_npc().

◆ npc__reset_current_decoration()

void npc__reset_current_decoration ( Npc * npc,
s32 idx )

◆ npc_blend_palette_colors()

u16 npc_blend_palette_colors ( u16 colorA,
u16 colorB,
s32 lerpAlpha )

◆ npc_disable_collisions()

void npc_disable_collisions ( void )

◆ npc_do_other_npc_collision()

void npc_do_other_npc_collision ( Npc * npc)

Referenced by update_npcs().

◆ npc_do_player_collision()

s32 npc_do_player_collision ( Npc * npc)
Returns
TRUE if a collision occurred

Referenced by update_npcs().

◆ npc_do_world_collision()

void npc_do_world_collision ( Npc * npc)

◆ npc_draw_with_palswap()

void npc_draw_with_palswap ( Npc * npc,
s32 yaw,
Matrix4f mtx )

Referenced by appendGfx_npc().

◆ npc_enable_collisions()

void npc_enable_collisions ( void )

◆ npc_find_closest()

Npc * npc_find_closest ( f32 x,
f32 y,
f32 z,
f32 radius )

Finds the closest NPC to a given point within a radius.

Ignores Y position.

NPCs with NPC_FLAG_PARTNER set are ignored. See also npc_find_closest_simple(), which requires that NPC_FLAG_PARTNER be set.

Parameters
xX position
yY position (unused)
zZ position
radiusNo NPCs further than this distance will be considered
Returns
NULL if there are no NPCs within radius

Referenced by parasol_get_npc().

◆ npc_find_closest_simple()

Npc * npc_find_closest_simple ( f32 x,
f32 y,
f32 z,
f32 radius )

Finds the closest simple-hitbox NPC to a given point within a radius.

Ignores Y position.

Only NPCs with NPC_FLAG_PARTNER set are considered. See also npc_find_closest(), which requires that NPC_FLAG_PARTNER be unset.

Parameters
xX position
yY position (unused)
zZ position
radiusNo NPCs further than this distance will be considered
Returns
NULL if there are no NPCs within radius

Referenced by entity_Tweester_idle().

◆ npc_find_standing_on_entity()

s32 npc_find_standing_on_entity ( s32 entityIndex)

Referenced by entity_HiddenPanel_idle().

◆ npc_get_collider_below()

s32 npc_get_collider_below ( Npc * npc)

◆ npc_get_render_yaw()

f32 npc_get_render_yaw ( Npc * npc)

◆ npc_imgfx_update()

void npc_imgfx_update ( Npc * npc)

◆ npc_iter_no_op()

void npc_iter_no_op ( void )

Iterates over the NPC list, doing absolutely nothing.

Presumably did something once upon a time but got commented out.

Referenced by step_game_loop().

◆ npc_move_heading()

◆ npc_reload_all()

void npc_reload_all ( void )

◆ npc_remove_decoration()

void npc_remove_decoration ( Npc * npc,
s32 idx )

Referenced by free_npc(), and free_npc_by_index().

◆ npc_remove_decoration_bowser_aura()

void npc_remove_decoration_bowser_aura ( Npc * npc,
s32 idx )

◆ npc_remove_decoration_charged()

void npc_remove_decoration_charged ( Npc * npc,
s32 idx )

◆ npc_remove_decoration_glow_behind()

void npc_remove_decoration_glow_behind ( Npc * npc,
s32 idx )

◆ npc_remove_decoration_glow_in_front()

void npc_remove_decoration_glow_in_front ( Npc * npc,
s32 idx )

◆ npc_remove_decoration_impl()

void npc_remove_decoration_impl ( Npc * npc,
s32 idx )

◆ npc_remove_decoration_none()

void npc_remove_decoration_none ( Npc * npc,
s32 idx )

◆ npc_remove_decoration_seeing_stars()

void npc_remove_decoration_seeing_stars ( Npc * npc,
s32 idx )

◆ npc_remove_decoration_sweat()

void npc_remove_decoration_sweat ( Npc * npc,
s32 idx )

◆ npc_render_with_double_pal_blending()

s32 npc_render_with_double_pal_blending ( Npc * npc,
s32 yaw,
Matrix4f mtx )
Bug
? should this be index 3?

Referenced by npc_draw_with_palswap().

◆ npc_render_with_single_pal_blending()

s32 npc_render_with_single_pal_blending ( Npc * npc,
s32 yaw,
b32 hasDifferentIntervals,
Matrix4f mtx )

Referenced by npc_draw_with_palswap().

◆ npc_render_with_watt_idle_palettes()

s32 npc_render_with_watt_idle_palettes ( Npc * npc,
s32 arg1,
Matrix4f mtx )

Referenced by npc_draw_with_palswap().

◆ npc_render_without_adjusted_palettes()

void npc_render_without_adjusted_palettes ( Npc * npc,
s32 arg1,
Matrix4f mtx )

Referenced by npc_draw_with_palswap().

◆ npc_render_worker_do_nothing()

void npc_render_worker_do_nothing ( void )

◆ npc_reset_current_decoration()

void npc_reset_current_decoration ( Npc * npc,
s32 idx )

Referenced by npc_reload_all().

◆ npc_revert_palswap_mode()

void npc_revert_palswap_mode ( Npc * npc)

◆ npc_set_decoration()

void npc_set_decoration ( Npc * npc,
s32 idx,
s32 decorationType )

◆ npc_set_imgfx_params()

void npc_set_imgfx_params ( Npc * npc,
s32 imgfxType,
s32 arg2,
s32 arg3,
s32 arg4,
s32 arg5,
s32 arg6 )

◆ npc_set_palswap_1()

void npc_set_palswap_1 ( Npc * npc,
s32 palIndexA,
s32 palIndexB,
s32 timeHoldA,
s32 timeAB )

◆ npc_set_palswap_2()

void npc_set_palswap_2 ( Npc * npc,
s32 timeHoldB,
s32 timeBA,
s32 palIndexC,
s32 palIndexD )

◆ npc_set_palswap_mode_A()

void npc_set_palswap_mode_A ( Npc * npc,
s32 mode )

◆ npc_set_palswap_mode_B()

void npc_set_palswap_mode_B ( Npc * npc,
s32 mode )

◆ npc_try_apply_gravity()

void npc_try_apply_gravity ( Npc * npc)

Referenced by update_npcs().

◆ npc_try_snap_to_ground()

s32 npc_try_snap_to_ground ( Npc * npc,
f32 velocity )

Referenced by partner_get_out(), and update_npcs().

◆ npc_update_decoration_bowser_aura()

void npc_update_decoration_bowser_aura ( Npc * npc,
s32 idx )

Referenced by npc_update_decorations().

◆ npc_update_decoration_charged()

void npc_update_decoration_charged ( Npc * npc,
s32 idx )

Referenced by npc_update_decorations().

◆ npc_update_decoration_glow_behind()

void npc_update_decoration_glow_behind ( Npc * npc,
s32 idx )

Referenced by npc_update_decorations().

◆ npc_update_decoration_glow_in_front()

void npc_update_decoration_glow_in_front ( Npc * npc,
s32 idx )

Referenced by npc_update_decorations().

◆ npc_update_decoration_none()

void npc_update_decoration_none ( Npc * npc,
s32 idx )

Referenced by npc_update_decorations().

◆ npc_update_decoration_seeing_stars()

void npc_update_decoration_seeing_stars ( Npc * npc,
s32 idx )

Referenced by npc_update_decorations().

◆ npc_update_decoration_sweat()

void npc_update_decoration_sweat ( Npc * npc,
s32 idx )

Referenced by npc_update_decorations().

◆ npc_update_decorations()

s32 npc_update_decorations ( Npc * npc)

Referenced by update_npcs().

◆ render_npcs()

void render_npcs ( void )

Renders all NPCs.

Referenced by render_frame().

◆ set_npc_sprite()

void set_npc_sprite ( Npc * npc,
s32 anim,
AnimID * extraAnimList )

◆ set_npc_yaw()

◆ spawn_cloud_surface_effects()

void spawn_cloud_surface_effects ( Npc * npc,
SurfaceInteractMode mode )

Referenced by spawn_surface_effects().

◆ spawn_default_surface_effects()

void spawn_default_surface_effects ( Npc * npc,
SurfaceInteractMode mode )

Referenced by spawn_surface_effects().

◆ spawn_flower_surface_effects()

void spawn_flower_surface_effects ( Npc * npc,
SurfaceInteractMode mode )

Referenced by spawn_surface_effects().

◆ spawn_hedge_surface_effects()

void spawn_hedge_surface_effects ( Npc * npc,
SurfaceInteractMode mode )

Referenced by spawn_surface_effects().

◆ spawn_snow_surface_effects()

void spawn_snow_surface_effects ( Npc * npc,
SurfaceInteractMode mode )

Referenced by spawn_surface_effects().

◆ spawn_surface_effects()

◆ spawn_water_surface_effects()

void spawn_water_surface_effects ( Npc * npc,
SurfaceInteractMode mode )

Referenced by spawn_surface_effects().

◆ STUB_npc_callback()

void STUB_npc_callback ( Npc * npc)

The default Npc::onUpdate and Npc::onRender callback.

Referenced by create_npc_impl().

◆ update_encounters()

◆ update_npc_blur()

void update_npc_blur ( Npc * npc)

Referenced by update_npcs().

◆ update_npcs()

Variable Documentation

◆ D_80077C0C

s32 D_80077C0C = 0

◆ D_80077C10

f32 D_80077C10 = 0.0f

◆ D_80077C14

s16 D_80077C14 = 4

◆ D_80077C16

s16 D_80077C16 = 0

◆ D_80077C18

f32 D_80077C18 = 0

◆ D_80077C1C

s16 D_80077C1C = 4

◆ D_80077C1E

s16 D_80077C1E = 5

◆ D_80077C20

s32 D_80077C20 = 0

◆ D_80077C24

f32 D_80077C24 = 0.0f

◆ D_80077C28

s16 D_80077C28 = 4

◆ D_80077C2A

s16 D_80077C2A = 0

◆ D_80077C2C

f32 D_80077C2C = 0.0f

◆ D_80077C30

s16 D_80077C30 = 4

◆ D_80077C32

s16 D_80077C32 = 0

◆ D_80077C34

s32 D_80077C34 = 0

◆ D_80077C38

s16 D_80077C38 = 4

◆ D_80077C3A

s16 D_80077C3A = 4

◆ gNpcCount

◆ wWattIdlePalettesAnim

u8 wWattIdlePalettesAnim[]
Initial value:
= {
0xFF
}
@ WATT_DEFAULT
Definition npc.c:26
@ WATT_BRIGHTEST
Definition npc.c:27

Referenced by npc_render_with_watt_idle_palettes().