![]() |
Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
|
Functions | |
void | bhv_alpha_boo_key_loop (void) |
Behavior for bhvAlphaBooKey and bhvBetaBooKey. More... | |
static void | beta_boo_key_dropped_loop (void) |
Continue to make the key fall, and handle collection. More... | |
static void | beta_boo_key_drop (void) |
Drop the key. More... | |
static void | beta_boo_key_inside_boo_loop (void) |
Update the key to be inside its parent boo, and handle the boo dying. More... | |
void | bhv_beta_boo_key_loop (void) |
Update function for bhvBetaBooKey. More... | |
Variables | |
static void(* | sBetaBooKeyActions [])(void) |
Drop the key.
This function is run once, the frame after the boo dies; It immediately sets the action to BETA_BOO_KEY_ACT_DROPPED.
Continue to make the key fall, and handle collection.
Update the key to be inside its parent boo, and handle the boo dying.
Behavior for bhvAlphaBooKey and bhvBetaBooKey.
They were apparently intended to be a key that would be contained in boos and would fall out, like coins do. There is a model, MODEL_BETA_BOO_KEY, that is loaded in script_func_global_10, which contains boo-themed models used in BBH and the castle courtyard. It is used in a macro preset with bhvAlphaBooKey, which is also grouped near other boo/BBH-related macros. This is evidence that bhvAlphaBooKey was supposed to be a key. bhvBetaBooKey has code similar to bhvAlphaBooKey's for rotation and collection, and functions correctly when spawned as a child of a boo (it checks the death status of the boo to know when to drop, so this is almost definitely what was intended). It appears that bhvAlphaBooKey was abandoned for reasons unknown and replaced with bhvBetaBooKey. Update function for bhvAlphaBooKey. It rotates the key, and deletes it when collected. The code in this function is similar to that found in bhvBetaBooKey code, which implies that these are 2 versions of the same object. It is a less developed version of bhvBetaBooKey, hence the "alpha" moniker.