Files
Starship/include/structs.h
T
Alejandro Asenjo Nitti f76ce38ad1 fox_map functions (#56)
* func_EBFBE0_80187520

* func_EBFBE0_8019E85C

* func_EBFBE0_8019E8D0

* funcs

* func_EBFBE0_801A6A24

* func_EBFBE0_801A4D0C

* func_EBFBE0_801A62FC

* names

* func_EBFBE0_801A5770

* dec

* boolean

* func_EBFBE0_801A4A38

* func_EBFBE0_8019F83C

* func_EBFBE0_8019F910

* func_EBFBE0_8019F97C

* func_EBFBE0_8019FA1C

* comment

* func_EBFBE0_8019FC04

* func_EBFBE0_8019FD1C

* func_EBFBE0_8019FF48

* func_EBFBE0_801A01A8

* func_EBFBE0_801A05B4

* func_EBFBE0_801A07E8

* func_EBFBE0_801A655C

* func_EBFBE0_801AB284

* func_EBFBE0_801AB17C

* func_EBFBE0_801AD048

* func_EBFBE0_801A914C

* func_EBFBE0_801A9EE4

* func_EBFBE0_801A9DE8

* func_EBFBE0_801A9814

* func_EBFBE0_801A25C8

* func_EBFBE0_801A6DAC

* func_EBFBE0_801A6DAC

* func_EBFBE0_801A3440

* func_EBFBE0_801A7684

* primColor

* planetId

* func_EBFBE0_801A77B0

* func_EBFBE0_801A791C

* func_EBFBE0_801A7A84

* func_EBFBE0_801A7BEC

* func_EBFBE0_801A7BEC

* func_EBFBE0_801A7D3C

* progress script permissions

* func_EBFBE0_801A7F1C

* func_EBFBE0_801A74F4

* format

* func_EBFBE0_801A7230

* func_EBFBE0_801A6EC0

* func_EBFBE0_801AD718

* func_EBFBE0_801AD7EC

* func_EBFBE0_801AC80C

* func_EBFBE0_801ABF1C

* func_EBFBE0_801ABCDC

* scopes

* func_EBFBE0_801A68E4

* func_EBFBE0_801A6694

* func_EBFBE0_801A6480

* func_EBFBE0_801A6368

* func_EBFBE0_801A61B4

* LevelId

* LevelId

* func_EBFBE0_801A62FC

* level enum

* levelIDs

* enum
2023-12-24 10:12:09 -06:00

130 lines
2.8 KiB
C

#ifndef STRUCTS_H
#define STRUCTS_H
#include "libultra/ultra64.h"
#include "sf64math.h"
#define UNK_TYPE s32
typedef struct {
f32 offset;
f32 size;
} HitboxDim;
typedef struct {
HitboxDim z;
HitboxDim y;
HitboxDim x;
} Hitbox;
typedef struct {
s16 vtx[3];
s16 unk_06;
Vec3s normal;
s32 dist;
} CollisionPoly;
typedef struct {
Vec3f min;
Vec3f max;
s32 polyCount;
CollisionPoly* polys;
Vec3s* mesh;
} CollisionHeader; // size = 0x24
typedef struct {
Vec3f min;
Vec3f max;
s32 polyCount;
s16 (*polys)[3];
Vec3f* mesh;
} CollisionHeader2; // size = 0x24
typedef struct {
/* bit 0 */ u8 unk_0 : 3;
/* bit 3 */ u8 unk_3 : 1;
/* bit 4 */ u8 unk_4 : 1;
/* bit 5 */ u8 unk_5 : 1;
/* bit 6 */ u8 unk_6 : 1;
/* bit 7 */ u8 unk_7 : 1;
} PlanetData; // size = 0x1
typedef struct {
/* bit 0 */ u16 unk_0 : 8;
/* bit 8 */ u16 unk_8 : 4;
/* bit C */ u16 unk_C : 1;
/* bit D */ u16 unk_D : 1;
/* bit E */ u16 unk_E : 1;
/* bit F */ u16 unk_F : 1;
} Save_SubStruct_5E; // size = 0x10
typedef struct{
/* 0x00 */ PlanetData planet[16];
/* 0x10 */ char pad10[0x4];
/* 0x14 */ u8 soundMode;
/* 0x15 */ u8 musicVolume;
/* 0x16 */ u8 voiceVolume;
/* 0x17 */ u8 sfxVolume;
/* 0x18 */ u8 unk_18[10][3];
/* 0x36 */ u8 unk_36[10];
/* 0x40 */ u8 unk_40[10];
/* 0x4A */ u16 unk_4A[10];
/* 0x5E */ Save_SubStruct_5E unk_5E[10][7];
/* 0xEA */ u8 unk_EA;
/* 0xEB */ char padEB[0x3];
/* 0xEE */ char padEE[0x10];
} SaveData; // size = 0xFE
typedef struct {
/* 0x00 */ union {
u8 raw[sizeof(SaveData)];
SaveData data;
};
/* 0xFE */ u16 checksum;
} Save; // size = 0x100
typedef struct {
/* 0x000 */ Save save;
/* 0x100 */ Save backup;
} SaveFile; // size = 0x200
typedef struct {
/* 0x0 */ u16 unk_0;
/* 0x2 */ s8 unk_2;
/* 0x3 */ s8 unk_3;
} UnkStruct_gInputPress; // size = 0x4
typedef struct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ char pad01[0x1];
/* 0x02 */ u16 unk_02;
/* 0x04 */ Vec3f pos;
/* 0x10 */ f32 unk_10;
/* 0x14 */ char pad14[0x14];
} UnkEntity28; // size = 0x28
typedef struct {
/* 0x00 */ u8 mode;
/* 0x02 */ u16 timer;
/* 0x04 */ Vec3f unk_04;
/* 0x10 */ Vec3f unk_10;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ u8 unk_2C; // possibly a color struct
/* 0x2D */ u8 unk_2D;
/* 0x2E */ u8 unk_2E;
/* 0x2F */ u8 unk_2F;
} UnkEntity30; // size = 0x30
typedef struct {
/* 0x00 */ u8 hits;
/* 0x04 */ Vec3f pos;
/* 0x10 */ f32 unk_10;
/* 0x14 */ char pad14[0x4];
/* 0x18 */ u16 timer;
} UnkEntity1C; // size = 0x1C
#endif