2024-08-15 02:05:41 +00:00
|
|
|
#ifndef N64DD_H
|
|
|
|
#define N64DD_H
|
|
|
|
|
2024-08-25 05:04:53 +00:00
|
|
|
#include "ultra64.h"
|
2024-08-19 08:24:02 +00:00
|
|
|
#include "z64scene.h"
|
|
|
|
|
2024-09-04 05:46:41 +00:00
|
|
|
struct GameState;
|
|
|
|
union Gfx;
|
|
|
|
struct PlayState;
|
|
|
|
struct PauseMapMarksData;
|
2024-08-20 23:20:11 +00:00
|
|
|
struct RegEditor;
|
2024-09-04 05:46:41 +00:00
|
|
|
struct RoomContext;
|
2024-08-20 23:20:11 +00:00
|
|
|
struct SaveContext;
|
2024-09-04 05:46:41 +00:00
|
|
|
struct Scene;
|
2024-08-20 23:20:11 +00:00
|
|
|
|
|
|
|
// TODO Use the specific pointer types instead of void*
|
|
|
|
typedef struct n64ddStruct_800FF4B0_pointers {
|
|
|
|
void* unk_00;
|
|
|
|
void* unk_04;
|
|
|
|
struct RegEditor* unk_08;
|
|
|
|
void* unk_0C[31];
|
|
|
|
struct SaveContext* unk_88;
|
|
|
|
void* unk_8C[9];
|
|
|
|
} n64ddStruct_800FF4B0_pointers; // size = 0xB0
|
|
|
|
|
|
|
|
struct n64ddStruct_80121AF0;
|
2024-08-19 08:24:02 +00:00
|
|
|
|
2024-08-15 02:05:41 +00:00
|
|
|
typedef struct n64ddStruct_80121AF0 {
|
2024-08-20 23:20:11 +00:00
|
|
|
void (*unk_00)(n64ddStruct_800FF4B0_pointers*, struct n64ddStruct_80121AF0*);
|
|
|
|
void (*unk_04)(void);
|
2024-09-04 05:46:41 +00:00
|
|
|
void (*unk_08)(struct PlayState* play, struct RoomContext* roomCtx, s32 roomNum);
|
|
|
|
void (*unk_0C)(struct PlayState* play);
|
|
|
|
void (*unk_10)(struct PlayState* play);
|
|
|
|
void (*unk_14)(struct PlayState* play);
|
|
|
|
char unk_18[0x1C];
|
|
|
|
void (*unk_34)(struct PauseMapMarksData**);
|
|
|
|
void (*unk_38)(struct PauseMapMarksData**);
|
2024-08-15 02:05:41 +00:00
|
|
|
void (*unk_3C)(void);
|
|
|
|
void (*unk_40)(void);
|
2024-08-24 04:44:16 +00:00
|
|
|
s32 (*unk_44)(struct PlayState*);
|
2024-09-04 05:46:41 +00:00
|
|
|
struct SceneTableEntry* (*unk_48)(s32 sceneId, struct SceneTableEntry* sceneTable);
|
|
|
|
char unk_4C[0x08];
|
|
|
|
s32 (*unk_54)(struct PlayState*);
|
|
|
|
char unk_58[0x14];
|
2024-08-19 08:24:02 +00:00
|
|
|
void (*unk_6C)(struct PlayState*, SceneDrawConfigFunc*);
|
2024-09-04 05:46:41 +00:00
|
|
|
s32 (*unk_70)(struct DmaRequest* req, void* ram, uintptr_t vrom, size_t size, u32 unk, OSMesgQueue* queue, OSMesg msg);
|
|
|
|
void (*unk_74)(struct GameState*);
|
2024-08-29 22:23:01 +00:00
|
|
|
s32 (*unk_78)(struct PlayState*, void*, void*);
|
2024-08-15 02:05:41 +00:00
|
|
|
} n64ddStruct_80121AF0; // size = ?
|
|
|
|
|
2024-08-20 23:20:11 +00:00
|
|
|
void func_800ADA80(void);
|
|
|
|
void func_800ADAF8(void);
|
|
|
|
n64ddStruct_80121AF0* func_800ADB30(n64ddStruct_80121AF0* arg0);
|
|
|
|
void func_800ADB8C(void);
|
|
|
|
n64ddStruct_800FF4B0_pointers* func_800ADBD0(void);
|
|
|
|
void func_800ADC00(void);
|
|
|
|
void func_800ADC08(s32 arg0, s32 arg1, s32 arg2);
|
|
|
|
|
2024-09-04 05:46:41 +00:00
|
|
|
void func_801C8510_unknown(void* dest, s32 offset, s32 size);
|
|
|
|
void func_801C86F0_unknown(void);
|
|
|
|
void func_801C7760_unknown(union Gfx** gfx);
|
|
|
|
|
2024-08-20 23:20:11 +00:00
|
|
|
extern n64ddStruct_800FF4B0_pointers D_800FF4B0;
|
2024-08-15 02:05:41 +00:00
|
|
|
extern n64ddStruct_80121AF0* B_80121AF0;
|
|
|
|
|
2024-08-20 23:20:11 +00:00
|
|
|
extern u8 B_80121AE0;
|
|
|
|
extern s8 B_80121AE1;
|
|
|
|
extern u8 B_80121AE2;
|
2024-08-25 05:04:53 +00:00
|
|
|
extern vu8 B_80121AE3;
|
|
|
|
extern vu8 B_80121AE4;
|
2024-08-20 23:20:11 +00:00
|
|
|
|
|
|
|
extern char D_801DA410; // type ?
|
|
|
|
extern char D_801E8090; // type ?
|
|
|
|
|
2024-08-15 02:05:41 +00:00
|
|
|
#endif
|