Mario Kart 64
Loading...
Searching...
No Matches
actors_extended.c File Reference
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include <actor_types.h>
#include "code_800029B0.h"
#include "math_util.h"
#include "memory.h"
#include "path.h"
#include "cpu_vehicles_camera_path.h"
#include "menu_items.h"
#include "collision.h"
#include "actors.h"
#include "actors_extended.h"
#include "audio/external.h"
#include "update_objects.h"
#include "effects.h"
#include "sounds.h"
#include "actors/banana/update.inc.c"
#include "actors/green_shell/update.inc.c"
#include "actors/blue_and_red_shells/update.inc.c"
Include dependency graph for actors_extended.c:

Functions

void copy_collision (Collision *src, Collision *dest)
 
void triple_shell_actor_collide_with_player (struct ShellActor *shell, s32 shellType)
 
void func_802B039C (struct BananaActor *banana)
 
void func_802B0464 (s16 bananaIndex)
 
void func_802B04E8 (UNUSED struct BananaActor *arg0, s16 bananaIndex)
 
void destroy_banana_in_banana_bunch (struct BananaActor *banana)
 
void drop_banana_in_banana_bunch (struct BananaBunchParent *banana_bunch)
 
void func_802B0788 (s16 rawStickY, struct BananaBunchParent *banana_bunch, Player *player)
 
s32 func_802B09C0 (s16 bananaId)
 
void update_actor_banana_bunch (struct BananaBunchParent *banana_bunch)
 
bool is_shell_exist (s16 arg0)
 
void update_actor_triple_shell (TripleShellParent *parent, s16 shellType)
 
s32 use_banana_bunch_item (Player *player)
 
s32 use_triple_shell_item (Player *player, s16 tripleShellType)
 
s32 init_triple_shell (TripleShellParent *parent, Player *player, s16 shellType, u16 shellId)
 
s32 use_green_shell_item (Player *player)
 
s32 use_red_shell_item (Player *player)
 
void use_blue_shell_item (Player *player)
 
void func_802B2914 (struct BananaBunchParent *banana_bunch, Player *player, s16 bananaId)
 
s32 use_fake_itembox_item (Player *player)
 
s32 use_banana_item (Player *player)
 
void use_thunder_item (Player *player)
 
void player_use_item (Player *player)
 
void check_player_use_item (void)
 
void func_802B4E30 (struct Actor *arg0)
 

Function Documentation

◆ check_player_use_item()

void check_player_use_item ( void )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ copy_collision()

void copy_collision ( Collision * src,
Collision * dest )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ destroy_banana_in_banana_bunch()

void destroy_banana_in_banana_bunch ( struct BananaActor * banana)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ drop_banana_in_banana_bunch()

void drop_banana_in_banana_bunch ( struct BananaBunchParent * banana_bunch)
Here is the caller graph for this function:

◆ func_802B039C()

void func_802B039C ( struct BananaActor * banana)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802B0464()

void func_802B0464 ( s16 bananaIndex)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802B04E8()

void func_802B04E8 ( UNUSED struct BananaActor * arg0,
s16 bananaIndex )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802B0788()

void func_802B0788 ( s16 rawStickY,
struct BananaBunchParent * banana_bunch,
Player * player )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802B09C0()

s32 func_802B09C0 ( s16 bananaId)
Here is the caller graph for this function:

◆ func_802B2914()

void func_802B2914 ( struct BananaBunchParent * banana_bunch,
Player * player,
s16 bananaId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ func_802B4E30()

void func_802B4E30 ( struct Actor * arg0)
Here is the caller graph for this function:

◆ init_triple_shell()

s32 init_triple_shell ( TripleShellParent * parent,
Player * player,
s16 shellType,
u16 shellId )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_shell_exist()

bool is_shell_exist ( s16 arg0)
Here is the caller graph for this function:

◆ player_use_item()

void player_use_item ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ triple_shell_actor_collide_with_player()

void triple_shell_actor_collide_with_player ( struct ShellActor * shell,
s32 shellType )
Here is the caller graph for this function:

◆ update_actor_banana_bunch()

void update_actor_banana_bunch ( struct BananaBunchParent * banana_bunch)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ update_actor_triple_shell()

void update_actor_triple_shell ( TripleShellParent * parent,
s16 shellType )

Forces shell 1 to only fire inside a cone of -5 to +5 degrees in-front of the player. However, always evaluates to true, so the feature does not appear during gameplay. If enabled, pressing Z would not immediately release the shell. Instead, it waits until it's inside the cone. (See shell 2 and 3 farther down for same issue)

Forces shell 2 to fire inside a cone of 5 to 14.95 degrees (always evaluates to true, thus the feature is skipped) Unclear why it is 14.95 degrees instead of 15. Perhaps just a typo when entering the value as a s16.

Forces shell 3 to fire inside a cone of -5 to -10 degrees. However, after testing, 10 should probably be replaced with 14.95 because the shell does multiple loops before it fires. Always evaluates to true, thus this feature is skipped.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_banana_bunch_item()

s32 use_banana_bunch_item ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_banana_item()

s32 use_banana_item ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_blue_shell_item()

void use_blue_shell_item ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_fake_itembox_item()

s32 use_fake_itembox_item ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_green_shell_item()

s32 use_green_shell_item ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_red_shell_item()

s32 use_red_shell_item ( Player * player)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_thunder_item()

void use_thunder_item ( Player * player)

Strikes players with thunder

Parameters
Activatingplayer (not to be struck)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ use_triple_shell_item()

s32 use_triple_shell_item ( Player * player,
s16 tripleShellType )
Here is the call graph for this function:
Here is the caller graph for this function: