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

Macros

#define NAMESPACE   world_kooper
 
#define USE_STATE   functionTemp[0]
 
#define TEST_COLLISION_AT_ANGLE(testAngle)
 

Enumerations

enum  { SHELL_TOSS_HITBOX_DISABLED = 0 , SHELL_TOSS_HITBOX_ENABLED = 1 , SHELL_TOSS_HITBOX_HIT_ENEMY = 2 }
 

Functions

s32 entity_try_partner_interaction_trigger (s32)
 
s32 test_item_entity_position (f32, f32, f32, f32)
 
void fx_damage_stars (s32, f32, f32, f32, f32, f32, f32, s32)
 
void auto_collect_item_entity (s32)
 
s32 N lateral_hit_interactable_entity (Npc *npc)
 
void N vertical_hit_interactable_entity (Npc *kooper)
 
s32 N check_for_item_collision (Npc *kooper)
 
void N init (Npc *kooper)
 
void N try_cancel_tweester (Npc *kooper)
 
s32 N test_first_strike (Npc *kooper, Npc *enemy)
 
void N pre_battle (Npc *kooper)
 
void N post_battle (Npc *npc)
 

Variables

BSS s32 D_802BEC7C
 
s32 ShellTossHitboxState = SHELL_TOSS_HITBOX_DISABLED
 
EvtScript EVS_WorldKooper_TakeOut
 
EvtScript EVS_WorldKooper_Update
 
EvtScript EVS_WorldKooper_UseAbility
 
EvtScript EVS_WorldKooper_PutAway
 

Macro Definition Documentation

◆ NAMESPACE

#define NAMESPACE   world_kooper

◆ TEST_COLLISION_AT_ANGLE

#define TEST_COLLISION_AT_ANGLE ( testAngle)
Value:
( \
posX = kooper->pos.x, \
posY = kooper->pos.y, \
posZ = kooper->pos.z, \
npc_test_move_taller_with_slipping(COLLIDER_FLAG_IGNORE_SHELL, \
&posX, &posY, &posZ, kooper->moveSpeed, testAngle, \
kooper->collisionHeight, kooper->collisionDiameter / 2) \
)
@ COLLIDER_FLAG_IGNORE_SHELL
Definition enums.h:4695

◆ USE_STATE

#define USE_STATE   functionTemp[0]

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SHELL_TOSS_HITBOX_DISABLED 
SHELL_TOSS_HITBOX_ENABLED 
SHELL_TOSS_HITBOX_HIT_ENEMY 

Function Documentation

◆ auto_collect_item_entity()

void auto_collect_item_entity ( s32 index)

◆ check_for_item_collision()

s32 N check_for_item_collision ( Npc * kooper)

◆ entity_try_partner_interaction_trigger()

s32 entity_try_partner_interaction_trigger ( s32 entityIdx)

◆ fx_damage_stars()

void fx_damage_stars ( s32 ,
f32 ,
f32 ,
f32 ,
f32 ,
f32 ,
f32 ,
s32  )

◆ init()

void N init ( Npc * kooper)

◆ lateral_hit_interactable_entity()

s32 N lateral_hit_interactable_entity ( Npc * npc)

◆ post_battle()

void N post_battle ( Npc * npc)

◆ pre_battle()

void N pre_battle ( Npc * kooper)

◆ test_first_strike()

s32 N test_first_strike ( Npc * kooper,
Npc * enemy )

◆ test_item_entity_position()

s32 test_item_entity_position ( f32 x,
f32 y,
f32 z,
f32 dist )

◆ try_cancel_tweester()

void N try_cancel_tweester ( Npc * kooper)

◆ vertical_hit_interactable_entity()

void N vertical_hit_interactable_entity ( Npc * kooper)

Variable Documentation

◆ D_802BEC7C

BSS s32 D_802BEC7C

◆ EVS_WorldKooper_PutAway

EvtScript EVS_WorldKooper_PutAway
Initial value:
= {
Call(N(PutAway))
}
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
Definition macros.h:225
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
Definition macros.h:588
#define Return
Kills the current EVT thread.
Definition macros.h:229

◆ EVS_WorldKooper_TakeOut

EvtScript EVS_WorldKooper_TakeOut
Initial value:
= {
Call(N(TakeOut))
}

◆ EVS_WorldKooper_Update

EvtScript EVS_WorldKooper_Update
Initial value:
= {
Call(N(Update))
}

◆ EVS_WorldKooper_UseAbility

EvtScript EVS_WorldKooper_UseAbility
Initial value:
= {
Call(N(UseAbility))
}

◆ ShellTossHitboxState

s32 ShellTossHitboxState = SHELL_TOSS_HITBOX_DISABLED

Referenced by pre_battle(), and test_first_strike().