Finish bss (#527)

* Finish importing bss
This commit is contained in:
coco875 2024-01-02 22:53:51 +01:00 committed by GitHub
parent 21a639a480
commit 7c44252daa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
59 changed files with 1091 additions and 1781 deletions

File diff suppressed because it is too large Load Diff

View File

@ -987,12 +987,12 @@ glabel L8009F264
/* 09FF80 8009F380 10000094 */ b .L8009F5D4
/* 09FF84 8009F384 8FBF001C */ lw $ra, 0x1c($sp)
glabel L8009F388
/* 09FF88 8009F388 3C048019 */ lui $a0, %hi(D_8018CA78) # $a0, 0x8019
/* 09FF88 8009F388 3C048019 */ lui $a0, %hi(playerHUD+0x8) # $a0, 0x8019
/* 09FF8C 8009F38C 3C05800F */ lui $a1, %hi(gCharacterSelections) # $a1, 0x800f
/* 09FF90 8009F390 AFBF007C */ sw $ra, 0x7c($sp)
/* 09FF94 8009F394 80A586A8 */ lb $a1, %lo(gCharacterSelections)($a1)
/* 09FF98 8009F398 0C02D408 */ jal func_800B5020
/* 09FF9C 8009F39C 8C84CA78 */ lw $a0, %lo(D_8018CA78)($a0)
/* 09FF9C 8009F39C 8C84CA78 */ lw $a0, %lo(playerHUD+0x8)($a0)
/* 09FFA0 8009F3A0 8FBF007C */ lw $ra, 0x7c($sp)
/* 09FFA4 8009F3A4 AFE2001C */ sw $v0, 0x1c($ra)
/* 09FFA8 8009F3A8 0C02D486 */ jal func_800B5218

View File

@ -1,8 +1,8 @@
glabel func_8009AB7C
/* 09B77C 8009AB7C 000470C0 */ sll $t6, $a0, 3
/* 09B780 8009AB80 3C0F8019 */ lui $t7, %hi(D_8018E11C) # 0x8019
/* 09B780 8009AB80 3C0F8019 */ lui $t7, %hi(D_8018E118+0x4) # 0x8019
/* 09B784 8009AB84 01EE7821 */ addu $t7, $t7, $t6
/* 09B788 8009AB88 8DEFE11C */ lw $t7, %lo(D_8018E11C)($t7) # -0x1ee4($t7)
/* 09B788 8009AB88 8DEFE11C */ lw $t7, %lo(D_8018E118+0x4)($t7) # -0x1ee4($t7)
/* 09B78C 8009AB8C 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019
/* 09B790 8009AB90 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9)
/* 09B794 8009AB94 3C0D0004 */ lui $t5, (0x0004B000 >> 16) # lui $t5, 4

View File

@ -1,8 +1,8 @@
glabel func_8009B538
/* 09C138 8009B538 000470C0 */ sll $t6, $a0, 3
/* 09C13C 8009B53C 3C0F8019 */ lui $t7, %hi(D_8018E11C) # 0x8019
/* 09C13C 8009B53C 3C0F8019 */ lui $t7, %hi(D_8018E118+0x4) # 0x8019
/* 09C140 8009B540 01EE7821 */ addu $t7, $t7, $t6
/* 09C144 8009B544 8DEFE11C */ lw $t7, %lo(D_8018E11C)($t7) # -0x1ee4($t7)
/* 09C144 8009B544 8DEFE11C */ lw $t7, %lo(D_8018E118+0x4)($t7) # -0x1ee4($t7)
/* 09C148 8009B548 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 09C14C 8009B54C 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019
/* 09C150 8009B550 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9)

View File

@ -138,14 +138,14 @@ glabel L800AD01C
glabel L800AD128
/* 0ADD28 800AD128 8E0B0018 */ lw $t3, 0x18($s0)
/* 0ADD2C 800AD12C 00051080 */ sll $v0, $a1, 2
/* 0ADD30 800AD130 3C0D8019 */ lui $t5, %hi(D_8018DEE4) # 0x8019
/* 0ADD30 800AD130 3C0D8019 */ lui $t5, %hi(D_8018DEE0+0x4) # 0x8019
/* 0ADD34 800AD134 000B6080 */ sll $t4, $t3, 2
/* 0ADD38 800AD138 018B6023 */ subu $t4, $t4, $t3
/* 0ADD3C 800AD13C 000C60C0 */ sll $t4, $t4, 3
/* 0ADD40 800AD140 3C0E800F */ lui $t6, %hi(D_800E8440)
/* 0ADD44 800AD144 01C27021 */ addu $t6, $t6, $v0
/* 0ADD48 800AD148 01AC6821 */ addu $t5, $t5, $t4
/* 0ADD4C 800AD14C 8DADDEE4 */ lw $t5, %lo(D_8018DEE4)($t5) # -0x211c($t5)
/* 0ADD4C 800AD14C 8DADDEE4 */ lw $t5, %lo(D_8018DEE0+0x4)($t5) # -0x211c($t5)
/* 0ADD50 800AD150 8DCE8440 */ lw $t6, %lo(D_800E8440)($t6)
/* 0ADD54 800AD154 3C04800F */ lui $a0, %hi(D_800E83A0) # 0x800f
/* 0ADD58 800AD158 00822021 */ addu $a0, $a0, $v0

View File

@ -7,14 +7,14 @@ glabel func_800B5218
/* 0B5E2C 800B522C 812986A8 */ lb $t1, %lo(gCharacterSelections)($t1)
/* 0B5E30 800B5230 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 0B5E34 800B5234 000E7880 */ sll $t7, $t6, 2
/* 0B5E38 800B5238 3C058019 */ lui $a1, %hi(D_8018CA74) # $a1, 0x8019
/* 0B5E38 800B5238 3C058019 */ lui $a1, %hi(playerHUD+0x4) # $a1, 0x8019
/* 0B5E3C 800B523C 3C068019 */ lui $a2, %hi(playerHUD) # $a2, 0x8019
/* 0B5E40 800B5240 01F8C821 */ addu $t9, $t7, $t8
/* 0B5E44 800B5244 AFBF0014 */ sw $ra, 0x14($sp)
/* 0B5E48 800B5248 AFB90038 */ sw $t9, 0x38($sp)
/* 0B5E4C 800B524C 24070001 */ li $a3, 1
/* 0B5E50 800B5250 24C6CA70 */ addiu $a2, %lo(playerHUD) # addiu $a2, $a2, -0x3590
/* 0B5E54 800B5254 24A5CA74 */ addiu $a1, %lo(D_8018CA74) # addiu $a1, $a1, -0x358c
/* 0B5E54 800B5254 24A5CA74 */ addiu $a1, %lo(playerHUD+0x4) # addiu $a1, $a1, -0x358c
/* 0B5E58 800B5258 24020001 */ li $v0, 1
/* 0B5E5C 800B525C 24080003 */ li $t0, 3
/* 0B5E60 800B5260 AFA90028 */ sw $t1, 0x28($sp)

View File

@ -51,7 +51,7 @@ typedef struct {
/* 0x50 */ f32 yPos; // Y position of the center of the circle
} BombKart; // size = 0x54
// Indexes for the objects associated with the Bomb Karts
//! Indexes for the objects associated with the Bomb Karts
extern s32 D_80183DD8[NUM_BOMB_KARTS_MAX];
extern BombKart gBombKarts[NUM_BOMB_KARTS_MAX];

View File

@ -377,14 +377,6 @@ typedef struct {
/* 0x0DD4 */ // s16 unk_DD4;
} Player; // size = 0xDD8
typedef struct {
char unk_00[0x4];
Vec3f unk_04;
char unk_10[0x4];
s32 objectIndex;
char unk_18[0x8];
} struct_D_8018CE10; // size = 0x20
typedef struct
{
// Something related to time trial ghost data?

View File

@ -1,8 +0,0 @@
#ifndef _GLOBAL_H_
#define _GLOBAL_H_
#include "functions.h"
#include "variables.h"
#include "macros.h"
#endif

View File

@ -80,7 +80,6 @@ typedef struct
/* 0xDF */ u8 unk_0DF;
} Objects; // size = 0xE0
// This is the object list
extern Objects gObjectList[];
typedef struct
@ -165,25 +164,27 @@ typedef struct
**/
extern s32 D_80183DA0;
/**
* Lakitu?
**/
//! Lakitu?
extern s32 D_80183DB8[];
#define DELETED_OBJECT_ID -1
// Appears to be a list of object list indices for the Item Window part of the HUD
//! Appears to be a list of object list indices for the Item Window part of the HUD
extern s32 gItemWindowObjectByPlayerId[];
// Used for loop bounds when accessing indexObjectList1
extern s16 D_80165750;
// These seem to be limits on different object types in Moo Moo Farm
// See init_course_object in code_8006E9C0.c
// Maybe max number of active moles in a given group of moles?
/**
* These seem to be limits on different object types in Moo Moo Farm
* See init_course_object in code_8006E9C0.c
* Maybe max number of active moles in a given group of moles?
*/
extern s32 D_8018D1C8;
extern s32 D_8018D1D0;
extern s32 D_8018D1D8;
// Limit on some object type (ice chips?) in Sherbet Land
//! Limit on some object type (ice chips?) in Sherbet Land
extern s32 D_8018D3C0;
extern Collision D_8018C0B0[];
@ -249,10 +250,9 @@ extern s16 gNumActiveThwomps;
* Thwomps in Bower's Castle?
* Penguins in Sherbet Land?
* Flag Poles in Yoshi Valley?
**/
*/
extern s32 indexObjectList1[];
#define NUM_SEAGULLS 10
#define NUM_SNOWMEN 19
#define NUM_HEDGEHOGS 15
@ -279,7 +279,7 @@ extern Vec3s gHedgehogPatrolPoints[];
* Seagulls in Koopa Troopa Beach?
* Hedgehogs in Yoshi Valley?
* Spawn for big fire breath in Bowser's Castle
**/
*/
extern s32 indexObjectList2[];
#define NUM_BOOS 0xA
@ -295,12 +295,12 @@ extern s16 D_800E57F8[];
/**
* Boos in Banshee Boardwalk
* Spawners for the 4 small fire breaths inside Bowser's Castle
**/
*/
extern s32 indexObjectList3[];
/**
* Unused list of object indices
*/
*/
extern s32 indexObjectList4[];
#define D_8018C1B0_SIZE 128
@ -311,13 +311,16 @@ extern s32 indexObjectList4[];
#define NUM_SNOWFLAKES 0x32
extern Vec3s gMoleSpawns[];
// Exact use unknown, something related to the mole groups
// Maybe be indicating that a given mole in a given group is active?
/**
* Exact use unknown, something related to the mole groups
* Maybe be indicating that a given mole in a given group is active?
*/
extern s8 D_8018D198[];
extern s8 D_8018D1A8[];
extern s8 D_8018D1B8[];
// Unknown object index, only set for Kalimari Desert, never read
//! Unknown object index, only set for Kalimari Desert, never read
extern s32 D_8018CF10;
/**
@ -326,30 +329,36 @@ extern s32 D_8018CF10;
* Snow flakes in Frappe Snowland
* Segments of the fire breath from the statues in Bowser's Castle
* Potentially other things
**/
*/
extern s32 D_8018C1B0[];
// Next free spot in D_8018C1B0? Wraps back around to 0 if it gets bigger than D_8018C1B0_SIZE
//! Next free spot in D_8018C1B0? Wraps back around to 0 if it gets bigger than D_8018C1B0_SIZE
extern s32 D_80183E38;
// Used for cycling through snowflakes in func_80078790
//! Used for cycling through snowflakes in func_80078790
extern s16 D_8018D174;
#define D_8018C3F0_SIZE 128
/**
* List of object list indices used for:
* Bats in Banshee's Boardwalk (but only 1 player mode?)
**/
*/
extern s32 D_8018C3F0[];
// Next free spot in D_8018C3F0? Wraps back around to 0 if it gets bigger than D_8018C3F0_SIZE
//! Next free spot in D_8018C3F0? Wraps back around to 0 if it gets bigger than D_8018C3F0_SIZE
extern s32 D_80183E4C;
// Controls number of come object type placed into D_8018C3F0 on Frappe Snowland. So, maybe snowmen/snowflakes?
//! Controls number of come object type placed into D_8018C3F0 on Frappe Snowland. So, maybe snowmen/snowflakes?
extern s32 D_8018D3BC;
#define D_8018C630_SIZE 128
extern s32 D_8018C630[];
// Next free spot in D_8018C630?
//! Next free spot in D_8018C630?
extern s32 D_80183E5C;
extern s16 D_80165730;
// Tracking a count of some object type, don't know what object type yet
//! Tracking a count of some object type, don't know what object type yet
extern s16 D_80165738;
#define D_8018C870_SIZE 0x40
@ -358,40 +367,53 @@ extern s16 D_80165738;
// This should really be `extern Vec3s gTorchSpawns[];`
//! @todo fix this extern
extern s16 gTorchSpawns[];
extern s16 gTorchSpawns[];
/**
* List of object list indices. Used both for the fires in the DK Jungle cave
* and, seemingly for the trail that shells leave behind them.
* I think they're using the same texture, which would explain the dual use
**/
*/
extern s32 D_8018C870[];
// Next free spot in D_8018C870? Wraps back around to 0 if it gets bigger than D_8018C870_SIZE
//! Next free spot in D_8018C870? Wraps back around to 0 if it gets bigger than D_8018C870_SIZE
extern s32 D_80183E6C;
// Maximum number of leaves that can be falling?
#define D_8018C970_SIZE 0x40
// Number of leaves to spawn each bonk?
#define D_8018C970_SPAWN_SIZE 0x14
// Seemingly a list of object list indices used for the leaves that sometimes fall
// trees when you bonk into them
/**
* Seemingly a list of object list indices used for the leaves that sometimes fall
* trees when you bonk into them
*/
extern s32 D_8018C970[];
// Next free spot in D_8018C970? Wraps back around to 0 if it gets bigger than D_8018C970_SIZE
//! Next free spot in D_8018C970? Wraps back around to 0 if it gets bigger than D_8018C970_SIZE
extern s32 D_80183E7C;
#define D_8018CC80_SIZE 0x64
// List of object list indices used by the clouds and stars in some stages
// Also used for snowflakes like D_8018C1B0? Not sure what's up with that
/**
* List of object list indices used by the clouds and stars in some stages
* Also used for snowflakes like D_8018C1B0? Not sure what's up with that
*/
extern s32 D_8018CC80[];
// Number of used spots in D_8018CC80?
//! Number of used spots in D_8018CC80?
extern s32 D_8018D1F0;
// Next free spot in D_8018CC80?
//! Next free spot in D_8018CC80?
extern s32 D_8018D1F8;
// Also next free spot in D_8018CC80?
//! Also next free spot in D_8018CC80?
extern s16 D_8018D17C;
// Something related to the display of the clouds/stars?
//! Something related to the display of the clouds/stars?
extern s8 D_8018D230;
// Some sort of limiter on how many of some object type can spawn
//! Some sort of limiter on how many of some object type can spawn
extern s32 D_8018D3C4;
#endif

View File

@ -1,26 +0,0 @@
#ifndef _VARIABLES_H_
#define _VARIABLES_H_
#include "global.h"
#include "defines.h"
#include "common_structs.h"
extern s8 gCharacterIdByGPOverallRank[8]; // D_8018D9D0
extern hud_player playerHUD[];
extern Mtx D_80183D60[];
extern struct_D_8018CE10 D_8018CE10[];
extern f32 D_80164510[];
extern s16 gMatrixEffectCount;
extern bool8 D_801657E8;
extern s8 D_801658FE;
extern s32 gMatrixHudCount;
extern s32 D_8018D900[];
#endif

View File

@ -310,7 +310,9 @@ SECTIONS
BUILD_DIR/src/camera.o(.bss);
BUILD_DIR/src/render_player.o(.bss);
BUILD_DIR/src/spawn_players.o(.bss);
BUILD_DIR/asm/bss_80165590.o(.bss);
BUILD_DIR/src/code_80057C60.o(.bss);
BUILD_DIR/src/code_80057C60_var.o(.bss);
BUILD_DIR/src/code_8008C1D0.o(.bss);
BUILD_DIR/src/code_80091750.jp.o(.bss);
BUILD_DIR/src/code_800AF9B0.o(.bss);
BUILD_DIR/src/menus.o(.bss);

View File

@ -3,7 +3,6 @@
#include <defines.h>
#include "camera.h"
#include "math_util_2.h"
#include "variables.h"
#include "audio/external.h"
#include "audio/load.h"
#include "audio/data.h"

View File

@ -9,7 +9,6 @@
#include "math_util.h"
#include "racing/memory.h"
#include "waypoints.h"
#include "variables.h"
#include "render_player.h"
#include "collision.h"
#include "code_80057C60.h"

View File

@ -4,7 +4,6 @@
#include "code_800029B0.h"
#include "types.h"
#include "memory.h"
#include "variables.h"
#include "waypoints.h"
#include "actors.h"
#include "actor_types.h"

View File

@ -6,8 +6,8 @@
#include "code_80004740.h"
#include "memory.h"
#include <main.h>
#include <variables.h>
#include <PR/gbi.h>
#include "code_80057C60.h"
Vec3s D_80162D70;
s16 D_80162D76;

View File

@ -14,7 +14,6 @@
#include "player_controller.h"
#include "code_80071F00.h"
#include "collision.h"
#include "variables.h"
#include <actor_types.h>
#include "vehicles.h"
#include "hud_renderer.h"

View File

@ -7,7 +7,6 @@
#include "actors.h"
#include "code_800029B0.h"
#include "racing/memory.h"
#include <variables.h>
#include <config.h>
#include <defines.h>
#include "math_util.h"
@ -33,6 +32,338 @@
//! @warning this macro is undef'd at the end of this file
#define MAKE_RGB(r,g,b) (((r) << 0x10) | ((g) << 0x08) | (b << 0x00))
//! @warning there is to many variable here
s32 D_80165590;
s32 D_80165594;
s32 D_80165598;
s32 D_8016559C;
UNUSED s32 D_801655A0;
s32 D_801655A4;
UNUSED s32 D_801655A8;
s32 D_801655AC;
UNUSED s32 D_801655B0;
s32 D_801655B4;
UNUSED s32 D_801655B8;
s32 D_801655BC;
s32 D_801655C0;
s32 D_801655C4;
s32 D_801655C8;
s32 D_801655CC;
UNUSED s32 D_801655D0[2];
s32 D_801655D8;
UNUSED s32 D_801655DC[2];
s32 D_801655E8;
UNUSED s32 D_801655EC;
s32 D_801655F0;
UNUSED s32 D_801655F4;
s32 D_801655F8;
UNUSED s32 D_80165600[2];
s32 D_80165608;
UNUSED s32 D_80165610[2];
s32 D_80165618;
UNUSED s32 D_80165620[2];
s32 D_80165628;
UNUSED s32 D_80165630[2];
s32 D_80165638;
UNUSED s32 D_80165640[2];
u32 D_80165648;
UNUSED u32 D_80165650[2];
u32 D_80165658[8];
s32 D_80165678;
UNUSED s32 D_80165680[12];
u16 D_801656B0;
UNUSED s32 D_801656B8[2];
u16 D_801656C0;
UNUSED s32 D_801656C8[2];
u16 D_801656D0;
UNUSED s32 D_801656D8[2];
u16 D_801656E0;
UNUSED s32 D_801656E8[2];
s16 D_801656F0;
UNUSED s32 D_801656F8[4];
s16 D_80165708;
UNUSED s32 D_8016570C;
s16 D_80165710;
UNUSED s32 D_80165714;
s16 D_80165718;
UNUSED s32 D_8016571C;
s16 D_80165720;
UNUSED s32 D_80165724;
s16 D_80165728;
UNUSED s32 D_8016572C;
s16 D_80165730;
UNUSED s32 D_80165734;
//! Tracking a count of some object type, don't know what object type yet
s16 D_80165738;
UNUSED s32 D_8016573C;
s16 D_80165740;
UNUSED s32 D_80165744;
s16 D_80165748;
UNUSED s32 D_8016574C;
s16 gNumActiveThwomps;
s32 D_80165754;
ThwompSpawn *gThowmpSpawnList;
Vec4s D_80165760;
UNUSED s16 D_80165768;
s8 D_8016576A;
Vec4s D_80165770;
UNUSED s32 D_80165778;
Vec4s D_80165780;
UNUSED s32 D_80165788;
s16 D_8016578C;
UNUSED s16 D_8016578E;
s16 D_80165790;
UNUSED s16 D_80165792;
s16 D_80165794;
UNUSED s32 D_80165798;
s8 D_8016579C;
u16 D_8016579E;
UNUSED s16 D_801657A0;
//! Something related to the rotation(?) of ice in Sherbet Land
u16 D_801657A2;
UNUSED s32 D_801657A4;
UNUSED s16 D_801657A8[3];
s8 D_801657AE;
UNUSED s8 D_801657AF;
s8 D_801657B0;
UNUSED s8 D_801657B1;
s8 D_801657B2;
UNUSED s8 D_801657B3;
s8 D_801657B4;
s8 D_801657B8[16];
s8 D_801657C8;
s8 D_801657D0[8];
s8 D_801657D8;
UNUSED s16 D_801657DA[2];
UNUSED s8 D_801657E0;
s8 D_801657E1;
s8 D_801657E2;
s8 D_801657E3;
s8 D_801657E4;
s8 D_801657E5;
bool8 D_801657E6;
u8 D_801657E7;
bool8 D_801657E8;
UNUSED s32 D_801657EC;
bool8 D_801657F0;
UNUSED s32 D_801657F4;
bool8 D_801657F8;
s32 D_801657FC;
s8 D_80165800[2];
s32 D_80165804;
s8 D_80165808;
s32 D_8016580C;
bool8 D_80165810;
s32 D_80165814;
bool8 D_80165818;
s32 D_8016581C;
s8 D_80165820;
UNUSED s32 D_80165824;
s8 D_80165828;
Vec3su D_8016582C;
s8 D_80165832[2];
Vec3su D_80165834;
UNUSED s32 D_8016583A;
s8 D_80165840[3];
UNUSED s32 D_80165848[6];
s32 D_80165860;
UNUSED s32 D_80165864;
UNUSED s32 D_80165868;
s32 D_8016586C;
UNUSED s32 D_80165870[2];
s32 D_80165878;
s32 D_8016587C;
u8 *D_80165880;
UNUSED s32 D_80165884;
s8 D_80165888;
UNUSED s32 D_8016588C;
s8 D_80165890;
UNUSED s32 D_80165894;
s8 D_80165898;
s32 D_8016589C;
UNUSED s32 D_801658A0[2];
s8 D_801658A8;
UNUSED s32 D_801658B0[3];
s8 D_801658BC;
UNUSED s32 D_801658C0;
UNUSED s16 D_801658C4;
s8 D_801658C6;
UNUSED s32 D_801658C8;
UNUSED s16 D_801658CC;
s8 D_801658CE;
UNUSED s32 D_801658D0;
UNUSED s16 D_801658D4;
s8 D_801658D6;
UNUSED s32 D_801658D8;
s8 D_801658DC;
UNUSED s32 D_801658E0;
s8 D_801658E4;
UNUSED s32 D_801658E8;
s8 D_801658EC;
UNUSED s32 D_801658F0;
s8 D_801658F4;
UNUSED s32 D_801658F8;
UNUSED s8 D_801658FC;
u8 sRandomItemIndex;
s8 D_801658FE;
u8 gControllerRandom;
s16 D_80165900;
UNUSED s32 D_80165904;
s8 D_80165908;
UNUSED s32 D_80165910[96];
s8 D_80165A90;
UNUSED s32 D_80165AA0[95];
UNUSED s32 D_80165C14;
Objects gObjectList[OBJECT_LIST_SIZE];
UNUSED s32 D_80183D58;
s32 objectListSize;
Mtx D_80183D60;
/**
* Use unknown. An object is reserved and its index is saved to
* this variable, but it appears to go unreferenced
**/
s32 D_80183DA0;
f32 D_80183DA8[4];
//! Lakitu?
s32 D_80183DB8[4];
f32 D_80183DC8[4];
//! Indexes for the objects associated with the Bomb Karts
s32 D_80183DD8[NUM_BOMB_KARTS_MAX];
UNUSED s32 D_80183DF8[16];
//! Next free spot in D_8018C1B0? Wraps back around to 0 if it gets bigger than D_8018C1B0_SIZE
s32 D_80183E38;
Vec3f D_80183E40;
//! Next free spot in D_8018C3F0? Wraps back around to 0 if it gets bigger than D_8018C3F0_SIZE
s32 D_80183E4C;
Vec3f D_80183E50;
//! Next free spot in D_8018C630?
s32 D_80183E5C;
UNUSED s32 D_80183E60[3];
//! Next free spot in D_8018C870? Wraps back around to 0 if it gets bigger than D_8018C870_SIZE
s32 D_80183E6C;
Vec3f D_80183E70;
//! Next free spot in D_8018C970? Wraps back around to 0 if it gets bigger than D_8018C970_SIZE
s32 D_80183E7C;
Vec3su D_80183E80;
//! Appears to be a list of object list indices for the Item Window part of the HUD
s32 gItemWindowObjectByPlayerId[4];
Vec3su D_80183E98;
/**
* Snowmen bodies in FrappeSnowland
* Crabs in Koopa Troopa Beach
* Hot air balloon in Luigi Raceway?
* Neon signs in Rainbow Road?
* Thwomps in Bower's Castle?
* Penguins in Sherbet Land?
* Flag Poles in Yoshi Valley?
*/
s32 indexObjectList1[32];
UNUSED s32 D_80183F20[2];
/**
* Snowmen heads in Frappe Snowland
* Chain Chomps in RaindbowRoad?
* Trophy in award ceremony?
* Seagulls in Koopa Troopa Beach?
* Hedgehogs in Yoshi Valley?
* Spawn for big fire breath in Bowser's Castle
*/
s32 indexObjectList2[32];
/**
* Seemingly a list of textures for Lakitu
* Never explicitly given data, data appears to be placed here
* via some type of DMA.
* I'm also not certain about its dimensions
* I think the entires in this array are way over-sized
*/
u8 D_80183FA8[4][0x2000];
/**
* Boos in Banshee Boardwalk
* Spawners for the 4 small fire breaths inside Bowser's Castle
*/
s32 indexObjectList3[32];
//! Seemingly a pointer to Lakitu texture(s)
u8 *D_8018C028;
/**
* Unused list of object indices
*/
s32 indexObjectList4[32];
//! Array of (4) Collisions?
Collision D_8018C0B0[4];
/**
* List of object list indices used for:
* Moles in Moo Moo Farm
* Snow flakes in Frappe Snowland
* Segments of the fire breath from the statues in Bowser's Castle
* Potentially other things
*/
s32 D_8018C1B0[D_8018C3F0_SIZE];
Collision D_8018C3B0;
/**
* List of object list indices used for:
* Bats in Banshee's Boardwalk (but only 1 player mode?)
*/
s32 D_8018C3F0[D_8018C3F0_SIZE];
// Maybe some unused Collision?
UNUSED Collision D_8018C5F0;
s32 D_8018C630[D_8018C630_SIZE];
Collision D_8018C830;
/**
* List of object list indices. Used both for the fires in the DK Jungle cave
* and, seemingly for the trail that shells leave behind them.
* I think they're using the same texture, which would explain the dual use
*/
s32 D_8018C870[D_8018C870_SIZE];
/**
* Seemingly a list of object list indices used for the leaves that sometimes fall
* trees when you bonk into them
*/
s32 D_8018C970[D_8018C970_SIZE];
hud_player playerHUD[4];
/**
* List of object list indices used by the clouds and stars in some stages
* Also used for snowflakes like D_8018C1B0? Not sure what's up with that
*/
s32 D_8018CC80[D_8018CC80_SIZE];
struct_D_8018CE10 D_8018CE10[8];
//! Unknown object index, only set for Kalimari Desert, never read
s32 D_8018CF10;
Camera *D_8018CF14;
s16 D_8018CF18;
Player *D_8018CF1C;
s16 D_8018CF20;
UNUSED s32 D_8018CF24;
Player *D_8018CF28[4];
UNUSED s32 D_8018CF38[4];
s16 D_8018CF48;
s16 D_8018CF50[8];
s16 D_8018CF60;
//! This may be a list of tilemap flags on a per-camera basis
s16 D_8018CF68[8];
s16 D_8018CF78;
/**
* List of half-word character IDs indicating each character's
* place in the current Grand Prix race's standings
*/
s16 gGPCurrentRaceCharacterIdByRank[8];
s16 D_8018CF90;
s16 D_8018CF98[8];
s16 D_8018CFA8;
s32 D_8018CFAC;
s16 D_8018CFB0;
s32 D_8018CFB4;
s16 D_8018CFB8;
s32 D_8018CFBC;
s16 D_8018CFC0;
s32 D_8018CFC4;
s16 D_8018CFC8;
f32 D_8018CFCC;
s16 D_8018CFD0;
f32 D_8018CFD4;
s16 D_8018CFD8;
s16 D_800E4730[] = {
0x00ff, 0x0000, 0x0000,
0x00ff, 0x00ff, 0x0000,
@ -96,7 +427,7 @@ s32 D_800E480C[] = {
void func_80057C60(void) {
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_802B8880));
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(D_80183D60), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_80183D60), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
}
void func_80057CE4(void) {
@ -2245,7 +2576,7 @@ void func_8005CB60(s32 playerId, s32 lapCount) {
}
func_800C90F4(0U, (player->characterId * 0x10) + 0x2900800D);
D_80165638 = playerHUD[playerId].someTimer1;
D_80165654[lapCount] = 1;
D_80165658[lapCount-1] = 1;
D_801657E3 = 1;
}
if ((lapCount == 3) && ((u32) playerHUD[playerId].someTimer < (u32) D_80165648)) {

View File

@ -2,9 +2,19 @@
#define CODE_80057C60_H
#include "common_structs.h"
#include "objects.h"
#include "camera.h"
// code_80057C60
typedef struct {
char unk_00[0x4];
Vec3f unk_04;
char unk_10[0x4];
s32 objectIndex;
char unk_18[0x8];
} struct_D_8018CE10; // size = 0x20
void func_8005C674(s8 arg0, s16 *arg1, s16 *arg2, s16 *arg3);
void func_80057C60(void);
void func_80057CE4(void);
@ -233,6 +243,7 @@ void func_8006E8C4(Player*, s8, s8);
void func_8006E940(Player*, s8, s8);
// data/data_code_80071F00_2.s
extern Vtx gBalloonVertexPlane1[];
extern Vtx gBalloonVertexPlane2[];
@ -258,10 +269,6 @@ extern u16 D_800E69F4[][4];
extern u8 D_800E6F30[][3];
extern u8 D_800E6F48[][3];
// BSS, presumably
extern f32 D_801652A0[];
extern s32 D_80165590;
@ -286,22 +293,47 @@ extern s32 D_80165618;
extern s32 D_80165628;
extern s32 D_80165638;
extern u32 D_80165648;
extern u32 D_80165654[];
extern u32 D_80165658[];
extern s32 D_80165678;
extern u16 D_801656B0;
extern u16 D_801656C0;
extern u16 D_801656D0;
extern u16 D_801656E0;
extern s16 D_801656F0;
extern s16 D_80165708;
extern s16 D_80165710;
// extern s16 D_80165730; -> objects.h
// extern s16 D_80165738; -> objects.h
extern s16 D_80165740;
extern s16 D_80165748;
extern s16 D_80165718;
extern s16 D_80165720;
extern s16 D_80165728;
// extern s16 gNumActiveThwomps; -> objects.h
extern s32 D_80165754;
// extern ThwompSpawn *gThowmpSpawnList; -> objects.h
extern Vec4s D_80165760;
extern s8 D_8016576A;
extern Vec4s D_80165770;
extern s16 D_8016578C;
extern Vec4s D_80165780;
extern s16 D_80165790;
extern s16 D_80165794;
extern s8 D_8016579C;
extern u16 D_8016579E;
extern u16 D_801657A2;
extern s8 D_801657AE;
extern s8 D_801657B0;
extern s8 D_801657B2;
extern s8 D_801657AE;
extern s8 D_801657B4;
extern s8 D_801657B8[];
extern s8 D_801657C8;
extern s8 D_801657D0[];
extern s8 D_801657D8;
extern s8 D_801657E2;
extern s8 D_801657E3;
@ -311,60 +343,193 @@ extern bool8 D_801657E6;
extern u8 D_801657E7;
extern bool8 D_801657E8;
extern bool8 D_801657F0;
extern s8 D_801657F8;
extern bool8 D_801657F8;
extern s32 D_801657FC;
extern s8 D_80165800[2];
extern s32 D_80165804;
extern s8 D_80165808;
extern s32 D_8016580C;
extern bool8 D_80165810;
extern s32 D_80165814;
extern bool8 D_80165818;
extern s32 D_8016581C;
extern s8 D_80165820;
extern s8 D_80165828;
extern Vec3su D_8016582C;
extern s8 D_80165832[2];
extern Vec3su D_80165834;
extern s8 D_80165840[];
extern s32 D_80165860;
extern s32 D_8016586C;
extern s32 D_80165878;
extern s32 D_8016587C;
extern u8 *D_80165880;
extern s8 D_80165888;
extern s8 D_80165890;
extern s8 D_80165898;
extern s32 D_8016589C;
extern s8 D_801658A8;
extern s8 D_801658BC;
extern s8 D_801658C6;
extern s8 D_801658CE;
extern s8 D_801658D6;
extern u8 sRandomItemIndex; // 801658fd
extern u8 gControllerRandom; // 801658ff
extern s8 D_801658DC;
extern s8 D_801658E4;
extern s8 D_801658EC;
extern s8 D_801658F4;
extern u8 sRandomItemIndex;
extern s8 D_801658FE;
extern u8 gControllerRandom;
extern s16 D_80165900;
extern s8 D_80165908;
extern s8 D_80165A90;
// extern Objects gObjectList[]; -> objects.h
extern s8 D_8018CAE0;
extern s32 objectListSize;
extern Mtx D_80183D60;
// extern s32 D_80183DA0; -> objects.h
extern f32 D_80183DA8[];
// extern s32 D_80183DB8[]; -> objects.h
extern f32 D_80183DC8[];
// extern s32 D_80183DD8[]; -> bomb_kart.h
// extern s32 D_80183E38; -> objects.h
extern Vec3f D_80183E40;
// extern s32 D_80183E4C; -> objects.h
extern Vec3f D_80183E50;
// extern s32 D_80183E5C; -> objects.h
// extern s32 D_80183E6C; -> objects.h
extern Vec3f D_80183E70;
// extern s32 D_80183E7C; -> objects.h
extern Vec3su D_80183E80;
// extern s32 gItemWindowObjectByPlayerId[]; -> objects.h
extern Vec3su D_80183E98;
// extern s32 indexObjectList1[]; -> objects.h
// extern s32 indexObjectList2[]; -> objects.h
extern u8 D_80183FA8[4][0x2000];
// extern s32 indexObjectList3[]; -> objects.h
extern u8 *D_8018C028;
// extern s32 indexObjectList4[]; -> objects.h
// extern Collision D_8018C0B0[]; -> objects.h
// extern s32 D_8018C1B0[]; -> objects.h
extern Collision D_8018C3B0;
// extern s32 D_8018C3F0[]; -> objects.h
// extern s32 D_8018C630[]; -> objects.h
extern Collision D_8018C830;
// extern s32 D_8018C870[]; -> objects.h
// extern s32 D_8018C970[]; -> objects.h
extern hud_player playerHUD[];
// extern s32 D_8018CC80[]; -> objects.h
extern struct_D_8018CE10 D_8018CE10[];
// extern s32 D_8018CF10; -> objects.h
extern Camera *D_8018CF14;
extern s16 D_8018CF18;
extern Player *D_8018CF1C;
extern s16 D_8018CF20;
extern Player *D_8018CF28[];
extern s16 D_8018CF48;
extern s16 D_8018CF50[];
extern s16 gGPCurrentRaceCharacterIdByRank[]; // 8018cf80
extern s16 D_8018CF60;
extern s16 D_8018CF68[];
extern s16 D_8018CF78;
extern s16 gGPCurrentRaceCharacterIdByRank[];
extern s16 D_8018CF90;
extern s16 D_8018CF98[];
extern s16 D_8018CFA8;
extern s16 D_8018CFB0;
extern s16 D_8018CFB8;
extern s16 D_8018CFC0;
extern s16 D_8018CFC8;
extern f32 D_8018CFCC;
extern s16 D_8018CFD0;
extern f32 D_8018CFD4;
extern s16 D_8018CFD8;
extern s16 D_8018CFE0;
extern f32 D_8018CFE4;
extern s16 D_8018CFE8;
extern f32 D_8018CFEC;
extern s16 D_8018CFF0;
extern f32 D_8018CFF4;
extern f32 D_8018D028[8];
extern f32 D_8018D050[8];
extern f32 D_8018D078[8];
extern s16 D_8018CFF8;
extern s16 D_8018D000;
extern s16 D_8018D008;
extern f32 D_8018D00C;
extern s16 D_8018D010;
extern s16 D_8018D018;
extern f32 xOrientation;
extern s16 D_8018D020;
extern f32 D_8018D028[];
extern s16 D_8018D048;
extern f32 D_8018D050[];
extern s16 D_8018D070;
extern f32 D_8018D078[];
extern s16 D_8018D098;
extern f32 D_8018D0A0[];
extern f32 D_8018D0C8[8];
extern s16 D_8018D0C0;
extern f32 D_8018D0C8[];
extern s16 D_8018D0E8;
extern f32 D_8018D0F0[];
extern s32 gMatrixHudCount; // 8018d120
extern s16 D_8018D110;
extern s32 D_8018D114;
extern s32 gMatrixHudCount;
extern s32 D_8018D140;
extern s32 D_8018D150;
extern s32 D_8018D158;
extern s32 D_8018D160;
extern s32 D_8018D168;
extern s16 D_8018D16C;
extern s32 D_8018D170;
extern s32 D_8018D178;
extern s32 D_8018D180;
extern s32 gIsHUDVisible; // 8018d188
extern s32 D_8018D190;
extern s32 D_8018D1A0;
extern s32 D_8018D1B4;
extern s32 D_8018D1D4;
extern s32 D_8018D1CC;
extern f32 D_8018D1E8;
extern s32 D_8018D1FC;
// extern s16 D_8018D174; -> objects.h
extern s32 D_8018D178;
// extern s16 D_8018D17C; -> objects.h
extern s32 D_8018D180;
extern s16 D_8018D184;
extern s32 gIsHUDVisible;
extern s16 D_8018D18C;
extern s32 D_8018D190;
// extern s8 D_8018D198[]; -> objects.h
extern s32 D_8018D1A0;
// extern s8 D_8018D1A8[]; -> objects.h
extern s32 D_8018D1B4;
// extern s8 D_8018D1B8[]; -> objects.h
extern s32 D_8018D1C4;
// extern s32 D_8018D1C8; -> objects.h
extern s32 D_8018D1CC;
// extern s32 D_8018D1D0; -> objects.h
extern s32 D_8018D1D4;
// extern s32 D_8018D1D8; -> objects.h
extern s32 D_8018D1DC;
extern u8 *D_8018D1E0;
extern f32 D_8018D1E8;
extern s32 D_8018D1EC;
// extern s32 D_8018D1F0; -> objects.h
// extern s32 D_8018D1F8; -> objects.h
extern s32 D_8018D1FC;
extern s16 D_8018D200;
extern s32 D_8018D204;
extern s16 D_8018D208;
@ -373,28 +538,52 @@ extern s16 D_8018D210;
extern bool D_8018D214;
extern s16 D_8018D218;
extern s32 D_8018D21C;
extern u8 (*D_8018D220)[1024];
extern s32 D_8018D224;
extern u8 D_8018D228;
extern s32 D_8018D22C;
// extern s8 D_8018D230; -> objects.h
extern s32 D_8018D240;
extern u8 *D_8018D248[];
extern f32 D_8018D2A0;
extern s32 D_8018D2A4;
extern s32 D_8018D2AC;
extern s16 D_8018D2B0;
extern s32 D_8018D2B4;
extern s16 D_8018D2B8;
extern s32 D_8018D2BC;
extern s16 D_8018D2C0[];
extern s32 D_8018D2C8[];
extern s16 D_8018D2D8[];
extern s16 D_8018D2E0;
extern s16 D_8018D2E8;
extern s16 D_8018D2F0;
extern s16 D_8018D2F8;
extern u16 D_8018D300;
extern u16 D_8018D308;
extern u16 D_8018D310;
extern s32 D_8018D314;
extern u16 D_8018D318;
extern s32 D_8018D320;
extern s32 D_8018D380;
extern s32 D_8018D384;
extern s32 D_8018D388;
// extern s32 D_8018D3BC; -> objects.h
// extern s32 D_8018D3C0; -> objects.h
// extern s32 D_8018D3C4; -> objects.h
extern s32 D_8018D3D4;
extern s32 D_8018D3D8;
extern s32 D_8018D3DC;
extern s32 D_8018D3E0;
extern s32 D_8018D3E4;
extern s32 D_8018D3E8;
extern s32 D_8018D3EC;
extern s32 D_8018D3F0;
extern s32 D_8018D3F4;
extern s32 D_8018D3F8;
extern s32 gRaceFrameCounter; // 8018d3fc
extern s32 gRaceFrameCounter;
extern s32 D_8018D400;
extern s32 D_8018D40C;
extern s32 D_8018D410;
@ -419,11 +608,13 @@ extern u8 *D_8018D464;
extern u8 *D_8018D468;
extern u8 *D_8018D46C;
extern u8 *D_8018D470;
extern u8 *D_8018D474;
extern u8 *D_8018D478;
extern u8 *D_8018D480;
extern u8 *D_8018D484;
extern u8 *D_8018D488;
extern u8 *D_8018D48C;
extern u8* D_8018D490;
extern u8 *D_8018D494;
extern u8 *D_8018D498;
extern u8 *D_8018D49C;
@ -439,11 +630,9 @@ extern u8 *D_8018D4C0;
extern u8 *D_8018D4C4;
extern u8 *D_8018D4C8;
extern Vec3f D_8018D4D0[];
extern Vec3f D_8018D530[];
extern Vec3f D_8018D590[];
extern u16 gPlayerBalloonStatus[8][3]; // D_8018D5F0
extern u16 gPlayerBalloonStatus[8][3];
extern Vec3s D_8018D620[];
extern Vec3f D_8018D650[];
extern Vec3f D_8018D6B0[];
@ -457,7 +646,7 @@ extern Vec3s D_8018D800[];
extern Vec3s D_8018D830[];
extern Vec3s D_8018D860[];
extern Vec3s D_8018D890[];
extern Vec3s D_8018D8D0[];
extern s16 gPlayerBalloonCount[]; // D_8018D8C0
extern Vec3s D_8018D8D0[];
#endif

233
src/code_80057C60_var.c Normal file
View File

@ -0,0 +1,233 @@
#include <ultra64.h>
#include <macros.h>
#include "code_80057C60.h"
s16 D_8018CFE0;
f32 D_8018CFE4;
s16 D_8018CFE8;
f32 D_8018CFEC;
s16 D_8018CFF0;
f32 D_8018CFF4;
s16 D_8018CFF8;
UNUSED s32 D_8018CFFC;
s16 D_8018D000;
UNUSED s32 D_8018D004;
s16 D_8018D008;
f32 D_8018D00C;
s16 D_8018D010;
UNUSED s32 D_8018D014;
s16 D_8018D018;
f32 xOrientation;
s16 D_8018D020;
f32 D_8018D028[8];
s16 D_8018D048;
f32 D_8018D050[8];
s16 D_8018D070;
f32 D_8018D078[8];
s16 D_8018D098;
f32 D_8018D0A0[8];
s16 D_8018D0C0;
f32 D_8018D0C8[8];
s16 D_8018D0E8;
f32 D_8018D0F0[8];
s16 D_8018D110;
s32 D_8018D114;
UNUSED s32 D_8018D118[2];
s32 gMatrixHudCount;
UNUSED s32 D_8018D128[6];
s32 D_8018D140;
UNUSED s32 D_8018D148[2];
s32 D_8018D150;
UNUSED s32 D_8018D154;
s32 D_8018D158;
UNUSED s32 D_8018D15C;
s32 D_8018D160;
UNUSED s32 D_8018D164;
s32 D_8018D168;
s16 D_8018D16C;
s32 D_8018D170;
//! Used for cycling through snowflakes in func_80078790
s16 D_8018D174;
s32 D_8018D178;
//! Also next free spot in D_8018CC80?
s16 D_8018D17C;
s32 D_8018D180;
s16 D_8018D184;
s32 gIsHUDVisible;
s16 D_8018D18C;
s32 D_8018D190;
/**
* Exact use unknown, something related to the mole groups
* Maybe be indicating that a given mole in a given group is active?
*/
s8 D_8018D198[NUM_GROUP1_MOLES];
s32 D_8018D1A0;
s8 D_8018D1A8[NUM_GROUP2_MOLES];
s32 D_8018D1B4;
s8 D_8018D1B8[NUM_GROUP3_MOLES];
s32 D_8018D1C4;
/**
* These seem to be limits on different object types in Moo Moo Farm
* See init_course_object in code_8006E9C0.c
* Maybe max number of active moles in a given group of moles?
*/
s32 D_8018D1C8;
s32 D_8018D1CC;
s32 D_8018D1D0;
s32 D_8018D1D4;
s32 D_8018D1D8;
s32 D_8018D1DC;
u8 *D_8018D1E0;
UNUSED s32 D_8018D1E4;
f32 D_8018D1E8;
s32 D_8018D1EC;
//! Number of used spots in D_8018CC80?
s32 D_8018D1F0;
UNUSED s32 D_8018D1F4;
//! Next free spot in D_8018CC80?
s32 D_8018D1F8;
s32 D_8018D1FC;
s16 D_8018D200;
s32 D_8018D204;
s16 D_8018D208;
s32 D_8018D20C;
s16 D_8018D210;
bool D_8018D214;
s16 D_8018D218;
s32 D_8018D21C;
/**
* Destination for decompressed exhaust textures (I think)
* I'm not how much I like this "pointer to an array" setup, but if it matches it matches
*/
u8 (*D_8018D220)[1024];
s32 D_8018D224;
u8 D_8018D228;
s32 D_8018D22C;
//! Something related to the display of the clouds/stars?
s8 D_8018D230;
UNUSED s32 D_8018D238[2];
s32 D_8018D240;
u8 *D_8018D248[22];
f32 D_8018D2A0;
s32 D_8018D2A4;
UNUSED s32 D_8018D2A8;
s32 D_8018D2AC;
s16 D_8018D2B0;
s32 D_8018D2B4;
s16 D_8018D2B8;
s32 D_8018D2BC;
s16 D_8018D2C0[4];
s32 D_8018D2C8[4];
s16 D_8018D2D8[4];
s16 D_8018D2E0;
UNUSED s32 D_8018D2E4;
s16 D_8018D2E8;
UNUSED s32 D_8018D2EC;
s16 D_8018D2F0;
UNUSED s32 D_8018D2F4;
s16 D_8018D2F8;
UNUSED s32 D_8018D2FC;
u16 D_8018D300;
UNUSED s32 D_8018D304;
u16 D_8018D308;
UNUSED s32 D_8018D30C;
u16 D_8018D310;
s32 D_8018D314;
u16 D_8018D318;
UNUSED s32 D_8018D31C;
s32 D_8018D320;
UNUSED s32 D_8018D328[22];
s32 D_8018D380;
s32 D_8018D384;
s32 D_8018D388;
UNUSED s32 D_8018D390[11];
//! Controls number of come object type placed into D_8018C3F0 on Frappe Snowland. So, maybe snowmen/snowflakes?
s32 D_8018D3BC;
//! Limit on some object type (ice chips?) in Sherbet Land
s32 D_8018D3C0;
//! Some sort of limiter on how many of some object type can spawn
s32 D_8018D3C4;
UNUSED s32 D_8018D3C8[3];
s32 D_8018D3D4;
s32 D_8018D3D8;
s32 D_8018D3DC;
//! some alpha
s32 D_8018D3E0;
//! some red
s32 D_8018D3E4;
//! some green
s32 D_8018D3E8;
//! some blue
s32 D_8018D3EC;
s32 D_8018D3F0;
s32 D_8018D3F4;
s32 D_8018D3F8;
s32 gRaceFrameCounter;
s32 D_8018D400;
UNUSED s32 D_8018D404;
UNUSED s32 D_8018D408;
s32 D_8018D40C;
s32 D_8018D410;
UNUSED s32 D_8018D418[2];
u8 *D_8018D420;
u8 *D_8018D424;
u8 *D_8018D428;
u8 *D_8018D42C;
u8 *D_8018D430;
u8 *D_8018D434;
u8 *D_8018D438;
u8 *D_8018D43C;
u8 *D_8018D440;
u8 *D_8018D444;
u8 *D_8018D448;
u8 *D_8018D44C;
u8 *D_8018D450;
u8 *D_8018D454;
u8 *D_8018D458;
u8 *D_8018D45C;
u8 *D_8018D460;
u8 *D_8018D464;
u8 *D_8018D468;
u8 *D_8018D46C;
u8 *D_8018D470;
u8 *D_8018D474;
u8 *D_8018D478;
UNUSED u8 *D_8018D47C;
u8 *D_8018D480;
u8 *D_8018D484;
u8 *D_8018D488;
u8 *D_8018D48C;
u8* D_8018D490;
u8 *D_8018D494;
u8 *D_8018D498;
u8 *D_8018D49C;
u8 *D_8018D4A0;
u8 *D_8018D4A4;
u8 *D_8018D4A8;
u8 *D_8018D4AC;
u8 *D_8018D4B0;
u8 *D_8018D4B4;
u8 *D_8018D4B8;
u8 *D_8018D4BC;
u8 *D_8018D4C0;
u8 *D_8018D4C4;
u8 *D_8018D4C8;
Vec3f D_8018D4D0[8];
Vec3f D_8018D530[8];
Vec3f D_8018D590[8];
u16 gPlayerBalloonStatus[8][3];
Vec3s D_8018D620[8];
Vec3f D_8018D650[8];
Vec3f D_8018D6B0[8];
Vec3f D_8018D710[8];
Vec3s D_8018D770[8];
Vec3s D_8018D7A0[8];
Vec3s D_8018D7D0[8];
Vec3s D_8018D800[8];
Vec3s D_8018D830[8];
Vec3s D_8018D860[8];
Vec3s D_8018D890[8];
s16 gPlayerBalloonCount[8];
Vec3s D_8018D8D0[8];

View File

@ -11,7 +11,6 @@
#include "code_80071F00.h"
#include "objects.h"
#include "bomb_kart.h"
#include "variables.h"
#include "save.h"
#include "common_textures.h"
#include <sounds.h>
@ -22,6 +21,7 @@
#include "menus.h"
#include "data/other_textures.h"
#include "hud_renderer.h"
#include "code_80091750.h"
void init_object_list(void) {

View File

@ -35,72 +35,6 @@ extern s16 D_800E5520[];
extern s16 D_800E5548[];
extern u8 *gCourseOutlineTextures[0x14]; // 800e54d0
extern s16 D_80165730;
extern s16 D_80165740;
extern s16 D_80165748;
extern s8 D_801657E4;
extern bool8 D_801657E6;
extern bool8 D_801657E8;
extern bool8 D_801657F0;
extern s8 D_801657F8;
extern s8 D_80165800[2];
extern s8 D_80165808;
extern bool8 D_80165810;
extern bool8 D_80165818;
extern s8 D_80165820;
extern s8 D_80165828;
extern s8 D_80165832[2];
// Destination for decompressed exhaust textures (I think)
// I'm not how much I like this "pointer to an array" setup, but if it matches it matches
extern u8 (*D_8018D220)[1024];
extern s32 D_8018D240;
extern u8 *D_8018D248[];
extern s16 D_8018D2B0;
extern s16 D_8018D2B8;
extern s32 D_80183DA0;
extern s32 D_80183DBC;
extern hud_player playerHUD[]; // 8018CA70 - 8018CC70
extern s16 D_8018CF18;
extern s16 D_8018CF20;
extern s16 D_8018CF48;
extern s16 D_8018CF60;
extern s16 D_8018CF78;
extern s16 D_8018CF90;
extern s16 D_8018CFA8;
extern s16 D_8018CFB0;
extern s16 D_8018CFB8;
extern s16 D_8018CFC0;
extern s16 D_8018CFC8;
extern s16 D_8018CFD0;
extern s16 D_8018CFD8;
extern s16 D_8018CFE0;
extern s16 D_8018CFF0;
extern s16 D_8018CFF8;
extern s16 D_8018D000;
extern s16 D_8018D008;
extern s16 D_8018D010;
extern s16 D_8018D018;
extern s16 D_8018D020;
extern s16 D_8018D048;
extern s16 D_8018D070;
extern s16 D_8018D098;
extern s16 D_8018D0C0;
extern s16 D_8018D0E8;
extern s16 D_8018D110;
extern u8 *D_8018D1E0;
extern intptr_t D_8018D9B0;
// These are found in data_code_80071F00
extern StarSpawn D_800E6A38[]; /* unable to generate initializer */
extern StarSpawn D_800E6AA8[]; /* unable to generate initializer */

View File

@ -12,7 +12,6 @@
#include "hud_renderer.h"
#include "objects.h"
#include "waypoints.h"
#include "variables.h"
#include "code_800029B0.h"
#include "code_80005FD0.h"
#include "code_80057C60.h"

View File

@ -383,46 +383,14 @@ extern u8 *D_800E4570[];
extern u8 *gPortraitTLUTs[];
extern u8 *gPortraitTextures[];
// Seemingly a pointer to Lakitu texture(s)
extern u8 *D_8018C028;
// Seemingly a list of textures for Lakitu
// Never explicitly given data, data appears to be placed here
// via some type of DMA.
// I'm also not certain about its dimensions
// I think the entires in this array are way over-sized
extern u8 D_80183FA8[4][0x2000];
// Something related to the rotation(?) of ice in Sherbet Land
extern u16 D_801657A2;
extern s8 D_801658CE;
extern s32 D_80162DF8;
extern s16 D_8016347C;
extern s32 D_80165594;
extern s32 D_80165598;
extern s16 D_80165740;
extern s8 D_801657B4;
extern Vec3su D_8016582C;
extern s8 D_80165888;
extern s8 D_801658C6;
extern s8 D_801658DC;
extern s8 D_801658F4;
extern s32 objectListSize;
extern s16 D_8018CFB0;
extern s16 D_8018CFE8;
extern s16 D_8018CFF0;
extern s16 D_8018D018;
extern f32 xOrientation;
extern s16 D_8018D048;
extern s16 D_8018D110;
extern s32 D_8018D140;
extern s32 D_8018D158;
extern s8 D_8018D198[];
extern s8 D_8018D1A8[];
extern s8 D_8018D1B8[];
extern s32 D_8018D1EC;
extern s32 D_8018D224;
extern u8* D_8018D490;
// This is either 3 Vec3s as separate variables or an array of s16's or an array of vec3s.
// The other entries appear to be unused.

View File

@ -12,8 +12,9 @@
#include "code_80071F00.h"
#include "collision.h"
#include "audio/external.h"
#include "variables.h"
#include "main.h"
#include "code_80057C60.h"
#include "defines.h"
void func_80086E70(s32 objectIndex) {
gObjectList[objectIndex].unk_0AE = 1;// * 0xE0)) = 1;

View File

@ -165,18 +165,6 @@ void func_8008BFFC(s32);
void func_8008C1B8(s32);
void func_8008C1C0(s32);
// This may be a list of tilemap flags on a per-camera basis
extern s16 D_8018CF68[];
extern f32 D_80183DA8[];
extern f32 D_80183DC8[];
extern Collision D_8018C3B0;
extern s16 gCurrentCourseId;
extern Vec4s D_80165760;
extern Vec4s D_80165770;
extern Vec4s D_80165780;
extern Vec3f D_80183E40;
extern Vec3su D_80183E80;
#endif

View File

@ -2,7 +2,6 @@
#include <macros.h>
#include <types.h>
#include <functions.h>
#include <variables.h>
#include <defines.h>
#include <sounds.h>
#include "code_800029B0.h"
@ -18,6 +17,13 @@
#include "audio/external.h"
#include "spawn_players.h"
s32 D_8018D900[8];
s16 D_8018D920[8];
s32 D_8018D930[8];
s32 D_8018D950[8];
s32 D_8018D970[8];
s32 D_8018D990[8];
UNUSED void func_unnamed(void) {
}

View File

@ -123,6 +123,13 @@ void func_800CA984(u8);
void func_800CAFC0(u8);
void func_800CB064(u8);
extern s32 D_8018D900[];
extern s16 D_8018D920[];
extern s32 D_8018D930[];
extern s32 D_8018D950[];
extern s32 D_8018D970[];
extern s32 D_8018D990[];
/* This is where I'd put my static data, if I had any */
extern f32 D_800E3710[];
@ -136,12 +143,5 @@ extern f32 D_800E37F0[];
extern s16 D_80165190[4][8];
extern f32 D_80165280[];
extern s32 gFrameSinceLastACombo[];
extern s8 D_801658BC;
extern s32 D_8018D900[];
extern s16 D_8018D920[];
extern s32 D_8018D930[];
extern s32 D_8018D950[];
extern s32 D_8018D970[];
extern s32 D_8018D990[];
#endif

View File

@ -1,4 +1,3 @@
#include <variables.h>
#include <actor_types.h>
#include "main.h"
#include "code_800029B0.h"

View File

@ -3,7 +3,6 @@
#include <defines.h>
#include <PR/ultratypes.h>
#include <config.h>
#include <variables.h>
#include <sounds.h>
#include "code_800029B0.h"
#include "code_80091750.h"
@ -31,14 +30,62 @@
#include "racing/race_logic.h"
#include "ending/code_80281C40.h"
#include "spawn_players.h"
#include "render_player.h"
//! @todo Move gGfxPool out of main.h
// Unfortunately that's not a small effort due to weird import structure in this project
#include "main.h"
intptr_t D_8018D9B0;
u8 *D_8018D9B4;
uintptr_t *D_8018D9B8;
u8 *D_8018D9BC;
struct_8018EE10_entry_cont *D_8018D9C0;
/**
* List of bytes indexed by character ID
* Indicates number of Grand Prix points that character
* has scored
*/
s8 gGPPointsByCharacterId[8];
s8 gCharacterIdByGPOverallRank[8];
s8 D_8018D9D8;
s8 D_8018D9D9;
struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE];
struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE];
s32 D_8018E060;
UNUSED s32 D_8018E068[32];
struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE];
s32 gD_8018E118TotalSize;
struct_8018E118_entry D_8018E118[D_8018E118_SIZE];
s32 gNumD_8018E118Entries;
Gfx *D_8018E75C;
s32 gNumD_8018E768Entries;
struct_8018E768_entry D_8018E768[D_8018E768_SIZE];
s32 gCycleFlashMenu;
s8 D_8018E7AC[4];
s8 D_8018E7B0;
s32 D_8018E7B8[4];
u32 D_8018E7C8;
u32 D_8018E7D0[4];
s32 D_8018E7E0;
struct UnkStruct_8018E7E8 D_8018E7E8[1];
s16 D_8018E7F0;
UNUSED s32 D_8018E7F4;
s16 D_8018E7F8;
//! @todo Unknown type
s16 D_8018E7FA;
UNUSED s32 D_8018E7FC;
//! @todo Unknown type
s16 D_8018E800;
s16 D_8018E802;
UNUSED s32 D_8018E808[2];
struct UnkStruct_8018E7E8 D_8018E810[1];
s16 D_8018E818;
//! @todo Unknown type
s16 D_8018E81A;
UNUSED s32 D_8018E81C;
//! @todo these are likely arrays.
s16 D_8018E820;
s16 D_8018E820;
//! @todo This may not be the right file for them.
s16 D_8018E822;
s16 D_8018E822;
s32 code_80091750_pad_1;
s16 D_8018E828;
s16 D_8018E82A;
@ -1503,8 +1550,6 @@ void swap_values(s32 *arg0, s32 *arg1) {
}
extern s8 D_800E852C;
extern uintptr_t *D_8018D9B4;
extern uintptr_t *D_8018D9B8;
void func_80091B78(void) {
s32 why = 0;
@ -5967,7 +6012,6 @@ void func_8009CA6C(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/code_80091750/func_8009CA6C.s")
#endif
extern u32 D_8018E7D0[];
extern struct UnkStruct_8018E7E8 D_8018E7E8[];
extern struct UnkStruct_8018E7E8 D_8018E810[];

View File

@ -366,6 +366,11 @@ void func_800AF740(struct_8018D9E0_entry*);
// This really, really shouldn't be in this header file, but I don't know where else to put it
void rmonPrintf(const char *, ...);
typedef struct struct_8018EE10_entry_cont {
struct_8018EE10_entry arr[1];
} struct_8018EE10_entry_cont;
/* File specific defines */
#define D_8018D9E0_SIZE 0x20
@ -378,32 +383,40 @@ void rmonPrintf(const char *, ...);
extern s32 D_800DDB24;
extern s16 D_80164478[];
extern u8 *D_8018D9BC;
extern s32 D_80165754;
extern intptr_t D_8018D9B0;
extern s8 gGPPointsByCharacterId[8]; // D_8018D9C8
extern s8 D_8018D9D8;
extern s8 D_8018D9D9;
extern struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE]; // D_8018D9E0
extern struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE]; // D_8018DEE0
extern u8 *D_8018D9B4;
extern uintptr_t *D_8018D9B8;
extern u8 *D_8018D9BC;
extern struct_8018EE10_entry_cont *D_8018D9C0;
extern s8 gGPPointsByCharacterId[8];
extern s8 gCharacterIdByGPOverallRank[];
extern s8 D_8018D9D8;
extern s8 D_8018D9D9;
extern struct_8018D9E0_entry D_8018D9E0[D_8018D9E0_SIZE];
extern struct_8018DEE0_entry D_8018DEE0[D_8018DEE0_SIZE];
extern s32 D_8018E060;
extern struct_8018E0E8_entry D_8018E0E8[D_8018E0E8_SIZE];
extern s32 gD_8018E118TotalSize; // D_8018E110
extern struct_8018E118_entry D_8018E118[D_8018E118_SIZE]; // D_8018E118
extern s32 gNumD_8018E118Entries; // D_8018E758
extern Gfx *D_8018E75C; // D_8018E75C
extern s32 gNumD_8018E768Entries; // D_8018E760
extern struct_8018E768_entry D_8018E768[D_8018E768_SIZE]; // D_8018E768
extern s32 gCycleFlashMenu; // maybe?
extern s8 D_8018E7AC[];
extern s8 D_8018E7B0; // maybe?
extern s32 gD_8018E118TotalSize;
extern struct_8018E118_entry D_8018E118[D_8018E118_SIZE];
extern s32 gNumD_8018E118Entries;
extern Gfx *D_8018E75C;
extern s32 gNumD_8018E768Entries;
extern struct_8018E768_entry D_8018E768[D_8018E768_SIZE];
extern s32 gCycleFlashMenu;
extern s8 D_8018E7AC[];
extern s8 D_8018E7B0;
extern s32 D_8018E7B8[];
extern u32 D_8018E7C8;
extern u32 D_8018E7D0[];
extern s32 D_8018E7E0;
extern s8 gTextColor; // D_8018E860
extern u8 D_8018ED90;
extern u8 D_8018ED91;
extern s8 D_8018E838[];
extern s16 D_8018E7F0;
extern s16 D_8018E7F8;
extern s8 gTextColor;
extern u8 D_8018ED90;
extern u8 D_8018ED91;
extern s8 D_8018E838[];
extern s32 D_8018E840[];
extern s32 D_8018E850[];
extern s32 D_8018E854;

View File

@ -1,7 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include "global.h"
#include "code_800AF9B0.h"

View File

@ -57,7 +57,6 @@
#include <debug.h>
#include <defines.h>
#include <functions.h>
#include <global.h>
#include <kart_attributes.h>
#include <macros.h>
#include <mk64.h>
@ -68,7 +67,6 @@
#include <trig_tables.h>
#include <types.h>
#include <ultra64.h>
#include <variables.h>
#include <vehicles.h>
#include <waypoints.h>

View File

@ -8,7 +8,6 @@
#include <macros.h>
#include <types.h>
#include <common_structs.h>
#include "variables.h"
#include "math_util.h"
#include "ceremony_and_credits.h"
#include "code_800029B0.h"
@ -20,6 +19,8 @@
#include <sounds.h>
#include "podium_ceremony_actors.h"
#include "code_80091750.h"
#include "code_80057C60.h"
#include "defines.h"
f32 D_802856B0 = 98.0f;
f32 D_802856B4 = 12.0f;

View File

@ -6,7 +6,6 @@
#include <main.h>
#include <code_800029B0.h>
#include <variables.h>
#include <types.h>
#include "camera.h"
#include "memory.h"
@ -25,6 +24,7 @@
#include "actors.h"
#include "render_courses.h"
#include "main.h"
#include "render_player.h"
s32 D_802874A0;

