SpaghettiKart
Loading...
Searching...
No Matches
actors_extended.c File Reference
#include <libultraship.h>
#include <macros.h>
#include <defines.h>
#include <actor_types.h>
#include "code_800029B0.h"
#include "math_util.h"
#include "memory.h"
#include "waypoints.h"
#include "code_80005FD0.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 "port/Game.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 (struct Collision *src, struct 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)
 
s32 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 ( struct Collision * src,
struct 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 )

Fires shell. Uses += 1.0f because this code is ran multiple times per frame. A bool would be turned on and off again resulting in no change

Below is a feature that continues holding triple shells until they are aiming forward. In decomp the three gShellsShootStraight conditions always evaluated to true, thus negating the feature from ever working. It has been re-added in for experimental purposes with slight adjustments to behave correctly and for clean code.

Forces shell 3 to fire inside a cone of -5 to -14.95 degrees -0xAA1 was originally -10 degrees (0x71C). However, shell 3 would continue looping for a bit so it's been adjusted to mirror shell 2

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()

s32 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: