Mario Kart 64
objects.h File Reference
#include "common_structs.h"
Include dependency graph for objects.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Objects
 
struct  ItemWindowObjects
 
struct  YVFlagPoleSpawn
 
struct  CrabSpawn
 
struct  ThwompSpawn
 
struct  SnowmanSpawn
 
struct  HegdehogSpawn
 

Macros

#define OBJECT_LIST_SIZE   0x226
 
#define SOME_OBJECT_INDEX_LIST_SIZE   32
 
#define DELETED_OBJECT_ID   -1
 
#define NUM_YV_FLAG_POLES   4
 
#define NUM_CRABS   0xA
 
#define NUM_THWOMPS_50CC   8
 
#define NUM_THWOMPS_100CC_EXTRA   11
 
#define NUM_THWOMPS_150CC   12
 
#define NUM_NEON_SIGNS   10
 
#define NUM_CHAIN_CHOMPS   3
 
#define NUM_PENGUINS   15
 
#define NUM_SEAGULLS   10
 
#define NUM_SNOWMEN   19
 
#define NUM_HEDGEHOGS   15
 
#define NUM_BOOS   0xA
 
#define NUM_FIRE_BREATHS   4
 
#define D_8018C1B0_SIZE   128
 
#define NUM_MAX_MOLES   0x1F
 
#define NUM_GROUP1_MOLES   8
 
#define NUM_GROUP2_MOLES   11
 
#define NUM_GROUP3_MOLES   12
 
#define NUM_SNOWFLAKES   0x32
 
#define D_8018C3F0_SIZE   128
 
#define D_8018C630_SIZE   128
 
#define D_8018C870_SIZE   0x40
 
#define NUM_TORCHES   8
 
#define D_8018C970_SIZE   0x40
 
#define D_8018C970_SPAWN_SIZE   0x14
 
#define D_8018CC80_SIZE   0x64
 

Variables

Objects gObjectList []
 
s32 D_80183DA0
 
s32 D_80183DB8 []
 
s32 gItemWindowObjectByPlayerId []
 
s16 D_80165750
 
s32 D_8018D1C8
 
s32 D_8018D1D0
 
s32 D_8018D1D8
 
s32 D_8018D3C0
 
Collision D_8018C0B0 []
 
YVFlagPoleSpawn D_800E5DF4 []
 
CrabSpawn gCrabSpawns []
 
Vec3f D_800E6734 []
 
ThwompSpawn gThomwpSpawns50CC []
 
ThwompSpawn gThwompSpawns100CCExtra []
 
ThwompSpawn gThomwpSpawns150CC []
 
ThwompSpawngThowmpSpawnList
 
s16 gNumActiveThwomps
 
s32 D_80183EA0 []
 
SnowmanSpawn gSnowmanSpawns []
 
HegdehogSpawn gHedgehogSpawns []
 
Vec3s gHedgehogPatrolPoints []
 
s32 D_80183F28 []
 
Vec3s gFireBreathsSpawns []
 
s32 D_8018BFA8 []
 
s32 D_8018C030 []
 
Vec3s gMoleSpawns []
 
s8 D_8018D198 []
 
s8 D_8018D1A8 []
 
s8 D_8018D1B8 []
 
s32 D_8018CF10
 
s32 D_8018C1B0 []
 
s32 D_80183E38
 
s16 D_8018D174
 
s32 D_8018C3F0 []
 
s32 D_80183E4C
 
s32 D_8018D3BC
 
s32 D_8018C630 []
 
s32 D_80183E5C
 
s16 D_80165730
 
s16 D_80165738
 
s16 gTorchSpawns [1]
 
s32 D_8018C870 []
 
s32 D_80183E6C
 
s32 D_8018C970 []
 
s32 D_80183E7C
 
s32 D_8018CC80 []
 
s32 D_8018D1F0
 
s32 D_8018D1F8
 
s16 D_8018D17C
 
s8 D_8018D230
 
s32 D_8018D3C4
 

Macro Definition Documentation

◆ D_8018C1B0_SIZE

#define D_8018C1B0_SIZE   128

◆ D_8018C3F0_SIZE

#define D_8018C3F0_SIZE   128

◆ D_8018C630_SIZE

#define D_8018C630_SIZE   128

◆ D_8018C870_SIZE

#define D_8018C870_SIZE   0x40

◆ D_8018C970_SIZE

#define D_8018C970_SIZE   0x40

◆ D_8018C970_SPAWN_SIZE

#define D_8018C970_SPAWN_SIZE   0x14

◆ D_8018CC80_SIZE

#define D_8018CC80_SIZE   0x64

◆ DELETED_OBJECT_ID

#define DELETED_OBJECT_ID   -1

◆ NUM_BOOS

#define NUM_BOOS   0xA

◆ NUM_CHAIN_CHOMPS

#define NUM_CHAIN_CHOMPS   3

◆ NUM_CRABS

#define NUM_CRABS   0xA

◆ NUM_FIRE_BREATHS

#define NUM_FIRE_BREATHS   4

◆ NUM_GROUP1_MOLES

#define NUM_GROUP1_MOLES   8

◆ NUM_GROUP2_MOLES

#define NUM_GROUP2_MOLES   11

◆ NUM_GROUP3_MOLES

#define NUM_GROUP3_MOLES   12

◆ NUM_HEDGEHOGS

#define NUM_HEDGEHOGS   15

◆ NUM_MAX_MOLES

#define NUM_MAX_MOLES   0x1F

◆ NUM_NEON_SIGNS

#define NUM_NEON_SIGNS   10

◆ NUM_PENGUINS

#define NUM_PENGUINS   15

◆ NUM_SEAGULLS

#define NUM_SEAGULLS   10

◆ NUM_SNOWFLAKES

#define NUM_SNOWFLAKES   0x32

◆ NUM_SNOWMEN

#define NUM_SNOWMEN   19

◆ NUM_THWOMPS_100CC_EXTRA

#define NUM_THWOMPS_100CC_EXTRA   11

◆ NUM_THWOMPS_150CC

#define NUM_THWOMPS_150CC   12

◆ NUM_THWOMPS_50CC

#define NUM_THWOMPS_50CC   8

◆ NUM_TORCHES

#define NUM_TORCHES   8

◆ NUM_YV_FLAG_POLES

#define NUM_YV_FLAG_POLES   4

D_80183EA0, D_80183F28, D_8018BFA8, and D_8018C030 are all lists of indices in gObjectList. func_80070190 initializes them in such a way that the indicies in each list are not adjacent. First D_80183EA0 gets an unused index, then D_80183F28, then D_8018BFA8, then D_8018C030, and then it loops.

The objects found at the indices in each list appears to be course dependent

◆ OBJECT_LIST_SIZE

#define OBJECT_LIST_SIZE   0x226

◆ SOME_OBJECT_INDEX_LIST_SIZE

#define SOME_OBJECT_INDEX_LIST_SIZE   32

Variable Documentation

◆ D_800E5DF4

YVFlagPoleSpawn D_800E5DF4[]
extern

◆ D_800E6734

Vec3f D_800E6734[]
extern

◆ D_80165730

s16 D_80165730
extern

◆ D_80165738

s16 D_80165738
extern

◆ D_80165750

s16 D_80165750
extern

◆ D_80183DA0

s32 D_80183DA0
extern

Use unknown. An object is reserved and its index is saved to this variable, but it appears to go unreferenced

◆ D_80183DB8

s32 D_80183DB8[]
extern

Lakitu?

◆ D_80183E38

s32 D_80183E38
extern

◆ D_80183E4C

s32 D_80183E4C
extern

◆ D_80183E5C

s32 D_80183E5C
extern

◆ D_80183E6C

s32 D_80183E6C
extern

◆ D_80183E7C

s32 D_80183E7C
extern

◆ D_80183EA0

s32 D_80183EA0[]
extern

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?

◆ D_80183F28

s32 D_80183F28[]
extern

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

◆ D_8018BFA8

s32 D_8018BFA8[]
extern

Boos in Banshee Boardwalk Spawners for the 4 small fire breaths inside Bowser's Castle

◆ D_8018C030

s32 D_8018C030[]
extern

◆ D_8018C0B0

Collision D_8018C0B0[]
extern

◆ D_8018C1B0

s32 D_8018C1B0[]
extern

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

◆ D_8018C3F0

s32 D_8018C3F0[]
extern

List of object list indices used for: Bats in Banshee's Boardwalk (but only 1 player mode?)

◆ D_8018C630

s32 D_8018C630[]
extern

◆ D_8018C870

s32 D_8018C870[]
extern

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

◆ D_8018C970

s32 D_8018C970[]
extern

◆ D_8018CC80

s32 D_8018CC80[]
extern

◆ D_8018CF10

s32 D_8018CF10
extern

◆ D_8018D174

s16 D_8018D174
extern

◆ D_8018D17C

s16 D_8018D17C
extern

◆ D_8018D198

s8 D_8018D198[]
extern

◆ D_8018D1A8

s8 D_8018D1A8[]
extern

◆ D_8018D1B8

s8 D_8018D1B8[]
extern

◆ D_8018D1C8

s32 D_8018D1C8
extern

◆ D_8018D1D0

s32 D_8018D1D0
extern

◆ D_8018D1D8

s32 D_8018D1D8
extern

◆ D_8018D1F0

s32 D_8018D1F0
extern

◆ D_8018D1F8

s32 D_8018D1F8
extern

◆ D_8018D230

s8 D_8018D230
extern

◆ D_8018D3BC

s32 D_8018D3BC
extern

◆ D_8018D3C0

s32 D_8018D3C0
extern

◆ D_8018D3C4

s32 D_8018D3C4
extern

◆ gCrabSpawns

CrabSpawn gCrabSpawns[]
extern

◆ gFireBreathsSpawns

Vec3s gFireBreathsSpawns[]
extern

◆ gHedgehogPatrolPoints

Vec3s gHedgehogPatrolPoints[]
extern

◆ gHedgehogSpawns

HegdehogSpawn gHedgehogSpawns[]
extern

◆ gItemWindowObjectByPlayerId

s32 gItemWindowObjectByPlayerId[]
extern

◆ gMoleSpawns

Vec3s gMoleSpawns[]
extern

◆ gNumActiveThwomps

s16 gNumActiveThwomps
extern

◆ gObjectList

Objects gObjectList[]
extern

◆ gSnowmanSpawns

SnowmanSpawn gSnowmanSpawns[]
extern

◆ gThomwpSpawns150CC

ThwompSpawn gThomwpSpawns150CC[]
extern

◆ gThomwpSpawns50CC

ThwompSpawn gThomwpSpawns50CC[]
extern

◆ gThowmpSpawnList

ThwompSpawn* gThowmpSpawnList
extern

◆ gThwompSpawns100CCExtra

ThwompSpawn gThwompSpawns100CCExtra[]
extern

◆ gTorchSpawns

s16 gTorchSpawns[1]
extern