Name some more stuff

This commit is contained in:
Arceveti
2021-09-20 16:54:52 -07:00
parent bf0acb6cbe
commit f64c7a9542
17 changed files with 86 additions and 169 deletions

View File

@@ -925,10 +925,6 @@
// Secrets/Red Coins
#define /*0x0F4*/ oHiddenStarTriggerCounter OBJECT_FIELD_S32(0x1B)
// Overall very difficult to determine usage, mostly stubbed code.
/* Sparkle Spawn Star */
#define /*0x1B0*/ oSparkleSpawnUnk1B0 OBJECT_FIELD_S32(0x4A)
/* Sealed Door Star */
#define /*0x108*/ oUnlockDoorStarState OBJECT_FIELD_U32(0x20)
#define /*0x10C*/ oUnlockDoorStarTimer OBJECT_FIELD_S32(0x21)

View File

@@ -76,6 +76,6 @@ void geo_layout_cmd_node_held_obj(void);
void geo_layout_cmd_node_culling_radius(void);
void geo_layout_cmd_bone(void);
struct GraphNode *process_geo_layout(struct AllocOnlyPool *a0, void *segptr);
struct GraphNode *process_geo_layout(struct AllocOnlyPool *pool, void *segptr);
#endif // GEO_LAYOUT_H

View File

