mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-25 01:34:18 +00:00
Add names to all typedef'd structs, unions, and enums (#2028)
* Add names to all typedef'd structs, unions, and enums * wtf vs code * Use a better regex
This commit is contained in:
parent
672728455d
commit
e6bc4bd8cb
426 changed files with 1417 additions and 1417 deletions
|
@ -4,13 +4,13 @@
|
|||
#include "sched.h"
|
||||
#include "z64audio.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum AudioMgrDebugLevel {
|
||||
/* 0 */ AUDIOMGR_DEBUG_LEVEL_NONE,
|
||||
/* 1 */ AUDIOMGR_DEBUG_LEVEL_NO_RSP,
|
||||
/* 2 */ AUDIOMGR_DEBUG_LEVEL_NO_UPDATE
|
||||
} AudioMgrDebugLevel;
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioMgr {
|
||||
/* 0x0000 */ IrqMgr* irqMgr;
|
||||
/* 0x0004 */ Scheduler* sched;
|
||||
/* 0x0008 */ OSScTask audioTask;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
* from the external graph thread to the internal audio thread
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
typedef enum AudioThreadCmdOp {
|
||||
// Channel Commands
|
||||
/* 0x00 */ AUDIOCMD_OP_NOOP,
|
||||
/* 0x01 */ AUDIOCMD_OP_CHANNEL_SET_VOL_SCALE,
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
#ifndef COLOR_H
|
||||
#define COLOR_H
|
||||
|
||||
typedef struct {
|
||||
typedef struct Color_RGB8 {
|
||||
u8 r, g, b;
|
||||
} Color_RGB8;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Color_RGBA8 {
|
||||
u8 r, g, b, a;
|
||||
} Color_RGBA8;
|
||||
|
||||
|
@ -17,11 +17,11 @@ typedef union Color_RGBA8_u32 {
|
|||
u32 rgba;
|
||||
} Color_RGBA8_u32;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Color_RGBAf {
|
||||
f32 r, g, b, a;
|
||||
} Color_RGBAf;
|
||||
|
||||
typedef union {
|
||||
typedef union Color_RGBA16 {
|
||||
struct {
|
||||
u16 r : 5;
|
||||
u16 g : 5;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef FACE_CHANGE_H
|
||||
#define FACE_CHANGE_H
|
||||
|
||||
typedef struct {
|
||||
typedef struct FaceChange {
|
||||
/* 0x00 */ s16 face;
|
||||
/* 0x02 */ s16 timer;
|
||||
} FaceChange; // size = 0x4
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
// Texture memory size, 4 KiB
|
||||
#define TMEM_SIZE 0x1000
|
||||
|
||||
typedef struct {
|
||||
typedef struct GfxPool {
|
||||
/* 0x00000 */ u16 headMagic; // GFXPOOL_HEAD_MAGIC
|
||||
/* 0x00008 */ Gfx polyOpaBuffer[0x17E0];
|
||||
/* 0x0BF08 */ Gfx polyXluBuffer[0x800];
|
||||
|
@ -51,7 +51,7 @@ typedef struct GraphicsContext {
|
|||
/* 0x02FC */ char unk_2FC[0x04];
|
||||
} GraphicsContext; // size = 0x300
|
||||
|
||||
typedef enum {
|
||||
typedef enum SetupDL {
|
||||
/* 0 */ SETUPDL_0,
|
||||
/* 1 */ SETUPDL_1,
|
||||
/* 2 */ SETUPDL_2,
|
||||
|
@ -131,12 +131,12 @@ typedef enum {
|
|||
#define UCODE_UNK 2
|
||||
#define UCODE_S2DEX 3
|
||||
|
||||
typedef struct {
|
||||
typedef struct UCodeInfo {
|
||||
/* 0x00 */ u32 type;
|
||||
/* 0x04 */ void* ptr;
|
||||
} UCodeInfo; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct UCodeDisas {
|
||||
/* 0x00 */ uintptr_t segments[NUM_SEGMENTS];
|
||||
/* 0x40 */ Gfx* dlStack[18];
|
||||
/* 0x88 */ s32 dlDepth;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "color.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct GfxPrint {
|
||||
/* 0x00 */ PrintCallback callback;
|
||||
/* 0x04 */ Gfx* dList;
|
||||
/* 0x08 */ u16 posX;
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
struct Actor;
|
||||
|
||||
typedef struct {
|
||||
typedef struct InitChainEntry {
|
||||
u32 cont: 1;
|
||||
u32 type: 4;
|
||||
u32 offset: 11;
|
||||
s32 value: 16;
|
||||
} InitChainEntry;
|
||||
|
||||
typedef enum {
|
||||
typedef enum InitChainType {
|
||||
/* 0x0 */ ICHAINTYPE_U8, // sets byte
|
||||
/* 0x1 */ ICHAINTYPE_S8,
|
||||
/* 0x2 */ ICHAINTYPE_U16, // sets short
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
#define OS_SC_NMI_MSG 3 // name is made up, 3 is OS_SC_RDP_DONE_MSG in the original sched.c
|
||||
#define OS_SC_PRE_NMI_MSG 4
|
||||
|
||||
typedef enum {
|
||||
typedef enum IrqResetStatus {
|
||||
IRQ_RESET_STATUS_IDLE,
|
||||
IRQ_RESET_STATUS_PRENMI,
|
||||
IRQ_RESET_STATUS_NMI
|
||||
} IrqResetStatus;
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSScMsg {
|
||||
/* 0x00 */ s16 type;
|
||||
/* 0x02 */ char misc[0x1E];
|
||||
} OSScMsg; // size = 0x20
|
||||
|
@ -24,7 +24,7 @@ typedef struct IrqMgrClient {
|
|||
/* 0x04 */ OSMesgQueue* queue;
|
||||
} IrqMgrClient;
|
||||
|
||||
typedef struct {
|
||||
typedef struct IrqMgr {
|
||||
/* 0x000 */ OSScMsg retraceMsg;
|
||||
/* 0x020 */ OSScMsg prenmiMsg;
|
||||
/* 0x040 */ OSScMsg nmiMsg;
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
#include "ultra64.h"
|
||||
#include "sched.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct JpegQuantizationTable {
|
||||
/* 0x00 */ u16 table[8*8];
|
||||
} JpegQuantizationTable; // size = 0x80
|
||||
|
||||
typedef struct {
|
||||
typedef struct JpegHuffmanTable {
|
||||
/* 0x00 */ u8 codeOffs[16];
|
||||
/* 0x10 */ u16 codesA[16];
|
||||
/* 0x30 */ u16 codesB[16];
|
||||
|
@ -16,13 +16,13 @@ typedef struct {
|
|||
} JpegHuffmanTable; // size = 0x54
|
||||
|
||||
// this struct might be inaccurate but it's not used outside jpegutils.c anyways
|
||||
typedef struct {
|
||||
typedef struct JpegHuffmanTableOld {
|
||||
/* 0x000 */ u8 codeOffs[16];
|
||||
/* 0x010 */ u16 dcCodes[120];
|
||||
/* 0x100 */ u16 acCodes[256];
|
||||
} JpegHuffmanTableOld; // size = 0x300
|
||||
|
||||
typedef union {
|
||||
typedef union JpegTaskData {
|
||||
struct {
|
||||
/* 0x00 */ u32 address;
|
||||
/* 0x04 */ u32 mbCount;
|
||||
|
@ -35,7 +35,7 @@ typedef union {
|
|||
long long int force_structure_alignment;
|
||||
} JpegTaskData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct JpegWork {
|
||||
/* 0x000 */ JpegTaskData taskData;
|
||||
/* 0x020 */ u64 yieldData[0x200 / sizeof(u64)];
|
||||
/* 0x220 */ JpegQuantizationTable qTableY;
|
||||
|
@ -46,7 +46,7 @@ typedef struct {
|
|||
/* 0x6C0 */ u16 data[4][0x180];
|
||||
} JpegWork; // size = 0x12C0
|
||||
|
||||
typedef struct {
|
||||
typedef struct JpegDecoder {
|
||||
/* 0x00 */ void* imageData;
|
||||
/* 0x04 */ u8 mode;
|
||||
/* 0x05 */ u8 unk_05;
|
||||
|
@ -54,7 +54,7 @@ typedef struct {
|
|||
/* 0x18 */ u8 unk_18;
|
||||
} JpegDecoder; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct JpegContext {
|
||||
/* 0x00 */ u8 dqtCount;
|
||||
/* 0x04 */ u8* dqtPtr[3];
|
||||
/* 0x10 */ u8 dhtCount;
|
||||
|
@ -67,7 +67,7 @@ typedef struct {
|
|||
/* 0xB4 */ JpegWork* workBuf;
|
||||
} JpegContext; // size = 0xB8
|
||||
|
||||
typedef struct {
|
||||
typedef struct JpegDecoderState {
|
||||
/* 0x00 */ u32 byteIdx;
|
||||
/* 0x04 */ u8 bitIdx;
|
||||
/* 0x05 */ u8 dontSkip;
|
||||
|
|
|
@ -111,7 +111,7 @@
|
|||
* Colors
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextColor {
|
||||
TEXT_COLOR_DEFAULT,
|
||||
TEXT_COLOR_RED,
|
||||
TEXT_COLOR_ADJUSTABLE,
|
||||
|
@ -126,12 +126,12 @@ typedef enum {
|
|||
* Background
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextboxBackgroundIndex {
|
||||
TEXTBOX_BG_X_LEFT,
|
||||
TEXTBOX_BG_X_RIGHT
|
||||
} TextboxBackgroundIndex;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextboxBackgroundForegroundColor {
|
||||
TEXTBOX_BG_FGCOL_WHITE,
|
||||
TEXTBOX_BG_FGCOL_DARK_RED,
|
||||
TEXTBOX_BG_FGCOL_ORANGE,
|
||||
|
@ -142,14 +142,14 @@ typedef enum {
|
|||
TEXTBOX_BG_FGCOL_WHITE_7
|
||||
} TextboxBackgroundForegroundColor;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextboxBackgroundBackgroundColor {
|
||||
TEXTBOX_BG_BGCOL_BLACK,
|
||||
TEXTBOX_BG_BGCOL_GOLD,
|
||||
TEXTBOX_BG_BGCOL_BLACK_2,
|
||||
TEXTBOX_BG_BGCOL_BLACK_3
|
||||
} TextboxBackgroundBackgroundColor;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextboxBackgroundYOffsetIndex {
|
||||
TEXTBOX_BG_Y_OFFSET_1,
|
||||
TEXTBOX_BG_Y_OFFSET_2
|
||||
} TextboxBackgroundYOffsetIndex;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "message_data_fmt.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextBoxType {
|
||||
/* 0 */ TEXTBOX_TYPE_BLACK,
|
||||
/* 1 */ TEXTBOX_TYPE_WOODEN,
|
||||
/* 2 */ TEXTBOX_TYPE_BLUE,
|
||||
|
@ -14,18 +14,18 @@ typedef enum {
|
|||
/* 11 */ TEXTBOX_TYPE_CREDITS = 11
|
||||
} TextBoxType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextBoxBackground {
|
||||
/* 0 */ TEXTBOX_BG_CROSS
|
||||
} TextBoxBackground;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextBoxPosition {
|
||||
/* 0 */ TEXTBOX_POS_VARIABLE,
|
||||
/* 1 */ TEXTBOX_POS_TOP,
|
||||
/* 2 */ TEXTBOX_POS_MIDDLE,
|
||||
/* 3 */ TEXTBOX_POS_BOTTOM
|
||||
} TextBoxPosition;
|
||||
|
||||
typedef struct {
|
||||
typedef struct MessageTableEntry {
|
||||
u16 textId;
|
||||
u8 typePos;
|
||||
const char* segment;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "irqmgr.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum ControllerPakType {
|
||||
CONT_PAK_NONE,
|
||||
CONT_PAK_RUMBLE,
|
||||
CONT_PAK_OTHER
|
||||
|
|
|
@ -8,7 +8,7 @@ typedef struct ListAlloc {
|
|||
/* 0x04 */ struct ListAlloc* next;
|
||||
} ListAlloc; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct PreRender {
|
||||
/* 0x00 */ s32 width;
|
||||
/* 0x04 */ s32 height;
|
||||
/* 0x08 */ s32 widthSave;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "z64camera.h"
|
||||
#include "z64math.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct ShakeInfo {
|
||||
/* 0x00 */ Vec3f atOffset;
|
||||
/* 0x0C */ Vec3f eyeOffset;
|
||||
/* 0x18 */ s16 upPitchOffset; // gives a "roll" effect by offsetting the Up vector
|
||||
|
@ -13,7 +13,7 @@ typedef struct {
|
|||
/* 0x20 */ f32 maxOffset;
|
||||
} ShakeInfo; // size = 0x24
|
||||
|
||||
typedef enum {
|
||||
typedef enum QuakeType {
|
||||
/* 0 */ QUAKE_TYPE_NONE,
|
||||
/* 1 */ QUAKE_TYPE_1, // Periodic, sustaining, random X perturbations
|
||||
/* 2 */ QUAKE_TYPE_2, // Aperiodic, sustaining, random X perturbations
|
||||
|
|
|
@ -243,7 +243,7 @@
|
|||
|
||||
#define R_HREG_MODE HREG(80) // see `HRegMode` for mode options
|
||||
|
||||
typedef enum {
|
||||
typedef enum HRegMode {
|
||||
/* 6 */ HREG_MODE_PRINT_HILITE_INFO = 6, // print hilite information
|
||||
/* 7 */ HREG_MODE_UCODE_DISAS, // various controls for the ucode disas system
|
||||
/* 8 */ HREG_MODE_PRINT_MEMORY, // print memory at a specified address
|
||||
|
@ -386,7 +386,7 @@ typedef enum {
|
|||
#define R_VI_CUR_ADDI_SCAN_LINES HREG(83)
|
||||
#define R_VI_CUR_Y_SCALE_MODE HREG(84)
|
||||
|
||||
typedef struct {
|
||||
typedef struct RegEditor {
|
||||
/* 0x00 */ s32 regPage; // 0: no page selected (reg editor is not active); 1: first page; `REG_PAGES`: last page
|
||||
/* 0x04 */ s32 regGroup; // Indexed from 0 to `REG_GROUPS`-1. Each group has its own character to identify it.
|
||||
/* 0x08 */ s32 regCur; // Selected reg, indexed from 0 as the page start
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct RomFile {
|
||||
/* 0x00 */ uintptr_t vromStart;
|
||||
/* 0x04 */ uintptr_t vromEnd;
|
||||
} RomFile; // size = 0x8
|
||||
|
|
|
@ -5,13 +5,13 @@
|
|||
|
||||
#define RUMBLE_MAX_REQUESTS 64
|
||||
|
||||
typedef enum {
|
||||
typedef enum RumbleState {
|
||||
RUMBLE_STATE_CLEAR,
|
||||
RUMBLE_STATE_RUNNING,
|
||||
RUMBLE_STATE_RESET
|
||||
} RumbleState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct RumbleMgr {
|
||||
/* 0x000 */ u8 rumbleEnable[MAXCONTROLLERS];
|
||||
/* 0x004 */ u8 reqStrengths[RUMBLE_MAX_REQUESTS]; // Source strength modulated by distance to the source
|
||||
/* 0x044 */ u8 reqDurations[RUMBLE_MAX_REQUESTS]; // Duration until decreaseRate kicks in
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
#define OS_SC_RCP_MASK (OS_SC_NEEDS_RDP | OS_SC_NEEDS_RSP)
|
||||
#define OS_SC_TYPE_MASK (OS_SC_NEEDS_RDP | OS_SC_NEEDS_RSP | OS_SC_DRAM_DLIST)
|
||||
|
||||
typedef struct {
|
||||
typedef struct CfbInfo {
|
||||
/* 0x00 */ u16* framebuffer; // current framebuffer
|
||||
/* 0x04 */ u16* swapBuffer; // framebuffer to swap to
|
||||
/* 0x08 */ OSViMode* viMode;
|
||||
|
@ -43,7 +43,7 @@ typedef struct OSScTask {
|
|||
/* 0x60 */ OSTime totalTime;
|
||||
} OSScTask; // size = 0x68
|
||||
|
||||
typedef struct {
|
||||
typedef struct Scheduler {
|
||||
/* 0x0000 */ OSMesgQueue interruptQueue;
|
||||
/* 0x0018 */ OSMesg interruptMsgBuf[8];
|
||||
/* 0x0038 */ OSMesgQueue cmdQueue; // queue for receiving OSScTask pointers
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
#define SEQCMD_OP_MASK 0xF0000000
|
||||
|
||||
typedef enum {
|
||||
typedef enum SeqCmdOp {
|
||||
/* 0x0 */ SEQCMD_OP_PLAY_SEQUENCE,
|
||||
/* 0x1 */ SEQCMD_OP_STOP_SEQUENCE,
|
||||
/* 0x2 */ SEQCMD_OP_QUEUE_SEQUENCE,
|
||||
|
@ -27,7 +27,7 @@ typedef enum {
|
|||
// ==== Secondary commands ====
|
||||
|
||||
// Subset of `SEQCMD_OP_TEMPO_CMD`
|
||||
typedef enum {
|
||||
typedef enum SeqCmdTempoCmdOp {
|
||||
/* 0x0 */ SEQCMD_SUB_OP_TEMPO_SET,
|
||||
/* 0x1 */ SEQCMD_SUB_OP_TEMPO_SPEED_UP,
|
||||
/* 0x2 */ SEQCMD_SUB_OP_TEMPO_SLOW_DOWN,
|
||||
|
@ -36,7 +36,7 @@ typedef enum {
|
|||
} SeqCmdTempoCmdOp;
|
||||
|
||||
// Subset of `SEQCMD_OP_SETUP_CMD`
|
||||
typedef enum {
|
||||
typedef enum SeqCmdSetupCmdOp {
|
||||
/* 0x0 */ SEQCMD_SUB_OP_SETUP_RESTORE_SEQPLAYER_VOLUME,
|
||||
/* 0x1 */ SEQCMD_SUB_OP_SETUP_SEQ_UNQUEUE,
|
||||
/* 0x2 */ SEQCMD_SUB_OP_SETUP_RESTART_SEQ,
|
||||
|
@ -53,7 +53,7 @@ typedef enum {
|
|||
} SeqCmdSetupCmdOp;
|
||||
|
||||
// Subset of `SEQCMD_OP_GLOBAL_CMD`
|
||||
typedef enum {
|
||||
typedef enum SeqCmdSubCmdOp {
|
||||
/* 0x0 */ SEQCMD_SUB_OP_GLOBAL_SET_SOUND_MODE,
|
||||
/* 0x1 */ SEQCMD_SUB_OP_GLOBAL_DISABLE_NEW_SEQUENCES
|
||||
} SeqCmdSubCmdOp;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef SEQUENCE_H
|
||||
#define SEQUENCE_H
|
||||
|
||||
typedef enum {
|
||||
typedef enum SeqId {
|
||||
/* 0x00 */ NA_BGM_GENERAL_SFX, // General Sound Effects
|
||||
/* 0x01 */ NA_BGM_NATURE_AMBIENCE, // Environmental nature background sounds
|
||||
/* 0x02 */ NA_BGM_FIELD_LOGIC, // Hyrule Field
|
||||
|
@ -117,21 +117,21 @@ typedef enum {
|
|||
/* 0xFFFF */ NA_BGM_DISABLED = 0xFFFF
|
||||
} SeqId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SequencePlayerId {
|
||||
/* 0 */ SEQ_PLAYER_BGM_MAIN,
|
||||
/* 1 */ SEQ_PLAYER_FANFARE,
|
||||
/* 2 */ SEQ_PLAYER_SFX,
|
||||
/* 3 */ SEQ_PLAYER_BGM_SUB
|
||||
} SequencePlayerId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SequenceMode {
|
||||
/* 0 */ SEQ_MODE_DEFAULT,
|
||||
/* 1 */ SEQ_MODE_ENEMY,
|
||||
/* 2 */ SEQ_MODE_STILL, // Not moving or first-person view
|
||||
/* 3 */ SEQ_MODE_IGNORE
|
||||
} SequenceMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SequenceCutsceneEffects {
|
||||
/* 0x0 */ SEQ_CS_EFFECTS_SWORD_GLOW, // Master sword glow
|
||||
/* 0x1 */ SEQ_CS_EFFECTS_SHEIK_TRANSFORM, // Sheik's transformation to Zelda
|
||||
/* 0x2 */ SEQ_CS_EFFECTS_SAGE_SEAL, // Sages accumulating their power
|
||||
|
@ -150,7 +150,7 @@ typedef enum {
|
|||
/* 0xF */ SEQ_CS_EFFECTS_RAINFALL // Rain with thunder effects
|
||||
} SequenceCutsceneEffects;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ChannelIOPort {
|
||||
/* 0x0 */ CHANNEL_IO_PORT_0,
|
||||
/* 0x1 */ CHANNEL_IO_PORT_1,
|
||||
/* 0x2 */ CHANNEL_IO_PORT_2,
|
||||
|
@ -161,7 +161,7 @@ typedef enum {
|
|||
/* 0x7 */ CHANNEL_IO_PORT_7
|
||||
} ChannelIOPort;
|
||||
|
||||
typedef enum {
|
||||
typedef enum VolumeScaleIndex {
|
||||
/* 0 */ VOL_SCALE_INDEX_BGM_MAIN,
|
||||
/* 1 */ VOL_SCALE_INDEX_FANFARE,
|
||||
/* 2 */ VOL_SCALE_INDEX_SFX,
|
||||
|
@ -169,7 +169,7 @@ typedef enum {
|
|||
/* 4 */ VOL_SCALE_INDEX_MAX
|
||||
} VolumeScaleIndex; // May be worth using SequencePlayerId instead
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActiveSequenceChannelData {
|
||||
/* 0x00 */ f32 volCur;
|
||||
/* 0x04 */ f32 volTarget;
|
||||
/* 0x08 */ f32 volStep;
|
||||
|
@ -180,7 +180,7 @@ typedef struct {
|
|||
/* 0x1C */ u16 freqScaleTimer;
|
||||
} ActiveSequenceChannelData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActiveSequence {
|
||||
/* 0x000 */ f32 volCur;
|
||||
/* 0x004 */ f32 volTarget;
|
||||
/* 0x008 */ f32 volStep;
|
||||
|
@ -208,7 +208,7 @@ typedef struct {
|
|||
/* 0x260 */ u8 isWaitingForFonts; // This name comes from MM
|
||||
} ActiveSequence; // size = 0x264
|
||||
|
||||
typedef enum {
|
||||
typedef enum NatureChannelIndex {
|
||||
/* 0x0 */ NATURE_CHANNEL_STREAM_0,
|
||||
/* 0x1 */ NATURE_CHANNEL_CRITTER_0,
|
||||
/* 0x2 */ NATURE_CHANNEL_CRITTER_1,
|
||||
|
@ -224,7 +224,7 @@ typedef enum {
|
|||
/* 0xF */ NATURE_CHANNEL_LIGHTNING
|
||||
} NatureChannelIndex; // seqPlayerIndex = 0 (Overlaps with main bgm)
|
||||
|
||||
typedef enum {
|
||||
typedef enum NatureAmbienceId {
|
||||
/* 0x00 */ NATURE_ID_GENERAL_NIGHT,
|
||||
/* 0x01 */ NATURE_ID_MARKET_ENTRANCE,
|
||||
/* 0x02 */ NATURE_ID_KAKARIKO_REGION,
|
||||
|
@ -248,14 +248,14 @@ typedef enum {
|
|||
/* 0xFF */ NATURE_ID_DISABLED = 0xFF
|
||||
} NatureAmbienceId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum NatureStreamId {
|
||||
/* 0x00 */ NATURE_STREAM_RUSHING_WATER,
|
||||
/* 0x01 */ NATURE_STREAM_HOWLING_WIND,
|
||||
/* 0x02 */ NATURE_STREAM_SCREECHING_WIND,
|
||||
/* 0x03 */ NATURE_STREAM_SCREECHING_WIND_ALT1
|
||||
} NatureStreamId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum NatureAmimalId {
|
||||
/* 0x00 */ NATURE_CRITTER_BIRD_CHIRP_1,
|
||||
/* 0x01 */ NATURE_CRITTER_TAP,
|
||||
/* 0x02 */ NATURE_CRITTER_BIRD_CHIRP_2,
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef SFX_H
|
||||
#define SFX_H
|
||||
|
||||
typedef enum {
|
||||
typedef enum SfxBankType {
|
||||
/* 0 */ BANK_PLAYER,
|
||||
/* 1 */ BANK_ITEM,
|
||||
/* 2 */ BANK_ENV,
|
||||
|
@ -11,7 +11,7 @@ typedef enum {
|
|||
/* 6 */ BANK_VOICE
|
||||
} SfxBankType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SfxState {
|
||||
/* 0 */ SFX_STATE_EMPTY,
|
||||
/* 1 */ SFX_STATE_QUEUED,
|
||||
/* 2 */ SFX_STATE_READY,
|
||||
|
@ -20,7 +20,7 @@ typedef enum {
|
|||
/* 5 */ SFX_STATE_PLAYING_2
|
||||
} SfxState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SfxBankEntry {
|
||||
/* 0x00 */ f32* posX;
|
||||
/* 0x04 */ f32* posY;
|
||||
/* 0x08 */ f32* posZ;
|
||||
|
@ -57,7 +57,7 @@ typedef struct {
|
|||
|
||||
#define DEFINE_SFX(enum, _1, _2, _3, _4) enum,
|
||||
|
||||
typedef enum {
|
||||
typedef enum SfxId {
|
||||
NA_SE_NONE, // Requesting a sfx with this id will play no sound
|
||||
NA_SE_PL_BASE = 0x7FF,
|
||||
#include "tables/sfx/playerbank_table.h"
|
||||
|
@ -87,7 +87,7 @@ typedef enum {
|
|||
|
||||
#define SFX_FLAG 0x800
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActiveSfx {
|
||||
u32 priority; // lower is more prioritized
|
||||
u8 entryIndex;
|
||||
} ActiveSfx;
|
||||
|
@ -114,7 +114,7 @@ typedef struct {
|
|||
#define SFX_FLAG_14 (1 << 14)
|
||||
#define SFX_FLAG_15 (1 << 15)
|
||||
|
||||
typedef struct {
|
||||
typedef struct SfxParams {
|
||||
u8 importance;
|
||||
u16 params;
|
||||
} SfxParams;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
struct GraphicsContext;
|
||||
struct GameState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SpeedMeter {
|
||||
/* 0x00 */ char unk_00[0x18];
|
||||
/* 0x18 */ s32 x; // Unused
|
||||
/* 0x1C */ s32 y;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "alignment.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct TwoHeadArena {
|
||||
/* 0x00 */ size_t size;
|
||||
/* 0x04 */ void* start;
|
||||
/* 0x08 */ void* head;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "tha.h"
|
||||
|
||||
typedef union {
|
||||
typedef union TwoHeadGfxArena {
|
||||
/* 0x00 */ TwoHeadArena tha;
|
||||
struct { // Same as TwoHeadArena, with different types and field names for the head and tail pointers
|
||||
/* 0x00 */ size_t size;
|
||||
|
|
|
@ -49,28 +49,28 @@
|
|||
* Data Structures.
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct Aadpcm {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 gain : 16;
|
||||
u32 addr;
|
||||
} Aadpcm;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Apolef {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 gain : 16;
|
||||
u32 addr;
|
||||
} Apolef;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Aenvelope {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 pad1 : 16;
|
||||
u32 addr;
|
||||
} Aenvelope;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Aclearbuff {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 8;
|
||||
u32 dmem : 16;
|
||||
|
@ -78,7 +78,7 @@ typedef struct {
|
|||
u32 count : 16;
|
||||
} Aclearbuff;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Ainterleave {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 8;
|
||||
u32 pad2 : 16;
|
||||
|
@ -86,20 +86,20 @@ typedef struct {
|
|||
u32 inR : 16;
|
||||
} Ainterleave;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Aloadbuff {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 24;
|
||||
u32 addr;
|
||||
} Aloadbuff;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Aenvmixer {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 pad1 : 16;
|
||||
u32 addr;
|
||||
} Aenvmixer;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Amixer {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 gain : 16;
|
||||
|
@ -107,34 +107,34 @@ typedef struct {
|
|||
u32 dmemo : 16;
|
||||
} Amixer;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Apan {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 dmem2 : 16;
|
||||
u32 addr;
|
||||
} Apan;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Aresample {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 pitch : 16;
|
||||
u32 addr;
|
||||
} Aresample;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Areverb {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 pad1 : 16;
|
||||
u32 addr;
|
||||
} Areverb;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Asavebuff {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 24;
|
||||
u32 addr;
|
||||
} Asavebuff;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Asegment {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 24;
|
||||
u32 pad2 : 2;
|
||||
|
@ -142,7 +142,7 @@ typedef struct {
|
|||
u32 base : 24;
|
||||
} Asegment;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Asetbuff {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 dmemin : 16;
|
||||
|
@ -150,7 +150,7 @@ typedef struct {
|
|||
u32 count : 16;
|
||||
} Asetbuff;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Asetvol {
|
||||
u32 cmd : 8;
|
||||
u32 flags : 8;
|
||||
u32 vol : 16;
|
||||
|
@ -158,7 +158,7 @@ typedef struct {
|
|||
u32 volrate : 16;
|
||||
} Asetvol;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Admemmove {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 8;
|
||||
u32 dmemin : 16;
|
||||
|
@ -166,14 +166,14 @@ typedef struct {
|
|||
u32 count : 16;
|
||||
} Admemmove;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Aloadadpcm {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 8;
|
||||
u32 count : 16;
|
||||
u32 addr;
|
||||
} Aloadadpcm;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Asetloop {
|
||||
u32 cmd : 8;
|
||||
u32 pad1 : 8;
|
||||
u32 pad2 : 16;
|
||||
|
@ -184,12 +184,12 @@ typedef struct {
|
|||
* Generic Acmd Packet
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct Awords {
|
||||
u32 w0;
|
||||
u32 w1;
|
||||
} Awords;
|
||||
|
||||
typedef union {
|
||||
typedef union Acmd {
|
||||
Awords words;
|
||||
Aadpcm adpcm;
|
||||
Apolef polef;
|
||||
|
|
|
@ -125,7 +125,7 @@
|
|||
// however file alignment should not be relied on in general.
|
||||
__attribute__((aligned(0x10)))
|
||||
#endif
|
||||
typedef union {
|
||||
typedef union OSPifRam {
|
||||
struct {
|
||||
/* 0x00 */ u32 ram[15];
|
||||
/* 0x3C */ u32 status;
|
||||
|
@ -133,20 +133,20 @@ typedef union {
|
|||
u64 force_structure_alignment;
|
||||
} OSPifRam; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSContStatus {
|
||||
/* 0x00 */ u16 type;
|
||||
/* 0x02 */ u8 status;
|
||||
/* 0x03 */ u8 errno;
|
||||
} OSContStatus; // size = 0x04
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSContPad {
|
||||
/* 0x00 */ u16 button;
|
||||
/* 0x02 */ s8 stick_x;
|
||||
/* 0x03 */ s8 stick_y;
|
||||
/* 0x04 */ u8 errno;
|
||||
} OSContPad; // size = 0x06
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSContRamIo {
|
||||
/* 0x00 */ void* address;
|
||||
/* 0x04 */ u8 databuffer[32];
|
||||
/* 0x24 */ u8 addressCrc;
|
||||
|
@ -154,7 +154,7 @@ typedef struct {
|
|||
/* 0x26 */ u8 errno;
|
||||
} OSContRamIo; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSContRequesFormat {
|
||||
/* 0x00 */ u8 align;
|
||||
/* 0x01 */ u8 txsize;
|
||||
/* 0x02 */ u8 rxsize;
|
||||
|
@ -165,7 +165,7 @@ typedef struct {
|
|||
/* 0x07 */ u8 align1;
|
||||
} __OSContRequesFormat; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSContRequesFormatShort {
|
||||
/* 0x00 */ u8 txsize;
|
||||
/* 0x01 */ u8 rxsize;
|
||||
/* 0x02 */ u8 cmd;
|
||||
|
@ -174,7 +174,7 @@ typedef struct {
|
|||
/* 0x05 */ u8 status;
|
||||
} __OSContRequesFormatShort; // size = 0x6
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSContRamReadFormat {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ u8 txsize;
|
||||
/* 0x02 */ u8 rxsize;
|
||||
|
@ -187,7 +187,7 @@ typedef struct {
|
|||
|
||||
#define READFORMAT(ptr) ((__OSContRamReadFormat*)(ptr))
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSContReadFormat {
|
||||
/* 0x00 */ u8 align;
|
||||
/* 0x01 */ u8 txsize;
|
||||
/* 0x02 */ u8 rxsize;
|
||||
|
|
|
@ -1005,7 +1005,7 @@
|
|||
/*
|
||||
* Vertex (set up for use with colors)
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Vtx_t {
|
||||
short ob[3]; /* x, y, z */
|
||||
unsigned short flag;
|
||||
short tc[2]; /* texture coord */
|
||||
|
@ -1015,7 +1015,7 @@ typedef struct {
|
|||
/*
|
||||
* Vertex (set up for use with normals)
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Vtx_tn {
|
||||
short ob[3]; /* x, y, z */
|
||||
unsigned short flag;
|
||||
short tc[2]; /* texture coord */
|
||||
|
@ -1023,7 +1023,7 @@ typedef struct {
|
|||
unsigned char a; /* alpha */
|
||||
} Vtx_tn;
|
||||
|
||||
typedef union {
|
||||
typedef union Vtx {
|
||||
Vtx_t v; /* Use this one for colors */
|
||||
Vtx_tn n; /* Use this one for normals */
|
||||
long long int force_structure_alignment;
|
||||
|
@ -1033,7 +1033,7 @@ typedef union {
|
|||
* Sprite structure
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct uSprite_t {
|
||||
void* SourceImagePointer;
|
||||
void* TlutPointer;
|
||||
short Stride;
|
||||
|
@ -1049,7 +1049,7 @@ typedef struct {
|
|||
char dummy[4];
|
||||
} uSprite_t;
|
||||
|
||||
typedef union {
|
||||
typedef union uSprite {
|
||||
uSprite_t s;
|
||||
|
||||
/* Need to make sure this is 64 bit aligned */
|
||||
|
@ -1059,7 +1059,7 @@ typedef union {
|
|||
/*
|
||||
* Triangle face
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Tri {
|
||||
unsigned char flag;
|
||||
unsigned char v[3];
|
||||
} Tri;
|
||||
|
@ -1070,7 +1070,7 @@ typedef struct {
|
|||
* Last 8 words are the fraction portion of the 4x4 matrix
|
||||
*/
|
||||
typedef long int Mtx_t[4][4];
|
||||
typedef union {
|
||||
typedef union Mtx {
|
||||
Mtx_t m;
|
||||
struct {
|
||||
u16 intPart[4][4];
|
||||
|
@ -1140,13 +1140,13 @@ typedef union {
|
|||
* (SCREEN_WD/2)*4, (SCREEN_HT/2)*4, G_MAXZ, 0,
|
||||
* (SCREEN_WD/2)*4, (SCREEN_HT/2)*4, 0, 0,
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Vp_t {
|
||||
short vscale[4]; /* scale, 2 bits fraction */
|
||||
short vtrans[4]; /* translate, 2 bits fraction */
|
||||
/* both the above arrays are padded to 64-bit boundary */
|
||||
} Vp_t;
|
||||
|
||||
typedef union {
|
||||
typedef union Vp {
|
||||
Vp_t vp;
|
||||
long long int force_structure_alignment;
|
||||
} Vp;
|
||||
|
@ -1306,7 +1306,7 @@ typedef union {
|
|||
*
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct Light_t {
|
||||
unsigned char col[3]; /* diffuse light value (rgba) */
|
||||
char pad1;
|
||||
unsigned char colc[3]; /* copy of diffuse light value (rgba) */
|
||||
|
@ -1316,7 +1316,7 @@ typedef struct {
|
|||
} Light_t;
|
||||
|
||||
#ifdef F3DEX_GBI_PL
|
||||
typedef struct {
|
||||
typedef struct PointLight_t {
|
||||
unsigned char col[3]; /* point light value (rgba) */
|
||||
unsigned char kc; /* constant attenuation (> 0 indicates point light) */
|
||||
unsigned char colc[3]; /* copy of point light value (rgba) */
|
||||
|
@ -1326,14 +1326,14 @@ typedef struct {
|
|||
} PointLight_t;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
typedef struct Ambient_t {
|
||||
unsigned char col[3]; /* ambient light value (rgba) */
|
||||
char pad1;
|
||||
unsigned char colc[3]; /* copy of ambient light value (rgba) */
|
||||
char pad2;
|
||||
} Ambient_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Hilite_t {
|
||||
/* texture offsets for highlight 1/2 */
|
||||
int x1;
|
||||
int y1;
|
||||
|
@ -1341,7 +1341,7 @@ typedef struct {
|
|||
int y2;
|
||||
} Hilite_t;
|
||||
|
||||
typedef union {
|
||||
typedef union Light {
|
||||
Light_t l;
|
||||
#ifdef F3DEX_GBI_PL
|
||||
PointLight_t p;
|
||||
|
@ -1349,61 +1349,61 @@ typedef union {
|
|||
long long int force_structure_alignment[2];
|
||||
} Light;
|
||||
|
||||
typedef union {
|
||||
typedef union Ambient {
|
||||
Ambient_t l;
|
||||
long long int force_structure_alignment[1];
|
||||
} Ambient;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lightsn {
|
||||
Ambient a;
|
||||
Light l[7];
|
||||
} Lightsn;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights0 {
|
||||
Ambient a;
|
||||
Light l[1];
|
||||
} Lights0;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights1 {
|
||||
Ambient a;
|
||||
Light l[1];
|
||||
} Lights1;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights2 {
|
||||
Ambient a;
|
||||
Light l[2];
|
||||
} Lights2;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights3 {
|
||||
Ambient a;
|
||||
Light l[3];
|
||||
} Lights3;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights4 {
|
||||
Ambient a;
|
||||
Light l[4];
|
||||
} Lights4;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights5 {
|
||||
Ambient a;
|
||||
Light l[5];
|
||||
} Lights5;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights6 {
|
||||
Ambient a;
|
||||
Light l[6];
|
||||
} Lights6;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Lights7 {
|
||||
Ambient a;
|
||||
Light l[7];
|
||||
} Lights7;
|
||||
|
||||
typedef struct {
|
||||
typedef struct LookAt {
|
||||
Light l[2];
|
||||
} LookAt;
|
||||
|
||||
typedef union {
|
||||
typedef union Hilite {
|
||||
Hilite_t h;
|
||||
long int force_structure_alignment;
|
||||
} Hilite;
|
||||
|
@ -1672,7 +1672,7 @@ typedef union {
|
|||
}}, \
|
||||
}}
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gnoop {
|
||||
int cmd : 8;
|
||||
unsigned int type : 8;
|
||||
unsigned int len : 16;
|
||||
|
@ -1690,7 +1690,7 @@ typedef struct {
|
|||
/*
|
||||
* Graphics DMA Packet
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Gdma {
|
||||
int cmd : 8;
|
||||
unsigned int par : 8;
|
||||
unsigned int len : 16;
|
||||
|
@ -1698,7 +1698,7 @@ typedef struct {
|
|||
} Gdma;
|
||||
|
||||
#ifdef F3DEX_GBI_2
|
||||
typedef struct {
|
||||
typedef struct Gdma2 {
|
||||
int cmd : 8;
|
||||
unsigned int len : 8;
|
||||
unsigned int ofs : 8;
|
||||
|
@ -1711,7 +1711,7 @@ typedef struct {
|
|||
* Graphics Moveword Packet
|
||||
*/
|
||||
// Inaccurate for F3DEX2, offset and index are swapped
|
||||
typedef struct {
|
||||
typedef struct Gmovewd {
|
||||
int cmd : 8;
|
||||
unsigned int offset : 16;
|
||||
unsigned int index : 8;
|
||||
|
@ -1721,7 +1721,7 @@ typedef struct {
|
|||
/*
|
||||
* Graphics Movemem Packet
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Gmovemem {
|
||||
int cmd : 8;
|
||||
unsigned int size : 8;
|
||||
unsigned int offset : 8;
|
||||
|
@ -1732,24 +1732,24 @@ typedef struct {
|
|||
/*
|
||||
* Graphics Immediate Mode Packet types
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Gtri {
|
||||
int cmd : 8;
|
||||
int pad : 24;
|
||||
Tri tri;
|
||||
} Gtri;
|
||||
|
||||
#if (defined(F3DLP_GBI) || defined(F3DEX_GBI))
|
||||
typedef struct {
|
||||
typedef struct Gtri2 {
|
||||
Tri tri1; /* flag is the command byte */
|
||||
Tri tri2;
|
||||
} Gtri2;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gquad {
|
||||
Tri tri1; /* flag is the command byte */
|
||||
Tri tri2;
|
||||
} Gquad;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gcull {
|
||||
int cmd : 8;
|
||||
unsigned int pad : 8;
|
||||
unsigned short vstart_x2;
|
||||
|
@ -1758,14 +1758,14 @@ typedef struct {
|
|||
} Gcull;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gsetprimdepth {
|
||||
int cmd : 8;
|
||||
unsigned int pad : 24;
|
||||
unsigned short z;
|
||||
unsigned short dz;
|
||||
} Gsetprimdepth;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gpopmtx {
|
||||
int cmd : 8;
|
||||
int pad1 : 24;
|
||||
#ifdef F3DEX_GBI_2
|
||||
|
@ -1777,7 +1777,7 @@ typedef struct {
|
|||
} Gpopmtx;
|
||||
|
||||
/*
|
||||
* typedef struct {
|
||||
* typedef struct Gsegment {
|
||||
* int cmd:8;
|
||||
* int pad0:24;
|
||||
* int pad1:4;
|
||||
|
@ -1785,7 +1785,7 @@ typedef struct {
|
|||
* int base:24;
|
||||
* } Gsegment;
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Gsegment {
|
||||
int cmd : 8;
|
||||
int pad0 : 8;
|
||||
int mw_index : 8;
|
||||
|
@ -1794,7 +1794,7 @@ typedef struct {
|
|||
int base : 24;
|
||||
} Gsegment;
|
||||
|
||||
typedef struct {
|
||||
typedef struct GsetothermodeL {
|
||||
int cmd : 8;
|
||||
int pad0 : 8;
|
||||
unsigned int sft : 8;
|
||||
|
@ -1802,7 +1802,7 @@ typedef struct {
|
|||
unsigned int data : 32;
|
||||
} GsetothermodeL;
|
||||
|
||||
typedef struct {
|
||||
typedef struct GsetothermodeH {
|
||||
int cmd : 8;
|
||||
int pad0 : 8;
|
||||
unsigned int sft : 8;
|
||||
|
@ -1810,7 +1810,7 @@ typedef struct {
|
|||
unsigned int data : 32;
|
||||
} GsetothermodeH;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gtexture {
|
||||
unsigned char cmd;
|
||||
unsigned char lodscale;
|
||||
#ifdef F3DEX_GBI_2
|
||||
|
@ -1825,7 +1825,7 @@ typedef struct {
|
|||
unsigned short t;
|
||||
} Gtexture;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gline3D {
|
||||
int cmd : 8;
|
||||
#ifdef F3DEX_GBI_2
|
||||
unsigned char v0;
|
||||
|
@ -1838,7 +1838,7 @@ typedef struct {
|
|||
#endif
|
||||
} Gline3D;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gperspnorm {
|
||||
int cmd : 8;
|
||||
int pad1 : 24;
|
||||
short int pad2;
|
||||
|
@ -1849,7 +1849,7 @@ typedef struct {
|
|||
/*
|
||||
* RDP Packet types
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Gsetimg {
|
||||
int cmd : 8;
|
||||
unsigned int fmt : 3;
|
||||
unsigned int siz : 2;
|
||||
|
@ -1858,7 +1858,7 @@ typedef struct {
|
|||
unsigned int dram; /* to account for 1024 */
|
||||
} Gsetimg;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gsetcombine {
|
||||
int cmd : 8;
|
||||
// muxs0
|
||||
unsigned int a0 : 4;
|
||||
|
@ -1880,7 +1880,7 @@ typedef struct {
|
|||
unsigned int Ad1 : 3;
|
||||
} Gsetcombine;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gsetcolor {
|
||||
int cmd : 8;
|
||||
unsigned char pad;
|
||||
unsigned char prim_min_level;
|
||||
|
@ -1896,7 +1896,7 @@ typedef struct {
|
|||
};
|
||||
} Gsetcolor;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gfillrect {
|
||||
int cmd : 8;
|
||||
int x0 : 10;
|
||||
int x0frac : 2;
|
||||
|
@ -1909,7 +1909,7 @@ typedef struct {
|
|||
int y1frac : 2;
|
||||
} Gfillrect;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gsettile {
|
||||
int cmd : 8;
|
||||
unsigned int fmt : 3;
|
||||
unsigned int siz : 2;
|
||||
|
@ -1929,7 +1929,7 @@ typedef struct {
|
|||
unsigned int shifts : 4;
|
||||
} Gsettile;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gloadtile {
|
||||
int cmd : 8;
|
||||
unsigned int sl : 12;
|
||||
unsigned int tl : 12;
|
||||
|
@ -1945,7 +1945,7 @@ typedef Gloadtile Gsettilesize;
|
|||
|
||||
typedef Gloadtile Gloadtlut;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Gtexrect {
|
||||
unsigned int cmd : 8; /* command */
|
||||
unsigned int xl : 12; /* X coordinate of upper left */
|
||||
unsigned int yl : 12; /* Y coordinate of upper left */
|
||||
|
@ -1965,7 +1965,7 @@ typedef struct {
|
|||
/*
|
||||
* Textured rectangles are 128 bits not 64 bits
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct TexRect {
|
||||
unsigned long w0;
|
||||
unsigned long w1;
|
||||
unsigned long w2;
|
||||
|
@ -1973,7 +1973,7 @@ typedef struct {
|
|||
} TexRect;
|
||||
|
||||
#ifdef F3DEX_GBI_2
|
||||
typedef struct {
|
||||
typedef struct Gvtx {
|
||||
int cmd : 8;
|
||||
unsigned int pad : 4;
|
||||
unsigned int len : 8; // n
|
||||
|
@ -1988,7 +1988,7 @@ typedef Gdma Gvtx;
|
|||
/*
|
||||
* Generic Gfx Packet
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct Gwords {
|
||||
unsigned int w0;
|
||||
unsigned int w1;
|
||||
} Gwords;
|
||||
|
@ -1997,7 +1997,7 @@ typedef struct {
|
|||
* This union is the fundamental type of the display list.
|
||||
* It is, by law, exactly 64 bits in size.
|
||||
*/
|
||||
typedef union {
|
||||
typedef union Gfx {
|
||||
Gwords words;
|
||||
Gnoop noop;
|
||||
Gdma dma;
|
||||
|
|
|
@ -91,7 +91,7 @@ typedef struct {
|
|||
|
||||
} uObjScaleBg_t; /* 40 bytes */
|
||||
|
||||
typedef union {
|
||||
typedef union uObjBg {
|
||||
uObjBg_t b;
|
||||
uObjScaleBg_t s;
|
||||
long long int force_structure_alignment;
|
||||
|
@ -103,7 +103,7 @@ typedef union {
|
|||
#define G_OBJ_FLAG_FLIPS 1<<0 /* inversion to S-direction */
|
||||
#define G_OBJ_FLAG_FLIPT 1<<4 /* nversion to T-direction */
|
||||
|
||||
typedef struct {
|
||||
typedef struct uObjSprite_t {
|
||||
s16 objX; /* s10.2 OBJ x-coordinate of upper-left end */
|
||||
u16 scaleW; /* u5.10 Scaling of u5.10 width direction */
|
||||
u16 imageW; /* u10.5 width of u10.5 texture (length of S-direction) */
|
||||
|
@ -120,7 +120,7 @@ typedef struct {
|
|||
u8 imageFlags; /* The display flag - G_OBJ_FLAG_FLIP* */
|
||||
} uObjSprite_t; /* 24 bytes */
|
||||
|
||||
typedef union {
|
||||
typedef union uObjSprite {
|
||||
uObjSprite_t s;
|
||||
long long int force_structure_alignment;
|
||||
} uObjSprite;
|
||||
|
@ -128,25 +128,25 @@ typedef union {
|
|||
/*---------------------------------------------------------------------------*
|
||||
* 2D Matrix
|
||||
*---------------------------------------------------------------------------*/
|
||||
typedef struct {
|
||||
typedef struct uObjMtx_t {
|
||||
s32 A, B, C, D; /* s15.16 */
|
||||
s16 X, Y; /* s10.2 */
|
||||
u16 BaseScaleX; /* u5.10 */
|
||||
u16 BaseScaleY; /* u5.10 */
|
||||
} uObjMtx_t; /* 24 bytes */
|
||||
|
||||
typedef union {
|
||||
typedef union uObjMtx {
|
||||
uObjMtx_t m;
|
||||
long long int force_structure_alignment;
|
||||
} uObjMtx;
|
||||
|
||||
typedef struct {
|
||||
typedef struct uObjSubMtx_t {
|
||||
s16 X, Y; /* s10.2 */
|
||||
u16 BaseScaleX; /* u5.10 */
|
||||
u16 BaseScaleY; /* u5.10 */
|
||||
} uObjSubMtx_t; /* 8 bytes */
|
||||
|
||||
typedef union {
|
||||
typedef union uObjSubMtx {
|
||||
uObjSubMtx_t m;
|
||||
long long int force_structure_alignment;
|
||||
} uObjSubMtx;
|
||||
|
@ -200,7 +200,7 @@ typedef struct {
|
|||
u32 mask; /* STATE mask */
|
||||
} uObjTxtrTLUT_t; /* 24 bytes */
|
||||
|
||||
typedef union {
|
||||
typedef union uObjTxtr {
|
||||
uObjTxtrBlock_t block;
|
||||
uObjTxtrTile_t tile;
|
||||
uObjTxtrTLUT_t tlut;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
#define ROUND(x) (s32)(((x) >= 0.0) ? ((x) + 0.5) : ((x) - 0.5))
|
||||
|
||||
typedef union {
|
||||
typedef union du {
|
||||
struct {
|
||||
u32 hi;
|
||||
u32 lo;
|
||||
|
@ -16,7 +16,7 @@ typedef union {
|
|||
f64 d;
|
||||
} du;
|
||||
|
||||
typedef union {
|
||||
typedef union fu {
|
||||
u32 i;
|
||||
f32 f;
|
||||
} fu;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "pi.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSDevMgr {
|
||||
/* 0x00 */ u32 active;
|
||||
/* 0x04 */ OSThread* thread;
|
||||
/* 0x08 */ OSMesgQueue* cmdQueue;
|
||||
|
|
|
@ -69,7 +69,7 @@
|
|||
#define PFS_INODE_DIST_MAP (PFS_BANK_LAPPED_BY * PFS_SECTOR_PER_BANK)
|
||||
#define PFS_SECTOR_SIZE (PFS_INODE_SIZE_PER_PAGE/PFS_SECTOR_PER_BANK)
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSPfs {
|
||||
/* 0x00 */ s32 status;
|
||||
/* 0x04 */ OSMesgQueue* queue;
|
||||
/* 0x08 */ s32 channel;
|
||||
|
@ -85,7 +85,7 @@ typedef struct {
|
|||
/* 0x65 */ u8 activebank;
|
||||
} OSPfs; // size = 0x68
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSPfsState {
|
||||
/* 0x00 */ u32 file_size; /* bytes */
|
||||
/* 0x04 */ u32 game_code;
|
||||
/* 0x08 */ u16 company_code;
|
||||
|
@ -93,7 +93,7 @@ typedef struct {
|
|||
/* 0x10 */ char game_name[16];
|
||||
} OSPfsState; // size = 0x20
|
||||
|
||||
typedef union {
|
||||
typedef union __OSInodeUnit {
|
||||
struct {
|
||||
/* 0x00 */ u8 bank;
|
||||
/* 0x01 */ u8 page;
|
||||
|
@ -101,11 +101,11 @@ typedef union {
|
|||
/* 0x00 */ u16 ipage;
|
||||
} __OSInodeUnit; // size = 0x02
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSInode {
|
||||
/* 0x00 */ __OSInodeUnit inodePage[128];
|
||||
} __OSInode; // size = 0x100
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSDir {
|
||||
/* 0x00 */ u32 game_code;
|
||||
/* 0x04 */ u16 company_code;
|
||||
/* 0x06 */ __OSInodeUnit start_page;
|
||||
|
@ -116,7 +116,7 @@ typedef struct {
|
|||
/* 0x10 */ u8 game_name[PFS_FILE_NAME_LEN];
|
||||
} __OSDir; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSPackId {
|
||||
/* 0x00 */ u32 repaired;
|
||||
/* 0x04 */ u32 random;
|
||||
/* 0x08 */ u64 serialMid;
|
||||
|
@ -128,7 +128,7 @@ typedef struct {
|
|||
/* 0x1E */ u16 invertedChecksum;
|
||||
} __OSPackId; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSInodeCache {
|
||||
/* 0x000 */ __OSInode inode;
|
||||
/* 0x100 */ u8 bank;
|
||||
/* 0x101 */ u8 map[PFS_INODE_DIST_MAP];
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "message.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSBlockInfo {
|
||||
/* 0x00 */ u32 errStatus;
|
||||
/* 0x04 */ void* dramAddr;
|
||||
/* 0x08 */ void* C2Addr;
|
||||
|
@ -12,7 +12,7 @@ typedef struct {
|
|||
/* 0x14 */ u32 C1ErrSector[4];
|
||||
} __OSBlockInfo; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSTranxInfo {
|
||||
/* 0x00 */ u32 cmdType;
|
||||
/* 0x04 */ u16 transferMode;
|
||||
/* 0x06 */ u16 blockNum;
|
||||
|
@ -36,19 +36,19 @@ typedef struct OSPiHandle {
|
|||
/* 0x14 */ __OSTranxInfo transferInfo;
|
||||
} OSPiHandle; // size = 0x74
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSPiInfo {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x04 */ u32 address;
|
||||
} OSPiInfo; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSIoMesgHdr {
|
||||
/* 0x00 */ u16 type;
|
||||
/* 0x02 */ u8 pri;
|
||||
/* 0x03 */ u8 status;
|
||||
/* 0x04 */ OSMesgQueue* retQueue;
|
||||
} OSIoMesgHdr; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSIoMesg {
|
||||
/* 0x00 */ OSIoMesgHdr hdr;
|
||||
/* 0x08 */ void* dramAddr;
|
||||
/* 0x0C */ u32 devAddr;
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
#include "ultratypes.h"
|
||||
|
||||
/* Structure for debug port */
|
||||
typedef struct {
|
||||
typedef struct rdbPacket {
|
||||
u32 type : 6; /* 0: invalid, 1: print, 2: debug */
|
||||
u32 length : 2; /* 1, 2, or 3 */
|
||||
char buf[3]; /* character buffer */
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
|
||||
#define OS_YIELD_DATA_SIZE 0xC00
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSTask_t {
|
||||
/* 0x00 */ u32 type;
|
||||
/* 0x04 */ u32 flags;
|
||||
|
||||
|
@ -54,7 +54,7 @@ typedef struct {
|
|||
/* 0x3C */ u32 yield_data_size;
|
||||
} OSTask_t; // size = 0x40
|
||||
|
||||
typedef union {
|
||||
typedef union OSTask {
|
||||
OSTask_t t;
|
||||
long long int force_structure_alignment;
|
||||
} OSTask;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
typedef s32 OSPri;
|
||||
typedef s32 OSId;
|
||||
|
||||
typedef union {
|
||||
typedef union __OSfp {
|
||||
struct {
|
||||
/* 0x00 */ f32 f_odd;
|
||||
/* 0x04 */ f32 f_even;
|
||||
|
@ -35,7 +35,7 @@ typedef union {
|
|||
f64 d;
|
||||
} __OSfp; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSThreadContext {
|
||||
/* 0x000 */ u64 at, v0, v1, a0, a1, a2, a3;
|
||||
/* 0x038 */ u64 t0, t1, t2, t3, t4, t5, t6, t7;
|
||||
/* 0x078 */ u64 s0, s1, s2, s3, s4, s5, s6, s7;
|
||||
|
@ -47,7 +47,7 @@ typedef struct {
|
|||
/* 0x150 */ __OSfp fp16, fp18, fp20, fp22, fp24, fp26, fp28, fp30;
|
||||
} __OSThreadContext; // size = 0x190
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSThreadprofile {
|
||||
/* 0x00 */ u32 flag;
|
||||
/* 0x04 */ u32 count;
|
||||
/* 0x08 */ u64 time;
|
||||
|
@ -66,7 +66,7 @@ typedef struct OSThread {
|
|||
/* 0x20 */ __OSThreadContext context;
|
||||
} OSThread; // size = 0x1B0
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSThreadTail {
|
||||
OSThread* next;
|
||||
OSPri priority;
|
||||
} __OSThreadTail; // size = 0x8
|
||||
|
|
|
@ -26,7 +26,7 @@ typedef double f64;
|
|||
|
||||
|
||||
typedef float MtxF_t[4][4];
|
||||
typedef union {
|
||||
typedef union MtxF {
|
||||
MtxF_t mf;
|
||||
struct {
|
||||
// Note: The order displayed here is the transpose of the order in which matrices are typically written.
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#define OS_VI_DITHER_FILTER_ON 0x0040
|
||||
#define OS_VI_DITHER_FILTER_OFF 0x0080
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSViCommonRegs {
|
||||
/* 0x00 */ u32 ctrl;
|
||||
/* 0x04 */ u32 width;
|
||||
/* 0x08 */ u32 burst;
|
||||
|
@ -25,7 +25,7 @@ typedef struct {
|
|||
/* 0x20 */ u32 vCurrent;
|
||||
} OSViCommonRegs; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSViFieldRegs {
|
||||
/* 0x00 */ u32 origin;
|
||||
/* 0x04 */ u32 yScale;
|
||||
/* 0x08 */ u32 vStart;
|
||||
|
@ -33,19 +33,19 @@ typedef struct {
|
|||
/* 0x10 */ u32 vIntr;
|
||||
} OSViFieldRegs; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSViMode {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x04 */ OSViCommonRegs comRegs;
|
||||
/* 0x24 */ OSViFieldRegs fldRegs[2];
|
||||
} OSViMode; // size = 0x4C
|
||||
|
||||
typedef struct {
|
||||
typedef struct __OSViScale {
|
||||
/* 0x0 */ f32 factor;
|
||||
/* 0x4 */ u16 offset;
|
||||
/* 0x8 */ u32 scale;
|
||||
} __OSViScale; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct OSViContext {
|
||||
/* 0x00 */ u16 state;
|
||||
/* 0x02 */ u16 retraceCount;
|
||||
/* 0x04 */ void* framep;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#define LONG_DOUBLE_TYPE long double
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
typedef struct _Pft {
|
||||
/* 0x00 */ union {
|
||||
long long ll;
|
||||
LONG_DOUBLE_TYPE ld;
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
#define STACK_TOP(stack) \
|
||||
((u8*)(stack) + sizeof(stack))
|
||||
|
||||
typedef struct {
|
||||
typedef struct KaleidoMgrOverlay {
|
||||
/* 0x00 */ void* loadedRamAddr;
|
||||
/* 0x04 */ RomFile file;
|
||||
/* 0x0C */ void* vramStart;
|
||||
|
@ -108,22 +108,22 @@ typedef struct {
|
|||
/* 0x18 */ const char* name;
|
||||
} KaleidoMgrOverlay; // size = 0x1C
|
||||
|
||||
typedef enum {
|
||||
typedef enum KaleidoOverlayType {
|
||||
/* 0 */ KALEIDO_OVL_KALEIDO_SCOPE,
|
||||
/* 1 */ KALEIDO_OVL_PLAYER_ACTOR,
|
||||
/* 2 */ KALEIDO_OVL_MAX
|
||||
} KaleidoOverlayType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum LensMode {
|
||||
/* 0 */ LENS_MODE_SHOW_ACTORS, // lens actors are invisible by default, and shown by using lens (for example, invisible enemies)
|
||||
/* 1 */ LENS_MODE_HIDE_ACTORS // lens actors are visible by default, and hidden by using lens (for example, fake walls)
|
||||
} LensMode;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SetupState {
|
||||
/* 0x00 */ GameState state;
|
||||
} SetupState; // size = 0xA4
|
||||
|
||||
typedef struct {
|
||||
typedef struct ConsoleLogoState {
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00A4 */ u8* staticSegment;
|
||||
/* 0x00A8 */ View view;
|
||||
|
@ -141,7 +141,7 @@ typedef struct {
|
|||
|
||||
struct MapSelectState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SceneSelectEntry {
|
||||
/* 0x00 */ char* name;
|
||||
/* 0x04 */ void (*loadFunc)(struct MapSelectState*, s32);
|
||||
/* 0x08 */ s32 entranceIndex;
|
||||
|
@ -169,7 +169,7 @@ typedef struct MapSelectState {
|
|||
/* 0x0238 */ u8* staticSegment;
|
||||
} MapSelectState; // size = 0x240
|
||||
|
||||
typedef struct {
|
||||
typedef struct SampleState {
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00A4 */ u8* staticSegment;
|
||||
/* 0x00A8 */ View view;
|
||||
|
@ -182,7 +182,7 @@ typedef struct QuestHintCmd {
|
|||
/* 0x03 */ u8 byte3;
|
||||
} QuestHintCmd; // size = 0x4
|
||||
|
||||
typedef enum {
|
||||
typedef enum PauseBgPreRenderState {
|
||||
/* 0 */ PAUSE_BG_PRERENDER_OFF, // Inactive, do nothing.
|
||||
/* 1 */ PAUSE_BG_PRERENDER_SETUP, // The current frame is only drawn for the purpose of serving as the pause background.
|
||||
/* 2 */ PAUSE_BG_PRERENDER_PROCESS, // The previous frame was PAUSE_BG_PRERENDER_SETUP, now apply prerender filters.
|
||||
|
@ -190,19 +190,19 @@ typedef enum {
|
|||
/* 4 */ PAUSE_BG_PRERENDER_MAX
|
||||
} PauseBgPreRenderState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionTileState {
|
||||
/* 0 */ TRANS_TILE_OFF, // Inactive, do nothing
|
||||
/* 1 */ TRANS_TILE_SETUP, // Save the necessary buffers
|
||||
/* 2 */ TRANS_TILE_PROCESS, // Initialize the transition
|
||||
/* 3 */ TRANS_TILE_READY // The transition is ready, so will update and draw each frame
|
||||
} TransitionTileState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct TitleSetupState {
|
||||
/* 0x0000 */ GameState state;
|
||||
/* 0x00A8 */ View view;
|
||||
} TitleSetupState; // size = 0x1D0
|
||||
|
||||
typedef struct {
|
||||
typedef struct FileSelectState {
|
||||
/* 0x00000 */ GameState state;
|
||||
/* 0x000A4 */ Vtx* windowVtx;
|
||||
/* 0x000A8 */ u8* staticSegment;
|
||||
|
@ -299,13 +299,13 @@ typedef struct {
|
|||
(((field) >> ENTRANCE_INFO_START_TRANS_TYPE_SHIFT) \
|
||||
& (ENTRANCE_INFO_START_TRANS_TYPE_MASK >> ENTRANCE_INFO_START_TRANS_TYPE_SHIFT))
|
||||
|
||||
typedef struct {
|
||||
typedef struct EntranceInfo {
|
||||
/* 0x00 */ s8 sceneId;
|
||||
/* 0x01 */ s8 spawn;
|
||||
/* 0x02 */ u16 field;
|
||||
} EntranceInfo; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct GameStateOverlay {
|
||||
/* 0x00 */ void* loadedRamAddr;
|
||||
/* 0x04 */ RomFile file; // if applicable
|
||||
/* 0x0C */ void* vramStart; // if applicable
|
||||
|
@ -319,13 +319,13 @@ typedef struct {
|
|||
/* 0x2C */ u32 instanceSize;
|
||||
} GameStateOverlay; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
typedef struct PreNMIState {
|
||||
/* 0x00 */ GameState state;
|
||||
/* 0xA4 */ u32 timer;
|
||||
/* 0xA8 */ UNK_TYPE4 unk_A8;
|
||||
} PreNMIState; // size = 0xAC
|
||||
|
||||
typedef enum {
|
||||
typedef enum FloorID {
|
||||
/* 1 */ F_8F = 1,
|
||||
/* 2 */ F_7F,
|
||||
/* 3 */ F_6F,
|
||||
|
@ -347,7 +347,7 @@ typedef enum {
|
|||
// All arrays pointed in this struct are indexed by "map indices"
|
||||
// In dungeons, the map index corresponds to the dungeon index (which also indexes keys, items, etc)
|
||||
// In overworld areas, the map index corresponds to the overworld area index (spot 00, 01, etc)
|
||||
typedef struct {
|
||||
typedef struct MapData {
|
||||
/* 0x00 */ s16 (*floorTexIndexOffset)[8]; // dungeon texture index offset by floor
|
||||
/* 0x04 */ s16* bossFloor; // floor the boss is on
|
||||
/* 0x08 */ s16 (*roomPalette)[32]; // map palette by room
|
||||
|
@ -396,7 +396,7 @@ typedef struct DebugDispObject {
|
|||
/* 0x28 */ struct DebugDispObject* next;
|
||||
} DebugDispObject; // size = 0x2C
|
||||
|
||||
typedef enum {
|
||||
typedef enum MatrixMode {
|
||||
/* 0 */ MTXMODE_NEW, // generates a new matrix
|
||||
/* 1 */ MTXMODE_APPLY // applies transformation to the current matrix
|
||||
} MatrixMode;
|
||||
|
@ -411,13 +411,13 @@ typedef struct StackEntry {
|
|||
/* 0x18 */ const char* name;
|
||||
} StackEntry;
|
||||
|
||||
typedef enum {
|
||||
typedef enum StackStatus {
|
||||
/* 0 */ STACK_STATUS_OK,
|
||||
/* 1 */ STACK_STATUS_WARNING,
|
||||
/* 2 */ STACK_STATUS_OVERFLOW
|
||||
} StackStatus;
|
||||
|
||||
typedef struct {
|
||||
typedef struct ISVDbg {
|
||||
/* 0x00 */ u32 magic; // IS64
|
||||
/* 0x04 */ u32 get;
|
||||
/* 0x08 */ u8 unk_08[0x14-0x08];
|
||||
|
@ -426,7 +426,7 @@ typedef struct {
|
|||
/* 0x20 */ u8 data[0x10000-0x20];
|
||||
} ISVDbg;
|
||||
|
||||
typedef struct {
|
||||
typedef struct LocaleCartInfo {
|
||||
/* 0x00 */ char name[0x18];
|
||||
/* 0x18 */ u32 mediaFormat;
|
||||
/* 0x1C */ union {
|
||||
|
@ -439,7 +439,7 @@ typedef struct {
|
|||
};
|
||||
} LocaleCartInfo; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct Yaz0Header {
|
||||
/* 0x00 */ char magic[4]; // Yaz0
|
||||
/* 0x04 */ u32 decSize;
|
||||
/* 0x08 */ u32 compInfoOffset; // only used in mio0
|
||||
|
@ -486,7 +486,7 @@ typedef struct ArenaNode {
|
|||
#define R_MIPS_LO16 6
|
||||
|
||||
/* Reloc section id, must fit in 2 bits otherwise the relocation format must be modified */
|
||||
typedef enum {
|
||||
typedef enum RelocSectionId {
|
||||
/* 0 */ RELOC_SECTION_NULL,
|
||||
/* 1 */ RELOC_SECTION_TEXT,
|
||||
/* 2 */ RELOC_SECTION_DATA,
|
||||
|
@ -508,21 +508,21 @@ typedef struct OverlayRelocationSection {
|
|||
// where 64-bit load/store instructions are emulated with 2x 32-bit load/store instructions. The alignment attribute
|
||||
// conveys that this structure will not always be 8-bytes aligned, allowing a modern compiler to generate non-crashing
|
||||
// code for accessing these. This is not an issue in the original compiler as it only output O32 ABI code.
|
||||
ALIGNED(4) typedef struct {
|
||||
ALIGNED(4) typedef struct PreNmiBuff {
|
||||
/* 0x00 */ u32 resetting;
|
||||
/* 0x04 */ u32 resetCount;
|
||||
/* 0x08 */ OSTime duration;
|
||||
/* 0x10 */ OSTime resetTime;
|
||||
} PreNmiBuff; // size = 0x18 (actually osAppNMIBuffer is 0x40 bytes large but the rest is unused)
|
||||
|
||||
typedef enum {
|
||||
typedef enum ViModeEditState {
|
||||
/* 0 */ VI_MODE_EDIT_STATE_INACTIVE,
|
||||
/* 1 */ VI_MODE_EDIT_STATE_ACTIVE,
|
||||
/* 2 */ VI_MODE_EDIT_STATE_2, // active, more adjustments
|
||||
/* 3 */ VI_MODE_EDIT_STATE_3 // active, more adjustments, print comparison with NTSC LAN1 mode
|
||||
} ViModeEditState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct ViMode {
|
||||
/* 0x00 */ OSViMode customViMode;
|
||||
/* 0x50 */ s32 viHeight;
|
||||
/* 0x54 */ s32 viWidth;
|
||||
|
|
|
@ -24,7 +24,7 @@ typedef void (*ActorShadowFunc)(struct Actor*, struct Lights*, struct PlayState*
|
|||
typedef u16 (*NpcGetTextIdFunc)(struct PlayState*, struct Actor*);
|
||||
typedef s16 (*NpcUpdateTalkStateFunc)(struct PlayState*, struct Actor*);
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActorProfile {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ u8 category; // Classifies actor and determines when it will update or draw
|
||||
/* 0x04 */ u32 flags;
|
||||
|
@ -85,7 +85,7 @@ typedef struct {
|
|||
*/
|
||||
#define ACTOROVL_ALLOC_PERSISTENT (1 << 1)
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActorOverlay {
|
||||
/* 0x00 */ RomFile file;
|
||||
/* 0x08 */ void* vramStart;
|
||||
/* 0x0C */ void* vramEnd;
|
||||
|
@ -96,18 +96,18 @@ typedef struct {
|
|||
/* 0x1E */ s8 numLoaded; // original name: "clients"
|
||||
} ActorOverlay; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct DamageTable {
|
||||
u8 table[32];
|
||||
} DamageTable;
|
||||
|
||||
typedef struct {
|
||||
typedef struct CollisionCheckInfoInit {
|
||||
/* 0x00 */ u8 health;
|
||||
/* 0x02 */ s16 cylRadius;
|
||||
/* 0x04 */ s16 cylHeight;
|
||||
/* 0x06 */ u8 mass;
|
||||
} CollisionCheckInfoInit;
|
||||
|
||||
typedef struct {
|
||||
typedef struct CollisionCheckInfoInit2 {
|
||||
/* 0x00 */ u8 health;
|
||||
/* 0x02 */ s16 cylRadius;
|
||||
/* 0x04 */ s16 cylHeight;
|
||||
|
@ -115,7 +115,7 @@ typedef struct {
|
|||
/* 0x08 */ u8 mass;
|
||||
} CollisionCheckInfoInit2;
|
||||
|
||||
typedef struct {
|
||||
typedef struct CollisionCheckInfo {
|
||||
/* 0x00 */ DamageTable* damageTable;
|
||||
/* 0x04 */ Vec3f displacement; // Amount to correct actor velocity by when colliding into a body
|
||||
/* 0x10 */ s16 cylRadius; // Used for various purposes
|
||||
|
@ -129,7 +129,7 @@ typedef struct {
|
|||
/* 0x1B */ u8 acHitEffect; // Stores what effect should occur when AC is touched by an AT
|
||||
} CollisionCheckInfo; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActorShape {
|
||||
/* 0x00 */ Vec3s rot; // Current actor shape rotation
|
||||
/* 0x06 */ s16 face; // Used to index eyes and mouth textures. Only used by player
|
||||
/* 0x08 */ f32 yOffset; // Model y axis offset. Represents model space units
|
||||
|
@ -310,7 +310,7 @@ typedef struct Actor {
|
|||
#endif
|
||||
} Actor; // size = 0x14C
|
||||
|
||||
typedef enum {
|
||||
typedef enum ActorFootIndex {
|
||||
/* 0 */ FOOT_LEFT,
|
||||
/* 1 */ FOOT_RIGHT
|
||||
} ActorFootIndex;
|
||||
|
@ -344,7 +344,7 @@ typedef struct DynaPolyActor {
|
|||
/* 0x162 */ s16 unk_162;
|
||||
} DynaPolyActor; // size = 0x164
|
||||
|
||||
typedef struct {
|
||||
typedef struct BodyBreak {
|
||||
/* 0x00 */ MtxF* matrices;
|
||||
/* 0x04 */ s16* objectSlots;
|
||||
/* 0x08 */ s16 count;
|
||||
|
@ -357,7 +357,7 @@ typedef struct {
|
|||
#define BODYBREAK_STATUS_READY -1
|
||||
#define BODYBREAK_STATUS_FINISHED 0
|
||||
|
||||
typedef enum {
|
||||
typedef enum Item00Type {
|
||||
/* 0x00 */ ITEM00_RUPEE_GREEN,
|
||||
/* 0x01 */ ITEM00_RUPEE_BLUE,
|
||||
/* 0x02 */ ITEM00_RUPEE_RED,
|
||||
|
@ -406,7 +406,7 @@ typedef struct EnItem00 {
|
|||
} EnItem00; // size = 0x1AC
|
||||
|
||||
// Only A_OBJ_SIGNPOST_OBLONG and A_OBJ_SIGNPOST_ARROW are used in room files.
|
||||
typedef enum {
|
||||
typedef enum AObjType {
|
||||
/* 0x00 */ A_OBJ_BLOCK_SMALL,
|
||||
/* 0x01 */ A_OBJ_BLOCK_LARGE,
|
||||
/* 0x02 */ A_OBJ_BLOCK_HUGE,
|
||||
|
@ -439,7 +439,7 @@ typedef struct EnAObj {
|
|||
/* 0x17C */ ColliderCylinder collider;
|
||||
} EnAObj; // size = 0x1C8
|
||||
|
||||
typedef enum {
|
||||
typedef enum ActorCategory {
|
||||
/* 0x00 */ ACTORCAT_SWITCH,
|
||||
/* 0x01 */ ACTORCAT_BG,
|
||||
/* 0x02 */ ACTORCAT_PLAYER,
|
||||
|
@ -459,7 +459,7 @@ typedef enum {
|
|||
#define DEFINE_ACTOR_INTERNAL(_0, enum, _2, _3) enum,
|
||||
#define DEFINE_ACTOR_UNSET(enum) enum,
|
||||
|
||||
typedef enum {
|
||||
typedef enum ActorID {
|
||||
#include "tables/actor_table.h"
|
||||
/* 0x0192 */ ACTOR_ID_MAX // originally "ACTOR_DLF_MAX"
|
||||
} ActorID;
|
||||
|
@ -468,13 +468,13 @@ typedef enum {
|
|||
#undef DEFINE_ACTOR_INTERNAL
|
||||
#undef DEFINE_ACTOR_UNSET
|
||||
|
||||
typedef enum {
|
||||
typedef enum DoorLockType {
|
||||
DOORLOCK_NORMAL,
|
||||
DOORLOCK_BOSS,
|
||||
DOORLOCK_NORMAL_SPIRIT
|
||||
} DoorLockType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum NaviEnemy {
|
||||
/* 0x00 */ NAVI_ENEMY_DEFAULT,
|
||||
/* 0x01 */ NAVI_ENEMY_GOHMA,
|
||||
/* 0x02 */ NAVI_ENEMY_GOHMA_EGG,
|
||||
|
@ -666,7 +666,7 @@ typedef struct SlidingDoorActorBase {
|
|||
/* 0x0000 */ SLIDING_DOOR_ACTOR_BASE;
|
||||
} SlidingDoorActorBase;
|
||||
|
||||
typedef enum {
|
||||
typedef enum DoorOpenAnim {
|
||||
/* 0x00 */ DOOR_OPEN_ANIM_ADULT_L,
|
||||
/* 0x01 */ DOOR_OPEN_ANIM_CHILD_L,
|
||||
/* 0x02 */ DOOR_OPEN_ANIM_ADULT_R,
|
||||
|
@ -683,14 +683,14 @@ typedef enum {
|
|||
#define UPDBGCHECKINFO_FLAG_6 (1 << 6) // disable water ripples
|
||||
#define UPDBGCHECKINFO_FLAG_7 (1 << 7) // alternate wall check?
|
||||
|
||||
typedef enum {
|
||||
typedef enum NpcTalkState {
|
||||
/* 0x0 */ NPC_TALK_STATE_IDLE, // NPC not currently talking to player
|
||||
/* 0x1 */ NPC_TALK_STATE_TALKING, // NPC is currently talking to player
|
||||
/* 0x2 */ NPC_TALK_STATE_ACTION, // An NPC-defined action triggered in the conversation
|
||||
/* 0x3 */ NPC_TALK_STATE_ITEM_GIVEN // NPC finished giving an item and text box is done
|
||||
} NpcTalkState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum NpcTrackingMode {
|
||||
/* 0x0 */ NPC_TRACKING_PLAYER_AUTO_TURN, // Determine tracking mode based on player position, see Npc_UpdateAutoTurn
|
||||
/* 0x1 */ NPC_TRACKING_NONE, // Don't track the target (usually the player)
|
||||
/* 0x2 */ NPC_TRACKING_HEAD_AND_TORSO, // Track target by turning the head and the torso
|
||||
|
@ -698,7 +698,7 @@ typedef enum {
|
|||
/* 0x4 */ NPC_TRACKING_FULL_BODY // Track target by turning the body, torso and head
|
||||
} NpcTrackingMode;
|
||||
|
||||
typedef struct {
|
||||
typedef struct NpcInteractInfo {
|
||||
/* 0x00 */ s16 talkState;
|
||||
/* 0x02 */ s16 trackingMode;
|
||||
/* 0x04 */ s16 autoTurnTimer;
|
||||
|
|
|
@ -16,14 +16,14 @@ struct SkelAnime;
|
|||
|
||||
#define LIMB_DONE 0xFF
|
||||
|
||||
typedef struct {
|
||||
typedef struct StandardLimb {
|
||||
/* 0x00 */ Vec3s jointPos; // Root is position in model space, children are relative to parent
|
||||
/* 0x06 */ u8 child;
|
||||
/* 0x07 */ u8 sibling;
|
||||
/* 0x08 */ Gfx* dList;
|
||||
} StandardLimb; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct LodLimb {
|
||||
/* 0x00 */ Vec3s jointPos; // Root is position in model space, children are relative to parent
|
||||
/* 0x06 */ u8 child;
|
||||
/* 0x07 */ u8 sibling;
|
||||
|
@ -31,13 +31,13 @@ typedef struct {
|
|||
} LodLimb; // size = 0x10
|
||||
|
||||
// Model has limbs with only rigid meshes
|
||||
typedef struct {
|
||||
typedef struct SkeletonHeader {
|
||||
/* 0x00 */ void** segment;
|
||||
/* 0x04 */ u8 limbCount;
|
||||
} SkeletonHeader; // size = 0x8
|
||||
|
||||
// Model has limbs with flexible meshes
|
||||
typedef struct {
|
||||
typedef struct FlexSkeletonHeader {
|
||||
/* 0x00 */ SkeletonHeader sh;
|
||||
/* 0x08 */ u8 dListCount;
|
||||
} FlexSkeletonHeader; // size = 0xC
|
||||
|
@ -47,22 +47,22 @@ typedef struct {
|
|||
*/
|
||||
|
||||
// Index into the frame data table.
|
||||
typedef struct {
|
||||
typedef struct JointIndex {
|
||||
/* 0x00 */ u16 x;
|
||||
/* 0x02 */ u16 y;
|
||||
/* 0x04 */ u16 z;
|
||||
} JointIndex; // size = 0x06
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimationHeaderCommon {
|
||||
/* 0x00 */ s16 frameCount;
|
||||
} AnimationHeaderCommon;
|
||||
|
||||
typedef struct {
|
||||
typedef struct LinkAnimationHeader {
|
||||
/* 0x00 */ AnimationHeaderCommon common;
|
||||
/* 0x04 */ void* segment;
|
||||
} LinkAnimationHeader; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimationHeader {
|
||||
/* 0x00 */ AnimationHeaderCommon common;
|
||||
/* 0x04 */ s16* frameData; // "tbl"
|
||||
/* 0x08 */ JointIndex* jointIndices; // "ref_tbl"
|
||||
|
@ -73,7 +73,7 @@ typedef struct {
|
|||
* SkelAnime
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
typedef enum AnimationMode {
|
||||
/* 0 */ ANIMMODE_LOOP,
|
||||
/* 1 */ ANIMMODE_LOOP_INTERP,
|
||||
/* 2 */ ANIMMODE_ONCE,
|
||||
|
@ -82,7 +82,7 @@ typedef enum {
|
|||
/* 5 */ ANIMMODE_LOOP_PARTIAL_INTERP
|
||||
} AnimationMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum AnimationTapers {
|
||||
/* -1 */ ANIMTAPER_DECEL = -1,
|
||||
/* 0 */ ANIMTAPER_NONE,
|
||||
/* 1 */ ANIMTAPER_ACCEL
|
||||
|
@ -253,7 +253,7 @@ void Animation_EndLoop(SkelAnime* skelAnime);
|
|||
void Animation_Reverse(SkelAnime* skelAnime);
|
||||
void Animation_SetMorph(struct PlayState* play, SkelAnime* skelAnime, f32 morphFrames);
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimationInfo {
|
||||
/* 0x00 */ AnimationHeader* animation;
|
||||
/* 0x04 */ f32 playSpeed;
|
||||
/* 0x08 */ f32 startFrame;
|
||||
|
@ -264,21 +264,21 @@ typedef struct {
|
|||
|
||||
void Animation_ChangeByInfo(SkelAnime* skelAnime, AnimationInfo* animationInfo, s32 index);
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimationFrameCountInfo {
|
||||
/* 0x00 */ AnimationHeader* animation;
|
||||
/* 0x04 */ f32 frameCount;
|
||||
/* 0x08 */ u8 mode;
|
||||
/* 0x0C */ f32 morphFrames;
|
||||
} AnimationFrameCountInfo; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimationSpeedInfo {
|
||||
/* 0x00 */ AnimationHeader* animation;
|
||||
/* 0x04 */ f32 playSpeed;
|
||||
/* 0x08 */ u8 mode;
|
||||
/* 0x0C */ f32 morphFrames;
|
||||
} AnimationSpeedInfo; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimationMinimalInfo {
|
||||
/* 0x00 */ AnimationHeader* animation;
|
||||
/* 0x04 */ u8 mode;
|
||||
/* 0x08 */ f32 morphFrames;
|
||||
|
@ -296,7 +296,7 @@ s16 Animation_GetLastFrame(void* animation);
|
|||
* Animation Task Queue
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
typedef enum AnimTaskType {
|
||||
/* 0 */ ANIMTASK_LOAD_PLAYER_FRAME,
|
||||
/* 1 */ ANIMTASK_COPY,
|
||||
/* 2 */ ANIMTASK_INTERP,
|
||||
|
@ -305,20 +305,20 @@ typedef enum {
|
|||
/* 5 */ ANIMTASK_ACTOR_MOVE
|
||||
} AnimTaskType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimTaskLoadPlayerFrame {
|
||||
/* 0x00 */ DmaRequest req;
|
||||
/* 0x20 */ OSMesgQueue msgQueue;
|
||||
/* 0x38 */ OSMesg msg;
|
||||
} AnimTaskLoadPlayerFrame; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimTaskCopy {
|
||||
/* 0x00 */ u8 group;
|
||||
/* 0x01 */ u8 vecCount;
|
||||
/* 0x04 */ Vec3s* dest;
|
||||
/* 0x08 */ Vec3s* src;
|
||||
} AnimTaskCopy; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimTaskInterp {
|
||||
/* 0x00 */ u8 group;
|
||||
/* 0x01 */ u8 vecCount;
|
||||
/* 0x04 */ Vec3s* base;
|
||||
|
@ -326,7 +326,7 @@ typedef struct {
|
|||
/* 0x0C */ f32 weight;
|
||||
} AnimTaskInterp; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimTaskCopyUsingMap {
|
||||
/* 0x00 */ u8 group;
|
||||
/* 0x01 */ u8 vecCount;
|
||||
/* 0x04 */ Vec3s* dest;
|
||||
|
@ -334,7 +334,7 @@ typedef struct {
|
|||
/* 0x0C */ u8* limbCopyMap;
|
||||
} AnimTaskCopyUsingMap; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimTaskCopyUsingMapInverted {
|
||||
/* 0x00 */ u8 group;
|
||||
/* 0x01 */ u8 vecCount;
|
||||
/* 0x04 */ Vec3s* dest;
|
||||
|
@ -342,13 +342,13 @@ typedef struct {
|
|||
/* 0x0C */ u8* limbCopyMap;
|
||||
} AnimTaskCopyUsingMapInverted; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimTaskActorMove {
|
||||
/* 0x00 */ struct Actor* actor;
|
||||
/* 0x04 */ struct SkelAnime* skelAnime;
|
||||
/* 0x08 */ f32 diffScaleY;
|
||||
} AnimTaskActorMove; // size = 0xC
|
||||
|
||||
typedef union {
|
||||
typedef union AnimTaskData {
|
||||
AnimTaskLoadPlayerFrame loadPlayerFrame;
|
||||
AnimTaskCopy copy;
|
||||
AnimTaskInterp interp;
|
||||
|
@ -357,7 +357,7 @@ typedef union {
|
|||
AnimTaskActorMove actorMove;
|
||||
} AnimTaskData; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
typedef struct AnimTask {
|
||||
/* 0x00 */ u8 type;
|
||||
/* 0x04 */ AnimTaskData data;
|
||||
} AnimTask; // size = 0x40
|
||||
|
|
|
@ -12,7 +12,7 @@ typedef struct LegacyLimb {
|
|||
/* 0x01C */ struct LegacyLimb* child;
|
||||
} LegacyLimb; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct LegacyJointKey {
|
||||
/* 0x00 */ s16 xMax;
|
||||
/* 0x02 */ s16 x;
|
||||
/* 0x04 */ s16 yMax;
|
||||
|
@ -21,7 +21,7 @@ typedef struct {
|
|||
/* 0x0A */ s16 z;
|
||||
} LegacyJointKey; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct LegacyAnimationHeader {
|
||||
/* 0x00 */ s16 frameCount;
|
||||
/* 0x02 */ s16 limbCount;
|
||||
/* 0x04 */ s16* frameData;
|
||||
|
|
|
@ -62,14 +62,14 @@ typedef void (*AudioCustomUpdateFunction)(void);
|
|||
|
||||
#define AUDIO_RELOCATED_ADDRESS_START K0BASE
|
||||
|
||||
typedef enum {
|
||||
typedef enum SoundMode {
|
||||
/* 0 */ SOUNDMODE_STEREO,
|
||||
/* 1 */ SOUNDMODE_HEADSET,
|
||||
/* 2 */ SOUNDMODE_SURROUND,
|
||||
/* 3 */ SOUNDMODE_MONO
|
||||
} SoundMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum AdsrStatus {
|
||||
/* 0 */ ADSR_STATE_DISABLED,
|
||||
/* 1 */ ADSR_STATE_INITIAL,
|
||||
/* 2 */ ADSR_STATE_START_LOOP,
|
||||
|
@ -81,14 +81,14 @@ typedef enum {
|
|||
/* 8 */ ADSR_STATE_SUSTAIN
|
||||
} AdsrStatus;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SampleMedium {
|
||||
/* 0 */ MEDIUM_RAM,
|
||||
/* 1 */ MEDIUM_UNK,
|
||||
/* 2 */ MEDIUM_CART,
|
||||
/* 3 */ MEDIUM_DISK_DRIVE
|
||||
} SampleMedium;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SampleCodec {
|
||||
/* 0 */ CODEC_ADPCM, // 16 2-byte samples (32 bytes) compressed into 4-bit samples (8 bytes) + 1 header byte
|
||||
/* 1 */ CODEC_S8, // 16 2-byte samples (32 bytes) compressed into 8-bit samples (16 bytes)
|
||||
/* 2 */ CODEC_S16_INMEMORY,
|
||||
|
@ -97,20 +97,20 @@ typedef enum {
|
|||
/* 5 */ CODEC_S16
|
||||
} SampleCodec;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SampleBankTableType {
|
||||
/* 0 */ SEQUENCE_TABLE,
|
||||
/* 1 */ FONT_TABLE,
|
||||
/* 2 */ SAMPLE_TABLE
|
||||
} SampleBankTableType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum AudioCacheType {
|
||||
/* 0 */ CACHE_TEMPORARY,
|
||||
/* 1 */ CACHE_PERSISTENT,
|
||||
/* 2 */ CACHE_EITHER,
|
||||
/* 3 */ CACHE_PERMANENT
|
||||
} AudioCacheType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum AudioLoadStatus {
|
||||
/* 0 */ LOAD_STATUS_NOT_LOADED, // the entry data is not loaded
|
||||
/* 1 */ LOAD_STATUS_IN_PROGRESS, // the entry data is being loaded asynchronously
|
||||
/* 2 */ LOAD_STATUS_COMPLETE, // the entry data is loaded, it may be discarded if not stored persistently, and either no longer in use, or the memory is needed for something else
|
||||
|
@ -154,19 +154,19 @@ typedef struct NotePool {
|
|||
// direction is "supported" by setting extent to be negative. The code
|
||||
// exterpolates exponentially in the wrong direction in that case, but that
|
||||
// doesn't prevent seqplayer from doing it, AFAICT.
|
||||
typedef struct {
|
||||
typedef struct Portamento {
|
||||
/* 0x00 */ u8 mode; // bit 0x80 denotes something; the rest are an index 0-5
|
||||
/* 0x02 */ u16 cur;
|
||||
/* 0x04 */ u16 speed;
|
||||
/* 0x08 */ f32 extent;
|
||||
} Portamento; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct EnvelopePoint {
|
||||
/* 0x0 */ s16 delay;
|
||||
/* 0x2 */ s16 arg;
|
||||
} EnvelopePoint; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct AdpcmLoop {
|
||||
/* 0x00 */ u32 start;
|
||||
/* 0x04 */ u32 end;
|
||||
/* 0x08 */ u32 count;
|
||||
|
@ -174,13 +174,13 @@ typedef struct {
|
|||
/* 0x10 */ s16 predictorState[16]; // only exists if count != 0. 8-byte aligned
|
||||
} AdpcmLoop; // size = 0x30 (or 0x10)
|
||||
|
||||
typedef struct {
|
||||
typedef struct AdpcmBook {
|
||||
/* 0x00 */ s32 order;
|
||||
/* 0x04 */ s32 numPredictors;
|
||||
/* 0x08 */ s16 book[1]; // size 8 * order * numPredictors. 8-byte aligned
|
||||
} AdpcmBook; // size >= 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Sample {
|
||||
/* 0x00 */ u32 codec : 4; // The state of compression or decompression
|
||||
/* 0x00 */ u32 medium : 2; // Medium where sample is currently stored
|
||||
/* 0x00 */ u32 unk_bit26 : 1;
|
||||
|
@ -191,12 +191,12 @@ typedef struct {
|
|||
/* 0x0C */ AdpcmBook* book; // Adpcm book parameters used by the sample. Offset from the start of the sound font / pointer to ram
|
||||
} Sample; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct TunedSample {
|
||||
/* 0x00 */ Sample* sample;
|
||||
/* 0x04 */ f32 tuning; // frequency scale factor
|
||||
} TunedSample; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Instrument {
|
||||
/* 0x00 */ u8 isRelocated; // have the envelope and all samples been relocated (offsets to pointers)
|
||||
/* 0x01 */ u8 normalRangeLo;
|
||||
/* 0x02 */ u8 normalRangeHi;
|
||||
|
@ -207,7 +207,7 @@ typedef struct {
|
|||
/* 0x18 */ TunedSample highPitchTunedSample;
|
||||
} Instrument; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct Drum {
|
||||
/* 0x00 */ u8 adsrDecayIndex; // index used to obtain adsr decay rate from adsrDecayTable
|
||||
/* 0x01 */ u8 pan;
|
||||
/* 0x02 */ u8 isRelocated; // have tunedSample.sample and envelope been relocated (offsets to pointers)
|
||||
|
@ -215,14 +215,14 @@ typedef struct {
|
|||
/* 0x0C */ EnvelopePoint* envelope;
|
||||
} Drum; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct SoundEffect {
|
||||
/* 0x00 */ TunedSample tunedSample;
|
||||
} SoundEffect; // size = 0x08
|
||||
|
||||
/**
|
||||
* Stores parsed information from soundfont data
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct SoundFont {
|
||||
/* 0x00 */ u8 numInstruments;
|
||||
/* 0x01 */ u8 numDrums;
|
||||
/* 0x02 */ u8 sampleBankId1;
|
||||
|
@ -233,7 +233,7 @@ typedef struct {
|
|||
/* 0x10 */ SoundEffect* soundEffects;
|
||||
} SoundFont; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct ReverbRingBufferItem {
|
||||
/* 0x00 */ s16 numSamplesAfterDownsampling; // never read
|
||||
/* 0x02 */ s16 chunkLen; // never read
|
||||
/* 0x04 */ s16* toDownsampleLeft;
|
||||
|
@ -246,7 +246,7 @@ typedef struct {
|
|||
/* 0x18 */ u16 unk_18;
|
||||
} ReverbRingBufferItem; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct SynthesisReverb {
|
||||
/* 0x000 */ u8 resampleFlags;
|
||||
/* 0x001 */ u8 useReverb;
|
||||
/* 0x002 */ u8 framesToIgnore;
|
||||
|
@ -286,7 +286,7 @@ typedef struct {
|
|||
/* 0x298 */ AdpcmLoop loop;
|
||||
} SynthesisReverb; // size = 0x2C8
|
||||
|
||||
typedef struct {
|
||||
typedef struct SeqScriptState {
|
||||
/* 0x00 */ u8* pc; // program counter
|
||||
/* 0x04 */ u8* stack[4];
|
||||
/* 0x14 */ u8 remLoopIters[4]; // remaining loop iterations
|
||||
|
@ -295,7 +295,7 @@ typedef struct {
|
|||
} SeqScriptState; // size = 0x1C
|
||||
|
||||
// Also known as a Group, according to debug strings.
|
||||
typedef struct {
|
||||
typedef struct SequencePlayer {
|
||||
/* 0x000 */ u8 enabled : 1;
|
||||
/* 0x000 */ u8 finished : 1;
|
||||
/* 0x000 */ u8 muted : 1;
|
||||
|
@ -337,13 +337,13 @@ typedef struct {
|
|||
/* 0x158 */ s8 seqScriptIO[8];
|
||||
} SequencePlayer; // size = 0x160
|
||||
|
||||
typedef struct {
|
||||
typedef struct AdsrSettings {
|
||||
/* 0x0 */ u8 decayIndex; // index used to obtain adsr decay rate from adsrDecayTable
|
||||
/* 0x1 */ u8 sustain;
|
||||
/* 0x4 */ EnvelopePoint* envelope;
|
||||
} AdsrSettings; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct AdsrState {
|
||||
/* 0x00 */ union {
|
||||
struct A {
|
||||
/* 0x00 */ u8 unused : 1;
|
||||
|
@ -365,7 +365,7 @@ typedef struct {
|
|||
/* 0x1C */ EnvelopePoint* envelope;
|
||||
} AdsrState; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct StereoData {
|
||||
/* 0x00 */ u8 unused : 2;
|
||||
/* 0x00 */ u8 bit2 : 2;
|
||||
/* 0x00 */ u8 strongRight : 1;
|
||||
|
@ -374,12 +374,12 @@ typedef struct {
|
|||
/* 0x00 */ u8 usesHeadsetPanEffects : 1;
|
||||
} StereoData; // size = 0x1
|
||||
|
||||
typedef union {
|
||||
typedef union Stereo {
|
||||
/* 0x00 */ StereoData s;
|
||||
/* 0x00 */ u8 asByte;
|
||||
} Stereo; // size = 0x1
|
||||
|
||||
typedef struct {
|
||||
typedef struct NoteAttributes {
|
||||
/* 0x00 */ u8 reverb;
|
||||
/* 0x01 */ u8 gain; // Increases volume by a multiplicative scaling factor. Represented as a UQ4.4 number
|
||||
/* 0x02 */ u8 pan;
|
||||
|
@ -498,7 +498,7 @@ typedef struct SequenceLayer {
|
|||
/* 0x70 */ AudioListItem listItem;
|
||||
} SequenceLayer; // size = 0x80
|
||||
|
||||
typedef struct {
|
||||
typedef struct NoteSynthesisBuffers {
|
||||
/* 0x000 */ s16 adpcmdecState[16];
|
||||
/* 0x020 */ s16 finalResampleState[16];
|
||||
/* 0x040 */ s16 mixEnvelopeState[32];
|
||||
|
@ -507,7 +507,7 @@ typedef struct {
|
|||
/* 0x0E0 */ s16 combFilterState[128];
|
||||
} NoteSynthesisBuffers; // size = 0x1E0
|
||||
|
||||
typedef struct {
|
||||
typedef struct NoteSynthesisState {
|
||||
/* 0x00 */ u8 restart;
|
||||
/* 0x01 */ u8 sampleDmaIndex;
|
||||
/* 0x02 */ u8 prevHaasEffectLeftDelaySize;
|
||||
|
@ -524,7 +524,7 @@ typedef struct {
|
|||
/* 0x1C */ char unk_1C[0x4];
|
||||
} NoteSynthesisState; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct VibratoState {
|
||||
/* 0x00 */ struct SequenceChannel* channel;
|
||||
/* 0x04 */ u32 time;
|
||||
/* 0x08 */ s16* curve; // sineWave
|
||||
|
@ -536,7 +536,7 @@ typedef struct {
|
|||
/* 0x1A */ u16 delay;
|
||||
} VibratoState; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct NotePlaybackState {
|
||||
/* 0x00 */ u8 priority;
|
||||
/* 0x01 */ u8 waveId;
|
||||
/* 0x02 */ u8 harmonicIndex; // the harmonic index for the synthetic wave contained in gWaveSamples (also matches the base 2 logarithm of the harmonic order)
|
||||
|
@ -555,7 +555,7 @@ typedef struct {
|
|||
/* 0x6C */ VibratoState vibratoState;
|
||||
} NotePlaybackState; // size = 0x88
|
||||
|
||||
typedef struct {
|
||||
typedef struct NoteSubEu {
|
||||
struct {
|
||||
/* 0x00 */ volatile u8 enabled : 1;
|
||||
/* 0x00 */ u8 needsInit : 1;
|
||||
|
@ -600,7 +600,7 @@ typedef struct Note {
|
|||
/* 0xC0 */ NoteSubEu noteSubEu;
|
||||
} Note; // size = 0xE0
|
||||
|
||||
typedef struct {
|
||||
typedef struct ReverbSettings {
|
||||
/* 0x00 */ u8 downsampleRate;
|
||||
/* 0x02 */ u16 windowSize;
|
||||
/* 0x04 */ u16 decayRatio; // determines how much reverb persists
|
||||
|
@ -619,7 +619,7 @@ typedef struct {
|
|||
* The high-level audio specifications requested when initializing or resetting the audio heap.
|
||||
* The audio heap can be reset on various occasions, including on most scene transitions.
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct AudioSpec {
|
||||
/* 0x00 */ u32 samplingFrequency; // Target sampling rate in Hz
|
||||
/* 0x04 */ u8 unk_04;
|
||||
/* 0x05 */ u8 numNotes;
|
||||
|
@ -646,7 +646,7 @@ typedef struct {
|
|||
* digital-analog converter (DAC), then to play on the speakers. The audio buffer is written to by the rsp after
|
||||
* processing audio commands. This struct parameterizes that buffer.
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct AudioBufferParameters {
|
||||
/* 0x00 */ s16 specUnk4;
|
||||
/* 0x02 */ u16 samplingFrequency; // Target sampling rate in Hz
|
||||
/* 0x04 */ u16 aiSamplingFrequency; // True sampling rate of the audio interface (AI), see `osAiSetFrequency`
|
||||
|
@ -667,7 +667,7 @@ typedef struct {
|
|||
/**
|
||||
* Meta-data associated with a pool (contained within the Audio Heap)
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct AudioAllocPool {
|
||||
/* 0x0 */ u8* startRamAddr; // start addr of the pool
|
||||
/* 0x4 */ u8* curRamAddr; // address of the next available memory for allocation
|
||||
/* 0x8 */ s32 size; // size of the pool
|
||||
|
@ -677,7 +677,7 @@ typedef struct {
|
|||
/**
|
||||
* Audio cache entry data to store a single entry containing either a sequence, soundfont, or entire sample banks
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct AudioCacheEntry {
|
||||
/* 0x0 */ u8* ramAddr;
|
||||
/* 0x4 */ u32 size;
|
||||
/* 0x8 */ s16 tableType;
|
||||
|
@ -687,7 +687,7 @@ typedef struct {
|
|||
/**
|
||||
* Audio cache entry data to store a single entry containing an individual sample
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct SampleCacheEntry {
|
||||
/* 0x00 */ s8 inUse;
|
||||
/* 0x01 */ s8 origMedium;
|
||||
/* 0x02 */ s8 sampleBankId;
|
||||
|
@ -700,48 +700,48 @@ typedef struct {
|
|||
/**
|
||||
* Audio cache entry data to store individual samples
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct AudioSampleCache {
|
||||
/* 0x000 */ AudioAllocPool pool;
|
||||
/* 0x010 */ SampleCacheEntry entries[32];
|
||||
/* 0x290 */ s32 numEntries;
|
||||
} AudioSampleCache; // size = 0x294
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioPersistentCache {
|
||||
/* 0x00*/ u32 numEntries;
|
||||
/* 0x04*/ AudioAllocPool pool;
|
||||
/* 0x14*/ AudioCacheEntry entries[16];
|
||||
} AudioPersistentCache; // size = 0xD4
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioTemporaryCache {
|
||||
/* 0x00*/ u32 nextSide;
|
||||
/* 0x04*/ AudioAllocPool pool;
|
||||
/* 0x14*/ AudioCacheEntry entries[2];
|
||||
} AudioTemporaryCache; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioCache {
|
||||
/* 0x000*/ AudioPersistentCache persistent;
|
||||
/* 0x0D4*/ AudioTemporaryCache temporary;
|
||||
/* 0x100*/ u8 unk_100[0x10];
|
||||
} AudioCache; // size = 0x110
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioCachePoolSplit {
|
||||
/* 0x0 */ u32 persistentCommonPoolSize;
|
||||
/* 0x4 */ u32 temporaryCommonPoolSize;
|
||||
} AudioCachePoolSplit; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioCommonPoolSplit {
|
||||
/* 0x0 */ u32 seqCacheSize;
|
||||
/* 0x4 */ u32 fontCacheSize;
|
||||
/* 0x8 */ u32 sampleBankCacheSize;
|
||||
} AudioCommonPoolSplit; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioSessionPoolSplit {
|
||||
/* 0x0 */ u32 miscPoolSize;
|
||||
/* 0x4 */ u32 unkSizes[2];
|
||||
/* 0xC */ u32 cachePoolSize;
|
||||
} AudioSessionPoolSplit; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioPreloadReq {
|
||||
/* 0x00 */ u32 endAndMediumKey;
|
||||
/* 0x04 */ Sample* sample;
|
||||
/* 0x08 */ u8* ramAddr;
|
||||
|
@ -752,7 +752,7 @@ typedef struct {
|
|||
/**
|
||||
* Audio commands used to transfer audio requests from the graph thread to the audio thread
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct AudioCmd {
|
||||
/* 0x0 */ union{
|
||||
u32 opArgs;
|
||||
struct {
|
||||
|
@ -773,7 +773,7 @@ typedef struct {
|
|||
};
|
||||
} AudioCmd; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioAsyncLoad {
|
||||
/* 0x00 */ s8 status;
|
||||
/* 0x01 */ s8 delay;
|
||||
/* 0x02 */ s8 medium;
|
||||
|
@ -790,7 +790,7 @@ typedef struct {
|
|||
/* 0x40 */ OSIoMesg ioMesg;
|
||||
} AudioAsyncLoad; // size = 0x58
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioSlowLoad {
|
||||
/* 0x00 */ u8 medium;
|
||||
/* 0x01 */ u8 seqOrFontId;
|
||||
/* 0x02 */ u16 instId;
|
||||
|
@ -807,7 +807,7 @@ typedef struct {
|
|||
/* 0x4C */ OSIoMesg ioMesg;
|
||||
} AudioSlowLoad; // size = 0x64
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioTableEntry {
|
||||
/* 0x00 */ u32 romAddr;
|
||||
/* 0x04 */ u32 size;
|
||||
/* 0x08 */ s8 medium;
|
||||
|
@ -817,7 +817,7 @@ typedef struct {
|
|||
/* 0x0E */ s16 shortData3;
|
||||
} AudioTableEntry; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioTable {
|
||||
/* 0x00 */ s16 numEntries;
|
||||
/* 0x02 */ s16 unkMediumParam;
|
||||
/* 0x04 */ u32 romAddr;
|
||||
|
@ -825,7 +825,7 @@ typedef struct {
|
|||
/* 0x10 */ AudioTableEntry entries[1]; // (dynamic size)
|
||||
} AudioTable; // size >= 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct SampleDma {
|
||||
/* 0x00 */ u8* ramAddr;
|
||||
/* 0x04 */ u32 devAddr;
|
||||
/* 0x08 */ u16 sizeUnused;
|
||||
|
@ -835,14 +835,14 @@ typedef struct {
|
|||
/* 0x0E */ u8 ttl; // duration after which the DMA can be discarded
|
||||
} SampleDma; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioTask {
|
||||
/* 0x00 */ OSTask task;
|
||||
/* 0x40 */ OSMesgQueue* msgQueue;
|
||||
/* 0x44 */ void* unk_44; // probably a message that gets unused.
|
||||
/* 0x48 */ char unk_48[0x8];
|
||||
} AudioTask; // size = 0x50
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioContext {
|
||||
/* 0x0000 */ char unk_0000;
|
||||
/* 0x0001 */ s8 numSynthesisReverbs;
|
||||
/* 0x0002 */ u16 unk_2; // reads from audio spec unk_14, never used, always set to 0x7FFF
|
||||
|
@ -968,7 +968,7 @@ typedef struct {
|
|||
/* 0x5C50 */ AudioCmd threadCmdBuf[0x100]; // Audio thread commands used to transfer audio requests from the graph thread to the audio thread
|
||||
} AudioContext; // size = 0x6450
|
||||
|
||||
typedef struct {
|
||||
typedef struct NoteSubAttributes {
|
||||
/* 0x00 */ u8 reverbVol;
|
||||
/* 0x01 */ u8 gain; // Increases volume by a multiplicative scaling factor. Represented as a UQ4.4 number
|
||||
/* 0x02 */ u8 pan;
|
||||
|
@ -981,12 +981,12 @@ typedef struct {
|
|||
/* 0x16 */ u16 combFilterGain;
|
||||
} NoteSubAttributes; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct TempoData {
|
||||
/* 0x0 */ s16 unk_00; // set to 0x1C00, unused
|
||||
/* 0x2 */ s16 seqTicksPerBeat;
|
||||
} TempoData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct AudioHeapInitSizes {
|
||||
/* 0x00 */ u32 heapSize; // total number of bytes allocated to the audio heap. Must be <= the size of `gAudioHeap` (ideally about the same size)
|
||||
/* 0x04 */ u32 initPoolSize; // The entire audio heap is split into two pools.
|
||||
/* 0x08 */ u32 permanentPoolSize;
|
||||
|
|
|
@ -23,7 +23,7 @@ struct DynaPolyActor;
|
|||
#define FUNC_80041EA4_STOP 8
|
||||
#define FUNC_80041EA4_VOID_OUT 12
|
||||
|
||||
typedef struct {
|
||||
typedef struct ScaleRotPos {
|
||||
/* 0x00 */ Vec3f scale;
|
||||
/* 0x0C */ Vec3s rot;
|
||||
/* 0x14 */ Vec3f pos;
|
||||
|
@ -66,7 +66,7 @@ typedef struct CollisionPoly {
|
|||
/* 0x0E */ s16 dist; // Plane distance from origin along the normal
|
||||
} CollisionPoly; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct BgCamInfo {
|
||||
/* 0x0 */ u16 setting; // camera setting described by CameraSettingType enum
|
||||
/* 0x2 */ s16 count; // only used when `bgCamFuncData` is a list of points used for crawlspaces
|
||||
/* 0x4 */ Vec3s* bgCamFuncData; // s16 data grouped in threes (ex. Vec3s), is usually of type `BgCamFuncData`, but can be a list of points of type `Vec3s` for crawlspaces
|
||||
|
@ -74,7 +74,7 @@ typedef struct {
|
|||
|
||||
// The structure used for all instances of s16 data from `BgCamInfo` with the exception of crawlspaces.
|
||||
// See `Camera_Subj4` for Vec3s data usage in crawlspaces
|
||||
typedef struct {
|
||||
typedef struct BgCamFuncData {
|
||||
/* 0x00 */ Vec3s pos;
|
||||
/* 0x06 */ Vec3s rot;
|
||||
/* 0x0C */ s16 fov;
|
||||
|
@ -101,7 +101,7 @@ typedef struct {
|
|||
(((room) & 0x3F) << 13) | \
|
||||
(((setFlag19) & 1) << 19))
|
||||
|
||||
typedef struct {
|
||||
typedef struct WaterBox {
|
||||
/* 0x00 */ s16 xMin;
|
||||
/* 0x02 */ s16 ySurface;
|
||||
/* 0x04 */ s16 zMin;
|
||||
|
@ -110,7 +110,7 @@ typedef struct {
|
|||
/* 0x0C */ u32 properties;
|
||||
} WaterBox; // size = 0x10
|
||||
|
||||
typedef enum {
|
||||
typedef enum FloorType {
|
||||
/* 0 */ FLOOR_TYPE_0,
|
||||
/* 1 */ FLOOR_TYPE_1,
|
||||
/* 2 */ FLOOR_TYPE_2,
|
||||
|
@ -126,7 +126,7 @@ typedef enum {
|
|||
/* 12 */ FLOOR_TYPE_12
|
||||
} FloorType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum WallType {
|
||||
/* 0 */ WALL_TYPE_0,
|
||||
/* 1 */ WALL_TYPE_1,
|
||||
/* 2 */ WALL_TYPE_2,
|
||||
|
@ -152,7 +152,7 @@ typedef enum {
|
|||
#define WALL_FLAG_6 (1 << 6)
|
||||
#define WALL_FLAG_CRAWLSPACE (WALL_FLAG_CRAWLSPACE_1 | WALL_FLAG_CRAWLSPACE_2)
|
||||
|
||||
typedef enum {
|
||||
typedef enum FloorProperty {
|
||||
/* 0 */ FLOOR_PROPERTY_0,
|
||||
/* 5 */ FLOOR_PROPERTY_5 = 5,
|
||||
/* 6 */ FLOOR_PROPERTY_6,
|
||||
|
@ -163,7 +163,7 @@ typedef enum {
|
|||
/* 12 */ FLOOR_PROPERTY_12
|
||||
} FloorProperty;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SurfaceSfxOffset {
|
||||
/* 0 */ SURFACE_SFX_OFFSET_DIRT,
|
||||
/* 1 */ SURFACE_SFX_OFFSET_SAND,
|
||||
/* 2 */ SURFACE_SFX_OFFSET_STONE,
|
||||
|
@ -182,7 +182,7 @@ typedef enum {
|
|||
/* 15 */ SURFACE_SFX_OFFSET_ICE
|
||||
} SurfaceSfxOffset;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SurfaceMaterial {
|
||||
/* 0 */ SURFACE_MATERIAL_DIRT,
|
||||
/* 1 */ SURFACE_MATERIAL_SAND,
|
||||
/* 2 */ SURFACE_MATERIAL_STONE,
|
||||
|
@ -200,13 +200,13 @@ typedef enum {
|
|||
/* 14 */ SURFACE_MATERIAL_MAX
|
||||
} SurfaceMaterial;
|
||||
|
||||
typedef enum {
|
||||
typedef enum FloorEffect {
|
||||
/* 0 */ FLOOR_EFFECT_0,
|
||||
/* 1 */ FLOOR_EFFECT_1,
|
||||
/* 2 */ FLOOR_EFFECT_2
|
||||
} FloorEffect;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ConveyorSpeed {
|
||||
/* 0 */ CONVEYOR_SPEED_DISABLED,
|
||||
/* 1 */ CONVEYOR_SPEED_SLOW,
|
||||
/* 2 */ CONVEYOR_SPEED_MEDIUM,
|
||||
|
@ -237,11 +237,11 @@ typedef enum {
|
|||
(((conveyorDirection) & 0x3F) << 21) | \
|
||||
(((unk27) & 1) << 27))
|
||||
|
||||
typedef struct {
|
||||
typedef struct SurfaceType {
|
||||
u32 data[2];
|
||||
} SurfaceType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct CollisionHeader {
|
||||
/* 0x00 */ Vec3s minBounds; // minimum coordinates of poly bounding box
|
||||
/* 0x06 */ Vec3s maxBounds; // maximum coordinates of poly bounding box
|
||||
/* 0x0C */ u16 numVertices;
|
||||
|
@ -254,16 +254,16 @@ typedef struct {
|
|||
/* 0x28 */ WaterBox* waterBoxes;
|
||||
} CollisionHeader; // original name: BGDataInfo
|
||||
|
||||
typedef struct {
|
||||
typedef struct SSNode {
|
||||
s16 polyId;
|
||||
u16 next; // next SSNode index
|
||||
} SSNode;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SSList {
|
||||
u16 head; // first SSNode index
|
||||
} SSList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SSNodeList {
|
||||
/* 0x00 */ u16 max; // original name: short_slist_node_size
|
||||
/* 0x02 */ u16 count; // original name: short_slist_node_last_index
|
||||
/* 0x04 */ SSNode* tbl; // original name: short_slist_node_tbl
|
||||
|
@ -271,26 +271,26 @@ typedef struct {
|
|||
// bg check, and set to 1 if that poly has already been tested.
|
||||
} SSNodeList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct DynaSSNodeList {
|
||||
SSNode* tbl;
|
||||
s32 count;
|
||||
s32 max;
|
||||
} DynaSSNodeList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct StaticLookup {
|
||||
SSList floor;
|
||||
SSList wall;
|
||||
SSList ceiling;
|
||||
} StaticLookup;
|
||||
|
||||
typedef struct {
|
||||
typedef struct DynaLookup {
|
||||
u16 polyStartIndex;
|
||||
SSList ceiling;
|
||||
SSList wall;
|
||||
SSList floor;
|
||||
} DynaLookup;
|
||||
|
||||
typedef struct {
|
||||
typedef struct BgActor {
|
||||
/* 0x00 */ struct Actor* actor;
|
||||
/* 0x04 */ CollisionHeader* colHeader;
|
||||
/* 0x08 */ DynaLookup dynaLookup;
|
||||
|
@ -307,7 +307,7 @@ typedef struct {
|
|||
#define BGACTOR_COLLISION_DISABLED (1 << 2) // The collision of the bgActor is disabled
|
||||
#define BGACTOR_CEILING_COLLISION_DISABLED (1 << 3) // The ceilings in the collision of the bgActor are ignored
|
||||
|
||||
typedef struct {
|
||||
typedef struct DynaCollisionContext {
|
||||
/* 0x0000 */ u8 bitFlag;
|
||||
/* 0x0004 */ BgActor bgActors[BG_ACTOR_MAX];
|
||||
/* 0x138C */ u16 bgActorFlags[BG_ACTOR_MAX];
|
||||
|
@ -332,7 +332,7 @@ typedef struct CollisionContext {
|
|||
/* 0x1460 */ u32 memSize; // Size of all allocated memory plus CollisionContext
|
||||
} CollisionContext; // size = 0x1464
|
||||
|
||||
typedef struct {
|
||||
typedef struct DynaRaycastDown {
|
||||
/* 0x00 */ struct PlayState* play;
|
||||
/* 0x04 */ struct CollisionContext* colCtx;
|
||||
/* 0x08 */ u16 xpFlags;
|
||||
|
@ -347,7 +347,7 @@ typedef struct {
|
|||
/* 0x2C */ SSList* ssList;
|
||||
} DynaRaycastDown;
|
||||
|
||||
typedef struct {
|
||||
typedef struct DynaLineTest {
|
||||
/* 0x00 */ struct CollisionContext* colCtx;
|
||||
/* 0x04 */ u16 xpFlags;
|
||||
/* 0x08 */ DynaCollisionContext* dyna;
|
||||
|
|
|
@ -133,7 +133,7 @@
|
|||
struct Actor;
|
||||
struct CollisionPoly;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CameraSettingType {
|
||||
/* 0x00 */ CAM_SET_NONE,
|
||||
/* 0x01 */ CAM_SET_NORMAL0,
|
||||
/* 0x02 */ CAM_SET_NORMAL1,
|
||||
|
@ -203,7 +203,7 @@ typedef enum {
|
|||
/* 0x42 */ CAM_SET_MAX
|
||||
} CameraSettingType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CameraModeType {
|
||||
/* 0x00 */ CAM_MODE_NORMAL,
|
||||
/* 0x01 */ CAM_MODE_Z_PARALLEL, // Holding Z but with no target, keeps the camera aligned
|
||||
/* 0x02 */ CAM_MODE_Z_TARGET_FRIENDLY,
|
||||
|
@ -228,7 +228,7 @@ typedef enum {
|
|||
/* 0x15 */ CAM_MODE_MAX
|
||||
} CameraModeType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CameraFuncType {
|
||||
/* 0x00 */ CAM_FUNC_NONE,
|
||||
/* 0x01 */ CAM_FUNC_NORM0,
|
||||
/* 0x02 */ CAM_FUNC_NORM1,
|
||||
|
@ -303,7 +303,7 @@ typedef enum {
|
|||
/* 0x47 */ CAM_FUNC_MAX
|
||||
} CameraFuncType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CameraDataType {
|
||||
/* 0x00 */ CAM_DATA_Y_OFFSET,
|
||||
/* 0x01 */ CAM_DATA_EYE_DIST,
|
||||
/* 0x02 */ CAM_DATA_EYE_DIST_NEXT,
|
||||
|
@ -337,7 +337,7 @@ typedef enum {
|
|||
#define CAM_FUNCDATA_INTERFACE_FIELD(interfaceField) \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct SwingAnimation {
|
||||
/* 0x00 */ Vec3f collisionClosePoint;
|
||||
/* 0x0C */ struct CollisionPoly* atEyePoly;
|
||||
/* 0x10 */ f32 swingUpdateRate;
|
||||
|
@ -347,7 +347,7 @@ typedef struct {
|
|||
/* 0x1A */ s16 swingUpdateRateTimer;
|
||||
} SwingAnimation; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal1ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 distMin;
|
||||
/* 0x08 */ f32 distMax;
|
||||
|
@ -360,7 +360,7 @@ typedef struct {
|
|||
/* 0x22 */ s16 interfaceField;
|
||||
} Normal1ReadOnlyData; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal1ReadWriteData {
|
||||
/* 0x00 */ SwingAnimation swing;
|
||||
/* 0x1C */ f32 yOffset;
|
||||
/* 0x20 */ f32 unk_20;
|
||||
|
@ -370,7 +370,7 @@ typedef struct {
|
|||
/* 0x2A */ s16 startSwingTimer;
|
||||
} Normal1ReadWriteData; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal1 {
|
||||
/* 0x00 */ Normal1ReadOnlyData roData;
|
||||
/* 0x24 */ Normal1ReadWriteData rwData;
|
||||
} Normal1; // size = 0x50
|
||||
|
@ -406,7 +406,7 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal2ReadOnlyData {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
|
@ -418,7 +418,7 @@ typedef struct {
|
|||
/* 0x1E */ s16 interfaceField;
|
||||
} Normal2ReadOnlyData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal2ReadWriteData {
|
||||
/* 0x00 */ Vec3f unk_00;
|
||||
/* 0x0C */ Vec3f unk_0C;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
|
@ -429,7 +429,7 @@ typedef struct {
|
|||
/* 0x28 */ s16 unk_28;
|
||||
} Normal2ReadWriteData; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal2 {
|
||||
/* 0x00 */ Normal2ReadOnlyData roData;
|
||||
/* 0x20 */ Normal2ReadWriteData rwData;
|
||||
} Normal2; // size = 0x4C
|
||||
|
@ -450,7 +450,7 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal3ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 distMin;
|
||||
/* 0x08 */ f32 distMax;
|
||||
|
@ -462,7 +462,7 @@ typedef struct {
|
|||
/* 0x1E */ s16 interfaceField;
|
||||
} Normal3ReadOnlyData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal3ReadWriteData {
|
||||
/* 0x00 */ SwingAnimation swing;
|
||||
/* 0x1C */ f32 unk_1C;
|
||||
/* 0x20 */ f32 unk_20;
|
||||
|
@ -472,7 +472,7 @@ typedef struct {
|
|||
/* 0x2A */ s16 distTimer;
|
||||
} Normal3ReadWriteData; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Normal3 {
|
||||
/* 0x00 */ Normal3ReadOnlyData roData;
|
||||
/* 0x20 */ Normal3ReadWriteData rwData;
|
||||
} Normal3; // size = 0x4C
|
||||
|
@ -488,7 +488,7 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Parallel1ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 distTarget;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
|
@ -502,7 +502,7 @@ typedef struct {
|
|||
/* 0x24 */ s16 interfaceField;
|
||||
} Parallel1ReadOnlyData; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
typedef struct Parallel1ReadWriteData {
|
||||
/* 0x00 */ Vec3f unk_00;
|
||||
/* 0x0C */ f32 yTarget;
|
||||
/* 0x10 */ s16 unk_10;
|
||||
|
@ -512,7 +512,7 @@ typedef struct {
|
|||
/* 0x18 */ s16 animTimer;
|
||||
} Parallel1ReadWriteData; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Parallel1 {
|
||||
/* 0x00 */ Parallel1ReadOnlyData roData;
|
||||
/* 0x28 */ Parallel1ReadWriteData rwData;
|
||||
} Parallel1; // size = 0x44
|
||||
|
@ -542,7 +542,7 @@ typedef struct {
|
|||
#define PARALLEL3_FLAG_0 (1 << 0)
|
||||
#define PARALLEL3_FLAG_1 (1 << 1)
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump1ReadOnlyData {
|
||||
/* 0x00 */ f32 atYOffset;
|
||||
/* 0x04 */ f32 distMin;
|
||||
/* 0x08 */ f32 distMax;
|
||||
|
@ -553,7 +553,7 @@ typedef struct {
|
|||
/* 0x1C */ s16 interfaceField;
|
||||
} Jump1ReadOnlyData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump1ReadWriteData {
|
||||
/* 0x00 */ SwingAnimation swing;
|
||||
/* 0x1C */ f32 unk_1C;
|
||||
/* 0x20 */ f32 unk_20;
|
||||
|
@ -561,7 +561,7 @@ typedef struct {
|
|||
/* 0x26 */ s16 unk_26;
|
||||
} Jump1ReadWriteData; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump1 {
|
||||
/* 0x00 */ Jump1ReadOnlyData roData;
|
||||
/* 0x20 */ Jump1ReadWriteData rwData;
|
||||
} Jump1; // size = 0x48
|
||||
|
@ -579,7 +579,7 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump2ReadOnlyData {
|
||||
/* 0x00 */ f32 atYOffset;
|
||||
/* 0x04 */ f32 minDist;
|
||||
/* 0x08 */ f32 maxDist;
|
||||
|
@ -591,7 +591,7 @@ typedef struct {
|
|||
/* 0x20 */ s16 interfaceField;
|
||||
} Jump2ReadOnlyData; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump2ReadWriteData {
|
||||
/* 0x0 */ f32 floorY;
|
||||
/* 0x4 */ s16 yawTarget;
|
||||
/* 0x6 */ s16 initYawDiff; // unused, set but not read.
|
||||
|
@ -600,7 +600,7 @@ typedef struct {
|
|||
/* 0xC */ s16 animTimer;
|
||||
} Jump2ReadWriteData; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump2 {
|
||||
/* 0x00 */ Jump2ReadOnlyData roData;
|
||||
/* 0x24 */ Jump2ReadWriteData rwData;
|
||||
} Jump2; // size = 0x34
|
||||
|
@ -619,7 +619,7 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump3ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 distMin;
|
||||
/* 0x08 */ f32 distMax;
|
||||
|
@ -632,14 +632,14 @@ typedef struct {
|
|||
/* 0x22 */ s16 interfaceField;
|
||||
} Jump3ReadOnlyData; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump3ReadWriteData {
|
||||
/* 0x00 */ SwingAnimation swing;
|
||||
/* 0x1C */ f32 unk_1C;
|
||||
/* 0x20 */ s16 animTimer;
|
||||
/* 0x22 */ s16 mode;
|
||||
} Jump3ReadWriteData; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct Jump3 {
|
||||
/* 0x00 */ Jump3ReadOnlyData roData;
|
||||
/* 0x24 */ Jump3ReadWriteData rwData;
|
||||
} Jump3; // size = 0x48
|
||||
|
@ -660,7 +660,7 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Battle1ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 distance;
|
||||
/* 0x08 */ f32 swingYawInitial;
|
||||
|
@ -675,7 +675,7 @@ typedef struct {
|
|||
/* 0x2C */ s16 interfaceField;
|
||||
} Battle1ReadOnlyData; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
typedef struct Battle1ReadWriteData {
|
||||
/* 0x00 */ f32 initialEyeToAtDist;
|
||||
/* 0x04 */ f32 roll;
|
||||
/* 0x08 */ f32 yPosOffset;
|
||||
|
@ -688,7 +688,7 @@ typedef struct {
|
|||
/* 0x1C */ s16 chargeTimer;
|
||||
} Battle1ReadWriteData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct Battle1 {
|
||||
/* 0x00 */ Battle1ReadOnlyData roData;
|
||||
/* 0x30 */ Battle1ReadWriteData rwData;
|
||||
} Battle1; // size = 0x50
|
||||
|
@ -711,7 +711,7 @@ typedef struct {
|
|||
{ groundYOffset, CAM_DATA_GROUND_Y_OFFSET }, \
|
||||
{ groundAtLerpStepScale, CAM_DATA_GROUND_AT_LERP_STEP_SCALE }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Battle4ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 rTarget;
|
||||
/* 0x08 */ s16 pitchTarget;
|
||||
|
@ -722,11 +722,11 @@ typedef struct {
|
|||
/* 0x1A */ s16 unk_1A;
|
||||
} Battle4ReadOnlyData; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Battle4ReadWriteData {
|
||||
/* 0x0 */ s16 animTimer;
|
||||
} Battle4ReadWriteData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Battle4 {
|
||||
/* 0x00 */ Battle4ReadOnlyData roData;
|
||||
/* 0x1C */ Battle4ReadWriteData rwData;
|
||||
} Battle4; // size = 0x20
|
||||
|
@ -740,7 +740,7 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn1ReadOnlyData {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
|
@ -756,7 +756,7 @@ typedef struct {
|
|||
/* 0x30 */ s16 interfaceField;
|
||||
} KeepOn1ReadOnlyData; // size = 0x34
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn1ReadWriteData {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
|
@ -767,7 +767,7 @@ typedef struct {
|
|||
/* 0x16 */ s16 unk_16;
|
||||
} KeepOn1ReadWriteData; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn1 {
|
||||
/* 0x00 */ KeepOn1ReadOnlyData roData;
|
||||
/* 0x34 */ KeepOn1ReadWriteData rwData;
|
||||
} KeepOn1; // size = 0x4C
|
||||
|
@ -790,7 +790,7 @@ typedef struct {
|
|||
{ groundYOffset, CAM_DATA_GROUND_Y_OFFSET }, \
|
||||
{ groundAtLerpStepScale, CAM_DATA_GROUND_AT_LERP_STEP_SCALE }
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn3ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 minDist;
|
||||
/* 0x08 */ f32 maxDist;
|
||||
|
@ -805,7 +805,7 @@ typedef struct {
|
|||
/* 0x2A */ s16 interfaceField;
|
||||
} KeepOn3ReadOnlyData; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn3ReadWriteData {
|
||||
/* 0x00 */ f32 eyeToAtTargetR;
|
||||
/* 0x08 */ f32 eyeToAtTargetYaw;
|
||||
/* 0x04 */ f32 eyeToAtTargetPitch;
|
||||
|
@ -814,7 +814,7 @@ typedef struct {
|
|||
/* 0x1C */ s16 animTimer;
|
||||
} KeepOn3ReadWriteData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn3 {
|
||||
/* 0x00 */ KeepOn3ReadOnlyData roData;
|
||||
/* 0x2C */ KeepOn3ReadWriteData rwData;
|
||||
} KeepOn3; // size = 0x4C
|
||||
|
@ -837,7 +837,7 @@ typedef struct {
|
|||
{ yawUpdateRateTarget, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn4ReadOnlyData {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
|
@ -849,7 +849,7 @@ typedef struct {
|
|||
/* 0x1E */ s16 unk_1E;
|
||||
} KeepOn4ReadOnlyData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn4ReadWriteData {
|
||||
/* 0x00 */ f32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
|
@ -860,7 +860,7 @@ typedef struct {
|
|||
/* 0x14 */ s16 unk_14;
|
||||
} KeepOn4ReadWriteData; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn4 {
|
||||
/* 0x00 */ KeepOn4ReadOnlyData roData;
|
||||
/* 0x20 */ KeepOn4ReadWriteData rwData;
|
||||
} KeepOn4; // size = 0x38
|
||||
|
@ -885,19 +885,19 @@ typedef struct {
|
|||
{ yawUpdateRateTarget, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
|
||||
{ unk_22, CAM_DATA_UNK_22 }
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn0ReadOnlyData {
|
||||
/* 0x00 */ f32 fovScale;
|
||||
/* 0x04 */ f32 yawScale;
|
||||
/* 0x08 */ s16 timerInit;
|
||||
/* 0x0A */ s16 interfaceField;
|
||||
} KeepOn0ReadOnlyData; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn0ReadWriteData {
|
||||
/* 0x0 */ f32 fovTarget;
|
||||
/* 0x4 */ s16 animTimer;
|
||||
} KeepOn0ReadWriteData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct KeepOn0 {
|
||||
/* 0x00 */ KeepOn0ReadOnlyData roData;
|
||||
/* 0x0C */ KeepOn0ReadWriteData rwData;
|
||||
} KeepOn0; // size = 0x14
|
||||
|
@ -908,19 +908,19 @@ typedef struct {
|
|||
{ yawUpdateRateTarget, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed1ReadOnlyData {
|
||||
/* 0x00 */ f32 unk_00; // seems to be unused?
|
||||
/* 0x04 */ f32 lerpStep;
|
||||
/* 0x08 */ f32 fov;
|
||||
/* 0x0C */ s16 interfaceField;
|
||||
} Fixed1ReadOnlyData; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed1ReadWriteData {
|
||||
/* 0x00 */ PosRot eyePosRotTarget;
|
||||
/* 0x14 */ s16 fov;
|
||||
} Fixed1ReadWriteData; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed1 {
|
||||
/* 0x00 */ Fixed1ReadOnlyData roData;
|
||||
/* 0x10 */ Fixed1ReadWriteData rwData;
|
||||
} Fixed1; // size = 0x28
|
||||
|
@ -931,7 +931,7 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed2ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 eyeStepScale;
|
||||
/* 0x08 */ f32 posStepScale;
|
||||
|
@ -939,12 +939,12 @@ typedef struct {
|
|||
/* 0x10 */ s16 interfaceField;
|
||||
} Fixed2ReadOnlyData; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed2ReadWriteData {
|
||||
/* 0x0 */ Vec3f eye;
|
||||
/* 0xC */ s16 fov;
|
||||
} Fixed2ReadWriteData; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed2 {
|
||||
/* 0x00 */ Fixed2ReadOnlyData roData;
|
||||
/* 0x14 */ Fixed2ReadWriteData rwData;
|
||||
} Fixed2; // size = 0x24
|
||||
|
@ -959,23 +959,23 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed3ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Fixed3ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed3ReadWriteData {
|
||||
/* 0x0 */ Vec3s rot;
|
||||
/* 0x6 */ s16 fov;
|
||||
/* 0x8 */ s16 updDirTimer;
|
||||
/* 0xA */ s16 roomImageOverrideBgCamIndex;
|
||||
} Fixed3ReadWriteData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed3 {
|
||||
/* 0x0 */ Fixed3ReadOnlyData roData;
|
||||
/* 0x4 */ Fixed3ReadWriteData rwData;
|
||||
} Fixed3; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed4ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 speedToEyePos;
|
||||
/* 0x08 */ f32 followSpeed;
|
||||
|
@ -983,12 +983,12 @@ typedef struct {
|
|||
/* 0x10 */ s16 interfaceField;
|
||||
} Fixed4ReadOnlyData; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed4ReadWriteData {
|
||||
/* 0x0 */ Vec3f eyeTarget;
|
||||
/* 0xC */ f32 followSpeed;
|
||||
} Fixed4ReadWriteData; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct Fixed4 {
|
||||
/* 0x00 */ Fixed4ReadOnlyData roData;
|
||||
/* 0x14 */ Fixed4ReadWriteData rwData;
|
||||
} Fixed4; // size = 0x24
|
||||
|
@ -1002,7 +1002,7 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Subj3ReadOnlyData {
|
||||
/* 0x00 */ f32 eyeNextYOffset;
|
||||
/* 0x04 */ f32 eyeDist;
|
||||
/* 0x08 */ f32 eyeNextDist;
|
||||
|
@ -1012,14 +1012,14 @@ typedef struct {
|
|||
/* 0x20 */ s16 interfaceField;
|
||||
} Subj3ReadOnlyData; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct Subj3ReadWriteData {
|
||||
/* 0x0 */ f32 r;
|
||||
/* 0x4 */ s16 yaw;
|
||||
/* 0x6 */ s16 pitch;
|
||||
/* 0x8 */ s16 animTimer;
|
||||
} Subj3ReadWriteData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Subj3 {
|
||||
/* 0x00 */ Subj3ReadOnlyData roData;
|
||||
/* 0x24 */ Subj3ReadWriteData rwData;
|
||||
} Subj3; // size = 0x30
|
||||
|
@ -1035,11 +1035,11 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Subj4ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Subj4ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Subj4ReadWriteData {
|
||||
/* 0x00 */ InfiniteLine crawlspaceLine;
|
||||
/* 0x18 */ Vec3f unk_18; // unused
|
||||
/* 0x24 */ f32 xzSpeed;
|
||||
|
@ -1050,7 +1050,7 @@ typedef struct {
|
|||
/* 0x32 */ s16 zoomTimer;
|
||||
} Subj4ReadWriteData; // size = 0x34
|
||||
|
||||
typedef struct {
|
||||
typedef struct Subj4 {
|
||||
/* 0x00 */ Subj4ReadOnlyData roData;
|
||||
/* 0x04 */ Subj4ReadWriteData rwData;
|
||||
} Subj4; // size = 0x38
|
||||
|
@ -1063,20 +1063,20 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Data4ReadOnlyData {
|
||||
/* 0x0 */ f32 yOffset;
|
||||
/* 0x4 */ f32 fov;
|
||||
/* 0x8 */ s16 interfaceField;
|
||||
} Data4ReadOnlyData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Data4ReadWriteData {
|
||||
/* 0x00 */ PosRot eyePosRot;
|
||||
/* 0x14 */ char unk_14[0x8];
|
||||
/* 0x1C */ s16 fov;
|
||||
/* 0x1E */ s16 flags;
|
||||
} Data4ReadWriteData; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct Data4 {
|
||||
/* 0x00 */ Data4ReadOnlyData roData;
|
||||
/* 0x0C */ Data4ReadWriteData rwData;
|
||||
} Data4; // size = 0x2C
|
||||
|
@ -1086,7 +1086,7 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique1ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 distMin;
|
||||
/* 0x08 */ f32 distMax;
|
||||
|
@ -1097,14 +1097,14 @@ typedef struct {
|
|||
/* 0x1A */ s16 interfaceField;
|
||||
} Unique1ReadOnlyData; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique1ReadWriteData {
|
||||
/* 0x0 */ f32 unk_00; // unused
|
||||
/* 0x4 */ s16 yawTarget;
|
||||
/* 0x6 */ s16 yawTargetAdj;
|
||||
/* 0x8 */ s16 timer;
|
||||
} Unique1ReadWriteData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique1 {
|
||||
/* 0x00 */ Unique1ReadOnlyData roData;
|
||||
/* 0x1C */ Unique1ReadWriteData rwData;
|
||||
} Unique1; // size = 0x28
|
||||
|
@ -1118,19 +1118,19 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique2ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 distTarget;
|
||||
/* 0x08 */ f32 fovTarget;
|
||||
/* 0x0C */ s16 interfaceField;
|
||||
} Unique2ReadOnlyData; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique2ReadWriteData {
|
||||
/* 0x0 */ f32 unk_00;
|
||||
/* 0x4 */ s16 unk_04;
|
||||
} Unique2ReadWriteData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique2 {
|
||||
/* 0x00 */ Unique2ReadOnlyData roData;
|
||||
/* 0x10 */ Unique2ReadWriteData rwData;
|
||||
} Unique2; // size = 0x18
|
||||
|
@ -1145,7 +1145,7 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct DoorParams {
|
||||
/* 0x0 */ struct Actor* doorActor;
|
||||
/* 0x4 */ s16 bgCamIndex;
|
||||
/* 0x6 */ s16 timer1;
|
||||
|
@ -1153,18 +1153,18 @@ typedef struct {
|
|||
/* 0xA */ s16 timer3;
|
||||
} DoorParams; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique3ReadOnlyData {
|
||||
/* 0x0 */ f32 yOffset;
|
||||
/* 0x4 */ f32 fov;
|
||||
/* 0x8 */ s16 interfaceField;
|
||||
} Unique3ReadOnlyData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique3ReadWriteData {
|
||||
/* 0x0 */ f32 initialFov;
|
||||
/* 0x4 */ f32 initialDist;
|
||||
} Unique3ReadWriteData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique3 {
|
||||
/* 0x00 */ Unique3ReadOnlyData roData;
|
||||
/* 0x0C */ Unique3ReadWriteData rwData;
|
||||
} Unique3; // size = 0x14
|
||||
|
@ -1177,44 +1177,44 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique0ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Unique0ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique0ReadWriteData {
|
||||
/* 0x00 */ Vec3f initalPos;
|
||||
/* 0x0C */ s16 animTimer;
|
||||
/* 0x10 */ InfiniteLine eyeAndDirection;
|
||||
} Unique0ReadWriteData; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique0 {
|
||||
/* 0x00 */ Unique0ReadOnlyData roData;
|
||||
/* 0x04 */ Unique0ReadWriteData rwData;
|
||||
} Unique0; // size = 0x2C
|
||||
|
||||
#define UNIQUE0_FLAG_0 (1 << 0)
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique6ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Unique6ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique6 {
|
||||
/* 0x0 */ Unique6ReadOnlyData roData;
|
||||
} Unique6; // size = 0x4
|
||||
|
||||
#define UNIQUE6_FLAG_0 (1 << 0)
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique7ReadOnlyData {
|
||||
/* 0x0 */ f32 fov;
|
||||
/* 0x4 */ s16 interfaceField;
|
||||
/* 0x6 */ s16 align;
|
||||
} Unique7ReadOnlyData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique7ReadWriteData {
|
||||
/* 0x0 */ Vec3s unk_00;
|
||||
} Unique7ReadWriteData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique7 {
|
||||
/* 0x00 */ Unique7ReadOnlyData roData;
|
||||
/* 0x08 */ Unique7ReadWriteData rwData;
|
||||
} Unique7; // size = 0x10
|
||||
|
@ -1223,7 +1223,7 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef enum {
|
||||
typedef enum OnePointCsAction {
|
||||
/* 0x1 */ ONEPOINT_CS_ACTION_ID_1 = 1,
|
||||
/* 0x2 */ ONEPOINT_CS_ACTION_ID_2,
|
||||
/* 0x3 */ ONEPOINT_CS_ACTION_ID_3,
|
||||
|
@ -1272,7 +1272,7 @@ typedef enum {
|
|||
* 0x10: ? unused
|
||||
* 0x20: focus on player
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct OnePointCsFull {
|
||||
/* 0x00 */ u8 actionFlags;
|
||||
/* 0x01 */ u8 initField;
|
||||
/* 0x02 */ s16 viewFlags;
|
||||
|
@ -1284,16 +1284,16 @@ typedef struct {
|
|||
/* 0x1C */ Vec3f eyeTargetInit;
|
||||
} OnePointCsFull; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
typedef struct OnePointCsInfo {
|
||||
/* 0x0 */ s32 keyFrameCount;
|
||||
/* 0x4 */ OnePointCsFull* keyFrames;
|
||||
} OnePointCsInfo; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique9ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Unique9ReadOnlyData; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique9ReadWriteData {
|
||||
/* 0x00 */ OnePointCsFull* curKeyFrame;
|
||||
/* 0x04 */ Vec3f atTarget;
|
||||
/* 0x10 */ Vec3f eyeTarget;
|
||||
|
@ -1307,40 +1307,40 @@ typedef struct {
|
|||
/* 0x3C */ s16 keyFrameTimer;
|
||||
} Unique9ReadWriteData; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
typedef struct Unique9 {
|
||||
/* 0x00 */ OnePointCsInfo csInfo;
|
||||
/* 0x08 */ Unique9ReadOnlyData roData;
|
||||
/* 0x0C */ Unique9ReadWriteData rwData;
|
||||
} Unique9; // size = 0x4C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo1ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Demo1ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo1ReadWriteData {
|
||||
/* 0x0 */ f32 curFrame;
|
||||
/* 0x4 */ s16 keyframe;
|
||||
} Demo1ReadWriteData; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo1 {
|
||||
/* 0x00 */ Demo1ReadOnlyData roData;
|
||||
/* 0x04 */ Demo1ReadWriteData rwData;
|
||||
} Demo1; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo3ReadOnlyData {
|
||||
/* 0x0 */ f32 fov;
|
||||
/* 0x4 */ f32 unk_04; // unused
|
||||
/* 0x8 */ s16 interfaceField;
|
||||
} Demo3ReadOnlyData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo3ReadWriteData {
|
||||
/* 0x00 */ Vec3f initialAt;
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ s16 animFrame;
|
||||
/* 0x12 */ s16 yawDir;
|
||||
} Demo3ReadWriteData; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo3 {
|
||||
/* 0x00 */ Demo3ReadOnlyData roData;
|
||||
/* 0x0C */ Demo3ReadWriteData rwData;
|
||||
} Demo3; // size = 0x20
|
||||
|
@ -1350,33 +1350,33 @@ typedef struct {
|
|||
{ atLerpStepScale, CAM_DATA_AT_LERP_STEP_SCALE }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo6ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
/* 0x2 */ s16 unk_02;
|
||||
} Demo6ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo6ReadWriteData {
|
||||
/* 0x0 */ s16 animTimer;
|
||||
/* 0x4 */ Vec3f atTarget;
|
||||
} Demo6ReadWriteData; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo6 {
|
||||
/* 0x00 */ Demo6ReadOnlyData roData;
|
||||
/* 0x04 */ Demo6ReadWriteData rwData;
|
||||
} Demo6; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct OnePointCamData {
|
||||
/* 0x0 */ CutsceneCameraPoint* atPoints;
|
||||
/* 0x4 */ CutsceneCameraPoint* eyePoints;
|
||||
/* 0x8 */ s16 actionParameters;
|
||||
/* 0xA */ s16 initTimer;
|
||||
} OnePointCamData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo9ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Demo9ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo9ReadWriteData {
|
||||
/* 0x0 */ f32 curFrame;
|
||||
/* 0x4 */ s16 keyframe;
|
||||
/* 0x6 */ s16 doLERPAt;
|
||||
|
@ -1384,7 +1384,7 @@ typedef struct {
|
|||
/* 0xA */ s16 animTimer;
|
||||
} Demo9ReadWriteData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Demo9 {
|
||||
/* 0x00 */ OnePointCamData onePointCamData;
|
||||
/* 0x0C */ Demo9ReadOnlyData roData;
|
||||
/* 0x10 */ Demo9ReadWriteData rwData;
|
||||
|
@ -1393,12 +1393,12 @@ typedef struct {
|
|||
#define DEMO9_FLAG_1 (1 << 1)
|
||||
#define DEMO9_FLAG_4 (1 << 4)
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special0ReadOnlyData {
|
||||
/* 0x0 */ f32 lerpAtScale;
|
||||
/* 0x4 */ s16 interfaceField;
|
||||
} Special0ReadOnlyData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special0 {
|
||||
/* 0x0 */ Special0ReadOnlyData roData;
|
||||
} Special0; // size = 0x8
|
||||
|
||||
|
@ -1406,15 +1406,15 @@ typedef struct {
|
|||
{ yawUpdateRateTarget, CAM_DATA_YAW_UPDATE_RATE_TARGET }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special4ReadWriteData {
|
||||
/* 0x0 */ s16 initalTimer;
|
||||
} Special4ReadWriteData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special4 {
|
||||
/* 0x0 */ Special4ReadWriteData rwData;
|
||||
} Special4; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special5ReadOnlyData {
|
||||
/* 0x00 */ f32 yOffset;
|
||||
/* 0x04 */ f32 eyeDist;
|
||||
/* 0x08 */ f32 minDistForRot;
|
||||
|
@ -1426,11 +1426,11 @@ typedef struct {
|
|||
/* 0x1A */ s16 unk_1A;
|
||||
} Special5ReadOnlyData; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special5ReadWriteData {
|
||||
/* 0x0 */ s16 animTimer;
|
||||
} Special5ReadWriteData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special5 {
|
||||
/* 0x00 */ Special5ReadOnlyData roData;
|
||||
/* 0x1C */ Special5ReadWriteData rwData;
|
||||
} Special5; // size = 0x20
|
||||
|
@ -1456,40 +1456,40 @@ typedef struct {
|
|||
{ unk_22, CAM_DATA_UNK_22 }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special7ReadWriteData {
|
||||
/* 0x0 */ s16 index; // See `CamElevatorPlatform`
|
||||
} Special7ReadWriteData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special7 {
|
||||
/* 0x0 */ Special7ReadWriteData rwData;
|
||||
} Special7; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special6ReadOnlyData {
|
||||
/* 0x0 */ s16 interfaceField;
|
||||
} Special6ReadOnlyData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special6ReadWriteData {
|
||||
/* 0x0 */ f32 initalPlayerY;
|
||||
/* 0x4 */ s16 animTimer;
|
||||
} Special6ReadWriteData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special6 {
|
||||
/* 0x0 */ Special6ReadOnlyData roData;
|
||||
/* 0x4 */ Special6ReadWriteData rwData;
|
||||
} Special6; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special9ReadOnlyData {
|
||||
/* 0x0 */ f32 yOffset;
|
||||
/* 0x4 */ f32 unk_04;
|
||||
/* 0x8 */ s16 interfaceField;
|
||||
/* 0xA */ s16 unk_0A;
|
||||
} Special9ReadOnlyData; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special9ReadWriteData {
|
||||
/* 0x0 */ s16 targetYaw;
|
||||
} Special9ReadWriteData; // size = 0x4
|
||||
|
||||
typedef struct {
|
||||
typedef struct Special9 {
|
||||
/* 0x00 */ Special9ReadOnlyData roData;
|
||||
/* 0x0C */ Special9ReadWriteData rwData;
|
||||
} Special9; // size = 0x10
|
||||
|
@ -1503,7 +1503,7 @@ typedef struct {
|
|||
{ fov, CAM_DATA_FOV }, \
|
||||
{ interfaceField, CAM_DATA_INTERFACE_FIELD }
|
||||
|
||||
typedef union {
|
||||
typedef union CamParamData {
|
||||
Normal1 norm1;
|
||||
Normal2 norm2;
|
||||
Normal3 norm3;
|
||||
|
@ -1548,7 +1548,7 @@ typedef union {
|
|||
};
|
||||
} CamParamData; // size = 0x50
|
||||
|
||||
typedef struct {
|
||||
typedef struct CamColChk {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3f norm;
|
||||
/* 0x18 */ struct CollisionPoly* poly;
|
||||
|
@ -1623,7 +1623,7 @@ typedef struct Camera {
|
|||
* Debug Camera
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct DebugCamSub {
|
||||
/* 0x0000 */ s16 mode;
|
||||
/* 0x0002 */ s16 nFrames;
|
||||
/* 0x0004 */ s16 nPoints;
|
||||
|
@ -1640,7 +1640,7 @@ typedef struct {
|
|||
/* 0x104A */ Vec3s unk_104A;
|
||||
} DebugCamSub; // size = 0x1050
|
||||
|
||||
typedef struct {
|
||||
typedef struct DebugCam {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ Vec3f at;
|
||||
/* 0x10 */ Vec3f eye;
|
||||
|
@ -1663,7 +1663,7 @@ typedef struct {
|
|||
/* 0x7C */ DebugCamSub sub;
|
||||
} DebugCam; // size = 0x10CC
|
||||
|
||||
typedef struct {
|
||||
typedef struct DebugCamCut {
|
||||
/* 0x00 */ char letter;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ s16 mode;
|
||||
|
@ -1673,7 +1673,7 @@ typedef struct {
|
|||
/* 0x0E */ s16 nPoints;
|
||||
} DebugCamCut; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct DebugCamAnim {
|
||||
/* 0x00 */ f32 curFrame;
|
||||
/* 0x04 */ f32 unk_04; // frame count?
|
||||
/* 0x08 */ s16 keyframe;
|
||||
|
@ -1685,7 +1685,7 @@ typedef struct {
|
|||
/* 0x2C */ f32 fov;
|
||||
} DebugCamAnim; // size = 0x30
|
||||
|
||||
typedef enum {
|
||||
typedef enum DebugCamTextColor {
|
||||
/* 0 */ DEBUG_CAM_TEXT_YELLOW,
|
||||
/* 1 */ DEBUG_CAM_TEXT_PEACH,
|
||||
/* 2 */ DEBUG_CAM_TEXT_BROWN,
|
||||
|
|
|
@ -12,7 +12,7 @@ struct Actor;
|
|||
* Bases for all shapes of colliders
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
typedef enum ColliderType {
|
||||
/* 0 */ COLTYPE_HIT0, // Blue blood, white hitmark
|
||||
/* 1 */ COLTYPE_HIT1, // No blood, dust hitmark
|
||||
/* 2 */ COLTYPE_HIT2, // Green blood, dust hitmark
|
||||
|
@ -29,7 +29,7 @@ typedef enum {
|
|||
/* 13 */ COLTYPE_TREE
|
||||
} ColliderType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ColliderShape {
|
||||
/* 0 */ COLSHAPE_JNTSPH,
|
||||
/* 1 */ COLSHAPE_CYLINDER,
|
||||
/* 2 */ COLSHAPE_TRIS,
|
||||
|
@ -37,7 +37,7 @@ typedef enum {
|
|||
/* 4 */ COLSHAPE_MAX
|
||||
} ColliderShape;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Collider {
|
||||
/* 0x00 */ struct Actor* actor; // Attached actor
|
||||
/* 0x04 */ struct Actor* at; // Actor attached to what it collided with as an AT collider.
|
||||
/* 0x08 */ struct Actor* ac; // Actor attached to what it collided with as an AC collider.
|
||||
|
@ -50,7 +50,7 @@ typedef struct {
|
|||
/* 0x15 */ u8 shape; // See `ColliderShape` enum
|
||||
} Collider; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderInit {
|
||||
/* 0x00 */ u8 colType;
|
||||
/* 0x01 */ u8 atFlags;
|
||||
/* 0x02 */ u8 acFlags;
|
||||
|
@ -59,7 +59,7 @@ typedef struct {
|
|||
/* 0x05 */ u8 shape;
|
||||
} ColliderInit; // size = 0x06
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderInitType1 {
|
||||
/* 0x00 */ u8 colType;
|
||||
/* 0x01 */ u8 atFlags;
|
||||
/* 0x02 */ u8 acFlags;
|
||||
|
@ -67,7 +67,7 @@ typedef struct {
|
|||
/* 0x04 */ u8 shape;
|
||||
} ColliderInitType1; // size = 0x05
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderInitToActor {
|
||||
/* 0x00 */ struct Actor* actor;
|
||||
/* 0x04 */ u8 atFlags;
|
||||
/* 0x05 */ u8 acFlags;
|
||||
|
@ -75,20 +75,20 @@ typedef struct {
|
|||
/* 0x07 */ u8 shape;
|
||||
} ColliderInitToActor; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderElementDamageInfoAT {
|
||||
/* 0x00 */ u32 dmgFlags; // Damage types dealt by this collider element as AT.
|
||||
/* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
|
||||
/* 0x05 */ u8 damage; // Damage
|
||||
} ColliderElementDamageInfoAT; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderElementDamageInfoAC {
|
||||
/* 0x00 */ u32 dmgFlags; // Damage types that may affect this collider element as AC.
|
||||
/* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
|
||||
/* 0x05 */ u8 defense; // Damage Resistance
|
||||
/* 0x06 */ Vec3s hitPos; // Point of contact
|
||||
} ColliderElementDamageInfoAC; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderElementDamageInfoACInit {
|
||||
/* 0x00 */ u32 dmgFlags; // Damage types that may affect this collider element as AC.
|
||||
/* 0x04 */ u8 effect; // Damage Effect (Knockback, Fire, etc.)
|
||||
/* 0x05 */ u8 defense; // Damage Resistance
|
||||
|
@ -100,7 +100,7 @@ typedef struct {
|
|||
* are == or !=. Will probably need more actors decomped to truly
|
||||
* understand what this is.
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum ElementType {
|
||||
/* 0 */ ELEMTYPE_UNK0,
|
||||
/* 1 */ ELEMTYPE_UNK1,
|
||||
/* 2 */ ELEMTYPE_UNK2,
|
||||
|
@ -124,7 +124,7 @@ typedef struct ColliderElement {
|
|||
/* 0x24 */ struct ColliderElement* acHitElem; // element that hit the AC collider
|
||||
} ColliderElement; // size = 0x28
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderElementInit {
|
||||
/* 0x00 */ u8 elemType; // Affects sfx reaction when attacked by Link and hookability. Full purpose unknown.
|
||||
/* 0x04 */ ColliderElementDamageInfoAT atDmgInfo; // Damage properties when acting as an AT collider
|
||||
/* 0x0C */ ColliderElementDamageInfoACInit acDmgInfo; // Damage properties when acting as an AC collider
|
||||
|
@ -139,19 +139,19 @@ typedef struct {
|
|||
|
||||
// collider structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSphElementDim {
|
||||
/* 0x00 */ Sphere16 modelSphere; // model space sphere
|
||||
/* 0x08 */ Sphere16 worldSphere; // world space sphere
|
||||
/* 0x10 */ f32 scale; // world space sphere = model * scale * 0.01
|
||||
/* 0x14 */ u8 limb; // attached limb
|
||||
} ColliderJntSphElementDim; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSphElement {
|
||||
/* 0x00 */ ColliderElement base;
|
||||
/* 0x28 */ ColliderJntSphElementDim dim;
|
||||
} ColliderJntSphElement; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSph {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ s32 count;
|
||||
/* 0x1C */ ColliderJntSphElement* elements;
|
||||
|
@ -159,30 +159,30 @@ typedef struct {
|
|||
|
||||
// init data structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSphElementDimInit {
|
||||
/* 0x00 */ u8 limb; // attached limb
|
||||
/* 0x02 */ Sphere16 modelSphere; // model space sphere
|
||||
/* 0x0A */ s16 scale; // world space sphere = model * scale * 0.01
|
||||
} ColliderJntSphElementDimInit; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSphElementInit {
|
||||
/* 0x00 */ ColliderElementInit base;
|
||||
/* 0x18 */ ColliderJntSphElementDimInit dim;
|
||||
} ColliderJntSphElementInit; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSphInit {
|
||||
/* 0x00 */ ColliderInit base;
|
||||
/* 0x08 */ s32 count;
|
||||
/* 0x0C */ ColliderJntSphElementInit* elements;
|
||||
} ColliderJntSphInit; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSphInitType1 {
|
||||
/* 0x00 */ ColliderInitType1 base;
|
||||
/* 0x08 */ s32 count;
|
||||
/* 0x0C */ ColliderJntSphElementInit* elements;
|
||||
} ColliderJntSphInitType1; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderJntSphInitToActor {
|
||||
/* 0x00 */ ColliderInitToActor base;
|
||||
/* 0x08 */ s32 count;
|
||||
/* 0x0C */ ColliderJntSphElementInit* elements;
|
||||
|
@ -194,7 +194,7 @@ typedef struct {
|
|||
|
||||
// collider structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderCylinder {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ ColliderElement elem;
|
||||
/* 0x40 */ Cylinder16 dim;
|
||||
|
@ -202,19 +202,19 @@ typedef struct {
|
|||
|
||||
// init data structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderCylinderInit {
|
||||
/* 0x00 */ ColliderInit base;
|
||||
/* 0x08 */ ColliderElementInit elem;
|
||||
/* 0x20 */ Cylinder16 dim;
|
||||
} ColliderCylinderInit; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderCylinderInitType1 {
|
||||
/* 0x00 */ ColliderInitType1 base;
|
||||
/* 0x08 */ ColliderElementInit elem;
|
||||
/* 0x20 */ Cylinder16 dim;
|
||||
} ColliderCylinderInitType1; // size = 0x2C
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderCylinderInitToActor {
|
||||
/* 0x00 */ ColliderInitToActor base;
|
||||
/* 0x08 */ ColliderElementInit elem;
|
||||
/* 0x20 */ Cylinder16 dim;
|
||||
|
@ -226,12 +226,12 @@ typedef struct {
|
|||
|
||||
// collider structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderTrisElement {
|
||||
/* 0x00 */ ColliderElement base;
|
||||
/* 0x28 */ TriNorm dim;
|
||||
} ColliderTrisElement; // size = 0x5C
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderTris {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ s32 count;
|
||||
/* 0x1C */ ColliderTrisElement* elements;
|
||||
|
@ -239,22 +239,22 @@ typedef struct {
|
|||
|
||||
// init data structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderTrisElementDimInit {
|
||||
/* 0x00 */ Vec3f vtx[3];
|
||||
} ColliderTrisElementDimInit; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderTrisElementInit {
|
||||
/* 0x00 */ ColliderElementInit base;
|
||||
/* 0x18 */ ColliderTrisElementDimInit dim;
|
||||
} ColliderTrisElementInit; // size = 0x3C
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderTrisInit {
|
||||
/* 0x00 */ ColliderInit base;
|
||||
/* 0x08 */ s32 count;
|
||||
/* 0x0C */ ColliderTrisElementInit* elements;
|
||||
} ColliderTrisInit; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderTrisInitType1 {
|
||||
/* 0x00 */ ColliderInitType1 base;
|
||||
/* 0x08 */ s32 count;
|
||||
/* 0x0C */ ColliderTrisElementInit* elements;
|
||||
|
@ -266,14 +266,14 @@ typedef struct {
|
|||
|
||||
// collider structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderQuadDim {
|
||||
/* 0x00 */ Vec3f quad[4];
|
||||
/* 0x30 */ Vec3s dcMid; // midpoint of vectors d, c
|
||||
/* 0x36 */ Vec3s baMid; // midpoint of vectors b, a
|
||||
/* 0x3C */ f32 acDistSq; // distance to nearest AC collision this frame, squared.
|
||||
} ColliderQuadDim; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderQuad {
|
||||
/* 0x00 */ Collider base;
|
||||
/* 0x18 */ ColliderElement elem;
|
||||
/* 0x40 */ ColliderQuadDim dim;
|
||||
|
@ -281,17 +281,17 @@ typedef struct {
|
|||
|
||||
// init data structs
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderQuadDimInit {
|
||||
/* 0x00 */ Vec3f quad[4];
|
||||
} ColliderQuadDimInit; // size = 0x30
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderQuadInit {
|
||||
/* 0x00 */ ColliderInit base;
|
||||
/* 0x08 */ ColliderElementInit elem;
|
||||
/* 0x20 */ ColliderQuadDimInit dim;
|
||||
} ColliderQuadInit; // size = 0x50
|
||||
|
||||
typedef struct {
|
||||
typedef struct ColliderQuadInitType1 {
|
||||
/* 0x00 */ ColliderInitType1 base;
|
||||
/* 0x08 */ ColliderElementInit elem;
|
||||
/* 0x20 */ ColliderQuadDimInit dim;
|
||||
|
@ -301,7 +301,7 @@ typedef struct {
|
|||
* Line collider
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct OcLine {
|
||||
/* 0x00 */ Linef line;
|
||||
/* 0x18 */ u16 ocFlags;
|
||||
} OcLine; // size = 0x1C
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
struct PlayState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct CurveInterpKnot {
|
||||
/* 0x0 */ u16 flags; // Only the bottom two bits are used, although others are set in objects
|
||||
/* 0x2 */ s16 abscissa; // knot input value
|
||||
/* 0x4 */ s16 leftGradient; // left derivative at the point
|
||||
|
@ -14,7 +14,7 @@ typedef struct {
|
|||
/* 0x8 */ f32 ordinate; // output value
|
||||
} CurveInterpKnot; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct CurveAnimationHeader {
|
||||
/* 0x0 */ u8* knotCounts;
|
||||
/* 0x4 */ CurveInterpKnot* interpolationData;
|
||||
/* 0x8 */ s16* constantData;
|
||||
|
@ -22,18 +22,18 @@ typedef struct {
|
|||
/* 0xE */ s16 frameCount; // Not used, inferred from use in objects
|
||||
} CurveAnimationHeader; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct SkelCurveLimb {
|
||||
/* 0x0 */ u8 child;
|
||||
/* 0x1 */ u8 sibling;
|
||||
/* 0x4 */ Gfx* dList[2];
|
||||
} SkelCurveLimb; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct CurveSkeletonHeader {
|
||||
/* 0x0 */ SkelCurveLimb** limbs;
|
||||
/* 0x4 */ u8 limbCount;
|
||||
} CurveSkeletonHeader; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct SkelCurve {
|
||||
/* 0x00 */ u8 limbCount;
|
||||
/* 0x04 */ SkelCurveLimb** skeleton;
|
||||
/* 0x08 */ CurveAnimationHeader* animation;
|
||||
|
|
|
@ -11,7 +11,7 @@ typedef union CutsceneData {
|
|||
s8 b[4];
|
||||
} CutsceneData;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CutsceneState {
|
||||
/* 0 */ CS_STATE_IDLE,
|
||||
/* 1 */ CS_STATE_START,
|
||||
/* 2 */ CS_STATE_RUN,
|
||||
|
@ -19,7 +19,7 @@ typedef enum {
|
|||
/* 4 */ CS_STATE_RUN_UNSTOPPABLE
|
||||
} CutsceneState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CutsceneCmd {
|
||||
/* 0x0001 */ CS_CMD_CAM_EYE_SPLINE = 0x01,
|
||||
/* 0x0002 */ CS_CMD_CAM_AT_SPLINE,
|
||||
/* 0x0003 */ CS_CMD_MISC,
|
||||
|
@ -151,7 +151,7 @@ typedef enum {
|
|||
/* 0xFFFF */ CS_CMD_END = 0xFFFF
|
||||
} CutsceneCmd;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CutsceneMiscType {
|
||||
/* 0x00 */ CS_MISC_UNIMPLEMENTED_0,
|
||||
/* 0x01 */ CS_MISC_RAIN,
|
||||
/* 0x02 */ CS_MISC_LIGHTNING,
|
||||
|
@ -190,7 +190,7 @@ typedef enum {
|
|||
/* 0x23 */ CS_MISC_LONG_SCARECROW_SONG
|
||||
} CutsceneMiscType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CutsceneTextType {
|
||||
/* 0x00 */ CS_TEXT_NORMAL,
|
||||
/* 0x01 */ CS_TEXT_CHOICE,
|
||||
/* 0x02 */ CS_TEXT_OCARINA_ACTION,
|
||||
|
@ -198,12 +198,12 @@ typedef enum {
|
|||
/* 0x04 */ CS_TEXT_ZORA_SAPPHIRE // use `altTextId1` in the sapphire cutscene if ruby is already obtained
|
||||
} CutsceneTextType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CutsceneFadeOutSeqPlayer {
|
||||
/* 0x03 */ CS_FADE_OUT_FANFARE = 3,
|
||||
/* 0x04 */ CS_FADE_OUT_BGM_MAIN
|
||||
} CutsceneFadeOutSeqPlayer;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CutsceneTransitionType {
|
||||
/* 0x01 */ CS_TRANS_GRAY_FILL_IN = 1, // has hardcoded sounds for some scenes
|
||||
/* 0x02 */ CS_TRANS_BLUE_FILL_IN,
|
||||
/* 0x03 */ CS_TRANS_RED_FILL_OUT,
|
||||
|
@ -219,7 +219,7 @@ typedef enum {
|
|||
/* 0x0D */ CS_TRANS_BLACK_FILL_IN_FROM_HALF
|
||||
} CutsceneTransitionType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum CutsceneDestination {
|
||||
/* 0x00 */ CS_DEST_UNIMPLEMENTED_0,
|
||||
/* 0x01 */ CS_DEST_CUTSCENE_MAP_GANON_HORSE,
|
||||
/* 0x02 */ CS_DEST_CUTSCENE_MAP_THREE_GODDESSES,
|
||||
|
@ -342,7 +342,7 @@ typedef enum {
|
|||
/* 0x77 */ CS_DEST_ZELDAS_COURTYARD_RECEIVE_LETTER
|
||||
} CutsceneDestination;
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdCam {
|
||||
struct {
|
||||
/* 0x00 */ u16 unused0;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -352,7 +352,7 @@ typedef union {
|
|||
} CsCmdCam; // size = 0x8
|
||||
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdMisc {
|
||||
struct {
|
||||
/* 0x00 */ u16 type;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -361,7 +361,7 @@ typedef union {
|
|||
s32 _words[12];
|
||||
} CsCmdMisc; // size = 0x30
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdLightSetting {
|
||||
struct {
|
||||
/* 0x00 */ u8 unused0;
|
||||
/* 0x01 */ u8 settingPlusOne;
|
||||
|
@ -371,7 +371,7 @@ typedef union {
|
|||
s32 _words[12];
|
||||
} CsCmdLightSetting; // size = 0x30
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdStartSeq {
|
||||
struct {
|
||||
/* 0x00 */ u8 unused0;
|
||||
/* 0x01 */ u8 seqIdPlusOne;
|
||||
|
@ -381,7 +381,7 @@ typedef union {
|
|||
s32 _words[12];
|
||||
} CsCmdStartSeq; // size = 0x30
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdStopSeq {
|
||||
struct {
|
||||
/* 0x00 */ u8 unused0;
|
||||
/* 0x01 */ u8 seqIdPlusOne;
|
||||
|
@ -391,7 +391,7 @@ typedef union {
|
|||
s32 _words[12];
|
||||
} CsCmdStopSeq; // size = 0x30
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdFadeOutSeq {
|
||||
struct {
|
||||
/* 0x00 */ u16 seqPlayer;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -400,7 +400,7 @@ typedef union {
|
|||
s32 _words[12];
|
||||
} CsCmdFadeOutSeq; // size = 0x30
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdRumble {
|
||||
struct {
|
||||
/* 0x00 */ u16 unused0;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -412,7 +412,7 @@ typedef union {
|
|||
s32 _words[3];
|
||||
} CsCmdRumble; // size = 0xC
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdTime {
|
||||
struct {
|
||||
/* 0x00 */ u16 unused0;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -423,7 +423,7 @@ typedef union {
|
|||
s32 _words[3];
|
||||
} CsCmdTime; // size = 0xC
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdDestination {
|
||||
struct {
|
||||
/* 0x00 */ u16 destination;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -432,7 +432,7 @@ typedef union {
|
|||
s32 _words[2];
|
||||
} CsCmdDestination; // size = 0x8
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdText {
|
||||
struct {
|
||||
/* 0x00 */ u16 textId; // can also be an ocarina action for `CS_TEXT_OCARINA_ACTION`
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -446,7 +446,7 @@ typedef union {
|
|||
|
||||
#define CS_TEXT_ID_NONE 0xFFFF
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdTransition {
|
||||
struct {
|
||||
/* 0x00 */ u16 type;
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -455,7 +455,7 @@ typedef union {
|
|||
s32 _words[2];
|
||||
} CsCmdTransition; // size = 0x8
|
||||
|
||||
typedef union {
|
||||
typedef union CsCmdActorCue {
|
||||
struct {
|
||||
/* 0x00 */ u16 id; // "dousa"
|
||||
/* 0x02 */ u16 startFrame;
|
||||
|
@ -467,7 +467,7 @@ typedef union {
|
|||
s32 _words[12];
|
||||
} CsCmdActorCue; // size = 0x30
|
||||
|
||||
typedef union {
|
||||
typedef union CutsceneCameraPoint {
|
||||
struct {
|
||||
/* 0x00 */ s8 continueFlag;
|
||||
/* 0x01 */ s8 cameraRoll;
|
||||
|
@ -483,20 +483,20 @@ typedef union {
|
|||
|
||||
#define CS_CAM_DATA_NOT_APPLIED 0xFFFF
|
||||
|
||||
typedef struct {
|
||||
typedef struct CutsceneCameraDirection {
|
||||
/* 0x00 */ Vec3f at;
|
||||
/* 0x0C */ Vec3f eye;
|
||||
/* 0x18 */ s16 roll;
|
||||
/* 0x1A */ s16 fov;
|
||||
} CutsceneCameraDirection; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct CutsceneCameraMove {
|
||||
/* 0x0 */ CutsceneCameraPoint* atPoints;
|
||||
/* 0x4 */ CutsceneCameraPoint* eyePoints;
|
||||
/* 0x8 */ s16 relativeToPlayer;
|
||||
} CutsceneCameraMove; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct CutsceneContext {
|
||||
/* 0x00 */ char unk_00[0x4];
|
||||
/* 0x04 */ void* script;
|
||||
/* 0x08 */ u8 state;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#include "alignment.h"
|
||||
#include "romfile.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct DmaRequest {
|
||||
/* 0x00 */ uintptr_t vromAddr; // VROM address (source)
|
||||
/* 0x04 */ void* dramAddr; // DRAM address (destination)
|
||||
/* 0x08 */ size_t size; // File Transfer size
|
||||
|
@ -16,7 +16,7 @@ typedef struct {
|
|||
/* 0x1C */ OSMesg notifyMsg; // Completion notification message
|
||||
} DmaRequest; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct DmaEntry {
|
||||
/* 0x00 */ RomFile file;
|
||||
/* 0x08 */ uintptr_t romStart;
|
||||
/* 0x0C */ uintptr_t romEnd;
|
||||
|
|
|
@ -14,20 +14,20 @@ struct PlayState;
|
|||
|
||||
#define TOTAL_EFFECT_COUNT SPARK_COUNT + BLURE_COUNT + SHIELD_PARTICLE_COUNT
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectStatus {
|
||||
/* 0x00 */ u8 active;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
} EffectStatus; // size = 0x03
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectSparkElement {
|
||||
/* 0x00 */ Vec3f velocity;
|
||||
/* 0x0C */ Vec3f position;
|
||||
/* 0x18 */ Vec3s unkVelocity;
|
||||
/* 0x1E */ Vec3s unkPosition;
|
||||
} EffectSparkElement; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectSparkInit {
|
||||
/* 0x000 */ Vec3s position;
|
||||
/* 0x008 */ s32 numElements; // "table_size"; calculated as uDiv * vDiv + 2
|
||||
/* 0x00C */ EffectSparkElement elements[32];
|
||||
|
@ -41,7 +41,7 @@ typedef struct {
|
|||
/* 0x4C0 */ s32 duration;
|
||||
} EffectSparkInit; // size = 0x4C4
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectSpark {
|
||||
/* 0x000 */ Vec3s position;
|
||||
/* 0x008 */ s32 numElements; // "table_size"; calculated as uDiv * vDiv + 2
|
||||
/* 0x00C */ EffectSparkElement elements[32];
|
||||
|
@ -55,7 +55,7 @@ typedef struct {
|
|||
/* 0x4C0 */ s32 duration;
|
||||
} EffectSpark; // size = 0x4C4
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectBlureElement {
|
||||
/* 0x00 */ s32 state;
|
||||
/* 0x04 */ s32 timer;
|
||||
/* 0x08 */ Vec3s p1;
|
||||
|
@ -63,7 +63,7 @@ typedef struct {
|
|||
/* 0x14 */ u16 flags;
|
||||
} EffectBlureElement; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectBlureInit1 {
|
||||
/* 0x000 */ char unk_00[0x184];
|
||||
/* 0x184 */ u8 p1StartColor[4];
|
||||
/* 0x188 */ u8 p2StartColor[4];
|
||||
|
@ -74,7 +74,7 @@ typedef struct {
|
|||
/* 0x19C */ s32 calcMode;
|
||||
} EffectBlureInit1; // size = 0x1A0
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectBlureInit2 {
|
||||
/* 0x00 */ s32 calcMode;
|
||||
/* 0x04 */ u16 flags;
|
||||
/* 0x06 */ s16 addAngleChange;
|
||||
|
@ -90,7 +90,7 @@ typedef struct {
|
|||
/* 0x20 */ Color_RGBA8 altEnvColor; // used with drawMode 1
|
||||
} EffectBlureInit2; // size = 0x24
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectBlure {
|
||||
/* 0x000 */ EffectBlureElement elements[16];
|
||||
/* 0x180 */ s32 calcMode;
|
||||
/* 0x184 */ f32 mode4Param;
|
||||
|
@ -109,7 +109,7 @@ typedef struct {
|
|||
/* 0x1A6 */ Color_RGBA8 altEnvColor; // used with drawMode 1
|
||||
} EffectBlure; // size = 0x1AC
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectShieldParticleElement {
|
||||
/* 0x00 */ f32 initialSpeed;
|
||||
/* 0x04 */ f32 endXChange;
|
||||
/* 0x08 */ f32 endX;
|
||||
|
@ -119,7 +119,7 @@ typedef struct {
|
|||
/* 0x16 */ s16 pitch;
|
||||
} EffectShieldParticleElement; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectShieldParticleInit {
|
||||
/* 0x00 */ u8 numElements;
|
||||
/* 0x02 */ Vec3s position;
|
||||
/* 0x08 */ Color_RGBA8 primColorStart;
|
||||
|
@ -136,7 +136,7 @@ typedef struct {
|
|||
/* 0x3C */ s32 lightDecay; // halves light radius every frame when set to 1
|
||||
} EffectShieldParticleInit; // size = 0x40
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectShieldParticle {
|
||||
/* 0x000 */ EffectShieldParticleElement elements[16];
|
||||
/* 0x180 */ u8 numElements;
|
||||
/* 0x182 */ Vec3s position;
|
||||
|
@ -157,7 +157,7 @@ typedef struct {
|
|||
/* 0x1C4 */ s32 lightDecay; // halves light radius every frame when set to 1
|
||||
} EffectShieldParticle; // size = 0x1C8
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectContext {
|
||||
/* 0x0000 */ struct PlayState* play;
|
||||
struct {
|
||||
EffectStatus status;
|
||||
|
@ -173,7 +173,7 @@ typedef struct {
|
|||
} /* 0x388C */ shieldParticles[SHIELD_PARTICLE_COUNT];
|
||||
} EffectContext; // size = 0x3DF0
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectInfo {
|
||||
/* 0x00 */ u32 size;
|
||||
/* 0x04 */ void (*init)(void* effect, void* initParams);
|
||||
/* 0x08 */ void (*destroy)(void* effect);
|
||||
|
@ -181,7 +181,7 @@ typedef struct {
|
|||
/* 0x10 */ void (*draw)(void* effect, struct GraphicsContext* gfxCtx);
|
||||
} EffectInfo; // size = 0x14
|
||||
|
||||
typedef enum {
|
||||
typedef enum EffectType {
|
||||
/* 0x00 */ EFFECT_SPARK,
|
||||
/* 0x01 */ EFFECT_BLURE1,
|
||||
/* 0x02 */ EFFECT_BLURE2,
|
||||
|
@ -196,12 +196,12 @@ typedef u32 (*EffectSsInitFunc)(struct PlayState* play, u32 index, struct Effect
|
|||
typedef void (*EffectSsUpdateFunc)(struct PlayState* play, u32 index, struct EffectSs* effectSs);
|
||||
typedef void (*EffectSsDrawFunc)(struct PlayState* play, u32 index, struct EffectSs* effectSs);
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectSsProfile {
|
||||
/* 0x00 */ u32 type;
|
||||
/* 0x04 */ EffectSsInitFunc init;
|
||||
} EffectSsProfile; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectSsOverlay {
|
||||
/* 0x00 */ RomFile file;
|
||||
/* 0x08 */ void* vramStart;
|
||||
/* 0x0C */ void* vramEnd;
|
||||
|
@ -226,7 +226,7 @@ typedef struct EffectSs {
|
|||
/* 0x5F */ u8 type;
|
||||
} EffectSs; // size = 0x60
|
||||
|
||||
typedef struct {
|
||||
typedef struct EffectSsInfo {
|
||||
/* 0x00 */ EffectSs* table; // "data_table"
|
||||
/* 0x04 */ s32 searchStartIndex;
|
||||
/* 0x08 */ s32 tableSize;
|
||||
|
@ -250,7 +250,7 @@ typedef struct {
|
|||
#define DEFINE_EFFECT_SS(_0, enum) enum,
|
||||
#define DEFINE_EFFECT_SS_UNSET(enum) enum,
|
||||
|
||||
typedef enum {
|
||||
typedef enum EffectSsType {
|
||||
#include "tables/effect_ss_table.h"
|
||||
/* 0x25 */ EFFECT_SS_TYPE_MAX // originally "EFFECT_SS2_TYPE_LAST_LABEL"
|
||||
} EffectSsType;
|
||||
|
|
|
@ -34,12 +34,12 @@ struct SkyboxContext;
|
|||
// This is a bit of a hack used only by bosses in the original game.
|
||||
#define LIGHT_BLEND_OVERRIDE_FULL_CONTROL 2
|
||||
|
||||
typedef enum {
|
||||
typedef enum LightMode {
|
||||
/* 0 */ LIGHT_MODE_TIME, // environment lights use `lightConfig` and change based on time of day
|
||||
/* 1 */ LIGHT_MODE_SETTINGS // environment lights use `lightSetting`
|
||||
} LightMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SkyboxDmaState {
|
||||
/* 0 */ SKYBOX_DMA_INACTIVE,
|
||||
/* 1 */ SKYBOX_DMA_TEXTURE1_START,
|
||||
/* 2 */ SKYBOX_DMA_TEXTURE1_DONE,
|
||||
|
@ -49,19 +49,19 @@ typedef enum {
|
|||
/* 13 */ SKYBOX_DMA_TLUT2_START
|
||||
} SkyboxDmaState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum LightningState {
|
||||
/* 0 */ LIGHTNING_OFF, // no lightning
|
||||
/* 1 */ LIGHTNING_ON, // request lightning strikes at random intervals
|
||||
/* 2 */ LIGHTNING_LAST // request one lightning strike before turning off
|
||||
} LightningState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum LightningStrikeState {
|
||||
/* 0 */ LIGHTNING_STRIKE_WAIT, // wait between lightning strikes. request bolts when timer hits 0
|
||||
/* 1 */ LIGHTNING_STRIKE_START, // fade in the flash. note: bolts are requested in the previous state
|
||||
/* 2 */ LIGHTNING_STRIKE_END // fade out the flash and go back to wait
|
||||
} LightningStrikeState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum WeatherMode {
|
||||
/* 0 */ WEATHER_MODE_CLEAR,
|
||||
/* 1 */ WEATHER_MODE_CLOUDY_CONFIG3, // scene must define settings for light config 3
|
||||
/* 2 */ WEATHER_MODE_CLOUDY_CONFIG2, // scene must define settings for light config 2
|
||||
|
@ -70,14 +70,14 @@ typedef enum {
|
|||
/* 5 */ WEATHER_MODE_HEAVY_RAIN // scene must define settings for light config 4
|
||||
} WeatherMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ChangeSkyboxState {
|
||||
/* 0 */ CHANGE_SKYBOX_INACTIVE,
|
||||
/* 1 */ CHANGE_SKYBOX_REQUESTED,
|
||||
/* 2 */ CHANGE_SKYBOX_WAIT,
|
||||
/* 3 */ CHANGE_SKYBOX_ACTIVE
|
||||
} ChangeSkyboxState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PrecipitationData {
|
||||
/* 0 */ PRECIP_RAIN_MAX, // max number of raindrops that can draw; uses this or SOS_MAX, whichever is larger
|
||||
/* 1 */ PRECIP_RAIN_CUR, // current number of rain drops being drawn on screen
|
||||
/* 2 */ PRECIP_SNOW_CUR, // current number of snowflakes being drawn on screen
|
||||
|
@ -86,18 +86,18 @@ typedef enum {
|
|||
/* 5 */ PRECIP_MAX
|
||||
} PrecipitationData;
|
||||
|
||||
typedef enum {
|
||||
typedef enum StormRequest {
|
||||
/* 0 */ STORM_REQUEST_NONE,
|
||||
/* 1 */ STORM_REQUEST_START,
|
||||
/* 2 */ STORM_REQUEST_STOP
|
||||
} StormRequest;
|
||||
|
||||
typedef enum {
|
||||
typedef enum StormState {
|
||||
/* 0 */ STORM_STATE_OFF,
|
||||
/* 1 */ STORM_STATE_ON
|
||||
} StormState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TimeBasedSeqState {
|
||||
/* 0x00 */ TIMESEQ_DAY_BGM,
|
||||
/* 0x01 */ TIMESEQ_FADE_DAY_BGM,
|
||||
/* 0x02 */ TIMESEQ_NIGHT_BEGIN_SFX,
|
||||
|
@ -110,7 +110,7 @@ typedef enum {
|
|||
/* 0xFF */ TIMESEQ_DISABLED = 0xFF
|
||||
} TimeBasedSeqState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SandstormState {
|
||||
/* 0 */ SANDSTORM_OFF,
|
||||
/* 1 */ SANDSTORM_FILL,
|
||||
/* 2 */ SANDSTORM_UNFILL,
|
||||
|
@ -118,7 +118,7 @@ typedef enum {
|
|||
/* 4 */ SANDSTORM_DISSIPATE
|
||||
} SandstormState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct LightningStrike {
|
||||
/* 0x00 */ u8 state;
|
||||
/* 0x01 */ u8 flashRed;
|
||||
/* 0x02 */ u8 flashGreen;
|
||||
|
@ -127,7 +127,7 @@ typedef struct {
|
|||
/* 0x08 */ f32 delayTimer;
|
||||
} LightningStrike; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct TimeBasedSkyboxEntry {
|
||||
/* 0x00 */ u16 startTime;
|
||||
/* 0x02 */ u16 endTime;
|
||||
/* 0x04 */ u8 changeSkybox;
|
||||
|
@ -135,7 +135,7 @@ typedef struct {
|
|||
/* 0x06 */ u8 skybox2Index;
|
||||
} TimeBasedSkyboxEntry; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct CurrentEnvLightSettings {
|
||||
/* 0x00 */ u8 ambientColor[3];
|
||||
/* 0x03 */ s8 light1Dir[3];
|
||||
/* 0x06 */ u8 light1Color[3];
|
||||
|
@ -155,7 +155,7 @@ typedef struct {
|
|||
#define ENV_LIGHT_SETTINGS_BLEND_RATE_U8(blendRateAndFogNear) (((blendRateAndFogNear) >> 10) * 4)
|
||||
#define ENV_LIGHT_SETTINGS_FOG_NEAR(blendRateAndFogNear) ((blendRateAndFogNear) & 0x3FF)
|
||||
|
||||
typedef struct {
|
||||
typedef struct EnvLightSettings {
|
||||
/* 0x00 */ u8 ambientColor[3];
|
||||
/* 0x03 */ s8 light1Dir[3];
|
||||
/* 0x06 */ u8 light1Color[3];
|
||||
|
@ -166,7 +166,7 @@ typedef struct {
|
|||
/* 0x14 */ s16 zFar;
|
||||
} EnvLightSettings; // size = 0x16
|
||||
|
||||
typedef struct {
|
||||
typedef struct EnvironmentContext {
|
||||
/* 0x00 */ char unk_00[0x02];
|
||||
/* 0x02 */ u16 sceneTimeSpeed; // time speed value from the scene file
|
||||
/* 0x04 */ Vec3f sunPos; // moon position can be found by negating the sun position
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
struct Input;
|
||||
struct PlayState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct FrameAdvanceContext {
|
||||
/* 0x0 */ s32 enabled;
|
||||
/* 0x4 */ s32 timer;
|
||||
} FrameAdvanceContext; // size = 0x8
|
||||
|
|
|
@ -15,7 +15,7 @@ typedef struct GameAllocEntry {
|
|||
/* 0x0C */ u32 unk_0C;
|
||||
} GameAllocEntry; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct GameAlloc {
|
||||
/* 0x00 */ GameAllocEntry base;
|
||||
/* 0x10 */ GameAllocEntry* head;
|
||||
} GameAlloc; // size = 0x14
|
||||
|
@ -23,7 +23,7 @@ typedef struct {
|
|||
// Used in Graph_GetNextGameState in graph.c
|
||||
#define DEFINE_GAMESTATE_INTERNAL(typeName, enumName) enumName,
|
||||
#define DEFINE_GAMESTATE(typeName, enumName, name) DEFINE_GAMESTATE_INTERNAL(typeName, enumName)
|
||||
typedef enum {
|
||||
typedef enum GameStateId {
|
||||
#include "tables/gamestate_table.h"
|
||||
GAMESTATE_ID_MAX
|
||||
} GameStateId;
|
||||
|
|
|
@ -29,7 +29,7 @@ extern u8 _icon_item_24_staticSegmentRomStart[];
|
|||
#define GET_QUEST_ICON_VROM(itemId) \
|
||||
((uintptr_t)_icon_item_24_staticSegmentRomStart + (((itemId)-ITEM_MEDALLION_FOREST) * QUEST_ICON_SIZE))
|
||||
|
||||
typedef enum {
|
||||
typedef enum DoAction {
|
||||
/* 0x00 */ DO_ACTION_ATTACK,
|
||||
/* 0x01 */ DO_ACTION_CHECK,
|
||||
/* 0x02 */ DO_ACTION_ENTER,
|
||||
|
@ -67,7 +67,7 @@ typedef enum {
|
|||
#define DO_ACTION_TEX_HEIGHT 16
|
||||
#define DO_ACTION_TEX_SIZE ((DO_ACTION_TEX_WIDTH * DO_ACTION_TEX_HEIGHT) / 2) // (sizeof(gCheckDoActionENGTex))
|
||||
|
||||
typedef struct {
|
||||
typedef struct InterfaceContext {
|
||||
/* 0x0000 */ View view;
|
||||
/* 0x0128 */ Vtx* actionVtx;
|
||||
/* 0x012C */ Vtx* beatingHeartVtx;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#define ITEM_NAME_TEX_HEIGHT 16
|
||||
#define ITEM_NAME_TEX_SIZE ((ITEM_NAME_TEX_WIDTH * ITEM_NAME_TEX_HEIGHT) / 2) // 128x16 IA4 texture
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipmentType {
|
||||
/* 0 */ EQUIP_TYPE_SWORD,
|
||||
/* 1 */ EQUIP_TYPE_SHIELD,
|
||||
/* 2 */ EQUIP_TYPE_TUNIC,
|
||||
|
@ -17,26 +17,26 @@ typedef enum {
|
|||
|
||||
// `EquipInv*` enums are for Inventory.equipment (for example used in the `CHECK_OWNED_EQUIP` macro)
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipInvSword {
|
||||
/* 0 */ EQUIP_INV_SWORD_KOKIRI,
|
||||
/* 1 */ EQUIP_INV_SWORD_MASTER,
|
||||
/* 2 */ EQUIP_INV_SWORD_BIGGORON,
|
||||
/* 3 */ EQUIP_INV_SWORD_BROKENGIANTKNIFE
|
||||
} EquipInvSword;
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipInvShield {
|
||||
/* 0 */ EQUIP_INV_SHIELD_DEKU,
|
||||
/* 1 */ EQUIP_INV_SHIELD_HYLIAN,
|
||||
/* 2 */ EQUIP_INV_SHIELD_MIRROR
|
||||
} EquipInvShield;
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipInvTunic {
|
||||
/* 0 */ EQUIP_INV_TUNIC_KOKIRI,
|
||||
/* 1 */ EQUIP_INV_TUNIC_GORON,
|
||||
/* 2 */ EQUIP_INV_TUNIC_ZORA
|
||||
} EquipInvTunic;
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipInvBoots {
|
||||
/* 0 */ EQUIP_INV_BOOTS_KOKIRI,
|
||||
/* 1 */ EQUIP_INV_BOOTS_IRON,
|
||||
/* 2 */ EQUIP_INV_BOOTS_HOVER
|
||||
|
@ -44,7 +44,7 @@ typedef enum {
|
|||
|
||||
// `EquipValue*` enums are for ItemEquips.equipment (for example used in the `CUR_EQUIP_VALUE` macro)
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipValueSword {
|
||||
/* 0 */ EQUIP_VALUE_SWORD_NONE,
|
||||
/* 1 */ EQUIP_VALUE_SWORD_KOKIRI,
|
||||
/* 2 */ EQUIP_VALUE_SWORD_MASTER,
|
||||
|
@ -52,7 +52,7 @@ typedef enum {
|
|||
/* 4 */ EQUIP_VALUE_SWORD_MAX
|
||||
} EquipValueSword;
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipValueShield {
|
||||
/* 0 */ EQUIP_VALUE_SHIELD_NONE,
|
||||
/* 1 */ EQUIP_VALUE_SHIELD_DEKU,
|
||||
/* 2 */ EQUIP_VALUE_SHIELD_HYLIAN,
|
||||
|
@ -60,7 +60,7 @@ typedef enum {
|
|||
/* 4 */ EQUIP_VALUE_SHIELD_MAX
|
||||
} EquipValueShield;
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipValueTunic {
|
||||
/* 0 */ EQUIP_VALUE_TUNIC_NONE,
|
||||
/* 1 */ EQUIP_VALUE_TUNIC_KOKIRI,
|
||||
/* 2 */ EQUIP_VALUE_TUNIC_GORON,
|
||||
|
@ -68,7 +68,7 @@ typedef enum {
|
|||
/* 4 */ EQUIP_VALUE_TUNIC_MAX
|
||||
} EquipValueTunic;
|
||||
|
||||
typedef enum {
|
||||
typedef enum EquipValueBoots {
|
||||
/* 0 */ EQUIP_VALUE_BOOTS_NONE,
|
||||
/* 1 */ EQUIP_VALUE_BOOTS_KOKIRI,
|
||||
/* 2 */ EQUIP_VALUE_BOOTS_IRON,
|
||||
|
@ -76,7 +76,7 @@ typedef enum {
|
|||
/* 4 */ EQUIP_VALUE_BOOTS_MAX
|
||||
} EquipValueBoots;
|
||||
|
||||
typedef enum {
|
||||
typedef enum UpgradeType {
|
||||
/* 0x00 */ UPG_QUIVER,
|
||||
/* 0x01 */ UPG_BOMB_BAG,
|
||||
/* 0x02 */ UPG_STRENGTH,
|
||||
|
@ -88,7 +88,7 @@ typedef enum {
|
|||
/* 0x08 */ UPG_MAX
|
||||
} UpgradeType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum QuestItem {
|
||||
/* 0x00 */ QUEST_MEDALLION_FOREST,
|
||||
/* 0x01 */ QUEST_MEDALLION_FIRE,
|
||||
/* 0x02 */ QUEST_MEDALLION_WATER,
|
||||
|
@ -116,13 +116,13 @@ typedef enum {
|
|||
/* 0x1C */ QUEST_HEART_PIECE_COUNT = 0x1C
|
||||
} QuestItem;
|
||||
|
||||
typedef enum {
|
||||
typedef enum DungeonItem {
|
||||
/* 0x00 */ DUNGEON_BOSS_KEY,
|
||||
/* 0x01 */ DUNGEON_COMPASS,
|
||||
/* 0x02 */ DUNGEON_MAP
|
||||
} DungeonItem;
|
||||
|
||||
typedef enum {
|
||||
typedef enum InventorySlot {
|
||||
/* 0x00 */ SLOT_DEKU_STICK,
|
||||
/* 0x01 */ SLOT_DEKU_NUT,
|
||||
/* 0x02 */ SLOT_BOMB,
|
||||
|
@ -150,7 +150,7 @@ typedef enum {
|
|||
/* 0xFF */ SLOT_NONE = 0xFF
|
||||
} InventorySlot;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ItemID {
|
||||
/* 0x00 */ ITEM_DEKU_STICK,
|
||||
/* 0x01 */ ITEM_DEKU_NUT,
|
||||
/* 0x02 */ ITEM_BOMB,
|
||||
|
@ -316,7 +316,7 @@ typedef enum {
|
|||
#define ITEM_TRADE_ADULT ITEM_POCKET_EGG
|
||||
|
||||
// Get Item result may vary depending on context (chest/shop/scrub/drop)
|
||||
typedef enum {
|
||||
typedef enum GetItemID {
|
||||
/* 0x00 */ GI_NONE,
|
||||
/* 0x01 */ GI_BOMBS_5,
|
||||
/* 0x02 */ GI_DEKU_NUTS_5,
|
||||
|
@ -446,7 +446,7 @@ typedef enum {
|
|||
/* 0x7E */ GI_MAX
|
||||
} GetItemID;
|
||||
|
||||
typedef enum {
|
||||
typedef enum GetItemDrawID {
|
||||
/* 0x00 */ GID_BOTTLE_EMPTY,
|
||||
/* 0x01 */ GID_SMALL_KEY,
|
||||
/* 0x02 */ GID_SONG_MINUET,
|
||||
|
@ -567,7 +567,7 @@ typedef enum {
|
|||
/* 0x75 */ GID_MAX
|
||||
} GetItemDrawID;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ExchangeItemID {
|
||||
/* 0x00 */ EXCH_ITEM_NONE,
|
||||
/* 0x01 */ EXCH_ITEM_ZELDAS_LETTER,
|
||||
/* 0x02 */ EXCH_ITEM_WEIRD_EGG,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#include "z64math.h"
|
||||
#include "color.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct LightPoint {
|
||||
/* 0x0 */ s16 x;
|
||||
/* 0x2 */ s16 y;
|
||||
/* 0x4 */ s16 z;
|
||||
|
@ -15,19 +15,19 @@ typedef struct {
|
|||
/* 0xA */ s16 radius;
|
||||
} LightPoint; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct LightDirectional {
|
||||
/* 0x0 */ s8 x;
|
||||
/* 0x1 */ s8 y;
|
||||
/* 0x2 */ s8 z;
|
||||
/* 0x3 */ u8 color[3];
|
||||
} LightDirectional; // size = 0x6
|
||||
|
||||
typedef union {
|
||||
typedef union LightParams {
|
||||
LightPoint point;
|
||||
LightDirectional dir;
|
||||
} LightParams; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct LightInfo {
|
||||
/* 0x0 */ u8 type;
|
||||
/* 0x2 */ LightParams params;
|
||||
} LightInfo; // size = 0xE
|
||||
|
@ -46,7 +46,7 @@ typedef struct LightNode {
|
|||
#define ENV_FOGNEAR_MAX 996
|
||||
#define ENV_ZFAR_MAX 12800
|
||||
|
||||
typedef struct {
|
||||
typedef struct LightContext {
|
||||
/* 0x0 */ LightNode* listHead;
|
||||
/* 0x4 */ u8 ambientColor[3];
|
||||
/* 0x7 */ u8 fogColor[3];
|
||||
|
@ -54,7 +54,7 @@ typedef struct {
|
|||
/* 0xC */ s16 zFar; // draw distance. range 0 - ENV_ZFAR_MAX
|
||||
} LightContext; // size = 0x10
|
||||
|
||||
typedef enum {
|
||||
typedef enum LightType {
|
||||
/* 0x00 */ LIGHT_POINT_NOGLOW,
|
||||
/* 0x01 */ LIGHT_DIRECTIONAL,
|
||||
/* 0x02 */ LIGHT_POINT_GLOW
|
||||
|
|
|
@ -7,12 +7,12 @@
|
|||
#define MAP_MARK_CHEST 0
|
||||
#define MAP_MARK_BOSS 1
|
||||
|
||||
typedef struct {
|
||||
typedef struct MapMarkPoint {
|
||||
/* 0x00 */ s8 chestFlag; // chest icon is only displayed if this flag is not set for the current room
|
||||
/* 0x01 */ u8 x, y; // coordinates to place the icon (top-left corner), relative to the minimap texture
|
||||
} MapMarkPoint; // size = 0x3
|
||||
|
||||
typedef struct {
|
||||
typedef struct MapMarkIconData {
|
||||
/* 0x00 */ s8 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none
|
||||
/* 0x01 */ u8 count; // number of icons to display
|
||||
/* 0x02 */ MapMarkPoint points[12];
|
||||
|
|
|
@ -7,76 +7,76 @@
|
|||
#define SQ(x) ((x)*(x))
|
||||
#define VEC_SET(V,X,Y,Z) (V).x=(X);(V).y=(Y);(V).z=(Z)
|
||||
|
||||
typedef struct {
|
||||
typedef struct Vec2f {
|
||||
f32 x, y;
|
||||
} Vec2f; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct Vec3f {
|
||||
f32 x, y, z;
|
||||
} Vec3f; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Vec3us {
|
||||
u16 x, y, z;
|
||||
} Vec3us; // size = 0x06
|
||||
|
||||
typedef struct {
|
||||
typedef struct Vec3s {
|
||||
s16 x, y, z;
|
||||
} Vec3s; // size = 0x06
|
||||
|
||||
typedef struct {
|
||||
typedef struct Vec3i {
|
||||
s32 x, y, z;
|
||||
} Vec3i; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Sphere16 {
|
||||
Vec3s center;
|
||||
s16 radius;
|
||||
} Sphere16; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct Spheref {
|
||||
Vec3f center;
|
||||
f32 radius;
|
||||
} Spheref; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct PosRot {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ Vec3s rot;
|
||||
} PosRot; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct Plane {
|
||||
Vec3f normal;
|
||||
f32 originDist;
|
||||
} Plane; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct TriNorm {
|
||||
Vec3f vtx[3];
|
||||
Plane plane;
|
||||
} TriNorm; // size = 0x34
|
||||
|
||||
typedef struct {
|
||||
typedef struct Cylinder16 {
|
||||
/* 0x0000 */ s16 radius;
|
||||
/* 0x0002 */ s16 height;
|
||||
/* 0x0004 */ s16 yShift;
|
||||
/* 0x0006 */ Vec3s pos;
|
||||
} Cylinder16; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct Cylinderf {
|
||||
/* 0x00 */ f32 radius;
|
||||
/* 0x04 */ f32 height;
|
||||
/* 0x08 */ f32 yShift;
|
||||
/* 0x0C */ Vec3f pos;
|
||||
} Cylinderf; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct InfiniteLine {
|
||||
/* 0x0000 */ Vec3f point;
|
||||
/* 0x000C */ Vec3f dir;
|
||||
} InfiniteLine; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct Linef {
|
||||
/* 0x0000 */ Vec3f a;
|
||||
/* 0x000C */ Vec3f b;
|
||||
} Linef; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct VecSphGeo {
|
||||
/* 0x0 */ f32 r; // radius
|
||||
/* 0x4 */ s16 pitch; // depends on coordinate system. See below.
|
||||
/* 0x6 */ s16 yaw; // azimuthal angle
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
struct OcarinaStaff;
|
||||
struct Actor;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextBoxIcon {
|
||||
/* 0 */ TEXTBOX_ICON_TRIANGLE,
|
||||
/* 1 */ TEXTBOX_ICON_SQUARE,
|
||||
/* 2 */ TEXTBOX_ICON_ARROW
|
||||
|
@ -54,7 +54,7 @@ typedef enum {
|
|||
#define FILENAME_PERIOD 0x40
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
typedef enum MessageMode {
|
||||
/* 0x00 */ MSGMODE_NONE,
|
||||
/* 0x01 */ MSGMODE_TEXT_START,
|
||||
/* 0x02 */ MSGMODE_TEXT_BOX_GROWING,
|
||||
|
@ -177,7 +177,7 @@ typedef enum MaskReactionSet {
|
|||
/* 0x3C */ MASK_REACTION_SET_MAX
|
||||
} MaskReactionSet;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TextState {
|
||||
/* 0 */ TEXT_STATE_NONE,
|
||||
/* 1 */ TEXT_STATE_DONE_HAS_NEXT,
|
||||
/* 2 */ TEXT_STATE_CLOSING,
|
||||
|
@ -191,7 +191,7 @@ typedef enum {
|
|||
/* 10 */ TEXT_STATE_AWAITING_NEXT
|
||||
} TextState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Font {
|
||||
/* 0x0000 */ u32 msgOffset;
|
||||
/* 0x0004 */ u32 msgLength;
|
||||
union {
|
||||
|
@ -221,7 +221,7 @@ typedef struct {
|
|||
#define TEXTBOX_ENDTYPE_EVENT 0x50
|
||||
#define TEXTBOX_ENDTYPE_FADING 0x60
|
||||
|
||||
typedef struct {
|
||||
typedef struct MessageContext {
|
||||
/* 0x0000 */ View view;
|
||||
/* 0x0128 */ Font font;
|
||||
/* 0xE2B0 */ u8* textboxSegment; // original name: "fukidashiSegment"
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "z64dma.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct ObjectEntry {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x04 */ void* segment;
|
||||
/* 0x08 */ DmaRequest dmaRequest;
|
||||
|
@ -12,7 +12,7 @@ typedef struct {
|
|||
/* 0x40 */ OSMesg loadMsg;
|
||||
} ObjectEntry; // size = 0x44
|
||||
|
||||
typedef struct {
|
||||
typedef struct ObjectContext {
|
||||
/* 0x0000 */ void* spaceStart;
|
||||
/* 0x0004 */ void* spaceEnd; // original name: "endSegment"
|
||||
/* 0x0008 */ u8 numEntries; // total amount of used entries
|
||||
|
@ -26,7 +26,7 @@ typedef struct {
|
|||
#define DEFINE_OBJECT_EMPTY(_0, enum) enum,
|
||||
#define DEFINE_OBJECT_UNSET(enum) enum,
|
||||
|
||||
typedef enum {
|
||||
typedef enum ObjectId {
|
||||
#include "tables/object_table.h"
|
||||
/* 0x0192 */ OBJECT_ID_MAX
|
||||
} ObjectId;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "ultra64.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum OcarinaSongId {
|
||||
/* 0 */ OCARINA_SONG_MINUET,
|
||||
/* 1 */ OCARINA_SONG_BOLERO,
|
||||
/* 2 */ OCARINA_SONG_SERENADE,
|
||||
|
@ -22,7 +22,7 @@ typedef enum {
|
|||
/* 14 */ OCARINA_SONG_SCARECROW_LONG = OCARINA_SONG_MAX // anything larger than 13 is considered the long scarecrow's song
|
||||
} OcarinaSongId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum OcarinaSongActionId {
|
||||
/* 0x00 */ OCARINA_ACTION_UNK_0, // acts like free play but never set
|
||||
/* 0x01 */ OCARINA_ACTION_FREE_PLAY,
|
||||
/* 0x02 */ OCARINA_ACTION_TEACH_MINUET, // Song demonstrations by teachers
|
||||
|
@ -75,7 +75,7 @@ typedef enum {
|
|||
/* 0x31 */ OCARINA_ACTION_CHECK_NOWARP_DONE
|
||||
} OcarinaSongActionId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum OcarinaMode {
|
||||
/* 0x00 */ OCARINA_MODE_00,
|
||||
/* 0x01 */ OCARINA_MODE_01,
|
||||
/* 0x02 */ OCARINA_MODE_02,
|
||||
|
@ -94,7 +94,7 @@ typedef enum {
|
|||
/* 0x0F */ OCARINA_MODE_0F
|
||||
} OcarinaMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum OcarinaButtonIndex {
|
||||
/* 0 */ OCARINA_BTN_A,
|
||||
/* 1 */ OCARINA_BTN_C_DOWN,
|
||||
/* 2 */ OCARINA_BTN_C_RIGHT,
|
||||
|
@ -106,7 +106,7 @@ typedef enum {
|
|||
|
||||
// Uses scientific pitch notation relative to middle C
|
||||
// https://en.wikipedia.org/wiki/Scientific_pitch_notation
|
||||
typedef enum {
|
||||
typedef enum OcarinaPitch {
|
||||
/* 0x0 */ OCARINA_PITCH_C4,
|
||||
/* 0x1 */ OCARINA_PITCH_DFLAT4,
|
||||
/* 0x2 */ OCARINA_PITCH_D4,
|
||||
|
@ -126,7 +126,7 @@ typedef enum {
|
|||
/* 0xFF */ OCARINA_PITCH_NONE = 0xFF
|
||||
} OcarinaPitch;
|
||||
|
||||
typedef enum {
|
||||
typedef enum OcarinaInstrumentId {
|
||||
/* 0 */ OCARINA_INSTRUMENT_OFF,
|
||||
/* 1 */ OCARINA_INSTRUMENT_DEFAULT,
|
||||
/* 2 */ OCARINA_INSTRUMENT_MALON,
|
||||
|
@ -139,7 +139,7 @@ typedef enum {
|
|||
/* 8 */ OCARINA_INSTRUMENT_DEFAULT_COPY2 = OCARINA_INSTRUMENT_MAX + 1 // Unused but present in Sequence 0 table
|
||||
} OcarinaInstrumentId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum OcarinaRecordingState {
|
||||
/* 0 */ OCARINA_RECORD_OFF,
|
||||
/* 1 */ OCARINA_RECORD_SCARECROW_LONG,
|
||||
/* 2 */ OCARINA_RECORD_SCARECROW_SPAWN,
|
||||
|
@ -157,7 +157,7 @@ typedef enum {
|
|||
* 0x80 - BTN_R is pressed to raise note by a semitone
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
typedef struct OcarinaNote {
|
||||
/* 0x0 */ u8 pitch; // number of semitones above middle C
|
||||
/* 0x2 */ u16 length; // number of frames the note is sustained
|
||||
/* 0x4 */ u8 volume;
|
||||
|
@ -166,7 +166,7 @@ typedef struct {
|
|||
/* 0x7 */ u8 bFlat4Flag; // See note above
|
||||
} OcarinaNote; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct OcarinaSongButtons {
|
||||
/* 0x0 */ u8 numButtons;
|
||||
/* 0x1 */ u8 buttonsIndex[8];
|
||||
} OcarinaSongButtons; // size = 0x9
|
||||
|
|
|
@ -12,7 +12,7 @@ struct OcarinaStaff;
|
|||
#define PAUSE_CURSOR_PAGE_LEFT 10
|
||||
#define PAUSE_CURSOR_PAGE_RIGHT 11
|
||||
|
||||
typedef enum {
|
||||
typedef enum PauseMenuPage {
|
||||
/* 0x00 */ PAUSE_ITEM,
|
||||
/* 0x01 */ PAUSE_MAP,
|
||||
/* 0x02 */ PAUSE_QUEST,
|
||||
|
@ -53,7 +53,7 @@ typedef enum {
|
|||
#define PAUSE_EQUIP_BUFFER_SIZE sizeof(u16[PAUSE_EQUIP_PLAYER_HEIGHT][PAUSE_EQUIP_PLAYER_WIDTH])
|
||||
#define PAUSE_PLAYER_SEGMENT_GAMEPLAY_KEEP_BUFFER_SIZE 0x5000
|
||||
|
||||
typedef enum {
|
||||
typedef enum PauseState {
|
||||
/* 0 */ PAUSE_STATE_OFF,
|
||||
/* 1 */ PAUSE_STATE_WAIT_LETTERBOX, // Request no letterboxing and wait for it.
|
||||
/* 2 */ PAUSE_STATE_WAIT_BG_PRERENDER, // Wait for the pause background prerender to be done.
|
||||
|
@ -83,7 +83,7 @@ typedef enum {
|
|||
(((pauseCtx)->state != PAUSE_STATE_OFF) || ((pauseCtx)->debugState != 0))
|
||||
|
||||
// Sub-states of PAUSE_STATE_MAIN
|
||||
typedef enum {
|
||||
typedef enum PauseMainState {
|
||||
/* 0 */ PAUSE_MAIN_STATE_IDLE,
|
||||
/* 1 */ PAUSE_MAIN_STATE_SWITCHING_PAGE,
|
||||
/* 2 */ PAUSE_MAIN_STATE_2,
|
||||
|
@ -96,7 +96,7 @@ typedef enum {
|
|||
/* 9 */ PAUSE_MAIN_STATE_9
|
||||
} PauseMainState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct PauseContext {
|
||||
/* 0x0000 */ View view;
|
||||
/* 0x0128 */ u8* iconItemSegment;
|
||||
/* 0x012C */ u8* iconItem24Segment;
|
||||
|
@ -180,12 +180,12 @@ typedef struct {
|
|||
#define PAUSE_MAP_MARK_CHEST 0
|
||||
#define PAUSE_MAP_MARK_BOSS 1
|
||||
|
||||
typedef struct {
|
||||
typedef struct PauseMapMarkPoint {
|
||||
/* 0x00 */ s16 chestFlag; // chest icon is only displayed if this flag is not set for the current room, -1 for no flag
|
||||
/* 0x04 */ f32 x, y; // coordinates to place the icon (top-left corner)
|
||||
} PauseMapMarkPoint; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct PauseMapMarkData {
|
||||
/* 0x00 */ s16 markType; // 0 for the chest icon, 1 for the boss skull icon, -1 for none
|
||||
/* 0x04 */ s32 unk_04;
|
||||
/* 0x08 */ const Vtx* vtx;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
struct Player;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerSword {
|
||||
/* 0 */ PLAYER_SWORD_NONE,
|
||||
/* 1 */ PLAYER_SWORD_KOKIRI,
|
||||
/* 2 */ PLAYER_SWORD_MASTER,
|
||||
|
@ -15,7 +15,7 @@ typedef enum {
|
|||
/* 4 */ PLAYER_SWORD_MAX
|
||||
} PlayerSword;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerShield {
|
||||
/* 0x00 */ PLAYER_SHIELD_NONE,
|
||||
/* 0x01 */ PLAYER_SHIELD_DEKU,
|
||||
/* 0x02 */ PLAYER_SHIELD_HYLIAN,
|
||||
|
@ -23,14 +23,14 @@ typedef enum {
|
|||
/* 0x04 */ PLAYER_SHIELD_MAX
|
||||
} PlayerShield;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerTunic {
|
||||
/* 0x00 */ PLAYER_TUNIC_KOKIRI,
|
||||
/* 0x01 */ PLAYER_TUNIC_GORON,
|
||||
/* 0x02 */ PLAYER_TUNIC_ZORA,
|
||||
/* 0x03 */ PLAYER_TUNIC_MAX
|
||||
} PlayerTunic;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerBoots {
|
||||
/* 0x00 */ PLAYER_BOOTS_KOKIRI,
|
||||
/* 0x01 */ PLAYER_BOOTS_IRON,
|
||||
/* 0x02 */ PLAYER_BOOTS_HOVER,
|
||||
|
@ -41,7 +41,7 @@ typedef enum {
|
|||
/* 0x06 */ PLAYER_BOOTS_MAX
|
||||
} PlayerBoots;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerStrength {
|
||||
/* 0x00 */ PLAYER_STR_NONE,
|
||||
/* 0x01 */ PLAYER_STR_BRACELET,
|
||||
/* 0x02 */ PLAYER_STR_SILVER_G,
|
||||
|
@ -49,7 +49,7 @@ typedef enum {
|
|||
/* 0x04 */ PLAYER_STR_MAX
|
||||
} PlayerStrength;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerMask {
|
||||
/* 0x00 */ PLAYER_MASK_NONE,
|
||||
/* 0x01 */ PLAYER_MASK_KEATON,
|
||||
/* 0x02 */ PLAYER_MASK_SKULL,
|
||||
|
@ -62,7 +62,7 @@ typedef enum {
|
|||
/* 0x09 */ PLAYER_MASK_MAX
|
||||
} PlayerMask;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerEnvHazard {
|
||||
/* 0x0 */ PLAYER_ENV_HAZARD_NONE,
|
||||
/* 0x1 */ PLAYER_ENV_HAZARD_HOTROOM,
|
||||
/* 0x2 */ PLAYER_ENV_HAZARD_UNDERWATER_FLOOR,
|
||||
|
@ -70,7 +70,7 @@ typedef enum {
|
|||
/* 0x4 */ PLAYER_ENV_HAZARD_UNDERWATER_FREE
|
||||
} PlayerEnvHazard;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerItemAction {
|
||||
/* 0x00 */ PLAYER_IA_NONE,
|
||||
/* 0x01 */ PLAYER_IA_SWORD_CS, // Hold sword without shield in hand. The sword is not useable.
|
||||
/* 0x02 */ PLAYER_IA_FISHING_POLE,
|
||||
|
@ -141,7 +141,7 @@ typedef enum {
|
|||
/* 0x43 */ PLAYER_IA_MAX
|
||||
} PlayerItemAction;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerLimb {
|
||||
/* 0x00 */ PLAYER_LIMB_NONE,
|
||||
/* 0x01 */ PLAYER_LIMB_ROOT,
|
||||
/* 0x02 */ PLAYER_LIMB_WAIST,
|
||||
|
@ -167,7 +167,7 @@ typedef enum {
|
|||
/* 0x16 */ PLAYER_LIMB_MAX
|
||||
} PlayerLimb;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerBodyPart {
|
||||
/* 0x00 */ PLAYER_BODYPART_WAIST, // PLAYER_LIMB_WAIST
|
||||
/* 0x01 */ PLAYER_BODYPART_R_THIGH, // PLAYER_LIMB_R_THIGH
|
||||
/* 0x02 */ PLAYER_BODYPART_R_SHIN, // PLAYER_LIMB_R_SHIN
|
||||
|
@ -189,7 +189,7 @@ typedef enum {
|
|||
/* 0x12 */ PLAYER_BODYPART_MAX
|
||||
} PlayerBodyPart;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerMeleeWeaponAnimation {
|
||||
/* 0 */ PLAYER_MWA_FORWARD_SLASH_1H,
|
||||
/* 1 */ PLAYER_MWA_FORWARD_SLASH_2H,
|
||||
/* 2 */ PLAYER_MWA_FORWARD_COMBO_1H,
|
||||
|
@ -221,7 +221,7 @@ typedef enum {
|
|||
/* 28 */ PLAYER_MWA_MAX
|
||||
} PlayerMeleeWeaponAnimation;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerDoorType {
|
||||
/* -1 */ PLAYER_DOORTYPE_AJAR = -1,
|
||||
/* 0 */ PLAYER_DOORTYPE_NONE,
|
||||
/* 1 */ PLAYER_DOORTYPE_HANDLE,
|
||||
|
@ -229,13 +229,13 @@ typedef enum {
|
|||
/* 3 */ PLAYER_DOORTYPE_FAKE
|
||||
} PlayerDoorType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerFacePart {
|
||||
/* 0 */ PLAYER_FACEPART_EYES,
|
||||
/* 1 */ PLAYER_FACEPART_MOUTH,
|
||||
/* 2 */ PLAYER_FACEPART_MAX
|
||||
} PlayerFacePart;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerEyes {
|
||||
/* 0 */ PLAYER_EYES_OPEN,
|
||||
/* 1 */ PLAYER_EYES_HALF,
|
||||
/* 2 */ PLAYER_EYES_CLOSED,
|
||||
|
@ -247,7 +247,7 @@ typedef enum {
|
|||
/* 8 */ PLAYER_EYES_MAX
|
||||
} PlayerEyes;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerMouth {
|
||||
/* 0 */ PLAYER_MOUTH_CLOSED,
|
||||
/* 1 */ PLAYER_MOUTH_HALF,
|
||||
/* 2 */ PLAYER_MOUTH_OPEN,
|
||||
|
@ -255,7 +255,7 @@ typedef enum {
|
|||
/* 4 */ PLAYER_MOUTH_MAX
|
||||
} PlayerMouth;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerFace {
|
||||
/* 0 */ PLAYER_FACE_NEUTRAL, // eyes open and mouth closed
|
||||
/* 1 */ PLAYER_FACE_NEUTRAL_BLINKING_HALF, // eyes half open and mouth closed
|
||||
/* 2 */ PLAYER_FACE_NEUTRAL_BLINKING_CLOSED, // eyes and mouth closed
|
||||
|
@ -275,7 +275,7 @@ typedef enum {
|
|||
/* 16 */ PLAYER_FACE_MAX
|
||||
} PlayerFace;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerModelGroup {
|
||||
/* 0x00 */ PLAYER_MODELGROUP_0, // unused (except for a bug in `Player_OverrideLimbDrawPause`)
|
||||
/* 0x01 */ PLAYER_MODELGROUP_CHILD_HYLIAN_SHIELD, //hold sword only. used for holding sword only as child link with hylian shield equipped
|
||||
/* 0x02 */ PLAYER_MODELGROUP_SWORD_AND_SHIELD, // hold sword and shield or just sword if no shield is equipped
|
||||
|
@ -295,7 +295,7 @@ typedef enum {
|
|||
/* 0x10 */ PLAYER_MODELGROUP_MAX
|
||||
} PlayerModelGroup;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerModelGroupEntry {
|
||||
/* 0x00 */ PLAYER_MODELGROUPENTRY_ANIM,
|
||||
/* 0x01 */ PLAYER_MODELGROUPENTRY_LEFT_HAND,
|
||||
/* 0x02 */ PLAYER_MODELGROUPENTRY_RIGHT_HAND,
|
||||
|
@ -304,7 +304,7 @@ typedef enum {
|
|||
/* 0x05 */ PLAYER_MODELGROUPENTRY_MAX
|
||||
} PlayerModelGroupEntry;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerModelType {
|
||||
// left hand
|
||||
/* 0x00 */ PLAYER_MODELTYPE_LH_OPEN, // empty open hand
|
||||
/* 0x01 */ PLAYER_MODELTYPE_LH_CLOSED, // empty closed hand
|
||||
|
@ -334,7 +334,7 @@ typedef enum {
|
|||
/* 0xFF */ PLAYER_MODELTYPE_RH_FF = 0xFF // disable shield collider, cutscene-specific
|
||||
} PlayerModelType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerAnimType {
|
||||
/* 0x00 */ PLAYER_ANIMTYPE_0,
|
||||
/* 0x01 */ PLAYER_ANIMTYPE_1,
|
||||
/* 0x02 */ PLAYER_ANIMTYPE_2,
|
||||
|
@ -347,7 +347,7 @@ typedef enum {
|
|||
/**
|
||||
* Temporary names, derived from original animation names in `D_80853914`
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum PlayerAnimGroup {
|
||||
/* 0x00 */ PLAYER_ANIMGROUP_wait,
|
||||
/* 0x01 */ PLAYER_ANIMGROUP_walk,
|
||||
/* 0x02 */ PLAYER_ANIMGROUP_run,
|
||||
|
@ -399,7 +399,7 @@ typedef enum {
|
|||
#define LIMB_BUF_COUNT(limbCount) ((ALIGN16((limbCount) * sizeof(Vec3s)) + sizeof(Vec3s) - 1) / sizeof(Vec3s))
|
||||
#define PLAYER_LIMB_BUF_COUNT LIMB_BUF_COUNT(PLAYER_LIMB_MAX)
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerCsAction {
|
||||
/* 0x00 */ PLAYER_CSACTION_NONE,
|
||||
/* 0x01 */ PLAYER_CSACTION_1,
|
||||
/* 0x02 */ PLAYER_CSACTION_2,
|
||||
|
@ -506,7 +506,7 @@ typedef enum {
|
|||
/* 0x67 */ PLAYER_CSACTION_MAX
|
||||
} PlayerCsAction;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerCueId {
|
||||
/* 0x00 */ PLAYER_CUEID_NONE,
|
||||
/* 0x01 */ PLAYER_CUEID_1,
|
||||
/* 0x02 */ PLAYER_CUEID_2,
|
||||
|
@ -588,7 +588,7 @@ typedef enum {
|
|||
/* 0x4E */ PLAYER_CUEID_MAX
|
||||
} PlayerCueId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerLedgeClimbType {
|
||||
/* 0 */ PLAYER_LEDGE_CLIMB_NONE,
|
||||
/* 1 */ PLAYER_LEDGE_CLIMB_1,
|
||||
/* 2 */ PLAYER_LEDGE_CLIMB_2,
|
||||
|
@ -596,7 +596,7 @@ typedef enum {
|
|||
/* 4 */ PLAYER_LEDGE_CLIMB_4
|
||||
} PlayerLedgeClimbType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum PlayerStickDirection {
|
||||
/* -1 */ PLAYER_STICK_DIR_NONE = -1,
|
||||
/* 0 */ PLAYER_STICK_DIR_FORWARD,
|
||||
/* 1 */ PLAYER_STICK_DIR_LEFT,
|
||||
|
@ -604,7 +604,7 @@ typedef enum {
|
|||
/* 3 */ PLAYER_STICK_DIR_RIGHT
|
||||
} PlayerStickDirection;
|
||||
|
||||
typedef struct {
|
||||
typedef struct PlayerAgeProperties {
|
||||
/* 0x00 */ f32 ceilingCheckHeight;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
|
@ -640,7 +640,7 @@ typedef struct {
|
|||
/* 0xCC */ LinkAnimationHeader* unk_CC[2];
|
||||
} PlayerAgeProperties; // size = 0xD4
|
||||
|
||||
typedef struct {
|
||||
typedef struct WeaponInfo {
|
||||
/* 0x00 */ s32 active;
|
||||
/* 0x04 */ Vec3f tip;
|
||||
/* 0x10 */ Vec3f base;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "z64math.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum Language {
|
||||
#if OOT_NTSC
|
||||
/* 0 */ LANGUAGE_JPN,
|
||||
/* 1 */ LANGUAGE_ENG,
|
||||
|
@ -19,7 +19,7 @@ typedef enum {
|
|||
// `_FORCE` means that this request will respond to `forceRisingButtonAlphas`.
|
||||
// If set, the buttons will also raise alphas but will also account for disabled buttons
|
||||
|
||||
typedef enum {
|
||||
typedef enum HudVisibilityMode {
|
||||
/* 0 */ HUD_VISIBILITY_NO_CHANGE,
|
||||
/* 1 */ HUD_VISIBILITY_NOTHING,
|
||||
/* 2 */ HUD_VISIBILITY_NOTHING_ALT, // Identical to HUD_VISIBILITY_NOTHING
|
||||
|
@ -38,7 +38,7 @@ typedef enum {
|
|||
/* 52 */ HUD_VISIBILITY_NOTHING_INSTANT = 52
|
||||
} HudVisibilityMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum MagicState {
|
||||
/* 0x0 */ MAGIC_STATE_IDLE, // Regular gameplay
|
||||
/* 0x1 */ MAGIC_STATE_CONSUME_SETUP, // Sets the speed at which magic border flashes
|
||||
/* 0x2 */ MAGIC_STATE_CONSUME, // Consume magic until target is reached or no more magic is available
|
||||
|
@ -52,7 +52,7 @@ typedef enum {
|
|||
/* 0xA */ MAGIC_STATE_ADD // Add requested magic
|
||||
} MagicState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum MagicChangeType {
|
||||
/* 0 */ MAGIC_CONSUME_NOW, // Consume Magic immediately without preview
|
||||
/* 1 */ MAGIC_CONSUME_WAIT_NO_PREVIEW, // Sets consume target but waits to consume. No yellow magic preview to target consumption. Unused
|
||||
/* 2 */ MAGIC_CONSUME_NOW_ALT, // Identical behaviour to MAGIC_CONSUME_NOW. Unused
|
||||
|
@ -64,13 +64,13 @@ typedef enum {
|
|||
#define MAGIC_NORMAL_METER 0x30
|
||||
#define MAGIC_DOUBLE_METER (2 * MAGIC_NORMAL_METER)
|
||||
|
||||
typedef struct {
|
||||
typedef struct ItemEquips {
|
||||
/* 0x00 */ u8 buttonItems[4];
|
||||
/* 0x04 */ u8 cButtonSlots[3];
|
||||
/* 0x08 */ u16 equipment; // a mask where each nibble corresponds to a type of equipment `EquipmentType`, and each nibble is a piece `EquipValue*`
|
||||
} ItemEquips; // size = 0x0A
|
||||
|
||||
typedef struct {
|
||||
typedef struct Inventory {
|
||||
/* 0x00 */ u8 items[24];
|
||||
/* 0x18 */ s8 ammo[16];
|
||||
/* 0x28 */ u16 equipment; // a mask where each nibble corresponds to a type of equipment `EquipmentType`, and each bit to an owned piece `EquipInv*`
|
||||
|
@ -82,7 +82,7 @@ typedef struct {
|
|||
/* 0x5C */ s16 gsTokens;
|
||||
} Inventory; // size = 0x5E
|
||||
|
||||
typedef struct {
|
||||
typedef struct SavedSceneFlags {
|
||||
/* 0x00 */ u32 chest;
|
||||
/* 0x04 */ u32 swch;
|
||||
/* 0x08 */ u32 clear;
|
||||
|
@ -92,7 +92,7 @@ typedef struct {
|
|||
/* 0x18 */ u32 floors;
|
||||
} SavedSceneFlags; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct HorseData {
|
||||
/* 0x00 */ s16 sceneId;
|
||||
/* 0x02 */ Vec3s pos;
|
||||
/* 0x08 */ s16 angle;
|
||||
|
@ -104,14 +104,14 @@ typedef struct {
|
|||
* "return": coming from the ground
|
||||
* "top": coming from the air
|
||||
*/
|
||||
typedef enum {
|
||||
typedef enum RespawnMode {
|
||||
/* 0x00 */ RESPAWN_MODE_DOWN, /* Normal Void Outs */
|
||||
/* 0x01 */ RESPAWN_MODE_RETURN, /* Grotto Returnpoints */
|
||||
/* 0x02 */ RESPAWN_MODE_TOP, /* Farore's Wind */
|
||||
/* 0x03 */ RESPAWN_MODE_MAX
|
||||
} RespawnMode;
|
||||
|
||||
typedef struct {
|
||||
typedef struct RespawnData {
|
||||
/* 0x00 */ Vec3f pos;
|
||||
/* 0x0C */ s16 yaw;
|
||||
/* 0x0E */ s16 playerParams;
|
||||
|
@ -122,7 +122,7 @@ typedef struct {
|
|||
/* 0x18 */ u32 tempCollectFlags;
|
||||
} RespawnData; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct FaroresWindData {
|
||||
/* 0x00 */ Vec3i pos;
|
||||
/* 0x0C */ s32 yaw;
|
||||
/* 0x10 */ s32 playerParams;
|
||||
|
@ -133,7 +133,7 @@ typedef struct {
|
|||
/* 0x24 */ s32 tempCollectFlags;
|
||||
} FaroresWindData; // size = 0x28
|
||||
|
||||
typedef enum {
|
||||
typedef enum TimerState {
|
||||
/* 0x0 */ TIMER_STATE_OFF,
|
||||
/* 0x1 */ TIMER_STATE_ENV_HAZARD_INIT, // Init env timer that counts down, total time based on health, resets on void-out, kills at 0
|
||||
/* 0x2 */ TIMER_STATE_ENV_HAZARD_PREVIEW, // Display initial time, keep it fixed at the screen center
|
||||
|
@ -151,7 +151,7 @@ typedef enum {
|
|||
/* 0xF */ TIMER_STATE_UP_FREEZE // Stop counting the timer
|
||||
} TimerState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SubTimerState {
|
||||
/* 0x0 */ SUBTIMER_STATE_OFF,
|
||||
/* 0x1 */ SUBTIMER_STATE_DOWN_INIT, // Init timer that counts down
|
||||
/* 0x2 */ SUBTIMER_STATE_DOWN_PREVIEW, // Display initial time, keep it fixed at the screen center
|
||||
|
@ -165,7 +165,7 @@ typedef enum {
|
|||
/* 0xA */ SUBTIMER_STATE_UP_TICK // Counting up
|
||||
} SubTimerState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TimerId {
|
||||
/* 0 */ TIMER_ID_MAIN, // Takes priority in both counting and drawing. See `timerState` and `timerSeconds`
|
||||
/* 1 */ TIMER_ID_SUB, // See `subTimerState` and `subTimerSeconds`
|
||||
/* 2 */ TIMER_ID_MAX
|
||||
|
@ -177,7 +177,7 @@ typedef enum {
|
|||
#define ENV_HAZARD_TEXT_TRIGGER_UNDERWATER (1 << 1)
|
||||
|
||||
// offsets in SavePlayerData and SaveContext/Save
|
||||
typedef struct {
|
||||
typedef struct SavePlayerData {
|
||||
/* 0x00 0x001C */ char newf[6]; // string "ZELDAZ"
|
||||
/* 0x06 0x0022 */ u16 deaths;
|
||||
/* 0x08 0x0024 */ char playerName[8];
|
||||
|
@ -203,7 +203,7 @@ typedef struct {
|
|||
} SavePlayerData;
|
||||
|
||||
// offsets in SaveInfo and SaveContext/Save
|
||||
typedef struct {
|
||||
typedef struct SaveInfo {
|
||||
/* 0x0000 0x001C */ SavePlayerData playerData; // "S_Private"
|
||||
/* 0x004C 0x0068 */ ItemEquips equips;
|
||||
/* 0x0058 0x0074 */ Inventory inventory;
|
||||
|
@ -229,7 +229,7 @@ typedef struct {
|
|||
/* 0x1336 0x1352 */ u16 checksum; // "check_sum"
|
||||
} SaveInfo;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Save {
|
||||
/* 0x00 */ s32 entranceIndex;
|
||||
/* 0x04 */ s32 linkAge; // 0: Adult; 1: Child (see enum `LinkAge`)
|
||||
/* 0x08 */ s32 cutsceneIndex;
|
||||
|
@ -240,7 +240,7 @@ typedef struct {
|
|||
/* 0x1C */ SaveInfo info; // "information"
|
||||
} Save;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SaveContext {
|
||||
/* 0x0000 */ Save save; // "memory"
|
||||
/* 0x1354 */ s32 fileNum; // "file_no"
|
||||
/* 0x1358 */ char unk_1358[0x0004];
|
||||
|
@ -305,12 +305,12 @@ typedef struct {
|
|||
/* 0x1424 */ s16 healthAccumulator;
|
||||
} SaveContext; // size = 0x1428
|
||||
|
||||
typedef enum {
|
||||
typedef enum ButtonStatus {
|
||||
/* 0x00 */ BTN_ENABLED,
|
||||
/* 0xFF */ BTN_DISABLED = 0xFF
|
||||
} ButtonStatus;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ChamberCutsceneNum {
|
||||
/* 0 */ CHAMBER_CS_FOREST,
|
||||
/* 1 */ CHAMBER_CS_FIRE,
|
||||
/* 2 */ CHAMBER_CS_WATER,
|
||||
|
@ -319,7 +319,7 @@ typedef enum {
|
|||
/* 5 */ CHAMBER_CS_LIGHT
|
||||
} ChamberCutsceneNum;
|
||||
|
||||
typedef enum {
|
||||
typedef enum HighScores {
|
||||
/* 0x00 */ HS_HBA, // horseback archery
|
||||
/* 0x01 */ HS_POE_POINTS,
|
||||
/* 0x02 */ HS_FISHING,
|
||||
|
@ -341,21 +341,21 @@ typedef enum {
|
|||
#define HS_FISH_CHEAT_ADULT 0x80000000 // used Sinking Lure as adult to catch record fish
|
||||
#define HS_FISH_PLAYED 0x10000 // incremented for every play. controls weather.
|
||||
|
||||
typedef enum {
|
||||
typedef enum SunsSongState {
|
||||
/* 0 */ SUNSSONG_INACTIVE,
|
||||
/* 1 */ SUNSSONG_START, // the suns ocarina effect signals that the song has finished playing
|
||||
/* 2 */ SUNSSONG_SPEED_TIME, // suns was played where time passes, speed up the advancement of time
|
||||
/* 3 */ SUNSSONG_SPECIAL // time does not advance, but signals the song was played. used for freezing redeads
|
||||
} SunsSongState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum GameMode {
|
||||
/* 0 */ GAMEMODE_NORMAL,
|
||||
/* 1 */ GAMEMODE_TITLE_SCREEN,
|
||||
/* 2 */ GAMEMODE_FILE_SELECT, // Note: only instance type transitions swap to file select
|
||||
/* 3 */ GAMEMODE_END_CREDITS
|
||||
} GameMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SceneLayer {
|
||||
/* 0 */ SCENE_LAYER_CHILD_DAY,
|
||||
/* 1 */ SCENE_LAYER_CHILD_NIGHT,
|
||||
/* 2 */ SCENE_LAYER_ADULT_DAY,
|
||||
|
@ -365,7 +365,7 @@ typedef enum {
|
|||
|
||||
#define IS_CUTSCENE_LAYER (gSaveContext.sceneLayer >= SCENE_LAYER_CUTSCENE_FIRST)
|
||||
|
||||
typedef enum {
|
||||
typedef enum LinkAge {
|
||||
/* 0 */ LINK_AGE_ADULT,
|
||||
/* 1 */ LINK_AGE_CHILD
|
||||
} LinkAge;
|
||||
|
@ -820,7 +820,7 @@ typedef enum {
|
|||
#define EVENTINF_HORSES_0A ((EVENTINF_HORSES_INDEX << 4) | EVENTINF_HORSES_0A_SHIFT)
|
||||
#define EVENTINF_CUCCO_GAME_FINISHED EVENTINF_HORSES_0A
|
||||
|
||||
typedef enum {
|
||||
typedef enum EventInfHorsesState {
|
||||
/* 0 */ EVENTINF_HORSES_STATE_0,
|
||||
/* 1 */ EVENTINF_HORSES_STATE_1,
|
||||
/* 2 */ EVENTINF_HORSES_STATE_2,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
#include "command_macros_base.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct SceneTableEntry {
|
||||
/* 0x00 */ RomFile sceneFile;
|
||||
/* 0x08 */ RomFile titleFile;
|
||||
/* 0x10 */ u8 unk_10;
|
||||
|
@ -15,14 +15,14 @@ typedef struct {
|
|||
/* 0x13 */ u8 unk_13;
|
||||
} SceneTableEntry; // size = 0x14
|
||||
|
||||
typedef struct {
|
||||
typedef struct ActorEntry {
|
||||
/* 0x00 */ s16 id;
|
||||
/* 0x02 */ Vec3s pos;
|
||||
/* 0x08 */ Vec3s rot;
|
||||
/* 0x0E */ s16 params;
|
||||
} ActorEntry; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionActorEntry {
|
||||
struct {
|
||||
s8 room; // Room to switch to
|
||||
s8 bgCamIndex; // How the camera reacts during the transition. See `Camera_ChangeDoorCam`
|
||||
|
@ -38,53 +38,53 @@ typedef struct TransitionActorContext {
|
|||
/* 0x04 */ TransitionActorEntry* list;
|
||||
} TransitionActorContext; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct Spawn {
|
||||
/* 0x00 */ u8 playerEntryIndex;
|
||||
/* 0x01 */ u8 room;
|
||||
} Spawn;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Path {
|
||||
/* 0x00 */ u8 count; // number of points in the path
|
||||
/* 0x04 */ Vec3s* points; // Segment Address to the array of points
|
||||
} Path; // size = 0x8
|
||||
|
||||
// Room shapes
|
||||
|
||||
typedef enum {
|
||||
typedef enum RoomShapeType {
|
||||
/* 0 */ ROOM_SHAPE_TYPE_NORMAL,
|
||||
/* 1 */ ROOM_SHAPE_TYPE_IMAGE,
|
||||
/* 2 */ ROOM_SHAPE_TYPE_CULLABLE,
|
||||
/* 3 */ ROOM_SHAPE_TYPE_MAX
|
||||
} RoomShapeType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeBase {
|
||||
/* 0x00 */ u8 type;
|
||||
} RoomShapeBase; // size = 0x01
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeDListsEntry {
|
||||
/* 0x00 */ Gfx* opa;
|
||||
/* 0x04 */ Gfx* xlu;
|
||||
} RoomShapeDListsEntry; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeNormal {
|
||||
/* 0x00 */ RoomShapeBase base;
|
||||
/* 0x01 */ u8 numEntries;
|
||||
/* 0x04 */ RoomShapeDListsEntry* entries;
|
||||
/* 0x08 */ RoomShapeDListsEntry* entriesEnd;
|
||||
} RoomShapeNormal; // size = 0x0C
|
||||
|
||||
typedef enum {
|
||||
typedef enum RoomShapeImageAmountType {
|
||||
/* 1 */ ROOM_SHAPE_IMAGE_AMOUNT_SINGLE = 1,
|
||||
/* 2 */ ROOM_SHAPE_IMAGE_AMOUNT_MULTI
|
||||
} RoomShapeImageAmountType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeImageBase {
|
||||
/* 0x00 */ RoomShapeBase base;
|
||||
/* 0x01 */ u8 amountType; // RoomShapeImageAmountType
|
||||
/* 0x04 */ RoomShapeDListsEntry* entry;
|
||||
} RoomShapeImageBase; // size = 0x08
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeImageSingle {
|
||||
/* 0x00 */ RoomShapeImageBase base;
|
||||
/* 0x08 */ void* source;
|
||||
/* 0x0C */ u32 unk_0C;
|
||||
|
@ -97,7 +97,7 @@ typedef struct {
|
|||
/* 0x1C */ u16 tlutCount;
|
||||
} RoomShapeImageSingle; // size = 0x20
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeImageMultiBgEntry {
|
||||
/* 0x00 */ u16 unk_00;
|
||||
/* 0x02 */ u8 bgCamIndex; // for which bg cam index is this entry for
|
||||
/* 0x04 */ void* source;
|
||||
|
@ -111,13 +111,13 @@ typedef struct {
|
|||
/* 0x18 */ u16 tlutCount;
|
||||
} RoomShapeImageMultiBgEntry; // size = 0x1C
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeImageMulti {
|
||||
/* 0x00 */ RoomShapeImageBase base;
|
||||
/* 0x08 */ u8 numBackgrounds;
|
||||
/* 0x0C */ RoomShapeImageMultiBgEntry* backgrounds;
|
||||
} RoomShapeImageMulti; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeCullableEntry {
|
||||
/* 0x00 */ Vec3s boundsSphereCenter;
|
||||
/* 0x06 */ s16 boundsSphereRadius;
|
||||
/* 0x08 */ Gfx* opa;
|
||||
|
@ -126,14 +126,14 @@ typedef struct {
|
|||
|
||||
#define ROOM_SHAPE_CULLABLE_MAX_ENTRIES 64
|
||||
|
||||
typedef struct {
|
||||
typedef struct RoomShapeCullable {
|
||||
/* 0x00 */ RoomShapeBase base;
|
||||
/* 0x01 */ u8 numEntries;
|
||||
/* 0x04 */ RoomShapeCullableEntry* entries;
|
||||
/* 0x08 */ RoomShapeCullableEntry* entriesEnd;
|
||||
} RoomShapeCullable; // size = 0x0C
|
||||
|
||||
typedef union {
|
||||
typedef union RoomShape {
|
||||
RoomShapeBase base;
|
||||
RoomShapeNormal normal;
|
||||
union {
|
||||
|
@ -193,43 +193,43 @@ typedef struct RoomContext {
|
|||
|
||||
// Scene commands
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdBase {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 data2;
|
||||
} SCmdBase;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdPlayerEntryList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 length;
|
||||
/* 0x04 */ ActorEntry* data;
|
||||
} SCmdPlayerEntryList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdActorEntryList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 length;
|
||||
/* 0x04 */ ActorEntry* data;
|
||||
} SCmdActorEntryList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdUnused02 {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ void* segment;
|
||||
} SCmdUnused02;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdColHeader {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ CollisionHeader* data;
|
||||
} SCmdColHeader;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdRoomList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 length;
|
||||
/* 0x04 */ RomFile* data;
|
||||
} SCmdRoomList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdWindSettings {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
|
@ -239,61 +239,61 @@ typedef struct {
|
|||
/* 0x07 */ u8 unk_07;
|
||||
} SCmdWindSettings;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdSpawnList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ Spawn* data;
|
||||
} SCmdSpawnList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdSpecialFiles {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 naviQuestHintFileId;
|
||||
/* 0x04 */ u32 keepObjectId;
|
||||
} SCmdSpecialFiles;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdRoomBehavior {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 gpFlag1;
|
||||
/* 0x04 */ u32 gpFlag2;
|
||||
} SCmdRoomBehavior;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdMesh {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ RoomShapeBase* data;
|
||||
} SCmdMesh;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdObjectList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 length;
|
||||
/* 0x04 */ s16* data;
|
||||
} SCmdObjectList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdLightList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 length;
|
||||
/* 0x04 */ LightInfo* data;
|
||||
} SCmdLightList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdPathList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ Path* data;
|
||||
} SCmdPathList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdTransiActorList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 length;
|
||||
/* 0x04 */ TransitionActorEntry* data;
|
||||
} SCmdTransiActorList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdLightSettingList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 length;
|
||||
/* 0x04 */ EnvLightSettings* data;
|
||||
} SCmdLightSettingList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdTimeSettings {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
|
@ -302,7 +302,7 @@ typedef struct {
|
|||
/* 0x06 */ u8 timeSpeed;
|
||||
} SCmdTimeSettings;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdSkyboxSettings {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
|
@ -311,7 +311,7 @@ typedef struct {
|
|||
/* 0x06 */ u8 envLightMode;
|
||||
} SCmdSkyboxSettings;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdSkyboxDisables {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[2];
|
||||
|
@ -319,19 +319,19 @@ typedef struct {
|
|||
/* 0x05 */ u8 sunMoonDisabled;
|
||||
} SCmdSkyboxDisables;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdEndMarker {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ u32 data2;
|
||||
} SCmdEndMarker;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdExitList {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ s16* data;
|
||||
} SCmdExitList;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdSoundSettings {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 specId;
|
||||
/* 0x02 */ char pad[4];
|
||||
|
@ -339,32 +339,32 @@ typedef struct {
|
|||
/* 0x07 */ u8 seqId;
|
||||
} SCmdSoundSettings;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdEchoSettings {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x02 */ char pad[5];
|
||||
/* 0x07 */ u8 echo;
|
||||
} SCmdEchoSettings;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdCutsceneData {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ void* data;
|
||||
} SCmdCutsceneData;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdAltHeaders {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 data1;
|
||||
/* 0x04 */ void* data;
|
||||
} SCmdAltHeaders;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SCmdMiscSettings {
|
||||
/* 0x00 */ u8 code;
|
||||
/* 0x01 */ u8 sceneCamType;
|
||||
/* 0x04 */ u32 area;
|
||||
} SCmdMiscSettings;
|
||||
|
||||
typedef union {
|
||||
typedef union SceneCmd {
|
||||
SCmdBase base;
|
||||
SCmdPlayerEntryList playerEntryList;
|
||||
SCmdActorEntryList actorEntryList;
|
||||
|
@ -397,7 +397,7 @@ typedef BAD_RETURN(s32) (*SceneCmdHandlerFunc)(struct PlayState*, SceneCmd*);
|
|||
|
||||
#define DEFINE_SCENE(_0, _1, enum, _3, _4, _5) enum,
|
||||
|
||||
typedef enum {
|
||||
typedef enum SceneID {
|
||||
#include "tables/scene_table.h"
|
||||
/* 0x6E */ SCENE_ID_MAX
|
||||
} SceneID;
|
||||
|
@ -423,7 +423,7 @@ typedef enum {
|
|||
// Entrance Index Enum
|
||||
#define DEFINE_ENTRANCE(enum, _1, _2, _3, _4, _5, _6) enum,
|
||||
|
||||
typedef enum {
|
||||
typedef enum EntranceIndex {
|
||||
#include "tables/entrance_table.h"
|
||||
/* 0x614 */ ENTR_MAX
|
||||
} EntranceIndex;
|
||||
|
@ -432,7 +432,7 @@ typedef enum {
|
|||
|
||||
#define ENTR_LOAD_OPENING -1
|
||||
|
||||
typedef enum {
|
||||
typedef enum ReturnEntranceIndex {
|
||||
/* 0x7FF9 */ ENTR_RETURN_GREAT_FAIRYS_FOUNTAIN_SPELLS = 0x7FF9,
|
||||
/* 0x7FFA */ ENTR_RETURN_SHOOTING_GALLERY,
|
||||
/* 0x7FFB */ ENTR_RETURN_2, // unused
|
||||
|
@ -442,7 +442,7 @@ typedef enum {
|
|||
/* 0x7FFF */ ENTR_RETURN_GROTTO // Grottos and normal Fairy Fountain
|
||||
} ReturnEntranceIndex;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SceneDrawConfig {
|
||||
/* 0 */ SDC_DEFAULT,
|
||||
/* 1 */ SDC_HYRULE_FIELD,
|
||||
/* 2 */ SDC_KAKARIKO_VILLAGE,
|
||||
|
@ -508,7 +508,7 @@ typedef enum {
|
|||
#define SCENE_CAM_TYPE_SHOOTING_GALLERY 0x50 // Unreferenced in code, and used only by the main layer of the shooting gallery scene
|
||||
|
||||
// navi hints
|
||||
typedef enum {
|
||||
typedef enum NaviQuestHintFileId {
|
||||
NAVI_QUEST_HINTS_NONE,
|
||||
NAVI_QUEST_HINTS_OVERWORLD,
|
||||
NAVI_QUEST_HINTS_DUNGEON
|
||||
|
@ -516,7 +516,7 @@ typedef enum {
|
|||
|
||||
// Scene commands
|
||||
|
||||
typedef enum {
|
||||
typedef enum SceneCommandTypeID {
|
||||
/* 0x00 */ SCENE_CMD_ID_SPAWN_LIST,
|
||||
/* 0x01 */ SCENE_CMD_ID_ACTOR_LIST,
|
||||
/* 0x02 */ SCENE_CMD_ID_UNUSED_2,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* Holds a compact version of a vertex used in the Skin system
|
||||
* It is used to initialise the Vtx used by an animated limb
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct SkinVertex {
|
||||
/* 0x00 */ u16 index;
|
||||
/* 0x02 */ s16 s; // s and t are texture coordinates (also known as u and v)
|
||||
/* 0x04 */ s16 t;
|
||||
|
@ -20,7 +20,7 @@ typedef struct {
|
|||
/**
|
||||
* Describes a position displacement and a scale to be applied to a limb at index `limbIndex`
|
||||
*/
|
||||
typedef struct {
|
||||
typedef struct SkinTransformation {
|
||||
/* 0x00 */ u8 limbIndex;
|
||||
/* 0x02 */ s16 x;
|
||||
/* 0x04 */ s16 y;
|
||||
|
@ -28,7 +28,7 @@ typedef struct {
|
|||
/* 0x08 */ u8 scale;
|
||||
} SkinTransformation; // size = 0xA
|
||||
|
||||
typedef struct {
|
||||
typedef struct SkinLimbModif {
|
||||
/* 0x00 */ u16 vtxCount; // number of vertices in this modif entry
|
||||
/* 0x02 */ u16 transformCount;
|
||||
/* 0x04 */ u16 unk_4; // index of limbTransformations?
|
||||
|
@ -36,7 +36,7 @@ typedef struct {
|
|||
/* 0x0C */ SkinTransformation* limbTransformations;
|
||||
} SkinLimbModif; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct SkinAnimatedLimbData {
|
||||
/* 0x00 */ u16 totalVtxCount; // total vertex count for all modif entries
|
||||
/* 0x02 */ u16 limbModifCount;
|
||||
/* 0x04 */ SkinLimbModif* limbModifications;
|
||||
|
@ -46,7 +46,7 @@ typedef struct {
|
|||
#define SKIN_LIMB_TYPE_ANIMATED 4
|
||||
#define SKIN_LIMB_TYPE_NORMAL 11
|
||||
|
||||
typedef struct {
|
||||
typedef struct SkinLimb {
|
||||
/* 0x00 */ Vec3s jointPos; // Root is position in model space, children are relative to parent
|
||||
/* 0x06 */ u8 child;
|
||||
/* 0x07 */ u8 sibling;
|
||||
|
@ -54,12 +54,12 @@ typedef struct {
|
|||
/* 0x0C */ void* segment; // Gfx* if segmentType is SKIN_LIMB_TYPE_NORMAL, SkinAnimatedLimbData* if segmentType is SKIN_LIMB_TYPE_ANIMATED, NULL otherwise
|
||||
} SkinLimb; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct SkinLimbVtx {
|
||||
/* 0x000 */ u8 index; // alternates every draw cycle
|
||||
/* 0x004 */ Vtx* buf[2]; // number of vertices in buffer determined by `totalVtxCount`
|
||||
} SkinLimbVtx; // size = 0xC
|
||||
|
||||
typedef struct {
|
||||
typedef struct Skin {
|
||||
/* 0x000 */ SkeletonHeader* skeletonHeader;
|
||||
/* 0x004 */ MtxF mtx;
|
||||
/* 0x044 */ s32 limbCount;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
struct GameState;
|
||||
struct GraphicsContext;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SkyboxId {
|
||||
/* 0x00 */ SKYBOX_NONE,
|
||||
/* 0x01 */ SKYBOX_NORMAL_SKY,
|
||||
/* 0x02 */ SKYBOX_BAZAAR,
|
||||
|
@ -41,7 +41,7 @@ typedef enum {
|
|||
/* 0x27 */ SKYBOX_UNSET_27 = 39
|
||||
} SkyboxId;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SkyboxDrawType {
|
||||
/* 0 */ SKYBOX_DRAW_128, // 128x128 top/bottom faces, 128x64 side faces
|
||||
/* 1 */ SKYBOX_DRAW_256_4FACE, // 256x256 all side faces with per-face palettes
|
||||
/* 2 */ SKYBOX_DRAW_256_3FACE // 256x256 3/4 side faces with per-face palettes
|
||||
|
@ -59,7 +59,7 @@ typedef struct SkyboxContext {
|
|||
/* 0x150 */ char unk_150[0x10];
|
||||
} SkyboxContext; // size = 0x160
|
||||
|
||||
typedef struct {
|
||||
typedef struct SkyboxFile {
|
||||
/* 0x00 */ RomFile file;
|
||||
/* 0x08 */ RomFile palette;
|
||||
} SkyboxFile; // size = 0x10
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
|
||||
#include "ultra64/ultratypes.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct SramContext {
|
||||
/* 0x00 */ u8* readBuff;
|
||||
} SramContext; // size = 0x4
|
||||
|
||||
#define SRAM_SIZE 0x8000
|
||||
#define SRAM_HEADER_SIZE 0x10
|
||||
|
||||
typedef enum {
|
||||
typedef enum SramHeaderField {
|
||||
/* 0x00 */ SRAM_HEADER_SOUND,
|
||||
/* 0x01 */ SRAM_HEADER_ZTARGET,
|
||||
/* 0x02 */ SRAM_HEADER_LANGUAGE,
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#define TRANS_TRIGGER_START 20 // start transition (exiting an area)
|
||||
#define TRANS_TRIGGER_END -20 // transition is ending (arriving in a new area)
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionMode {
|
||||
/* 0 */ TRANS_MODE_OFF,
|
||||
/* 1 */ TRANS_MODE_SETUP,
|
||||
/* 2 */ TRANS_MODE_INSTANCE_INIT,
|
||||
|
@ -30,7 +30,7 @@ typedef enum {
|
|||
/* 17 */ TRANS_MODE_CS_BLACK_FILL
|
||||
} TransitionMode;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionType {
|
||||
/* 0 */ TRANS_TYPE_WIPE,
|
||||
/* 1 */ TRANS_TYPE_TRIFORCE,
|
||||
/* 2 */ TRANS_TYPE_FADE_BLACK,
|
||||
|
@ -62,7 +62,7 @@ typedef enum {
|
|||
|
||||
#define TRANS_TYPE_CIRCLE(appearance, color, speed) ((1 << 5) | ((color & 3) << 3) | ((appearance & 3) << 1) | (speed & 1))
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionContext {
|
||||
union {
|
||||
TransitionFade fade;
|
||||
TransitionCircle circle;
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
#include "ultra64.h"
|
||||
#include "color.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionTileVtxData {
|
||||
/* 0x0 */ f32 x;
|
||||
/* 0x4 */ f32 y;
|
||||
} TransitionTileVtxData; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionTile {
|
||||
/* 0x00 */ s32 cols;
|
||||
/* 0x04 */ s32 rows;
|
||||
/* 0x08 */ s32 frame;
|
||||
|
@ -23,12 +23,12 @@ typedef struct {
|
|||
/* 0xDC */ u16* zBuffer;
|
||||
} TransitionTile; // size = 0xE0
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionInstanceType {
|
||||
/* 1 */ TRANS_INSTANCE_TYPE_FILL_OUT = 1,
|
||||
/* 2 */ TRANS_INSTANCE_TYPE_FILL_IN
|
||||
} TransitionInstanceType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionWipe {
|
||||
/* 0x000 */ Color_RGBA8_u32 color;
|
||||
/* 0x004 */ Color_RGBA8_u32 unkColor;
|
||||
/* 0x008 */ u8 direction;
|
||||
|
@ -44,7 +44,7 @@ typedef struct {
|
|||
|
||||
#define TRANS_INSTANCE_TYPE_FADE_FLASH 3
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionFade {
|
||||
/* 0x000 */ u8 type;
|
||||
/* 0x001 */ u8 isDone;
|
||||
/* 0x002 */ u8 direction;
|
||||
|
@ -52,26 +52,26 @@ typedef struct {
|
|||
/* 0x008 */ u16 timer;
|
||||
} TransitionFade; // size = 0xC
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionCircleAppearance {
|
||||
/* 0 */ TCA_NORMAL,
|
||||
/* 1 */ TCA_WAVE,
|
||||
/* 2 */ TCA_RIPPLE,
|
||||
/* 3 */ TCA_STARBURST
|
||||
} TransitionCircleAppearance;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionCircleColor {
|
||||
/* 0 */ TCC_BLACK,
|
||||
/* 1 */ TCC_WHITE,
|
||||
/* 2 */ TCC_GRAY,
|
||||
/* 3 */ TCC_SPECIAL // color varies depending on appearance. unused and appears broken
|
||||
} TransitionCircleColor;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionCircleSpeed {
|
||||
/* 0 */ TCS_FAST,
|
||||
/* 1 */ TCS_SLOW
|
||||
} TransitionCircleSpeed;
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionCircle {
|
||||
/* 0x000 */ Color_RGBA8_u32 color;
|
||||
/* 0x004 */ Color_RGBA8_u32 unkColor;
|
||||
/* 0x008 */ s32 texX;
|
||||
|
@ -90,7 +90,7 @@ typedef struct {
|
|||
/* 0x0A8 */ Mtx modelView[2][3];
|
||||
} TransitionCircle; // size = 0x228
|
||||
|
||||
typedef struct {
|
||||
typedef struct TransitionTriforce {
|
||||
/* 0x000 */ Color_RGBA8_u32 color;
|
||||
/* 0x004 */ f32 transPos;
|
||||
/* 0x008 */ f32 step;
|
||||
|
|
|
@ -5,14 +5,14 @@
|
|||
|
||||
struct GraphicsContext;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Viewport {
|
||||
/* 0x0 */ s32 topY; // uly (upper left y)
|
||||
/* 0x4 */ s32 bottomY; // lry (lower right y)
|
||||
/* 0x8 */ s32 leftX; // ulx (upper left x)
|
||||
/* 0xC */ s32 rightX; // lrx (lower right x)
|
||||
} Viewport; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct View {
|
||||
/* 0x000 */ s32 magic; // string literal "VIEW" / 0x56494557
|
||||
/* 0x004 */ struct GraphicsContext* gfxCtx;
|
||||
/* 0x008 */ Viewport viewport;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#include "ultra64.h"
|
||||
#include "color.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum FramebufferFilterType {
|
||||
/* 0 */ FB_FILTER_NONE,
|
||||
/* 1 */ FB_FILTER_CVG_RGB,
|
||||
/* 2 */ FB_FILTER_CVG_RGB_UNIFORM,
|
||||
|
@ -15,12 +15,12 @@ typedef enum {
|
|||
/* 7 */ FB_FILTER_MONO
|
||||
} FramebufferFilterType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum VisScissorType {
|
||||
/* 0 */ VIS_NO_SETSCISSOR,
|
||||
/* 1 */ VIS_SETSCISSOR
|
||||
} VisScissorType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct Vis {
|
||||
/* 0x00 */ u32 type;
|
||||
/* 0x04 */ u32 scissorType;
|
||||
/* 0x08 */ Color_RGBA8_u32 primColor;
|
||||
|
@ -33,7 +33,7 @@ typedef struct {
|
|||
|
||||
#define FB_FILTER_TO_CVG_TYPE(filter) (filter)
|
||||
|
||||
typedef enum {
|
||||
typedef enum VisCvgType {
|
||||
/* 0 */ VIS_CVG_TYPE_NONE = FB_FILTER_TO_CVG_TYPE(FB_FILTER_NONE),
|
||||
/* 1 */ VIS_CVG_TYPE_CVG_RGB = FB_FILTER_TO_CVG_TYPE(FB_FILTER_CVG_RGB),
|
||||
/* 2 */ VIS_CVG_TYPE_CVG_RGB_UNIFORM = FB_FILTER_TO_CVG_TYPE(FB_FILTER_CVG_RGB_UNIFORM),
|
||||
|
@ -41,7 +41,7 @@ typedef enum {
|
|||
/* 4 */ VIS_CVG_TYPE_CVG_RGB_FOG = FB_FILTER_TO_CVG_TYPE(FB_FILTER_CVG_RGB_FOG)
|
||||
} VisCvgType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct VisCvg {
|
||||
/* 0x00 */ Vis vis;
|
||||
} VisCvg; // size = 0x10
|
||||
|
||||
|
@ -71,12 +71,12 @@ void VisMono_Draw(VisMono* this, Gfx** gfxP);
|
|||
|
||||
#define FB_FILTER_TO_ZBUF_TYPE(filter) ((filter) - FB_FILTER_ZBUF_IA)
|
||||
|
||||
typedef enum {
|
||||
typedef enum VisZBufType {
|
||||
/* 0 */ VIS_ZBUF_TYPE_IA = FB_FILTER_TO_ZBUF_TYPE(FB_FILTER_ZBUF_IA),
|
||||
/* 1 */ VIS_ZBUF_TYPE_RGBA = FB_FILTER_TO_ZBUF_TYPE(FB_FILTER_ZBUF_RGBA)
|
||||
} VisZBufType;
|
||||
|
||||
typedef struct {
|
||||
typedef struct VisZBuf {
|
||||
/* 0x00 */ Vis vis;
|
||||
} VisZBuf; // size = 0x10
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#define ABS_ALT(x) ((x) < 0 ? -(x) : (x))
|
||||
|
||||
typedef struct {
|
||||
typedef struct SfxPlayerState {
|
||||
/* 0x0 */ f32 vol;
|
||||
/* 0x4 */ f32 freqScale;
|
||||
/* 0x8 */ s8 reverb;
|
||||
|
@ -13,7 +13,7 @@ typedef struct {
|
|||
/* 0xC */ u8 combFilterGain;
|
||||
} SfxPlayerState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum SfxChannelIndex {
|
||||
/* 0x0 */ SFX_CHANNEL_PLAYER0, // SfxPlayerBank
|
||||
/* 0x1 */ SFX_CHANNEL_PLAYER1,
|
||||
/* 0x2 */ SFX_CHANNEL_PLAYER2,
|
||||
|
@ -32,20 +32,20 @@ typedef enum {
|
|||
/* 0xF */ SFX_CHANNEL_VOICE1
|
||||
} SfxChannelIndex; // playerIdx = 2
|
||||
|
||||
typedef struct {
|
||||
typedef struct FreqLerp {
|
||||
/* 0x0 */ f32 value;
|
||||
/* 0x4 */ f32 target;
|
||||
/* 0x8 */ f32 step;
|
||||
/* 0xC */ s32 remainingFrames;
|
||||
} FreqLerp;
|
||||
|
||||
typedef struct {
|
||||
typedef struct NatureAmbienceDataIO {
|
||||
/* 0x0 */ u16 playerIO;
|
||||
/* 0x2 */ u16 channelMask;
|
||||
/* 0x4 */ u8 channelIO[3 * 33 + 1];
|
||||
} NatureAmbienceDataIO; // size = 0x68
|
||||
|
||||
typedef enum {
|
||||
typedef enum AudioDebugPage {
|
||||
/* 0x0 */ PAGE_NON,
|
||||
/* 0x1 */ PAGE_SOUND_CONTROL,
|
||||
/* 0x2 */ PAGE_SPEC_INFO, // unused
|
||||
|
@ -66,7 +66,7 @@ typedef enum {
|
|||
|
||||
#define SCROLL_PRINT_BUF_SIZE 25
|
||||
|
||||
typedef struct {
|
||||
typedef struct OcarinaStick {
|
||||
s8 x;
|
||||
s8 y;
|
||||
} OcarinaStick;
|
||||
|
|
|
@ -1345,7 +1345,7 @@ void AudioHeap_DiscardSampleCaches(void) {
|
|||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct StorageChange {
|
||||
u32 oldAddr;
|
||||
u32 newAddr;
|
||||
u32 size;
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
#define ASYNC_ID(v) ((u8)(v >> 8))
|
||||
#define ASYNC_LOAD_STATUS(v) ((u8)(v >> 0))
|
||||
|
||||
typedef enum {
|
||||
typedef enum SlowLoadState {
|
||||
/* 0 */ SLOW_LOAD_STATE_WAITING,
|
||||
/* 1 */ SLOW_LOAD_STATE_START,
|
||||
/* 2 */ SLOW_LOAD_STATE_LOADING,
|
||||
/* 3 */ SLOW_LOAD_STATE_DONE
|
||||
} SlowLoadState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SampleBankRelocInfo {
|
||||
/* 0x00 */ s32 sampleBankId1;
|
||||
/* 0x04 */ s32 sampleBankId2;
|
||||
/* 0x08 */ s32 baseAddr1;
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
#define PROCESS_SCRIPT_END -1
|
||||
|
||||
typedef enum {
|
||||
typedef enum PortamentoMode {
|
||||
/* 0 */ PORTAMENTO_MODE_OFF,
|
||||
/* 1 */ PORTAMENTO_MODE_1,
|
||||
/* 2 */ PORTAMENTO_MODE_2,
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#define DMEM_WET_LEFT_CH 0xC80
|
||||
#define DMEM_WET_RIGHT_CH 0xE20 // = DMEM_WET_LEFT_CH + DMEM_1CH_SIZE
|
||||
|
||||
typedef enum {
|
||||
typedef enum HaasEffectDelaySide {
|
||||
/* 0 */ HAAS_EFFECT_DELAY_NONE,
|
||||
/* 1 */ HAAS_EFFECT_DELAY_LEFT, // Delay left channel so that right channel is heard first
|
||||
/* 2 */ HAAS_EFFECT_DELAY_RIGHT // Delay right channel so that left channel is heard first
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
Audio_ProcessSeqCmd((SEQCMD_OP_SET_SEQPLAYER_VOLUME << 28) | ((u8)(seqPlayerIndex) << 24) | \
|
||||
((u8)(duration) << 16) | ((u8)((volume)*127.0f)));
|
||||
|
||||
typedef struct {
|
||||
typedef struct SeqRequest {
|
||||
/* 0x0 */ u8 seqId;
|
||||
/* 0x1 */ u8 priority; // higher values have higher priority
|
||||
} SeqRequest; // size = 0x2
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#include "global.h"
|
||||
#include "terminal.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct SfxRequest {
|
||||
/* 0x00 */ u16 sfxId;
|
||||
/* 0x04 */ Vec3f* pos;
|
||||
/* 0x08 */ u8 token;
|
||||
|
@ -11,7 +11,7 @@ typedef struct {
|
|||
/* 0x14 */ s8* reverbAdd;
|
||||
} SfxRequest; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct UnusedBankLerp {
|
||||
/* 0x00 */ f32 value;
|
||||
/* 0x04 */ f32 target;
|
||||
/* 0x08 */ f32 step;
|
||||
|
|
|
@ -85,7 +85,7 @@ STACK(sFaultStack, 0x600);
|
|||
StackEntry sFaultThreadInfo;
|
||||
FaultMgr gFaultMgr;
|
||||
|
||||
typedef struct {
|
||||
typedef struct FaultClientTask {
|
||||
/* 0x00 */ s32 (*callback)(void*, void*);
|
||||
/* 0x04 */ void* arg0;
|
||||
/* 0x08 */ void* arg1;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
#include "global.h"
|
||||
#include "terminal.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct FaultDrawer {
|
||||
/* 0x00 */ u16* fb;
|
||||
/* 0x04 */ u16 w;
|
||||
/* 0x06 */ u16 h;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct FlagSetEntry {
|
||||
/* 0x00 */ u16* value;
|
||||
/* 0x04 */ const char* name;
|
||||
} FlagSetEntry; // size = 0x08
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum LetterboxState {
|
||||
/* 0 */ LETTERBOX_STATE_IDLE,
|
||||
/* 1 */ LETTERBOX_STATE_GROWING,
|
||||
/* 2 */ LETTERBOX_STATE_SHRINKING
|
||||
|
|
|
@ -56,7 +56,7 @@ volatile OSTime D_8016A578;
|
|||
// Accumulator for `gRDPTimeTotal`
|
||||
volatile OSTime gRDPTimeAcc;
|
||||
|
||||
typedef struct {
|
||||
typedef struct SpeedMeterTimeEntry {
|
||||
/* 0x00 */ volatile OSTime* time;
|
||||
/* 0x04 */ u8 x;
|
||||
/* 0x05 */ u8 y;
|
||||
|
@ -74,7 +74,7 @@ SpeedMeterTimeEntry sSpeedMeterTimeEntryArray[] = {
|
|||
{ &gGraphUpdatePeriod, 0, 10, GPACK_RGBA5551(255, 0, 255, 1) },
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct SpeedMeterAllocEntry {
|
||||
/* 0x00 */ s32 maxval;
|
||||
/* 0x04 */ s32 val;
|
||||
/* 0x08 */ u16 backColor;
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
#include "global.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct F3dzexConst {
|
||||
/* 0x00 */ u32 value;
|
||||
/* 0x04 */ const char* name;
|
||||
} F3dzexConst; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct F3dzexFlag {
|
||||
/* 0x00 */ u32 value;
|
||||
/* 0x04 */ const char* setName;
|
||||
/* 0x08 */ const char* unsetName;
|
||||
} F3dzexFlag; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct F3dzexRenderMode {
|
||||
/* 0x00 */ const char* name;
|
||||
/* 0x04 */ u32 value;
|
||||
/* 0x08 */ u32 mask;
|
||||
} F3dzexRenderMode; // size = 0x0C
|
||||
|
||||
typedef struct {
|
||||
typedef struct F3dzexSetModeMacroValue {
|
||||
/* 0x00 */ const char* name;
|
||||
/* 0x04 */ u32 value;
|
||||
} F3dzexSetModeMacroValue; // size = 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct F3dzexSetModeMacro {
|
||||
/* 0x00 */ const char* name;
|
||||
/* 0x04 */ u32 shift;
|
||||
/* 0x08 */ u32 len;
|
||||
|
@ -69,7 +69,7 @@ F3dzexFlag sUCodeDisasMtxFlags[] = {
|
|||
F3DZEX_FLAG(G_MTX_PUSH, G_MTX_NOPUSH),
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
typedef enum CombinerArg {
|
||||
COMBINER_A = 1,
|
||||
COMBINER_B,
|
||||
COMBINER_C,
|
||||
|
|
|
@ -235,7 +235,7 @@ void Actor_ProjectPos(PlayState* play, Vec3f* src, Vec3f* xyzDest, f32* cappedIn
|
|||
*cappedInvWDest = (*cappedInvWDest < 1.0f) ? 1.0f : (1.0f / *cappedInvWDest);
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct NaviColor {
|
||||
/* 0x00 */ Color_RGBA8 inner;
|
||||
/* 0x04 */ Color_RGBA8 outer;
|
||||
} NaviColor; // size = 0x8
|
||||
|
@ -1540,7 +1540,7 @@ f32 func_8002EFC0(Actor* actor, Player* player, s16 arg2) {
|
|||
return actor->xyzDistToPlayerSq;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct TargetRangeParams {
|
||||
/* 0x0 */ f32 rangeSq;
|
||||
/* 0x4 */ f32 leashScale;
|
||||
} TargetRangeParams; // size = 0x8
|
||||
|
@ -3745,7 +3745,7 @@ f32 Rand_CenteredFloat(f32 f) {
|
|||
return (Rand_ZeroOne() - 0.5f) * f;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct DoorLockInfo {
|
||||
/* 0x00 */ f32 chainAngle;
|
||||
/* 0x04 */ f32 chainLength;
|
||||
/* 0x08 */ f32 yShift;
|
||||
|
@ -3900,7 +3900,7 @@ s32 Npc_UpdateTalking(PlayState* play, Actor* actor, s16* talkState, f32 interac
|
|||
return false;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct NpcTrackingRotLimits {
|
||||
/* 0x00 */ s16 maxHeadYaw;
|
||||
/* 0x02 */ s16 minHeadPitch;
|
||||
/* 0x04 */ s16 maxHeadPitch;
|
||||
|
@ -3910,7 +3910,7 @@ typedef struct {
|
|||
/* 0x0C */ u8 rotateYaw;
|
||||
} NpcTrackingRotLimits; // size = 0x10
|
||||
|
||||
typedef struct {
|
||||
typedef struct NpcTrackingParams {
|
||||
/* 0x00 */ NpcTrackingRotLimits rotLimits;
|
||||
// Fields specific to NPC_TRACKING_PLAYER_AUTO_TURN mode
|
||||
/* 0x10 */ f32 autoTurnDistanceRange; // Max distance to player to enable tracking and auto-turn
|
||||
|
|
|
@ -1484,7 +1484,7 @@ s32 BgCheck_IsSpotScene(PlayState* play) {
|
|||
return false;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct BgCheckSceneMemEntry {
|
||||
s16 sceneId;
|
||||
u32 memSize;
|
||||
} BgCheckSceneMemEntry;
|
||||
|
@ -1523,7 +1523,7 @@ void BgCheck_SetSubdivisionDimension(f32 min, s32 subdivAmount, f32* max, f32* s
|
|||
*max = *subdivLength * subdivAmount + min;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct BgCheckSceneSubdivisionEntry {
|
||||
s16 sceneId;
|
||||
Vec3s subdivAmount;
|
||||
s32 nodeListMax; // if -1, dynamically compute max nodes
|
||||
|
|
|
@ -7041,7 +7041,7 @@ s32 Camera_Special5(Camera* camera) {
|
|||
return true;
|
||||
}
|
||||
|
||||
typedef enum {
|
||||
typedef enum CamElevatorPlatform {
|
||||
/* 0 */ CAM_ELEVATOR_PLATFORM_FIRE_TEMPLE_LOWER_FLOOR, // ACTOR_BG_HIDAN_ROCK
|
||||
/* 1 */ CAM_ELEVATOR_PLATFORM_FIRE_TEMPLE_EAST_TOWER, // ACTOR_BG_HIDAN_FSLIFT
|
||||
/* 2 */ CAM_ELEVATOR_PLATFORM_FIRE_TEMPLE_WEST_TOWER, // ACTOR_BG_HIDAN_SYOKU
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
#include "ultra64.h"
|
||||
#include "global.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct CameraModeValue {
|
||||
s16 val;
|
||||
s16 dataType;
|
||||
} CameraModeValue;
|
||||
|
||||
typedef struct {
|
||||
typedef struct CameraMode {
|
||||
s16 funcIdx;
|
||||
s16 valueCnt;
|
||||
CameraModeValue* values;
|
||||
} CameraMode;
|
||||
|
||||
typedef struct {
|
||||
typedef struct CameraSetting {
|
||||
union {
|
||||
u32 unk_00;
|
||||
struct {
|
||||
|
|
|
@ -1602,12 +1602,12 @@ s32 CollisionCheck_SwordHitAudio(Collider* atCol, ColliderElement* acElem) {
|
|||
return true;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct HitInfo {
|
||||
/* 0x0 */ u8 blood;
|
||||
/* 0x1 */ u8 effect;
|
||||
} HitInfo; // size = 0x2
|
||||
|
||||
typedef enum {
|
||||
typedef enum ColChkBloodType {
|
||||
/* 0 */ BLOOD_NONE,
|
||||
/* 1 */ BLOOD_BLUE,
|
||||
/* 2 */ BLOOD_GREEN,
|
||||
|
@ -1616,7 +1616,7 @@ typedef enum {
|
|||
/* 5 */ BLOOD_RED2
|
||||
} ColChkBloodType;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ColChkHitType {
|
||||
/* 0 */ HIT_WHITE,
|
||||
/* 1 */ HIT_DUST,
|
||||
/* 2 */ HIT_RED,
|
||||
|
@ -2687,7 +2687,7 @@ void CollisionCheck_AT(PlayState* play, CollisionCheckContext* colChkCtx) {
|
|||
CollisionCheck_SetHitEffects(play, colChkCtx);
|
||||
}
|
||||
|
||||
typedef enum {
|
||||
typedef enum ColChkMassType {
|
||||
/* 0 */ MASSTYPE_IMMOVABLE,
|
||||
/* 1 */ MASSTYPE_HEAVY,
|
||||
/* 2 */ MASSTYPE_NORMAL
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#include "global.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct DebugCamTextBufferEntry {
|
||||
/* 0x0 */ u8 x;
|
||||
/* 0x1 */ u8 y;
|
||||
/* 0x2 */ u8 colorIndex;
|
||||
/* 0x3 */ char text[21];
|
||||
} DebugCamTextBufferEntry; // size = 0x18
|
||||
|
||||
typedef struct {
|
||||
typedef struct InputCombo {
|
||||
/* 0x0 */ u16 hold;
|
||||
/* 0x2 */ u16 press;
|
||||
} InputCombo; // size = 0x4
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "assets/objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
typedef struct {
|
||||
typedef struct DebugDispObjectInfo {
|
||||
/* 0x00 */ s16 drawType; // indicates which draw function to use when displaying the object
|
||||
/* 0x04 */ void* drawArg; // segment address (display list or texture) passed to the draw function when called
|
||||
} DebugDispObjectInfo; // size = 0x8
|
||||
|
|
|
@ -59,7 +59,7 @@ CutsceneHandler sScriptedCutsceneHandlers[] = {
|
|||
CutsceneHandler_RunScript, // CS_STATE_RUN_UNSTOPPABLE
|
||||
};
|
||||
|
||||
typedef enum {
|
||||
typedef enum TitleDemoDestination {
|
||||
/* 0 */ TITLE_DEMO_SPIRIT_TEMPLE,
|
||||
/* 1 */ TITLE_DEMO_DEATH_MOUNTAIN_CRATER,
|
||||
/* 2 */ TITLE_DEMO_GANONDORF_HORSE
|
||||
|
@ -67,7 +67,7 @@ typedef enum {
|
|||
|
||||
u8 sTitleDemoDestination = TITLE_DEMO_SPIRIT_TEMPLE;
|
||||
|
||||
typedef struct {
|
||||
typedef struct EntranceCutscene {
|
||||
/* 0x00 */ u16 entrance; // entrance index upon which the cutscene should trigger
|
||||
/* 0x02 */ u8 ageRestriction; // 0 for adult only, 1 for child only, 2 for both ages
|
||||
/* 0x03 */ u8 flag; // eventChkInf flag bound to the entrance cutscene
|
||||
|
|
|
@ -106,7 +106,7 @@ void GetItem_DrawScale(PlayState* play, s16 drawId);
|
|||
void GetItem_DrawBulletBag(PlayState* play, s16 drawId);
|
||||
void GetItem_DrawWallet(PlayState* play, s16 drawId);
|
||||
|
||||
typedef struct {
|
||||
typedef struct DrawItemTableEntry {
|
||||
/* 0x00 */ void (*drawFunc)(PlayState*, s16);
|
||||
/* 0x04 */ Gfx* dlists[8];
|
||||
} DrawItemTableEntry; // size = 0x24
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionCircleDirection {
|
||||
/* 0 */ TRANS_CIRCLE_DIR_IN,
|
||||
/* 1 */ TRANS_CIRCLE_DIR_OUT
|
||||
} TransitionCircleDirection;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#include "global.h"
|
||||
#include "terminal.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionFadeDirection {
|
||||
/* 0 */ TRANS_FADE_DIR_IN,
|
||||
/* 1 */ TRANS_FADE_DIR_OUT
|
||||
} TransitionFadeDirection;
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionFadeType {
|
||||
/* 0 */ TRANS_FADE_TYPE_NONE,
|
||||
/* 1 */ TRANS_FADE_TYPE_ONE_WAY,
|
||||
/* 2 */ TRANS_FADE_TYPE_FLASH
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "global.h"
|
||||
|
||||
typedef enum {
|
||||
typedef enum TransitionWipeDirection {
|
||||
/* 0 */ TRANS_WIPE_DIR_IN,
|
||||
/* 1 */ TRANS_WIPE_DIR_OUT
|
||||
} TransitionWipeDirection;
|
||||
|
|
|
@ -77,7 +77,7 @@ void SkelCurve_SetAnim(SkelCurve* skelCurve, CurveAnimationHeader* animation, f3
|
|||
skelCurve->animation = animation;
|
||||
}
|
||||
|
||||
typedef enum {
|
||||
typedef enum SkelCurveVecType {
|
||||
/* 0 */ SKELCURVE_VEC_TYPE_SCALE,
|
||||
/* 1 */ SKELCURVE_VEC_TYPE_ROTATION,
|
||||
/* 2 */ SKELCURVE_VEC_TYPE_POSIITON,
|
||||
|
|
|
@ -34,7 +34,7 @@ void func_8006D0AC(PlayState* play) {
|
|||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct HorseSpawn {
|
||||
/* 0x00 */ s16 sceneId;
|
||||
/* 0x02 */ Vec3s pos;
|
||||
/* 0x08 */ s16 angle;
|
||||
|
@ -121,7 +121,7 @@ void func_8006D0EC(PlayState* play, Player* player) {
|
|||
}
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
typedef struct struct_8011F9B8 {
|
||||
/* 0x00 */ s16 sceneId;
|
||||
/* 0x04 */ s32 cutsceneIndex;
|
||||
/* 0x08 */ Vec3s pos;
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
|
||||
#pragma increment_block_number "gc-eu:128 gc-eu-mq:128 gc-jp:128 gc-jp-ce:128 gc-jp-mq:128 gc-us:128 gc-us-mq:128"
|
||||
|
||||
typedef enum {
|
||||
typedef enum LightningBoltState {
|
||||
/* 0x00 */ LIGHTNING_BOLT_START,
|
||||
/* 0x01 */ LIGHTNING_BOLT_WAIT,
|
||||
/* 0x02 */ LIGHTNING_BOLT_DRAW,
|
||||
/* 0xFF */ LIGHTNING_BOLT_INACTIVE = 0xFF
|
||||
} LightningBoltState;
|
||||
|
||||
typedef struct {
|
||||
typedef struct ZBufValConversionEntry {
|
||||
/* 0x00 */ s32 mantissaShift; // shift applied to the mantissa of the z buffer value
|
||||
/* 0x04 */ s32 base; // 15.3 fixed-point base value for the exponent
|
||||
} ZBufValConversionEntry; // size = 0x8
|
||||
|
@ -41,7 +41,7 @@ u16 gTimeSpeed = 0;
|
|||
|
||||
u16 sSunScreenDepth = GPACK_ZDZ(G_MAXFBZ, 0);
|
||||
|
||||
typedef struct {
|
||||
typedef struct TimeBasedLightEntry {
|
||||
/* 0x00 */ u16 startTime;
|
||||
/* 0x02 */ u16 endTime;
|
||||
/* 0x04 */ u8 lightSetting;
|
||||
|
@ -193,7 +193,7 @@ s16 gLensFlareScale;
|
|||
f32 gLensFlareColorIntensity;
|
||||
s16 gLensFlareGlareStrength;
|
||||
|
||||
typedef struct {
|
||||
typedef struct LightningBolt {
|
||||
/* 0x00 */ u8 state;
|
||||
/* 0x04 */ Vec3f offset;
|
||||
/* 0x10 */ Vec3f pos;
|
||||
|
@ -1485,7 +1485,7 @@ void Environment_DrawSunLensFlare(PlayState* play, EnvironmentContext* envCtx, V
|
|||
|
||||
f32 sLensFlareScales[] = { 23.0f, 12.0f, 7.0f, 5.0f, 3.0f, 10.0f, 6.0f, 2.0f, 3.0f, 1.0f };
|
||||
|
||||
typedef enum {
|
||||
typedef enum LensFlareType {
|
||||
/* 0 */ LENS_FLARE_CIRCLE0,
|
||||
/* 1 */ LENS_FLARE_CIRCLE1,
|
||||
/* 2 */ LENS_FLARE_RING
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue