|
SpaghettiKart
|
#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"| void check_player_use_item | ( | void | ) |
| void destroy_banana_in_banana_bunch | ( | struct BananaActor * | banana | ) |
| void drop_banana_in_banana_bunch | ( | struct BananaBunchParent * | banana_bunch | ) |
| void func_802B039C | ( | struct BananaActor * | banana | ) |
| void func_802B0464 | ( | s16 | bananaIndex | ) |
| void func_802B04E8 | ( | UNUSED struct BananaActor * | arg0, |
| s16 | bananaIndex ) |
| void func_802B0788 | ( | s16 | rawStickY, |
| struct BananaBunchParent * | banana_bunch, | ||
| Player * | player ) |
| s32 func_802B09C0 | ( | s16 | bananaId | ) |
| void func_802B2914 | ( | struct BananaBunchParent * | banana_bunch, |
| Player * | player, | ||
| s16 | bananaId ) |
| void func_802B4E30 | ( | struct Actor * | arg0 | ) |
| s32 init_triple_shell | ( | TripleShellParent * | parent, |
| Player * | player, | ||
| s16 | shellType, | ||
| u16 | shellId ) |
| bool is_shell_exist | ( | s16 | arg0 | ) |
| void player_use_item | ( | Player * | player | ) |
| void triple_shell_actor_collide_with_player | ( | struct ShellActor * | shell, |
| s32 | shellType ) |
| void update_actor_banana_bunch | ( | struct BananaBunchParent * | banana_bunch | ) |
| 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
| s32 use_banana_bunch_item | ( | Player * | player | ) |
| s32 use_banana_item | ( | Player * | player | ) |
| s32 use_blue_shell_item | ( | Player * | player | ) |
| s32 use_fake_itembox_item | ( | Player * | player | ) |
| s32 use_green_shell_item | ( | Player * | player | ) |
| s32 use_red_shell_item | ( | Player * | player | ) |
| void use_thunder_item | ( | Player * | player | ) |
Strikes players with thunder
| Activating | player (not to be struck) |
| s32 use_triple_shell_item | ( | Player * | player, |
| s16 | tripleShellType ) |