@@ -91,12 +91,12 @@ const char *gNoControllerMsg[] = {
};
#endif
void override_viewport_and_clip(Vp *a, Vp *b, u8 c, u8 d, u8 e) {
u16 sp6 = ((c >> 3) << 11) | ((d >> 3) << 6) | ((e >> 3) << 1) | 1;
void override_viewport_and_clip(Vp *vpOverride, Vp *vpClip, u8 red, u8 green, u8 blue) {
u16 color = ((red >> 3) << 11) | ((green >> 3) << 6) | ((blue >> 3) << 1) | 1;
gFBSetColor = (sp6 << 16) | sp6;
gViewportOverride = a;
gViewportClip = b;
gFBSetColor = (color << 16) | color;
gViewportOverride = vpOverride;
gViewportClip = vpClip;
}
void set_warp_transition_rgb(u8 red, u8 green, u8 blue) {

View File

@@ -121,9 +121,9 @@ void bhv_bubba_loop(void) {
if (o->oMoveFlags & OBJ_MOVE_MASK_IN_WATER) {
if (o->oMoveFlags & OBJ_MOVE_ENTERED_WATER) {
struct Object *sp38 = spawn_object(o, MODEL_WATER_SPLASH, bhvWaterSplash);
if (sp38 != NULL) {
obj_scale(sp38, 3.0f);
struct Object *splashObj = spawn_object(o, MODEL_WATER_SPLASH, bhvWaterSplash);
if (splashObj != NULL) {
obj_scale(splashObj, 3.0f);
}
o->oBubbaUnk108 = o->oVelY;

View File

@@ -126,7 +126,7 @@ void bhv_coin_formation_spawn_loop(void) {
}
} else {
if (bhv_coin_sparkles_init())
o->parentObj->oCoinUnkF4 |= bit_shift_left(o->oBehParams2ndByte);
o->parentObj->oCoinUnkF4 |= (1 << o->oBehParams2ndByte);
o->oAnimState++;
}
if (o->parentObj->oAction == 2)

View File

@@ -13,12 +13,13 @@ struct ObjectHitbox sSparkleSpawnStarHitbox = {
};
void bhv_spawned_star_init(void) {
s32 param;
if (!(o->oInteractionSubtype & INT_SUBTYPE_NO_EXIT))
if (!(o->oInteractionSubtype & INT_SUBTYPE_NO_EXIT)) {
o->oBehParams = o->parentObj->oBehParams;
param = (o->oBehParams >> 24) & 0xFF;
if (bit_shift_left(param) & save_file_get_star_flags(gCurrSaveFileNum - 1, gCurrCourseNum - 1))
}
s32 param = (o->oBehParams >> 24) & 0xFF;
if ((1 << param) & save_file_get_star_flags(gCurrSaveFileNum - 1, gCurrCourseNum - 1)) {
cur_obj_set_model(MODEL_TRANSPARENT_STAR);
}
cur_obj_play_sound_2(SOUND_GENERAL2_STAR_APPEARS);
}

View File

@@ -16,7 +16,7 @@ static struct ObjectHitbox sTreasureChestBottomHitbox = {
};
void bhv_treasure_chest_top_loop(void) {
struct Object *sp34 = o->parentObj->parentObj;
struct Object *parent = o->parentObj->parentObj;
switch (o->oAction) {
case 0:
@@ -26,7 +26,7 @@ void bhv_treasure_chest_top_loop(void) {
case 1:
if (o->oTimer == 0) {
if (sp34->oTreasureChestUnkFC == 0) {
if (parent->oTreasureChestUnkFC == 0) {
spawn_object_relative(0, 0, -80, 120, o, MODEL_BUBBLE, bhvWaterAirBubble);
play_sound(SOUND_GENERAL_CLAM_SHELL1, o->header.gfx.cameraToObject);
} else {

View File

@@ -19,10 +19,9 @@ void bhv_ukiki_cage_star_loop(void) {
case UKIKI_CAGE_STAR_ACT_IN_CAGE:
// Initialization to see if the star is collected (blue) or not (yellow).
if (o->oTimer == 0) {
if (bit_shift_left(1)
& save_file_get_star_flags(gCurrSaveFileNum - 1, gCurrCourseNum - 1)) {
cur_obj_set_model(MODEL_TRANSPARENT_STAR);
}
if (0x2 & save_file_get_star_flags(gCurrSaveFileNum - 1, gCurrCourseNum - 1)) {
cur_obj_set_model(MODEL_TRANSPARENT_STAR);
}
}
obj_copy_pos(o, o->parentObj);

View File

@@ -3656,10 +3656,6 @@ void unused_object_angle_to_vec3s(Vec3s dst, struct Object *o) {
*/
void evaluate_cubic_spline(f32 u, Vec3f Q, Vec3f a0, Vec3f a1, Vec3f a2, Vec3f a3) {
f32 B[4];
f32 x;
f32 y;
f32 z;
UNUSED u8 unused[16];
if (u > 1.f) {
u = 1.f;
@@ -3673,19 +3669,6 @@ void evaluate_cubic_spline(f32 u, Vec3f Q, Vec3f a0, Vec3f a1, Vec3f a2, Vec3f a
Q[0] = B[0] * a0[0] + B[1] * a1[0] + B[2] * a2[0] + B[3] * a3[0];
Q[1] = B[0] * a0[1] + B[1] * a1[1] + B[2] * a2[1] + B[3] * a3[1];
Q[2] = B[0] * a0[2] + B[1] * a1[2] + B[2] * a2[2] + B[3] * a3[2];
// Unused code
B[0] = -0.5f * u * u + u - 0.33333333f;
B[1] = 1.5f * u * u - 2.f * u - 0.5f;
B[2] = -1.5f * u * u + u + 1.f;
B[3] = 0.5f * u * u - 0.16666667f;
x = B[0] * a0[0] + B[1] * a1[0] + B[2] * a2[0] + B[3] * a3[0];
y = B[0] * a0[1] + B[1] * a1[1] + B[2] * a2[1] + B[3] * a3[1];
z = B[0] * a0[2] + B[1] * a1[2] + B[2] * a2[2] + B[3] * a3[2];
unusedSplinePitch = atan2s(sqrtf(x * x + z * z), y);
unusedSplineYaw = atan2s(z, x);
}
/**

View File

@@ -79,16 +79,16 @@ void spawn_macro_abs_special(s32 model, const BehaviorScript *behavior, s16 x, s
}
UNUSED static void spawn_macro_coin_unknown(const BehaviorScript *behavior, s16 a1[]) {
struct Object *sp3C;
struct Object *obj;
s16 model;
model = bhvYellowCoin == behavior ? MODEL_YELLOW_COIN : MODEL_NONE;
sp3C = spawn_object_abs_with_rot(&gMacroObjectDefaultParent, 0, model, behavior,
a1[1], a1[2], a1[3], 0, convert_rotation(a1[0]), 0);
obj = spawn_object_abs_with_rot(&gMacroObjectDefaultParent, 0, model, behavior,
a1[1], a1[2], a1[3], 0, convert_rotation(a1[0]), 0);
sp3C->oUnk1A8 = a1[4];
sp3C->oBehParams = (a1[4] & 0xFF) >> 16;
obj->oUnk1A8 = a1[4];
obj->oBehParams = (a1[4] & 0xFF) >> 16;
}
struct LoadedPreset {

View File

@@ -33,8 +33,6 @@
#include "sound_init.h"
#include "rumble_init.h"
u32 unused80339F10;
s8 filler80339F1C[20];
/**************************************************
* ANIMATIONS *
@@ -1806,8 +1804,6 @@ void init_mario(void) {
Vec3s capPos;
struct Object *capObject;
unused80339F10 = 0;
gMarioState->actionTimer = 0;
gMarioState->framesSinceA = 0xFF;
gMarioState->framesSinceB = 0xFF;

View File

@@ -2324,9 +2324,8 @@ void cur_obj_call_action_function(void (*actionFunctions[])(void)) {
actionFunction();
}
static struct Object *spawn_star_with_no_lvl_exit(s32 param, s32 sp24) {
static struct Object *spawn_star_with_no_lvl_exit(s32 param) {
struct Object *starObj = spawn_object(o, MODEL_STAR, bhvSpawnedStarNoLevelExit);
starObj->oSparkleSpawnUnk1B0 = sp24;
starObj->oBehParams = o->oBehParams;
starObj->oBehParams2ndByte = param;
@@ -2336,18 +2335,14 @@ static struct Object *spawn_star_with_no_lvl_exit(s32 param, s32 sp24) {
// old unused initializer for 2d star spawn behavior.
// uses behavior parameters not used in the current sparkle code.
void spawn_base_star_with_no_lvl_exit(void) {
spawn_star_with_no_lvl_exit(0, 0);
}
s32 bit_shift_left(s32 a0) {
return 1 << a0;
spawn_star_with_no_lvl_exit(0);
}
s32 cur_obj_mario_far_away(void) {
f32 dx = o->oHomeX - gMarioObject->oPosX;
f32 dy = o->oHomeY - gMarioObject->oPosY;
f32 dz = o->oHomeZ - gMarioObject->oPosZ;
f32 marioDistToHome = sqrtf(dx * dx + dy * dy + dz * dz);
f32 marioDistToHome = sqrtf(sqr(dx) + sqr(dy) + sqr(dz));
if (o->oDistanceToMario > 2000.0f && marioDistToHome > 2000.0f) {
return TRUE;

View File

@@ -67,9 +67,9 @@ Gfx *geo_switch_area(s32 callContext, struct GraphNode *node, UNUSED void *conte
Gfx *geo_switch_anim_state(s32 callContext, struct GraphNode *node);
Gfx *geo_switch_area(s32 callContext, struct GraphNode *node);
#endif
void obj_update_pos_from_parent_transformation(Mat4 a0, struct Object *a1);
void obj_update_pos_from_parent_transformation(Mat4 mtx, struct Object *obj);
void obj_apply_scale_to_matrix(struct Object *obj, Mat4 dst, Mat4 src);
void create_transformation_from_matrices(Mat4 a0, Mat4 a1, Mat4 a2);
void create_transformation_from_matrices(Mat4 dst, Mat4 a1, Mat4 a2);
void obj_set_held_state(struct Object *obj, const BehaviorScript *heldBehavior);
f32 lateral_dist_between_objects(struct Object *obj1, struct Object *obj2);
f32 dist_between_objects(struct Object *obj1, struct Object *obj2);
@@ -246,7 +246,6 @@ s32 cur_obj_is_mario_on_platform(void);
s32 jiggle_bbh_stair(s32 timer);
void cur_obj_call_action_function(void (*actionFunctions[])(void));
void spawn_base_star_with_no_lvl_exit(void);
s32 bit_shift_left(s32 a0);
s32 cur_obj_mario_far_away(void);
s32 is_mario_moving_fast_or_in_air(s32 speedThreshold);
s32 is_item_in_array(s8 item, s8 *array);

View File

@@ -193,12 +193,12 @@ struct RenderModeContainer renderModeTable_2Cycle[2] = { { {
} } };
#endif
struct GraphNodeRoot *gCurGraphNodeRoot = NULL;
struct GraphNodeMasterList *gCurGraphNodeMasterList = NULL;
struct GraphNodeRoot *gCurGraphNodeRoot = NULL;
struct GraphNodeMasterList *gCurGraphNodeMasterList = NULL;
struct GraphNodePerspective *gCurGraphNodeCamFrustum = NULL;
struct GraphNodeCamera *gCurGraphNodeCamera = NULL;
struct GraphNodeObject *gCurGraphNodeObject = NULL;
struct GraphNodeHeldObject *gCurGraphNodeHeldObject = NULL;
struct GraphNodeCamera *gCurGraphNodeCamera = NULL;
struct GraphNodeObject *gCurGraphNodeObject = NULL;
struct GraphNodeHeldObject *gCurGraphNodeHeldObject = NULL;
u16 gAreaUpdateCounter = 0;
#ifdef F3DEX_GBI_2
@@ -346,8 +346,7 @@ static void geo_process_master_list_sub(struct GraphNodeMasterList *node) {
* parameter. Look at the RenderModeContainer struct to see the corresponding
* render modes of layers.
*/
static void geo_append_display_list(void *displayList, s32 layer)
{
static void geo_append_display_list(void *displayList, s32 layer) {
s32 index = 0;
#ifdef F3DEX_GBI_2
gSPLookAt(gDisplayListHead++, &lookAt);
@@ -359,19 +358,15 @@ static void geo_append_display_list(void *displayList, s32 layer)
index = 1;
}
#endif
if (gCurGraphNodeMasterList != 0)
{
if (gCurGraphNodeMasterList != 0) {
struct DisplayListNode *listNode = alloc_only_pool_alloc(gDisplayListHeap, sizeof(struct DisplayListNode));
listNode->transform = gMatStackFixed[gMatStackIndex];
listNode->displayList = displayList;
listNode->next = 0;
if (gCurGraphNodeMasterList->listHeads[index][layer] == 0)
{
if (gCurGraphNodeMasterList->listHeads[index][layer] == 0) {
gCurGraphNodeMasterList->listHeads[index][layer] = listNode;
}
else
{
} else {
gCurGraphNodeMasterList->listTails[index][layer]->next = listNode;
}
gCurGraphNodeMasterList->listTails[index][layer] = listNode;
@@ -384,11 +379,9 @@ static void geo_append_display_list(void *displayList, s32 layer)
static void geo_process_master_list(struct GraphNodeMasterList *node) {
s32 i;
if (gCurGraphNodeMasterList == NULL && node->node.children != NULL)
{
if (gCurGraphNodeMasterList == NULL && node->node.children != NULL) {
gCurGraphNodeMasterList = node;
for (i = 0; i < GFX_NUM_MASTER_LISTS; i++)
{
for (i = 0; i < GFX_NUM_MASTER_LISTS; i++) {
node->listHeads[0][i] = NULL;
node->listHeads[1][i] = NULL;
}
@@ -429,18 +422,20 @@ static void geo_process_perspective(struct GraphNodePerspective *node) {
Mtx *mtx = alloc_display_list(sizeof(*mtx));
#ifdef WIDE
if (gConfig.widescreen && (gCurrLevelNum != 0x01)){
aspect = 1.775f;
aspect = (16.0f / 9.0f); // 1.775f
} else {
aspect = 1.33333f;
aspect = (4.0f / 3.0f); // 1.33333f
}
#else
aspect = 1.33333f;
aspect = (4.0f / 3.0f); // 1.33333f
#endif
if (gCamera)
gWorldScale = MAX(((gCamera->pos[0] * gCamera->pos[0]) + (gCamera->pos[1] * gCamera->pos[1]) + (gCamera->pos[2] * gCamera->pos[2]))/67108864, 1.0f);
else
if (gCamera) {
gWorldScale = ((sqr(gCamera->pos[0]) + sqr(gCamera->pos[1]) + sqr(gCamera->pos[2])) / sqr(0x2000));
gWorldScale = MAX(gWorldScale, 1.0f);
} else {
gWorldScale = 1.0f;
}
guPerspective(mtx, &perspNorm, node->fov, aspect, (node->far/300) / gWorldScale, node->far / gWorldScale, 1.0f);
gSPPerspNormalize(gDisplayListHead++, perspNorm);
@@ -1262,70 +1257,27 @@ void geo_process_node_and_siblings(struct GraphNode *firstNode) {
geo_try_process_children(curGraphNode);
} else {
switch (curGraphNode->type) {
case GRAPH_NODE_TYPE_ORTHO_PROJECTION:
geo_process_ortho_projection((struct GraphNodeOrthoProjection *) curGraphNode);
break;
case GRAPH_NODE_TYPE_PERSPECTIVE:
geo_process_perspective((struct GraphNodePerspective *) curGraphNode);
break;
case GRAPH_NODE_TYPE_MASTER_LIST:
geo_process_master_list((struct GraphNodeMasterList *) curGraphNode);
break;
case GRAPH_NODE_TYPE_LEVEL_OF_DETAIL:
geo_process_level_of_detail((struct GraphNodeLevelOfDetail *) curGraphNode);
break;
case GRAPH_NODE_TYPE_SWITCH_CASE:
geo_process_switch((struct GraphNodeSwitchCase *) curGraphNode);
break;
case GRAPH_NODE_TYPE_CAMERA:
geo_process_camera((struct GraphNodeCamera *) curGraphNode);
break;
case GRAPH_NODE_TYPE_TRANSLATION_ROTATION:
geo_process_translation_rotation(
(struct GraphNodeTranslationRotation *) curGraphNode);
break;
case GRAPH_NODE_TYPE_TRANSLATION:
geo_process_translation((struct GraphNodeTranslation *) curGraphNode);
break;
case GRAPH_NODE_TYPE_ROTATION:
geo_process_rotation((struct GraphNodeRotation *) curGraphNode);
break;
case GRAPH_NODE_TYPE_OBJECT:
geo_process_object((struct Object *) curGraphNode);
break;
case GRAPH_NODE_TYPE_ANIMATED_PART:
geo_process_animated_part((struct GraphNodeAnimatedPart *) curGraphNode);
break;
case GRAPH_NODE_TYPE_BILLBOARD:
geo_process_billboard((struct GraphNodeBillboard *) curGraphNode);
break;
case GRAPH_NODE_TYPE_DISPLAY_LIST:
geo_process_display_list((struct GraphNodeDisplayList *) curGraphNode);
break;
case GRAPH_NODE_TYPE_SCALE:
geo_process_scale((struct GraphNodeScale *) curGraphNode);
break;
case GRAPH_NODE_TYPE_SHADOW:
geo_process_shadow((struct GraphNodeShadow *) curGraphNode);
break;
case GRAPH_NODE_TYPE_OBJECT_PARENT:
geo_process_object_parent((struct GraphNodeObjectParent *) curGraphNode);
break;
case GRAPH_NODE_TYPE_GENERATED_LIST:
geo_process_generated_list((struct GraphNodeGenerated *) curGraphNode);
break;
case GRAPH_NODE_TYPE_BACKGROUND:
geo_process_background((struct GraphNodeBackground *) curGraphNode);
break;
case GRAPH_NODE_TYPE_HELD_OBJ:
geo_process_held_object((struct GraphNodeHeldObject *) curGraphNode);
break;
case GRAPH_NODE_TYPE_BONE:
geo_process_bone((struct GraphNodeBone *) curGraphNode);
break;
default:
geo_try_process_children((struct GraphNode *) curGraphNode);
break;
case GRAPH_NODE_TYPE_ORTHO_PROJECTION: geo_process_ortho_projection ((struct GraphNodeOrthoProjection *) curGraphNode); break;
case GRAPH_NODE_TYPE_PERSPECTIVE: geo_process_perspective ((struct GraphNodePerspective *) curGraphNode); break;
case GRAPH_NODE_TYPE_MASTER_LIST: geo_process_master_list ((struct GraphNodeMasterList *) curGraphNode); break;
case GRAPH_NODE_TYPE_LEVEL_OF_DETAIL: geo_process_level_of_detail ((struct GraphNodeLevelOfDetail *) curGraphNode); break;
case GRAPH_NODE_TYPE_SWITCH_CASE: geo_process_switch ((struct GraphNodeSwitchCase *) curGraphNode); break;
case GRAPH_NODE_TYPE_CAMERA: geo_process_camera ((struct GraphNodeCamera *) curGraphNode); break;
case GRAPH_NODE_TYPE_TRANSLATION_ROTATION: geo_process_translation_rotation((struct GraphNodeTranslationRotation *) curGraphNode); break;
case GRAPH_NODE_TYPE_TRANSLATION: geo_process_translation ((struct GraphNodeTranslation *) curGraphNode); break;
case GRAPH_NODE_TYPE_ROTATION: geo_process_rotation ((struct GraphNodeRotation *) curGraphNode); break;
case GRAPH_NODE_TYPE_OBJECT: geo_process_object ((struct Object *) curGraphNode); break;
case GRAPH_NODE_TYPE_ANIMATED_PART: geo_process_animated_part ((struct GraphNodeAnimatedPart *) curGraphNode); break;
case GRAPH_NODE_TYPE_BILLBOARD: geo_process_billboard ((struct GraphNodeBillboard *) curGraphNode); break;
case GRAPH_NODE_TYPE_DISPLAY_LIST: geo_process_display_list ((struct GraphNodeDisplayList *) curGraphNode); break;
case GRAPH_NODE_TYPE_SCALE: geo_process_scale ((struct GraphNodeScale *) curGraphNode); break;
case GRAPH_NODE_TYPE_SHADOW: geo_process_shadow ((struct GraphNodeShadow *) curGraphNode); break;
case GRAPH_NODE_TYPE_OBJECT_PARENT: geo_process_object_parent ((struct GraphNodeObjectParent *) curGraphNode); break;
case GRAPH_NODE_TYPE_GENERATED_LIST: geo_process_generated_list ((struct GraphNodeGenerated *) curGraphNode); break;
case GRAPH_NODE_TYPE_BACKGROUND: geo_process_background ((struct GraphNodeBackground *) curGraphNode); break;
case GRAPH_NODE_TYPE_HELD_OBJ: geo_process_held_object ((struct GraphNodeHeldObject *) curGraphNode); break;
case GRAPH_NODE_TYPE_BONE: geo_process_bone ((struct GraphNodeBone *) curGraphNode); break;
default: geo_try_process_children ((struct GraphNode *) curGraphNode); break;
}
}
} else {

View File

@@ -12,11 +12,11 @@ extern s32 gRumblePakTimer;
void init_rumble_pak_scheduler_queue(void);
void block_until_rumble_pak_free(void);
void release_rumble_pak_control(void);
void queue_rumble_data(s16 a0, s16 a1);
void queue_rumble_decay(s16 a0);
void queue_rumble_data(s16 time, s16 level);
void queue_rumble_decay(s16 decay);
u8 is_rumble_finished_and_queue_empty(void);
void reset_rumble_timers_slip(void);
void reset_rumble_timers_vibrate(s32 a0);
void reset_rumble_timers_vibrate(s32 level);
void queue_rumble_submerged(void);
void cancel_rumble(void);
void create_thread_6(void);

View File

@@ -431,38 +431,35 @@ struct ObjValPtr *make_valptr(struct GdObj *obj, s32 flag, enum ValPtrType type,
/* @ 22B1DC for 0x430 */
void reset_plane(struct ObjPlane *plane) {
struct ObjFace *sp4C;
struct ObjFace *face;
f32 sp48;
f32 sp44;
UNUSED u32 sp40;
UNUSED u32 sp3C;
UNUSED u32 sp38;
s32 i;
s32 sp30;
register f32 sp28;
imin("reset_plane");
sp4C = plane->unk40;
calc_face_normal(sp4C);
plane->unk1C = gd_dot_vec3f(&sp4C->vertices[0]->pos, &sp4C->normal);
face = plane->unk40;
calc_face_normal(face);
plane->unk1C = gd_dot_vec3f(&face->vertices[0]->pos, &face->normal);
sp48 = 0.0f;
sp28 = sp4C->normal.x < 0.0f ? -sp4C->normal.x : sp4C->normal.x;
sp28 = face->normal.x < 0.0f ? -face->normal.x : face->normal.x;
sp44 = sp28;
if (sp44 > sp48) {
sp30 = 0;
sp48 = sp44;
}
sp28 = sp4C->normal.y < 0.0f ? -sp4C->normal.y : sp4C->normal.y;
sp28 = face->normal.y < 0.0f ? -face->normal.y : face->normal.y;
sp44 = sp28;
if (sp44 > sp48) {
sp30 = 1;
sp48 = sp44;
}
sp28 = sp4C->normal.z < 0.0f ? -sp4C->normal.z : sp4C->normal.z;
sp28 = face->normal.z < 0.0f ? -face->normal.z : face->normal.z;
sp44 = sp28;
if (sp44 > sp48) {
sp30 = 2;
@@ -485,8 +482,8 @@ void reset_plane(struct ObjPlane *plane) {
reset_bounding_box();
for (i = 0; i < sp4C->vtxCount; i++) {
add_obj_pos_to_bounding_box(&sp4C->vertices[i]->header);
for (i = 0; i < face->vtxCount; i++) {
add_obj_pos_to_bounding_box(&face->vertices[i]->header);
}
plane->boundingBox.minX = gSomeBoundingBox.minX;
@@ -513,7 +510,6 @@ void reset_plane(struct ObjPlane *plane) {
/* @ 22B60C for 0x94; orig name: func_8017CE3C */
struct ObjPlane *make_plane(s32 inZone, struct ObjFace *a1) {
UNUSED u32 pad1C;
struct ObjPlane *newPlane = (struct ObjPlane *) make_object(OBJ_TYPE_PLANES);
gGdPlaneCount++;

View File

@@ -7,10 +7,10 @@
#include "types.h"
#include "engine/graph_node.h"
Gfx *geo_intro_super_mario_64_logo(s32 sp50, struct GraphNode *sp54, UNUSED void *context);
Gfx *geo_intro_tm_copyright(s32 sp40, struct GraphNode *sp44, UNUSED void *context);
Gfx *geo_intro_regular_backdrop(s32 sp48, struct GraphNode *sp4c, UNUSED void *context);
Gfx *geo_intro_gameover_backdrop(s32 sp40, struct GraphNode *sp44, UNUSED void *context);
Gfx *geo_intro_super_mario_64_logo(s32 state, struct GraphNode *node, UNUSED void *context);
Gfx *geo_intro_tm_copyright(s32 state, struct GraphNode *node, UNUSED void *context);
Gfx *geo_intro_regular_backdrop(s32 state, struct GraphNode *node, UNUSED void *context);
Gfx *geo_intro_gameover_backdrop(s32 state, struct GraphNode *node, UNUSED void *context);
#ifdef VERSION_SH
Gfx *geo_intro_face_easter_egg(s32 state, struct GraphNode *node, UNUSED void *context);