View File

@ -11,8 +11,6 @@ void func_80280268(s32 arg0);
void credits_loop(void);
void load_credits(void);
extern s16 gMatrixEffectCount;
extern s32 D_802874A0;
extern u16 D_80164714, D_80164716, D_80164718;

View File

@ -5,7 +5,6 @@
#include "code_80281780.h"
#include "types.h"
#include "variables.h"
#include "memory.h"
#include "camera.h"
#include "camera_junk.h"

View File

@ -7,7 +7,6 @@
#include <common_structs.h>
#include "main.h"
#include "memory.h"
#include "variables.h"
#include "common_textures.h"
#include "render_player.h"
#include "hud_renderer.h"

View File

@ -117,6 +117,5 @@ extern ActorInitParams initBurst;
extern Gfx *D_802874D4;
extern s32 D_802874FC;
extern Mat4 D_80287500;
extern s16 gMatrixEffectCount;
#endif

View File

@ -14,7 +14,6 @@
#include "math_util.h"
#include "math_util_2.h"
#include "objects.h"
#include "variables.h"
#include "waypoints.h"
#include "bomb_kart.h"
#include "common_textures.h"

View File

@ -434,52 +434,16 @@ extern f32 D_801637F0;
extern s32 D_80163814;
extern u16 D_801656B0;
extern u16 D_801656C0;
extern s32 D_801655CC;
extern u16 D_801656D0;
extern u16 D_801656E0;
extern s16 D_80165708;
extern s16 D_80165710;
extern s8 D_801657D0[];
extern u16 D_8016579E;
extern s8 D_801657B8[16];
extern s32 D_80165860;
extern s32 D_8016586C;
extern s32 D_80165878;
extern s32 D_8016589C;
extern Camera *D_8018CF14;
extern s32 D_80183DD8[];
extern Vec3f D_80183E40;
extern Vec3f D_80183E50;
extern Vec3f D_80183E70;
extern Vec3su D_80183E80;
extern Vec3su D_80183E98;
extern Collision D_8018C830;
extern u8 *D_8018D1E0;
extern f32 D_8018CFEC;
extern f32 D_8018CFF4;
extern f32 D_8018D00C;
extern u8 D_8018D228;
extern f32 D_8018D2A0;
extern s16 D_8018D2C0[];
extern s16 D_8018D2D8[];
extern s16 D_8018D2E0;
extern s16 D_8018D2E8;
extern s16 D_8018D2F0;
extern s16 D_8018D2F8;
extern u16 D_8018D300;
extern u16 D_8018D308;
extern u16 D_8018D310;
extern u16 D_8018D318;
extern s32 D_8018D3E0; // some alpha
extern s32 D_8018D3E4; // some red
extern s32 D_8018D3E8; // some green
extern s32 D_8018D3EC; // some blue
extern s32 D_8018D400;
extern u8* D_8018D4BC;

View File

@ -1,10 +1,10 @@
#include <ultra64.h>
#include <macros.h>
#include "main.h"
#include "variables.h"
#include "framebuffers.h"
#include "common_structs.h"
#include "kart_dma.h"
#include "defines.h"
// Seemingly the largest compressed size for a frame for a given character
// They seem slightly oversized too, either an alignemnt or safety thing

View File

@ -241,6 +241,4 @@ extern u8 _common_texturesSegmentRomEnd[];
extern u8 _data_802BA370SegmentRomStart[];
extern u32 *D_801978D0; // Segment? Keeps track of segmented addresses?
extern s16 gMatrixEffectCount;
#endif

View File

@ -3,13 +3,14 @@
#include <common_structs.h>
#include "math_util_2.h"
#include "main.h"
#include "variables.h"
#include "math_util.h"
#include "objects.h"
#include "memory.h"
#include "collision.h"
#include "render_player.h"
#include "code_80057C60.h"
#include "defines.h"
#pragma intrinsic (sqrtf)
@ -605,10 +606,9 @@ void func_80041D24(void) {
void guOrtho(Mtx *, f32, f32, f32, f32, f32, f32, f32); /* extern */
extern s8 D_801658FE;
extern Mtx D_80183D60[];
void func_80041D34(void) {
guOrtho((Mtx *)D_80183D60, 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
guOrtho(&D_80183D60, 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
switch (gActiveScreenMode) {
case SCREEN_MODE_1P:
guOrtho(&gGfxPool->mtxOrtho, 0.0f, 320.0f, 240.0f, 0.0f, -1.0f, 1.0f, 1.0f);
@ -635,7 +635,6 @@ void func_80041EF4(void) {
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gGfxPool->mtxOrtho), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
}
extern s32 gMatrixHudCount;
//void convert_to_fixed_point_matrix(Mtx*, Mat4);
UNUSED void func_80041F54(s32 x, s32 y) {

View File

@ -81,10 +81,6 @@ void rsp_set_matrix_transl_rot_scale(Vec3f, Vec3f, f32);
void rsp_set_matrix_gObjectList(s32);
/* This is where I'd put my static data, if I had any */
extern Vec3su D_80165834;
extern s8 D_80165840[];
extern s8 D_801658FE;
extern s32 gMatrixHudCount;
#endif // MATH_UTIL_2_H

View File

@ -1,7 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include <global.h>
#include <common_structs.h>
#include "menus.h"

View File

@ -2,7 +2,6 @@
#include <macros.h>
#include <defines.h>
#include <mk64.h>
#include <variables.h>
#include "player_controller.h"
#include "code_800029B0.h"
@ -18,8 +17,9 @@
#include "main.h"
#include "camera.h"
#include "spawn_players.h"
#include "code_80057C60.h"
#include "code_80005FD0.h"
extern s16 D_801633F8;
extern s32 D_8018D168;
s16 gCPUforMario[] = {
@ -646,7 +646,8 @@ void func_80028864(Player *player, Camera *camera, s8 arg2, s8 arg3) {
(gModeSelection == BATTLE) ||
((player->unk_0CA & 2) != 0) ||
(player->unk_0CA & 8) ||
((*((&D_801633F8) + (arg2))) == ((s16) 1U))) {
//! @todo make a proper match
((*(D_801633F8 + (arg2))) == ((s16) 1U))) {
player->effects &= ~0x1000;
if (((player->effects & 0x80) == 0x80) ||
((player->effects & 0x40) == 0x40) ||

View File

@ -189,9 +189,6 @@ extern s16 *gListCPUforPeach[];
extern s16 *gListCPUforBowser[];
extern s16 **gCPUforTwoPlayer[];
extern s16 gMatrixEffectCount;
extern s16 D_801656F0;
extern s32 gRaceFrameCounter;
#endif

View File

@ -8,7 +8,6 @@
#include "memory.h"
#include "collision.h"
#include "math_util.h"
#include "variables.h"
#include "code_800029B0.h"
#pragma intrinsic (sqrtf)

View File

@ -2,7 +2,6 @@
#include <mk64.h>
#include <macros.h>
#include <math_util.h>
#include <variables.h>
#include <main.h>
#include "framebuffers.h"
#include <PR/rcp.h>

View File

@ -3,7 +3,6 @@
#include <macros.h>
#include <types.h>
#include <common_structs.h>
#include <variables.h>
#include <segments.h>
#include "memory.h"
@ -11,6 +10,7 @@
#include "code_800029B0.h"
#include "math_util.h"
#include "courses/courseTable.h"
#include "defines.h"
s32 sGfxSeekPosition;
s32 sPackedSeekPosition;

View File

@ -2,7 +2,6 @@
#include <macros.h>
#include <PR/gbi.h>
#include <types.h>
#include <variables.h>
#include <config.h>
#include "skybox_and_splitscreen.h"

View File

@ -3,7 +3,6 @@
#include <common_structs.h>
#include <defines.h>
#include <types.h>
#include <variables.h>
#include "code_800029B0.h"
#include "math_util.h"
#include "math_util_2.h"

View File

@ -76,6 +76,7 @@ extern s16 D_80164AB0[];
extern s16 D_80164ABE[];
extern s16 D_80164AC0[];
extern Player *D_80164AD0[];
extern s16 gMatrixEffectCount;
extern u16 gPlayerRedEffect[];
extern u16 gPlayerGreenEffect[];
extern u16 gPlayerBlueEffect[];
@ -84,7 +85,6 @@ extern u16 gPlayerMagentaEffect[];
extern u16 gPlayerYellowEffect[];
extern s32 D_80164B80[];
extern u8 *D_8018D474;
extern s32 D_8018D930[];
extern Gfx common_square_plain_render[];

View File

@ -1,7 +1,6 @@
#include <ultra64.h>
#include <macros.h>
#include <defines.h>
#include "global.h"
#include "save.h"
@ -9,6 +8,7 @@
#include "menus.h"
#include "save_data.h"
#include "staff_ghosts.h"
#include "code_80057C60.h"
/*** macros ***/
#define PFS_COMPANY_CODE(c0, c1) ((u16)(((c0) << 8) | ((c1))))

View File

@ -87,18 +87,11 @@ s32 func_800B6A68(void);
/* data */
// these might not be in this file, but for now...
typedef struct struct_8018EE10_entry_cont
{
struct_8018EE10_entry arr[1];
} struct_8018EE10_entry_cont;
extern u32* D_800DC714;
extern u16 gCompanyCode;
extern u32 gGameCode; // osPfs gamecode
extern s8 gControllerPak1State; // Current state of Controller Pak 1
extern struct_8018EE10_entry_cont *D_8018D9C0;
extern s8 sControllerPak2State; // Current state of the Controller Pak 2
extern const u8 D_800F2E60[];

View File

@ -1,4 +1,3 @@
#include <global.h>
#include <defines.h>
#include "spawn_players.h"
@ -21,6 +20,8 @@
#include "main.h"
#include "menus.h"
#include "render_player.h"
#include "code_80091750.h"
#include "code_8008C1D0.h"
f32 D_80165210[8];
f32 D_80165230[8];

View File

@ -11,6 +11,7 @@
#include "staff_ghosts.h"
#include "code_8006E9C0.h"
#include "code_80091750.h"
#include "code_80057C60.h"
extern s32 mio0encode(s32 input, s32, s32);
extern s32 func_80040174(void *, s32, s32);

View File

@ -4404,70 +4404,103 @@ Variable Name | Memory Address
[D_80165594](@ref D_80165594) | 0x80165594
[D_80165598](@ref D_80165598) | 0x80165598
[D_8016559C](@ref D_8016559C) | 0x8016559C
[D_801655A0](@ref D_801655A0) | 0x801655A0
[D_801655A4](@ref D_801655A4) | 0x801655A4
[D_801655A8](@ref D_801655A8) | 0x801655A8
[D_801655AC](@ref D_801655AC) | 0x801655AC
[D_801655B0](@ref D_801655B0) | 0x801655B0
[D_801655B4](@ref D_801655B4) | 0x801655B4
[D_801655B8](@ref D_801655B8) | 0x801655B8
[D_801655BC](@ref D_801655BC) | 0x801655BC
[D_801655C0](@ref D_801655C0) | 0x801655C0
[D_801655C4](@ref D_801655C4) | 0x801655C4
[D_801655C8](@ref D_801655C8) | 0x801655C8
[D_801655CC](@ref D_801655CC) | 0x801655CC
[D_801655D0](@ref D_801655D0) | 0x801655D0
[D_801655D8](@ref D_801655D8) | 0x801655D8
[D_801655DC](@ref D_801655DC) | 0x801655E0
[D_801655E8](@ref D_801655E8) | 0x801655E8
[D_801655EC](@ref D_801655EC) | 0x801655EC
[D_801655F0](@ref D_801655F0) | 0x801655F0
[D_801655F4](@ref D_801655F4) | 0x801655F4
[D_801655F8](@ref D_801655F8) | 0x801655F8
[D_80165600](@ref D_80165600) | 0x80165600
[D_80165608](@ref D_80165608) | 0x80165608
[D_80165610](@ref D_80165610) | 0x80165610
[D_80165618](@ref D_80165618) | 0x80165618
[D_80165620](@ref D_80165620) | 0x80165620
[D_80165628](@ref D_80165628) | 0x80165628
[D_80165630](@ref D_80165630) | 0x80165630
[D_80165638](@ref D_80165638) | 0x80165638
[D_80165640](@ref D_80165640) | 0x80165640
[D_80165648](@ref D_80165648) | 0x80165648
[D_80165654](@ref D_80165654) | 0x80165654
[D_80165650](@ref D_80165650) | 0x80165650
[D_80165658](@ref D_80165658) | 0x80165658
[D_80165678](@ref D_80165678) | 0x80165678
[D_80165680](@ref D_80165680) | 0x80165680
[D_801656B0](@ref D_801656B0) | 0x801656B0
[D_801656B8](@ref D_801656B8) | 0x801656B8
[D_801656C0](@ref D_801656C0) | 0x801656C0
[D_801656C8](@ref D_801656C8) | 0x801656C8
[D_801656D0](@ref D_801656D0) | 0x801656D0
[D_801656D8](@ref D_801656D8) | 0x801656D8
[D_801656E0](@ref D_801656E0) | 0x801656E0
[D_801656E8](@ref D_801656E8) | 0x801656E8
[D_801656F0](@ref D_801656F0) | 0x801656F0
[D_801656F8](@ref D_801656F8) | 0x801656F8
[D_80165708](@ref D_80165708) | 0x80165708
[D_8016570C](@ref D_8016570C) | 0x8016570C
[D_80165710](@ref D_80165710) | 0x80165710
[D_80165714](@ref D_80165714) | 0x80165714
[D_80165718](@ref D_80165718) | 0x80165718
[D_8016571C](@ref D_8016571C) | 0x8016571C
[D_80165720](@ref D_80165720) | 0x80165720
[D_80165724](@ref D_80165724) | 0x80165724
[D_80165728](@ref D_80165728) | 0x80165728
[D_8016572C](@ref D_8016572C) | 0x8016572C
[D_80165730](@ref D_80165730) | 0x80165730
[D_80165734](@ref D_80165734) | 0x80165734
[D_80165738](@ref D_80165738) | 0x80165738
[D_8016573C](@ref D_8016573C) | 0x8016573C
[D_80165740](@ref D_80165740) | 0x80165740
[D_80165744](@ref D_80165744) | 0x80165744
[D_80165748](@ref D_80165748) | 0x80165748
[D_8016574C](@ref D_8016574C) | 0x8016574C
[gNumActiveThwomps](@ref gNumActiveThwomps) | 0x80165750
[D_80165754](@ref D_80165754) | 0x80165754
[gThowmpSpawnList](@ref gThowmpSpawnList) | 0x80165758
[D_80165760](@ref D_80165760) | 0x80165760
[D_80165762](@ref D_80165762) | 0x80165762
[D_80165764](@ref D_80165764) | 0x80165764
[D_80165766](@ref D_80165766) | 0x80165766
[D_80165768](@ref D_80165768) | 0x80165768
[D_8016576A](@ref D_8016576A) | 0x8016576A
[D_80165770](@ref D_80165770) | 0x80165770
[D_80165772](@ref D_80165772) | 0x80165772
[D_80165774](@ref D_80165774) | 0x80165774
[D_80165776](@ref D_80165776) | 0x80165776
[D_80165778](@ref D_80165778) | 0x80165778
[D_80165780](@ref D_80165780) | 0x80165780
[D_80165782](@ref D_80165782) | 0x80165782
[D_80165784](@ref D_80165784) | 0x80165784
[D_80165786](@ref D_80165786) | 0x80165786
[D_80165788](@ref D_80165788) | 0x80165788
[D_8016578C](@ref D_8016578C) | 0x8016578C
[D_8016578E](@ref D_8016578E) | 0x8016578E
[D_80165790](@ref D_80165790) | 0x80165790
[D_80165792](@ref D_80165792) | 0x80165792
[D_80165794](@ref D_80165794) | 0x80165794
[D_80165798](@ref D_80165798) | 0x80165798
[D_8016579C](@ref D_8016579C) | 0x8016579C
[D_8016579E](@ref D_8016579E) | 0x8016579E
[D_801657A0](@ref D_801657A0) | 0x801657A0
[D_801657A2](@ref D_801657A2) | 0x801657A2
[D_801657A4](@ref D_801657A4) | 0x801657A4
[D_801657A8](@ref D_801657A8) | 0x801657A8
[D_801657AE](@ref D_801657AE) | 0x801657AE
[D_801657AF](@ref D_801657AF) | 0x801657AF
[D_801657B0](@ref D_801657B0) | 0x801657B0
[D_801657B1](@ref D_801657B1) | 0x801657B1
[D_801657B2](@ref D_801657B2) | 0x801657B2
[D_801657B3](@ref D_801657B3) | 0x801657B3
[D_801657B4](@ref D_801657B4) | 0x801657B4
[D_801657B8](@ref D_801657B8) | 0x801657B8
[D_801657C8](@ref D_801657C8) | 0x801657C8
[D_801657D0](@ref D_801657D0) | 0x801657D0
[D_801657D8](@ref D_801657D8) | 0x801657D8
[D_801657DA](@ref D_801657DA) | 0x801657DC
[D_801657E0](@ref D_801657E0) | 0x801657E0
[D_801657E1](@ref D_801657E1) | 0x801657E1
[D_801657E2](@ref D_801657E2) | 0x801657E2
[D_801657E3](@ref D_801657E3) | 0x801657E3
@ -4476,11 +4509,12 @@ Variable Name | Memory Address
[D_801657E6](@ref D_801657E6) | 0x801657E6
[D_801657E7](@ref D_801657E7) | 0x801657E7
[D_801657E8](@ref D_801657E8) | 0x801657E8
[D_801657EC](@ref D_801657EC) | 0x801657EC
[D_801657F0](@ref D_801657F0) | 0x801657F0
[D_801657F4](@ref D_801657F4) | 0x801657F4
[D_801657F8](@ref D_801657F8) | 0x801657F8
[D_801657FC](@ref D_801657FC) | 0x801657FC
[D_80165800](@ref D_80165800) | 0x80165800
[D_80165801](@ref D_80165801) | 0x80165801
[D_80165804](@ref D_80165804) | 0x80165804
[D_80165808](@ref D_80165808) | 0x80165808
[D_8016580C](@ref D_8016580C) | 0x8016580C
@ -4489,35 +4523,62 @@ Variable Name | Memory Address
[D_80165818](@ref D_80165818) | 0x80165818
[D_8016581C](@ref D_8016581C) | 0x8016581C
[D_80165820](@ref D_80165820) | 0x80165820
[D_80165824](@ref D_80165824) | 0x80165824
[D_80165828](@ref D_80165828) | 0x80165828
[D_8016582C](@ref D_8016582C) | 0x8016582C
[D_80165832](@ref D_80165832) | 0x80165832
[D_80165834](@ref D_80165834) | 0x80165834
[D_8016583A](@ref D_8016583A) | 0x8016583C
[D_80165840](@ref D_80165840) | 0x80165840
[D_80165848](@ref D_80165848) | 0x80165848
[D_80165860](@ref D_80165860) | 0x80165860
[D_80165864](@ref D_80165864) | 0x80165864
[D_80165868](@ref D_80165868) | 0x80165868
[D_8016586C](@ref D_8016586C) | 0x8016586C
[D_80165870](@ref D_80165870) | 0x80165870
[D_80165878](@ref D_80165878) | 0x80165878
[D_8016587C](@ref D_8016587C) | 0x8016587C
[D_80165880](@ref D_80165880) | 0x80165880
[D_80165884](@ref D_80165884) | 0x80165884
[D_80165888](@ref D_80165888) | 0x80165888
[D_8016588C](@ref D_8016588C) | 0x8016588C
[D_80165890](@ref D_80165890) | 0x80165890
[D_80165894](@ref D_80165894) | 0x80165894
[D_80165898](@ref D_80165898) | 0x80165898
[D_8016589C](@ref D_8016589C) | 0x8016589C
[D_801658A0](@ref D_801658A0) | 0x801658A0
[D_801658A8](@ref D_801658A8) | 0x801658A8
[D_801658B0](@ref D_801658B0) | 0x801658B0
[D_801658BC](@ref D_801658BC) | 0x801658BC
[D_801658C0](@ref D_801658C0) | 0x801658C0
[D_801658C4](@ref D_801658C4) | 0x801658C4
[D_801658C6](@ref D_801658C6) | 0x801658C6
[D_801658C8](@ref D_801658C8) | 0x801658C8
[D_801658CC](@ref D_801658CC) | 0x801658CC
[D_801658CE](@ref D_801658CE) | 0x801658CE
[D_801658D0](@ref D_801658D0) | 0x801658D0
[D_801658D4](@ref D_801658D4) | 0x801658D4
[D_801658D6](@ref D_801658D6) | 0x801658D6
[D_801658D8](@ref D_801658D8) | 0x801658D8
[D_801658DC](@ref D_801658DC) | 0x801658DC
[D_801658E0](@ref D_801658E0) | 0x801658E0
[D_801658E4](@ref D_801658E4) | 0x801658E4
[D_801658E8](@ref D_801658E8) | 0x801658E8
[D_801658EC](@ref D_801658EC) | 0x801658EC
[D_801658F0](@ref D_801658F0) | 0x801658F0
[D_801658F4](@ref D_801658F4) | 0x801658F4
[D_801658F8](@ref D_801658F8) | 0x801658F8
[D_801658FC](@ref D_801658FC) | 0x801658FC
[sRandomItemIndex](@ref sRandomItemIndex) | 0x801658FD
[D_801658FE](@ref D_801658FE) | 0x801658FE
[gControllerRandom](@ref gControllerRandom) | 0x801658FF
[D_80165900](@ref D_80165900) | 0x80165900
[D_80165904](@ref D_80165904) | 0x80165904
[D_80165908](@ref D_80165908) | 0x80165908
[D_80165910](@ref D_80165910) | 0x80165910
[D_80165A90](@ref D_80165A90) | 0x80165A90
[D_80165AA0](@ref D_80165AA0) | 0x80165A98
[D_80165C14](@ref D_80165C14) | 0x80165C14
[gObjectList](@ref gObjectList) | 0x80165C18
[D_80183D58](@ref D_80183D58) | 0x80183D58
[objectListSize](@ref objectListSize) | 0x80183D5C
@ -4525,23 +4586,19 @@ Variable Name | Memory Address
[D_80183DA0](@ref D_80183DA0) | 0x80183DA0
[D_80183DA8](@ref D_80183DA8) | 0x80183DA8
[D_80183DB8](@ref D_80183DB8) | 0x80183DB8
[D_80183DBC](@ref D_80183DBC) | 0x80183DBC
[D_80183DC0](@ref D_80183DC0) | 0x80183DC0
[D_80183DC4](@ref D_80183DC4) | 0x80183DC4
[D_80183DC8](@ref D_80183DC8) | 0x80183DC8
[D_80183DD8](@ref D_80183DD8) | 0x80183DD8
[D_80183DF4](@ref D_80183DF4) | 0x80183DF4
[D_80183DF8](@ref D_80183DF8) | 0x80183DF8
[D_80183E38](@ref D_80183E38) | 0x80183E38
[D_80183E40](@ref D_80183E40) | 0x80183E40
[D_80183E44](@ref D_80183E44) | 0x80183E44
[D_80183E4C](@ref D_80183E4C) | 0x80183E4C
[D_80183E50](@ref D_80183E50) | 0x80183E50
[D_80183E5C](@ref D_80183E5C) | 0x80183E5C
[D_80183E60](@ref D_80183E60) | 0x80183E60
[D_80183E6C](@ref D_80183E6C) | 0x80183E6C
[D_80183E70](@ref D_80183E70) | 0x80183E70
[D_80183E7C](@ref D_80183E7C) | 0x80183E7C
[D_80183E80](@ref D_80183E80) | 0x80183E80
[D_80183E84](@ref D_80183E84) | 0x80183E84
[gItemWindowObjectByPlayerId](@ref gItemWindowObjectByPlayerId) | 0x80183E88
[D_80183E98](@ref D_80183E98) | 0x80183E98
[indexObjectList1](@ref indexObjectList1) | 0x80183EA0
@ -4561,8 +4618,6 @@ Variable Name | Memory Address
[D_8018C870](@ref D_8018C870) | 0x8018C870
[D_8018C970](@ref D_8018C970) | 0x8018C970
[playerHUD](@ref playerHUD) | 0x8018CA70
[D_8018CA74](@ref D_8018CA74) | 0x8018CA74
[D_8018CA78](@ref D_8018CA78) | 0x8018CA78
[D_8018CC80](@ref D_8018CC80) | 0x8018CC80
[D_8018CE10](@ref D_8018CE10) | 0x8018CE10
[D_8018CF10](@ref D_8018CF10) | 0x8018CF10
@ -4572,6 +4627,7 @@ Variable Name | Memory Address
[D_8018CF20](@ref D_8018CF20) | 0x8018CF20
[D_8018CF24](@ref D_8018CF24) | 0x8018CF24
[D_8018CF28](@ref D_8018CF28) | 0x8018CF28
[D_8018CF38](@ref D_8018CF38) | 0x8018CF38
[D_8018CF48](@ref D_8018CF48) | 0x8018CF48
[D_8018CF50](@ref D_8018CF50) | 0x8018CF50
[D_8018CF60](@ref D_8018CF60) | 0x8018CF60
@ -4600,59 +4656,40 @@ Variable Name | Memory Address
[D_8018CFF0](@ref D_8018CFF0) | 0x8018CFF0
[D_8018CFF4](@ref D_8018CFF4) | 0x8018CFF4
[D_8018CFF8](@ref D_8018CFF8) | 0x8018CFF8
[D_8018CFFC](@ref D_8018CFFC) | 0x8018CFFC
[D_8018D000](@ref D_8018D000) | 0x8018D000
[D_8018D004](@ref D_8018D004) | 0x8018D004
[D_8018D008](@ref D_8018D008) | 0x8018D008
[D_8018D00C](@ref D_8018D00C) | 0x8018D00C
[D_8018D010](@ref D_8018D010) | 0x8018D010
[D_8018D014](@ref D_8018D014) | 0x8018D014
[D_8018D018](@ref D_8018D018) | 0x8018D018
[xOrientation](@ref xOrientation) | 0x8018D01C
[D_8018D020](@ref D_8018D020) | 0x8018D020
[D_8018D028](@ref D_8018D028) | 0x8018D028
[D_8018D02C](@ref D_8018D02C) | 0x8018D02C
[D_8018D030](@ref D_8018D030) | 0x8018D030
[D_8018D034](@ref D_8018D034) | 0x8018D034
[D_8018D038](@ref D_8018D038) | 0x8018D038
[D_8018D03C](@ref D_8018D03C) | 0x8018D03C
[D_8018D040](@ref D_8018D040) | 0x8018D040
[D_8018D044](@ref D_8018D044) | 0x8018D044
[D_8018D048](@ref D_8018D048) | 0x8018D048
[D_8018D050](@ref D_8018D050) | 0x8018D050
[D_8018D054](@ref D_8018D054) | 0x8018D054
[D_8018D058](@ref D_8018D058) | 0x8018D058
[D_8018D05C](@ref D_8018D05C) | 0x8018D05C
[D_8018D060](@ref D_8018D060) | 0x8018D060
[D_8018D064](@ref D_8018D064) | 0x8018D064
[D_8018D068](@ref D_8018D068) | 0x8018D068
[D_8018D06C](@ref D_8018D06C) | 0x8018D06C
[D_8018D070](@ref D_8018D070) | 0x8018D070
[D_8018D078](@ref D_8018D078) | 0x8018D078
[D_8018D07C](@ref D_8018D07C) | 0x8018D07C
[D_8018D080](@ref D_8018D080) | 0x8018D080
[D_8018D084](@ref D_8018D084) | 0x8018D084
[D_8018D088](@ref D_8018D088) | 0x8018D088
[D_8018D08C](@ref D_8018D08C) | 0x8018D08C
[D_8018D090](@ref D_8018D090) | 0x8018D090
[D_8018D094](@ref D_8018D094) | 0x8018D094
[D_8018D098](@ref D_8018D098) | 0x8018D098
[D_8018D0A0](@ref D_8018D0A0) | 0x8018D0A0
[D_8018D0C0](@ref D_8018D0C0) | 0x8018D0C0
[D_8018D0C8](@ref D_8018D0C8) | 0x8018D0C8
[D_8018D0CC](@ref D_8018D0CC) | 0x8018D0CC
[D_8018D0D0](@ref D_8018D0D0) | 0x8018D0D0
[D_8018D0D4](@ref D_8018D0D4) | 0x8018D0D4
[D_8018D0D8](@ref D_8018D0D8) | 0x8018D0D8
[D_8018D0DC](@ref D_8018D0DC) | 0x8018D0DC
[D_8018D0E0](@ref D_8018D0E0) | 0x8018D0E0
[D_8018D0E4](@ref D_8018D0E4) | 0x8018D0E4
[D_8018D0E8](@ref D_8018D0E8) | 0x8018D0E8
[D_8018D0F0](@ref D_8018D0F0) | 0x8018D0F0
[D_8018D110](@ref D_8018D110) | 0x8018D110
[D_8018D114](@ref D_8018D114) | 0x8018D114
[D_8018D118](@ref D_8018D118) | 0x8018D118
[gMatrixHudCount](@ref gMatrixHudCount) | 0x8018D120
[D_8018D128](@ref D_8018D128) | 0x8018D128
[D_8018D140](@ref D_8018D140) | 0x8018D140
[D_8018D148](@ref D_8018D148) | 0x8018D148
[D_8018D150](@ref D_8018D150) | 0x8018D150
[D_8018D154](@ref D_8018D154) | 0x8018D154
[D_8018D158](@ref D_8018D158) | 0x8018D158
[D_8018D15C](@ref D_8018D15C) | 0x8018D15C
[D_8018D160](@ref D_8018D160) | 0x8018D160
[D_8018D164](@ref D_8018D164) | 0x8018D164
[D_8018D168](@ref D_8018D168) | 0x8018D168
[D_8018D16C](@ref D_8018D16C) | 0x8018D16C
[D_8018D170](@ref D_8018D170) | 0x8018D170
@ -4667,7 +4704,6 @@ Variable Name | Memory Address
[D_8018D198](@ref D_8018D198) | 0x8018D198
[D_8018D1A0](@ref D_8018D1A0) | 0x8018D1A0
[D_8018D1A8](@ref D_8018D1A8) | 0x8018D1A8
[D_8018D1B3](@ref D_8018D1B3) | 0x8018D1B3
[D_8018D1B4](@ref D_8018D1B4) | 0x8018D1B4
[D_8018D1B8](@ref D_8018D1B8) | 0x8018D1B8
[D_8018D1C4](@ref D_8018D1C4) | 0x8018D1C4
@ -4678,9 +4714,11 @@ Variable Name | Memory Address
[D_8018D1D8](@ref D_8018D1D8) | 0x8018D1D8
[D_8018D1DC](@ref D_8018D1DC) | 0x8018D1DC
[D_8018D1E0](@ref D_8018D1E0) | 0x8018D1E0
[D_8018D1E4](@ref D_8018D1E4) | 0x8018D1E4
[D_8018D1E8](@ref D_8018D1E8) | 0x8018D1E8
[D_8018D1EC](@ref D_8018D1EC) | 0x8018D1EC
[D_8018D1F0](@ref D_8018D1F0) | 0x8018D1F0
[D_8018D1F4](@ref D_8018D1F4) | 0x8018D1F4
[D_8018D1F8](@ref D_8018D1F8) | 0x8018D1F8
[D_8018D1FC](@ref D_8018D1FC) | 0x8018D1FC
[D_8018D200](@ref D_8018D200) | 0x8018D200
@ -4696,10 +4734,12 @@ Variable Name | Memory Address
[D_8018D228](@ref D_8018D228) | 0x8018D228
[D_8018D22C](@ref D_8018D22C) | 0x8018D22C
[D_8018D230](@ref D_8018D230) | 0x8018D230
[D_8018D238](@ref D_8018D238) | 0x8018D238
[D_8018D240](@ref D_8018D240) | 0x8018D240
[D_8018D248](@ref D_8018D248) | 0x8018D248
[D_8018D2A0](@ref D_8018D2A0) | 0x8018D2A0
[D_8018D2A4](@ref D_8018D2A4) | 0x8018D2A4
[D_8018D2A8](@ref D_8018D2A8) | 0x8018D2A8
[D_8018D2AC](@ref D_8018D2AC) | 0x8018D2AC
[D_8018D2B0](@ref D_8018D2B0) | 0x8018D2B0
[D_8018D2B4](@ref D_8018D2B4) | 0x8018D2B4
@ -4709,21 +4749,31 @@ Variable Name | Memory Address
[D_8018D2C8](@ref D_8018D2C8) | 0x8018D2C8
[D_8018D2D8](@ref D_8018D2D8) | 0x8018D2D8
[D_8018D2E0](@ref D_8018D2E0) | 0x8018D2E0
[D_8018D2E4](@ref D_8018D2E4) | 0x8018D2E4
[D_8018D2E8](@ref D_8018D2E8) | 0x8018D2E8
[D_8018D2EC](@ref D_8018D2EC) | 0x8018D2EC
[D_8018D2F0](@ref D_8018D2F0) | 0x8018D2F0
[D_8018D2F4](@ref D_8018D2F4) | 0x8018D2F4
[D_8018D2F8](@ref D_8018D2F8) | 0x8018D2F8
[D_8018D2FC](@ref D_8018D2FC) | 0x8018D2FC
[D_8018D300](@ref D_8018D300) | 0x8018D300
[D_8018D304](@ref D_8018D304) | 0x8018D304
[D_8018D308](@ref D_8018D308) | 0x8018D308
[D_8018D30C](@ref D_8018D30C) | 0x8018D30C
[D_8018D310](@ref D_8018D310) | 0x8018D310
[D_8018D314](@ref D_8018D314) | 0x8018D314
[D_8018D318](@ref D_8018D318) | 0x8018D318
[D_8018D31C](@ref D_8018D31C) | 0x8018D31C
[D_8018D320](@ref D_8018D320) | 0x8018D320
[D_8018D328](@ref D_8018D328) | 0x8018D328
[D_8018D380](@ref D_8018D380) | 0x8018D380
[D_8018D384](@ref D_8018D384) | 0x8018D384
[D_8018D388](@ref D_8018D388) | 0x8018D388
[D_8018D390](@ref D_8018D390) | 0x8018D390
[D_8018D3BC](@ref D_8018D3BC) | 0x8018D3BC
[D_8018D3C0](@ref D_8018D3C0) | 0x8018D3C0
[D_8018D3C4](@ref D_8018D3C4) | 0x8018D3C4
[D_8018D3C8](@ref D_8018D3C8) | 0x8018D3C8
[D_8018D3D4](@ref D_8018D3D4) | 0x8018D3D4
[D_8018D3D8](@ref D_8018D3D8) | 0x8018D3D8
[D_8018D3DC](@ref D_8018D3DC) | 0x8018D3DC
@ -4736,8 +4786,11 @@ Variable Name | Memory Address
[D_8018D3F8](@ref D_8018D3F8) | 0x8018D3F8
[gRaceFrameCounter](@ref gRaceFrameCounter) | 0x8018D3FC
[D_8018D400](@ref D_8018D400) | 0x8018D400
[D_8018D404](@ref D_8018D404) | 0x8018D404
[D_8018D408](@ref D_8018D408) | 0x8018D408
[D_8018D40C](@ref D_8018D40C) | 0x8018D40C
[D_8018D410](@ref D_8018D410) | 0x8018D410
[D_8018D418](@ref D_8018D418) | 0x8018D418
[D_8018D420](@ref D_8018D420) | 0x8018D420
[D_8018D424](@ref D_8018D424) | 0x8018D424
[D_8018D428](@ref D_8018D428) | 0x8018D428
@ -4761,6 +4814,7 @@ Variable Name | Memory Address
[D_8018D470](@ref D_8018D470) | 0x8018D470
[D_8018D474](@ref D_8018D474) | 0x8018D474
[D_8018D478](@ref D_8018D478) | 0x8018D478
[D_8018D47C](@ref D_8018D47C) | 0x8018D47C
[D_8018D480](@ref D_8018D480) | 0x8018D480
[D_8018D484](@ref D_8018D484) | 0x8018D484
[D_8018D488](@ref D_8018D488) | 0x8018D488
@ -4814,13 +4868,11 @@ Variable Name | Memory Address
[D_8018D9D9](@ref D_8018D9D9) | 0x8018D9D9
[D_8018D9E0](@ref D_8018D9E0) | 0x8018D9E0
[D_8018DEE0](@ref D_8018DEE0) | 0x8018DEE0
[D_8018DEE4](@ref D_8018DEE4) | 0x8018DEE4
[D_8018E060](@ref D_8018E060) | 0x8018E060
[D_8018E068](@ref D_8018E068) | 0x8018E068
[D_8018E0E8](@ref D_8018E0E8) | 0x8018E0E8
[gD_8018E118TotalSize](@ref gD_8018E118TotalSize) | 0x8018E110
[D_8018E118](@ref D_8018E118) | 0x8018E118
[D_8018E11C](@ref D_8018E11C) | 0x8018E11C
[D_8018E124](@ref D_8018E124) | 0x8018E124
[gNumD_8018E118Entries](@ref gNumD_8018E118Entries) | 0x8018E758
[D_8018E75C](@ref D_8018E75C) | 0x8018E75C
[gNumD_8018E768Entries](@ref gNumD_8018E768Entries) | 0x8018E760
@ -4834,13 +4886,17 @@ Variable Name | Memory Address
[D_8018E7E0](@ref D_8018E7E0) | 0x8018E7E0
[D_8018E7E8](@ref D_8018E7E8) | 0x8018E7E8
[D_8018E7F0](@ref D_8018E7F0) | 0x8018E7F0
[D_8018E7F4](@ref D_8018E7F4) | 0x8018E7F4
[D_8018E7F8](@ref D_8018E7F8) | 0x8018E7F8
[D_8018E7FA](@ref D_8018E7FA) | 0x8018E7FA
[D_8018E7FC](@ref D_8018E7FC) | 0x8018E7FC
[D_8018E800](@ref D_8018E800) | 0x8018E800
[D_8018E802](@ref D_8018E802) | 0x8018E802
[D_8018E808](@ref D_8018E808) | 0x8018E808
[D_8018E810](@ref D_8018E810) | 0x8018E810
[D_8018E818](@ref D_8018E818) | 0x8018E818
[D_8018E81A](@ref D_8018E81A) | 0x8018E81A
[D_8018E81C](@ref D_8018E81C) | 0x8018E81C
[D_8018E820](@ref D_8018E820) | 0x8018E820
[D_8018E822](@ref D_8018E822) | 0x8018E822
[code_80091750_pad_1](@ref code_80091750_pad_1) | 0x8018E824